summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--COPYING2
-rw-r--r--doc/languages-frameworks/beam.xml2
-rw-r--r--doc/languages-frameworks/python.md21
-rw-r--r--lib/licenses.nix6
-rw-r--r--lib/maintainers.nix15
-rwxr-xr-xmaintainers/scripts/update.nix (renamed from update.nix)17
-rw-r--r--nixos/doc/manual/release-notes/rl-1703.xml11
-rw-r--r--nixos/lib/build-vms.nix3
-rw-r--r--nixos/lib/eval-config.nix2
-rw-r--r--nixos/lib/make-squashfs.nix2
-rw-r--r--nixos/lib/make-system-tarball.sh5
-rw-r--r--nixos/lib/test-driver/Machine.pm30
-rw-r--r--nixos/lib/test-driver/test-driver.pl6
-rw-r--r--nixos/lib/testing.nix4
-rw-r--r--nixos/modules/config/gnu.nix10
-rw-r--r--nixos/modules/config/i18n.nix2
-rw-r--r--nixos/modules/config/networking.nix14
-rw-r--r--nixos/modules/config/nsswitch.nix46
-rw-r--r--nixos/modules/config/power-management.nix2
-rw-r--r--nixos/modules/config/pulseaudio.nix18
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-minimal.nix8
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix4
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix1
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix1
-rw-r--r--nixos/modules/installer/netboot/netboot.nix2
-rw-r--r--nixos/modules/installer/tools/nix-fallback-paths.nix6
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl15
-rw-r--r--nixos/modules/installer/tools/nixos-rebuild.sh6
-rw-r--r--nixos/modules/misc/ids.nix6
-rw-r--r--nixos/modules/misc/locate.nix11
-rw-r--r--nixos/modules/misc/version.nix2
-rw-r--r--nixos/modules/module-list.nix12
-rw-r--r--nixos/modules/profiles/base.nix2
-rw-r--r--nixos/modules/profiles/installation-device.nix6
-rw-r--r--nixos/modules/programs/gphoto2.nix31
-rw-r--r--nixos/modules/programs/mosh.nix16
-rw-r--r--nixos/modules/programs/zsh/zsh.nix11
-rw-r--r--nixos/modules/rename.nix14
-rw-r--r--nixos/modules/security/acme.xml62
-rw-r--r--nixos/modules/security/apparmor.nix18
-rw-r--r--nixos/modules/security/pam.nix21
-rw-r--r--nixos/modules/services/audio/alsa.nix41
-rw-r--r--nixos/modules/services/audio/mpd.nix8
-rw-r--r--nixos/modules/services/databases/mysql.nix4
-rw-r--r--nixos/modules/services/hardware/brltty.nix2
-rw-r--r--nixos/modules/services/hardware/pommed.nix36
-rw-r--r--nixos/modules/services/mail/postgrey.nix145
-rw-r--r--nixos/modules/services/mail/rmilter.nix2
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix4
-rw-r--r--nixos/modules/services/misc/nscd-sssd.conf36
-rw-r--r--nixos/modules/services/misc/plex.nix15
-rw-r--r--nixos/modules/services/misc/sssd.nix97
-rw-r--r--nixos/modules/services/monitoring/collectd.nix3
-rw-r--r--nixos/modules/services/monitoring/graphite.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/alertmanager.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix67
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix20
-rw-r--r--nixos/modules/services/monitoring/prometheus/json-exporter.nix74
-rw-r--r--nixos/modules/services/monitoring/prometheus/nginx-exporter.nix78
-rw-r--r--nixos/modules/services/monitoring/prometheus/node-exporter.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/snmp-exporter.nix127
-rw-r--r--nixos/modules/services/monitoring/prometheus/varnish-exporter.nix61
-rw-r--r--nixos/modules/services/networking/asterisk.nix60
-rw-r--r--nixos/modules/services/networking/bind.nix2
-rw-r--r--nixos/modules/services/networking/bird.nix1
-rw-r--r--nixos/modules/services/networking/chrony.nix4
-rw-r--r--nixos/modules/services/networking/cjdns.nix61
-rw-r--r--nixos/modules/services/networking/ddclient.nix2
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.nix2
-rw-r--r--nixos/modules/services/networking/i2pd.nix2
-rw-r--r--nixos/modules/services/networking/miredo.nix93
-rw-r--r--nixos/modules/services/networking/ntpd.nix10
-rw-r--r--nixos/modules/services/networking/openntpd.nix2
-rw-r--r--nixos/modules/services/networking/smokeping.nix201
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix5
-rw-r--r--nixos/modules/services/networking/wireguard.nix21
-rw-r--r--nixos/modules/services/networking/wpa_supplicant.nix15
-rw-r--r--nixos/modules/services/system/nscd.nix13
-rw-r--r--nixos/modules/services/torrent/flexget.nix6
-rw-r--r--nixos/modules/services/web-apps/atlassian/crowd.nix17
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix19
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/trac.nix2
-rw-r--r--nixos/modules/services/web-servers/lighttpd/inginious.nix3
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix15
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde5.nix389
-rw-r--r--nixos/modules/services/x11/hardware/synaptics.nix4
-rw-r--r--nixos/modules/services/x11/hardware/wacom.nix4
-rw-r--r--nixos/modules/services/x11/urxvtd.nix1
-rw-r--r--nixos/modules/system/boot/loader/generations-dir/generations-dir.nix4
-rw-r--r--nixos/modules/system/boot/networkd.nix24
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh2
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix16
-rw-r--r--nixos/modules/system/boot/systemd.nix16
-rw-r--r--nixos/modules/system/boot/timesyncd.nix23
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix50
-rw-r--r--nixos/modules/tasks/network-interfaces.nix31
-rw-r--r--nixos/modules/testing/test-instrumentation.nix3
-rw-r--r--nixos/modules/virtualisation/amazon-image.nix1
-rw-r--r--nixos/modules/virtualisation/docker.nix108
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix2
-rw-r--r--nixos/modules/virtualisation/lxc.nix6
-rw-r--r--nixos/modules/virtualisation/openstack/common.nix84
-rw-r--r--nixos/modules/virtualisation/openstack/glance.nix245
-rw-r--r--nixos/modules/virtualisation/openstack/keystone.nix220
-rw-r--r--nixos/modules/virtualisation/parallels-guest.nix2
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix46
-rw-r--r--nixos/modules/virtualisation/xen-domU.nix2
-rw-r--r--nixos/release.nix2
-rw-r--r--nixos/tests/docker-registry.nix2
-rw-r--r--nixos/tests/glance.nix77
-rw-r--r--nixos/tests/gnome3.nix2
-rw-r--r--nixos/tests/kde5.nix3
-rw-r--r--nixos/tests/keystone.nix82
-rw-r--r--nixos/tests/openssh.nix23
-rw-r--r--nixos/tests/prometheus.nix2
-rw-r--r--nixos/tests/sddm.nix2
-rw-r--r--pkgs/applications/altcoins/default.nix2
-rw-r--r--pkgs/applications/altcoins/stellar-core-dirty-version.patch15
-rw-r--r--pkgs/applications/altcoins/stellar-core.nix46
-rw-r--r--pkgs/applications/audio/ardour/ardour3.nix10
-rw-r--r--pkgs/applications/audio/ardour/ardour4.nix8
-rw-r--r--pkgs/applications/audio/ardour/default.nix8
-rw-r--r--pkgs/applications/audio/audacious/qt-5.nix89
-rw-r--r--pkgs/applications/audio/audacity/default.nix38
-rw-r--r--pkgs/applications/audio/flac/default.nix4
-rw-r--r--pkgs/applications/audio/game-music-emu/default.nix6
-rw-r--r--pkgs/applications/audio/ingen/default.nix12
-rw-r--r--pkgs/applications/audio/mopidy/default.nix4
-rw-r--r--pkgs/applications/audio/picard/default.nix11
-rw-r--r--pkgs/applications/audio/puddletag/default.nix11
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/audio/ssrc/default.nix42
-rw-r--r--pkgs/applications/editors/android-studio/default.nix83
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/default.nix24
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix6
-rw-r--r--pkgs/applications/editors/ed/default.nix7
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix30
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-generated.nix2848
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix718
-rw-r--r--pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--pkgs/applications/editors/fte/default.nix29
-rw-r--r--pkgs/applications/editors/idea/default.nix8
-rw-r--r--pkgs/applications/editors/kakoune/default.nix9
-rw-r--r--pkgs/applications/editors/kile/frameworks.nix3
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix33
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/Gemfile3
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock15
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/gemset.nix19
-rw-r--r--pkgs/applications/editors/rstudio/default.nix23
-rw-r--r--pkgs/applications/gis/grass/default.nix1
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix90
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix7
-rw-r--r--pkgs/applications/graphics/darktable/default.nix14
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix47
-rw-r--r--pkgs/applications/graphics/inkscape/deprecated-scopedptr.patch16
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix8
-rw-r--r--pkgs/applications/graphics/tesseract/default.nix58
-rw-r--r--pkgs/applications/graphics/vimiv/default.nix6
-rw-r--r--pkgs/applications/graphics/vimiv/fixes.patch128
-rw-r--r--pkgs/applications/graphics/xfractint/default.nix30
-rw-r--r--pkgs/applications/graphics/xournal/default.nix12
-rw-r--r--pkgs/applications/misc/buku/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix6
-rw-r--r--pkgs/applications/misc/cli-visualizer/default.nix13
-rw-r--r--pkgs/applications/misc/confclerk/default.nix28
-rw-r--r--pkgs/applications/misc/cortex/default.nix6
-rw-r--r--pkgs/applications/misc/cpp-ethereum/default.nix2
-rw-r--r--pkgs/applications/misc/ding/default.nix14
-rw-r--r--pkgs/applications/misc/electrum/default.nix9
-rw-r--r--pkgs/applications/misc/font-manager/default.nix1
-rw-r--r--pkgs/applications/misc/gnome15/default.nix36
-rw-r--r--pkgs/applications/misc/haxor-news/default.nix6
-rw-r--r--pkgs/applications/misc/hugo/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/deps.nix13
-rw-r--r--pkgs/applications/misc/keepass-plugins/keefox/default.nix5
-rw-r--r--pkgs/applications/misc/mdp/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix4
-rw-r--r--pkgs/applications/misc/octoprint/default.nix1
-rw-r--r--pkgs/applications/misc/pcmanx-gtk2/default.nix2
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix8
-rw-r--r--pkgs/applications/misc/procmail/default.nix4
-rw-r--r--pkgs/applications/misc/qsyncthingtray/default.nix41
-rw-r--r--pkgs/applications/misc/qtpass/default.nix4
-rw-r--r--pkgs/applications/misc/ranger/default.nix4
-rw-r--r--pkgs/applications/misc/rescuetime/default.nix6
-rw-r--r--pkgs/applications/misc/rofi/default.nix12
-rw-r--r--pkgs/applications/misc/rtv/default.nix6
-rw-r--r--pkgs/applications/misc/sakura/default.nix7
-rw-r--r--pkgs/applications/misc/sc-im/default.nix15
-rw-r--r--pkgs/applications/misc/slade/default.nix26
-rw-r--r--pkgs/applications/misc/subsurface/default.nix14
-rw-r--r--pkgs/applications/misc/synapse/default.nix2
-rw-r--r--pkgs/applications/misc/terminator/default.nix27
-rw-r--r--pkgs/applications/misc/urlscan/default.nix25
-rw-r--r--pkgs/applications/misc/weather/default.nix4
-rw-r--r--pkgs/applications/misc/xca/default.nix26
-rw-r--r--pkgs/applications/misc/yakuake/3.0.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix3
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix1113
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix72
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix182
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/update.nix78
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix20
-rw-r--r--pkgs/applications/networking/browsers/firefox/update.nix54
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix134
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix146
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix110
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix15
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/pachyderm/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix32
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/deps.nix66
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/dyndns/cfdyndns/default.nix1
-rw-r--r--pkgs/applications/networking/flexget/default.nix39
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/mm/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/ricochet/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/scudcloud/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/skype/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix4
-rw-r--r--pkgs/applications/networking/insync/default.nix38
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix19
-rw-r--r--pkgs/applications/networking/irc/irssi/otr/default.nix22
-rw-r--r--pkgs/applications/networking/irc/konversation/1.6.nix3
-rw-r--r--pkgs/applications/networking/mailreaders/astroid/default.nix36
-rw-r--r--pkgs/applications/networking/mailreaders/astroid/propagate-environment.patch13
-rw-r--r--pkgs/applications/networking/mailreaders/mutt-kz/default.nix64
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix9
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix14
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix705
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix20
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix23
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix11
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix8
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix16
-rw-r--r--pkgs/applications/networking/sync/rclone/deps.nix219
-rw-r--r--pkgs/applications/networking/syncthing/default.nix10
-rw-r--r--pkgs/applications/office/beancount/bean-add.nix6
-rw-r--r--pkgs/applications/office/beancount/default.nix4
-rw-r--r--pkgs/applications/office/fava/default.nix14
-rw-r--r--pkgs/applications/office/impressive/default.nix10
-rw-r--r--pkgs/applications/office/libreoffice/default-primary-src.nix6
-rw-r--r--pkgs/applications/office/libreoffice/default.nix7
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix40
-rw-r--r--pkgs/applications/office/libreoffice/still.nix3
-rw-r--r--pkgs/applications/office/mendeley/default.nix4
-rw-r--r--pkgs/applications/office/mmex/default.nix9
-rw-r--r--pkgs/applications/office/paperwork/default.nix78
-rw-r--r--pkgs/applications/office/ppl-address-book/Gemfile2
-rw-r--r--pkgs/applications/office/ppl-address-book/Gemfile.lock34
-rw-r--r--pkgs/applications/office/ppl-address-book/default.nix38
-rw-r--r--pkgs/applications/office/ppl-address-book/gemset.nix90
-rw-r--r--pkgs/applications/office/skrooge/2.nix4
-rw-r--r--pkgs/applications/office/zim/default.nix10
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix8
-rw-r--r--pkgs/applications/science/biology/freebayes/builder.sh11
-rw-r--r--pkgs/applications/science/biology/freebayes/default.nix27
-rw-r--r--pkgs/applications/science/biology/igv/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/8.4.nix (renamed from pkgs/applications/science/logic/coq/default.nix)0
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/science/logic/z3/default.nix4
-rw-r--r--pkgs/applications/science/math/maxima/default.nix4
-rw-r--r--pkgs/applications/science/misc/fityk/default.nix4
-rw-r--r--pkgs/applications/science/misc/gplates/boostfix.patch612
-rw-r--r--pkgs/applications/science/misc/gplates/default.nix24
-rw-r--r--pkgs/applications/science/misc/root/default.nix8
-rw-r--r--pkgs/applications/science/misc/root/sw_vers.patch4
-rw-r--r--pkgs/applications/science/physics/sherpa/default.nix33
-rw-r--r--pkgs/applications/version-management/cvsps/01_ignoretrunk.dpatch23
-rw-r--r--pkgs/applications/version-management/cvsps/02_dynamicbufferalloc.dpatch125
-rw-r--r--pkgs/applications/version-management/cvsps/03_diffoptstypo.dpatch19
-rw-r--r--pkgs/applications/version-management/cvsps/default.nix48
-rw-r--r--pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile2
-rw-r--r--pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock27
-rw-r--r--pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix21
-rw-r--r--pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/gemset.nix66
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix12
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix21
-rw-r--r--pkgs/applications/version-management/git-and-tools/transcrypt/default.nix4
-rw-r--r--pkgs/applications/version-management/git-up/default.nix35
-rw-r--r--pkgs/applications/version-management/meld/default.nix4
-rw-r--r--pkgs/applications/version-management/pijul/default.nix1
-rw-r--r--pkgs/applications/video/avidemux/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix8
-rw-r--r--pkgs/applications/video/natron/config.pri20
-rw-r--r--pkgs/applications/video/natron/default.nix126
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/2.8.nix93
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix16
-rw-r--r--pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch53
-rw-r--r--pkgs/applications/virtualization/runc/default.nix23
-rwxr-xr-xpkgs/applications/virtualization/virtualbox/update.py4
-rw-r--r--pkgs/applications/virtualization/virtualbox/upstream-info.json10
-rw-r--r--pkgs/applications/virtualization/xen/4.5.nix84
-rw-r--r--pkgs/applications/window-managers/awesome/3.4.nix55
-rw-r--r--pkgs/applications/window-managers/awesome/3.5.nix86
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix13
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix4
-rw-r--r--pkgs/applications/window-managers/compiz/default.nix8
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git3
-rw-r--r--pkgs/build-support/kernel/cpio-clean.pl17
-rw-r--r--pkgs/build-support/kernel/make-initrd.nix7
-rw-r--r--pkgs/build-support/kernel/make-initrd.sh3
-rw-r--r--pkgs/build-support/replace-dependency.nix2
-rw-r--r--pkgs/build-support/vm/default.nix4
-rw-r--r--pkgs/data/fonts/nerdfonts/default.nix4
-rw-r--r--pkgs/data/fonts/unifont/default.nix6
-rw-r--r--pkgs/data/misc/tzdata/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix32
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python/default.nix39
-rw-r--r--pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix33
-rw-r--r--pkgs/desktops/gnome-2/default.nix5
-rw-r--r--pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix34
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/geary/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/gexiv2/default.nix4
-rw-r--r--pkgs/desktops/kde-5/applications/akonadi-contacts.nix19
-rw-r--r--pkgs/desktops/kde-5/applications/akonadi-mime.nix15
-rw-r--r--pkgs/desktops/kde-5/applications/akonadi.nix20
-rw-r--r--pkgs/desktops/kde-5/applications/ark/default.nix3
-rw-r--r--pkgs/desktops/kde-5/applications/default.nix9
-rw-r--r--pkgs/desktops/kde-5/applications/dolphin.nix3
-rw-r--r--pkgs/desktops/kde-5/applications/fetch.sh2
-rw-r--r--pkgs/desktops/kde-5/applications/filelight.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/gwenview.nix3
-rw-r--r--pkgs/desktops/kde-5/applications/kate.nix3
-rw-r--r--pkgs/desktops/kde-5/applications/kcalc.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/kcolorchooser.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/kcontacts.nix15
-rw-r--r--pkgs/desktops/kde-5/applications/kdegraphics-mobipocket.nix (renamed from pkgs/desktops/kde-5/applications/gpgmepp.nix)8
-rw-r--r--pkgs/desktops/kde-5/applications/kdenlive.nix3
-rw-r--r--pkgs/desktops/kde-5/applications/kdf.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/kgpg.nix18
-rw-r--r--pkgs/desktops/kde-5/applications/khelpcenter.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/kmime.nix15
-rw-r--r--pkgs/desktops/kde-5/applications/kompare.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/konsole.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/kwalletmanager.nix3
-rw-r--r--pkgs/desktops/kde-5/applications/l10n.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/marble.nix3
-rw-r--r--pkgs/desktops/kde-5/applications/okular.nix42
-rw-r--r--pkgs/desktops/kde-5/applications/spectacle.nix3
-rw-r--r--pkgs/desktops/kde-5/applications/srcs.nix2256
-rw-r--r--pkgs/desktops/kde-5/plasma/fetch.sh2
-rw-r--r--pkgs/desktops/kde-5/plasma/kde-gtk-config/0001-follow-symlinks.patch13
-rw-r--r--pkgs/desktops/kde-5/plasma/oxygen.nix3
-rw-r--r--pkgs/desktops/kde-5/plasma/srcs.nix320
-rw-r--r--pkgs/desktops/xfce/applications/mousepad.nix2
-rw-r--r--pkgs/desktops/xfce/default.nix1
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix30
-rw-r--r--pkgs/development/compilers/ats2/default.nix8
-rw-r--r--pkgs/development/compilers/ats2/installed-lib-directory-version.patch99
-rw-r--r--pkgs/development/compilers/crystal/default.nix102
-rw-r--r--pkgs/development/compilers/dmd/default.nix4
-rw-r--r--pkgs/development/compilers/ecl/16.1.2.nix59
-rw-r--r--pkgs/development/compilers/ecl/default.nix8
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix48
-rw-r--r--pkgs/development/compilers/emscripten/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix4
-rw-r--r--pkgs/development/compilers/gcl/2.6.13-pre.nix46
-rw-r--r--pkgs/development/compilers/ghc/7.4.2-binary.nix3
-rw-r--r--pkgs/development/compilers/ghc/8.0.1.nix6
-rw-r--r--pkgs/development/compilers/ghc/8.0.2.nix20
-rw-r--r--pkgs/development/compilers/ghc/head.nix33
-rw-r--r--pkgs/development/compilers/ghc/nokinds.nix83
-rw-r--r--pkgs/development/compilers/ghcjs/base.nix1
-rw-r--r--pkgs/development/compilers/glslang/default.nix2
-rw-r--r--pkgs/development/compilers/go/1.4.nix9
-rw-r--r--pkgs/development/compilers/go/1.6.nix3
-rw-r--r--pkgs/development/compilers/go/1.7.nix8
-rw-r--r--pkgs/development/compilers/go/creds-test-1.4.patch17
-rw-r--r--pkgs/development/compilers/go/creds-test.patch14
-rw-r--r--pkgs/development/compilers/haxe/default.nix8
-rw-r--r--pkgs/development/compilers/haxe/haxelib-nix.patch34
-rw-r--r--pkgs/development/compilers/llvm/3.7/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.7/libc++/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.7/libc++/r242056.patch16
-rw-r--r--pkgs/development/compilers/llvm/3.9/clang/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.9/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/3.9/libc++/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.9/libc++abi.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.9/lldb.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.9/llvm.nix2
-rw-r--r--pkgs/development/compilers/nim/default.nix14
-rw-r--r--pkgs/development/compilers/rust/beta.nix53
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix12
-rw-r--r--pkgs/development/compilers/rust/cargo.nix13
-rw-r--r--pkgs/development/compilers/rust/default.nix16
-rw-r--r--pkgs/development/compilers/rust/nightly.nix51
-rw-r--r--pkgs/development/compilers/rust/nightlyBin.nix41
-rw-r--r--pkgs/development/compilers/rust/patches/darwin-disable-fragile-tcp-tests.patch36
-rw-r--r--pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch3
-rw-r--r--pkgs/development/compilers/sbcl/1.3.12.nix104
-rw-r--r--pkgs/development/compilers/sbcl/default.nix4
-rw-r--r--pkgs/development/compilers/teyjus/default.nix10
-rw-r--r--pkgs/development/compilers/teyjus/fix-lex-to-flex.patch22
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix45
-rw-r--r--pkgs/development/coq-modules/mathcomp/generic.nix5
-rw-r--r--pkgs/development/coq-modules/ssreflect/default.nix14
-rw-r--r--pkgs/development/coq-modules/ssreflect/generic.nix5
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix22
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-head.nix10
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-nokinds.nix102
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml144
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix6687
-rw-r--r--pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch37
-rw-r--r--pkgs/development/idris-modules/httpclient.nix30
-rw-r--r--pkgs/development/interpreters/angelscript/default.nix4
-rw-r--r--pkgs/development/interpreters/ceptre/default.nix6
-rw-r--r--pkgs/development/interpreters/clisp/hg.nix97
-rw-r--r--pkgs/development/interpreters/gnu-apl/default.nix11
-rw-r--r--pkgs/development/interpreters/maude/default.nix39
-rw-r--r--pkgs/development/interpreters/octave/default.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/boot.nix94
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix17
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch44
-rw-r--r--pkgs/development/interpreters/python/cpython/3.3/default.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/default.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/default.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/3.6/default.nix10
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/default.nix9
-rw-r--r--pkgs/development/interpreters/python/wrap-python.nix2
-rw-r--r--pkgs/development/interpreters/ruby/default.nix11
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix5
-rw-r--r--pkgs/development/interpreters/ruby/rvm-patchsets.nix6
-rw-r--r--pkgs/development/interpreters/spidermonkey/31.nix5
-rw-r--r--pkgs/development/interpreters/spidermonkey/38.nix5
-rw-r--r--pkgs/development/libraries/SDL2/default.nix3
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix10
-rw-r--r--pkgs/development/libraries/audio/lilv/lilv-svn.nix28
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix10
-rw-r--r--pkgs/development/libraries/audio/raul/default.nix20
-rw-r--r--pkgs/development/libraries/audio/sratom/default.nix10
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix12
-rw-r--r--pkgs/development/libraries/boehm-gc/cygwin.patch108
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix12
-rw-r--r--pkgs/development/libraries/boost/1.62.nix12
-rw-r--r--pkgs/development/libraries/botan/default.nix7
-rw-r--r--pkgs/development/libraries/botan/unstable.nix4
-rw-r--r--pkgs/development/libraries/cairo/default.nix5
-rw-r--r--pkgs/development/libraries/cpp-ipfs-api/default.nix6
-rw-r--r--pkgs/development/libraries/crypto++/default.nix15
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix3
-rw-r--r--pkgs/development/libraries/czmqpp/default.nix16
-rw-r--r--pkgs/development/libraries/eigen/3.3.nix25
-rw-r--r--pkgs/development/libraries/ffmpeg/3.2.nix13
-rw-r--r--pkgs/development/libraries/fmod/default.nix41
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/default.nix2
-rw-r--r--pkgs/development/libraries/gbenchmark/default.nix25
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix18
-rw-r--r--pkgs/development/libraries/git2/0.21.nix24
-rw-r--r--pkgs/development/libraries/git2/0.23.nix27
-rw-r--r--pkgs/development/libraries/git2/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix7
-rw-r--r--pkgs/development/libraries/gmime/default.nix5
-rw-r--r--pkgs/development/libraries/gmock/default.nix35
-rw-r--r--pkgs/development/libraries/gnutls/3.3.nix4
-rw-r--r--pkgs/development/libraries/gnutls/3.4.nix6
-rw-r--r--pkgs/development/libraries/gnutls/3.5.nix8
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix6
-rw-r--r--pkgs/development/libraries/grantlee/5.x.nix12
-rw-r--r--pkgs/development/libraries/grib-api/default.nix46
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix4
-rw-r--r--pkgs/development/libraries/gtest/default.nix29
-rw-r--r--pkgs/development/libraries/gtest/source.nix22
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix25
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/gtk-mac-integration/default.nix30
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/java/smack/builder.sh2
-rw-r--r--pkgs/development/libraries/java/smack/default.nix8
-rw-r--r--pkgs/development/libraries/json-glib/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kde-wrapper.nix101
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/default.nix26
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix8
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix9
-rw-r--r--pkgs/development/libraries/kerberos/path_char_fix.patch38
-rw-r--r--pkgs/development/libraries/kirigami/v2.nix23
-rw-r--r--pkgs/development/libraries/ldns/default.nix19
-rw-r--r--pkgs/development/libraries/ldns/perl-5.22-compat.patch12
-rw-r--r--pkgs/development/libraries/libbrotli/default.nix13
-rw-r--r--pkgs/development/libraries/libdivecomputer/subsurface.nix25
-rw-r--r--pkgs/development/libraries/libfaketime/default.nix4
-rw-r--r--pkgs/development/libraries/libfaketime/no-date-in-gzip-man-page.patch12
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix4
-rw-r--r--pkgs/development/libraries/libgig/default.nix4
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix19
-rw-r--r--pkgs/development/libraries/libivykis/default.nix8
-rw-r--r--pkgs/development/libraries/libmd/default.nix30
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--pkgs/development/libraries/libmemcached/default.nix2
-rw-r--r--pkgs/development/libraries/libmesode/default.nix38
-rw-r--r--pkgs/development/libraries/libmilter/default.nix23
-rw-r--r--pkgs/development/libraries/libmwaw/default.nix8
-rw-r--r--pkgs/development/libraries/liborc/default.nix17
-rw-r--r--pkgs/development/libraries/libpaper/default.nix19
-rw-r--r--pkgs/development/libraries/libpng/12.nix4
-rw-r--r--pkgs/development/libraries/libpng/default.nix8
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--pkgs/development/libraries/librsvg/default.nix7
-rw-r--r--pkgs/development/libraries/libsecret/default.nix2
-rw-r--r--pkgs/development/libraries/libssh2/default.nix4
-rw-r--r--pkgs/development/libraries/libstrophe/default.nix8
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix4
-rw-r--r--pkgs/development/libraries/libtermkey/default.nix4
-rw-r--r--pkgs/development/libraries/libuv/default.nix15
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/libvncserver/default.nix13
-rw-r--r--pkgs/development/libraries/libvncserver/default.upstream4
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/libzen/default.nix4
-rw-r--r--pkgs/development/libraries/lirc/default.nix6
-rw-r--r--pkgs/development/libraries/loki/default.nix26
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/ncurses/default.nix6
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix30
-rw-r--r--pkgs/development/libraries/openbabel/default.nix12
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix6
-rw-r--r--pkgs/development/libraries/openjpeg/2.1.nix31
-rw-r--r--pkgs/development/libraries/openjpeg/CVE-2016-9580-and-CVE-2016-9581.patch242
-rw-r--r--pkgs/development/libraries/openjpeg/generic.nix4
-rw-r--r--pkgs/development/libraries/openldap/default.nix3
-rw-r--r--pkgs/development/libraries/pango/default.nix11
-rw-r--r--pkgs/development/libraries/physics/fastnlo/default.nix29
-rw-r--r--pkgs/development/libraries/physics/mcgrid/default.nix30
-rw-r--r--pkgs/development/libraries/physics/rivet/darwin.patch33
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix9
-rw-r--r--pkgs/development/libraries/pocketsphinx/default.nix33
-rw-r--r--pkgs/development/libraries/poppler/default.nix11
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3.nix5
-rw-r--r--pkgs/development/libraries/protobuf/generic.nix2
-rw-r--r--pkgs/development/libraries/psol/default.nix5
-rw-r--r--pkgs/development/libraries/psol/generic.nix16
-rw-r--r--pkgs/development/libraries/pupnp/default.nix23
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix26
-rw-r--r--pkgs/development/libraries/qt-5/5.7/default.nix1
-rw-r--r--pkgs/development/libraries/qt-5/5.7/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/default.nix1
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtquickcontrols2.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/srcs.nix302
-rw-r--r--pkgs/development/libraries/qtstyleplugins/default.nix27
-rw-r--r--pkgs/development/libraries/qwt/6_qt4.nix29
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix10
-rw-r--r--pkgs/development/libraries/science/biology/htslib/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/atlas/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/clblas/cuda/default.nix3
-rw-r--r--pkgs/development/libraries/serd/default.nix10
-rw-r--r--pkgs/development/libraries/simgear/default.nix10
-rw-r--r--pkgs/development/libraries/sord/default.nix10
-rw-r--r--pkgs/development/libraries/sord/sord-svn.nix28
-rw-r--r--pkgs/development/libraries/soundtouch/default.nix2
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix8
-rw-r--r--pkgs/development/libraries/tecla/default.nix6
-rw-r--r--pkgs/development/libraries/tix/default.nix55
-rw-r--r--pkgs/development/libraries/tk/generic.nix1
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix3
-rw-r--r--pkgs/development/libraries/webkitgtk/2.14.nix11
-rw-r--r--pkgs/development/libraries/wxGTK-2.9/default.nix14
-rw-r--r--pkgs/development/libraries/wxGTK-3.0/default.nix12
-rw-r--r--pkgs/development/libraries/wxmac/default.nix47
-rw-r--r--pkgs/development/libraries/wxmac/wx.patch59
-rw-r--r--pkgs/development/libraries/xylib/default.nix10
-rw-r--r--pkgs/development/libraries/zimlib/default.nix2
-rw-r--r--pkgs/development/libraries/zlib/default.nix8
-rw-r--r--pkgs/development/node-packages/node-env.nix109
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/pgocaml/default.nix18
-rw-r--r--pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix8
-rw-r--r--pkgs/development/python-modules/discordpy/default.nix4
-rw-r--r--pkgs/development/python-modules/numpy.nix13
-rw-r--r--pkgs/development/python-modules/pandas/default.nix91
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix2
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix32
-rw-r--r--pkgs/development/python-modules/pygame/git.nix1
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-expect/default.nix31
-rw-r--r--pkgs/development/python-modules/u-msgpack-python/default.nix33
-rw-r--r--pkgs/development/python-modules/webencodings/default.nix29
-rw-r--r--pkgs/development/python-modules/xlwt/default.nix36
-rw-r--r--pkgs/development/python-modules/yenc/default.nix32
-rw-r--r--pkgs/development/qtcreator/default.nix10
-rw-r--r--pkgs/development/r-modules/default.nix113
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix10
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/kcov/default.nix4
-rw-r--r--pkgs/development/tools/bloaty/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix67
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/shards/default.nix28
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix10
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix45
-rw-r--r--pkgs/development/tools/electron/default.nix6
-rw-r--r--pkgs/development/tools/godot/default.nix40
-rw-r--r--pkgs/development/tools/godot/pkg_config_additions.patch12
-rw-r--r--pkgs/development/tools/jid/default.nix6
-rw-r--r--pkgs/development/tools/jid/deps.nix40
-rw-r--r--pkgs/development/tools/libsigrokdecode/default.nix4
-rw-r--r--pkgs/development/tools/makerpm/default.nix28
-rw-r--r--pkgs/development/tools/misc/cscope/default.nix2
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix10
-rw-r--r--pkgs/development/tools/misc/elfutils/glibc-2.21.patch164
-rw-r--r--pkgs/development/tools/misc/global/default.nix4
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix6
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix20
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix10
-rw-r--r--pkgs/development/tools/misc/rolespec/default.nix6
-rw-r--r--pkgs/development/tools/misc/universal-ctags/default.nix13
-rw-r--r--pkgs/development/tools/misc/universal-ctags/sed-test.patch12
-rw-r--r--pkgs/development/tools/nrpl/default.nix44
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix38
-rw-r--r--pkgs/development/tools/ocaml/omake/warn.patch10
-rw-r--r--pkgs/development/tools/packer/default.nix51
-rw-r--r--pkgs/development/tools/packer/deps.nix560
-rw-r--r--pkgs/development/tools/parsing/flex/2.6.1.nix37
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix7
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix62
-rw-r--r--pkgs/development/tools/pypi2nix/default.nix17
-rw-r--r--pkgs/development/tools/remarshal/default.nix21
-rw-r--r--pkgs/development/tools/sauce-connect/default.nix8
-rw-r--r--pkgs/development/tools/slimerjs/default.nix8
-rw-r--r--pkgs/development/tools/spirv-tools/default.nix4
-rw-r--r--pkgs/development/tools/tora/default.nix67
-rw-r--r--pkgs/development/tools/vagrant/default.nix10
-rw-r--r--pkgs/development/tools/vultr/default.nix22
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix5
-rw-r--r--pkgs/games/chessx/default.nix4
-rw-r--r--pkgs/games/flightgear/default.nix47
-rw-r--r--pkgs/games/freeciv/default.nix15
-rw-r--r--pkgs/games/freeorion/92455f9.patch19
-rw-r--r--pkgs/games/freeorion/default.nix11
-rw-r--r--pkgs/games/freeorion/fix_rpaths.patch11
-rw-r--r--pkgs/games/gnuchess/default.nix2
-rw-r--r--pkgs/games/gzdoom/default.nix53
-rw-r--r--pkgs/games/minecraft-server/default.nix4
-rw-r--r--pkgs/games/multimc/default.nix6
-rw-r--r--pkgs/games/opendungeons/default.nix14
-rw-r--r--pkgs/games/openmw/default.nix4
-rw-r--r--pkgs/games/sgt-puzzles/default.nix4
-rw-r--r--pkgs/games/steam/runtime-wrapped.nix2
-rw-r--r--pkgs/games/warzone2100/default.nix31
-rw-r--r--pkgs/games/xboard/default.nix2
-rw-r--r--pkgs/games/xsok/default.nix47
-rw-r--r--pkgs/games/zandronum/default.nix30
-rw-r--r--pkgs/games/zandronum/fmod.nix (renamed from pkgs/development/libraries/fmod/4.24.16.nix)0
-rw-r--r--pkgs/games/zdoom/default.nix65
-rw-r--r--pkgs/misc/emulators/wine/base.nix5
-rw-r--r--pkgs/misc/emulators/wine/sources.nix16
-rw-r--r--pkgs/misc/screensavers/light-locker/default.nix25
-rw-r--r--pkgs/misc/screensavers/light-locker/systemd.patch13
-rw-r--r--pkgs/misc/screensavers/physlock/default.nix12
-rw-r--r--pkgs/misc/screensavers/pipes/default.nix4
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix4
-rw-r--r--pkgs/misc/themes/orion/default.nix1
-rw-r--r--pkgs/misc/vim-plugins/default.nix491
-rw-r--r--pkgs/misc/vim-plugins/patches/youcompleteme/1-top-cmake.patch14
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme12
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix5
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix4
-rw-r--r--pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix6
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix6
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/default.nix33
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0001-Find-correct-System.map.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0001-Fix-kernel-module-install-location.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0002-Fix-kernel-module-install-location.patch)14
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0002-Add-Gentoo-as-build-option.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0003-Add-Gentoo-as-build-option.patch)16
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0004-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch)10
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0004-Change-seq_printf-format-for-64-bit-context.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0005-Fix-vblank-calls.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0009-Fix-vblank-calls.patch)67
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0005-Remove-first-param-from-drm_gem_object_lookup.patch196
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0010-Fix-crtc_gamma-functions-for-4.8.0.patch)32
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0006-Remove-vblank_disable_allowed-assignment.patch26
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-__drm_atomic_helper_connector_destroy_state-call.patch28
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0011-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch)10
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0012-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch)12
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0008-Change-seq_printf-format-for-64-bit-context.patch30
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0009-Remove-dependency-on-System.map.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0013-Remove-dependency-on-System.map.patch)34
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0010-disable-dal-by-default.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0014-disable-dal-by-default.patch)12
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0011-kcl-fixes-for-16.50-linux-4.8.patch114
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0012-use-kernel-fence_array-in-4.8.patch55
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--pkgs/os-specific/linux/autofs/default.nix9
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix4
-rw-r--r--pkgs/os-specific/linux/bcc/default.nix6
-rw-r--r--pkgs/os-specific/linux/busybox/busybox-in-store.patch16
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix4
-rw-r--r--pkgs/os-specific/linux/consoletools/default.nix4
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix4
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix6
-rw-r--r--pkgs/os-specific/linux/eudev/default.nix4
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix10
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix9
-rw-r--r--pkgs/os-specific/linux/google-authenticator/default.nix17
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.8.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-grsecurity.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix25
-rw-r--r--pkgs/os-specific/linux/kexectools/default.nix4
-rw-r--r--pkgs/os-specific/linux/libsepol/default.nix4
-rw-r--r--pkgs/os-specific/linux/libudev0-shim/default.nix29
-rw-r--r--pkgs/os-specific/linux/mdadm/4.nix42
-rw-r--r--pkgs/os-specific/linux/multipath-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/musl/default.nix15
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix12
-rw-r--r--pkgs/os-specific/linux/ofp/default.nix40
-rw-r--r--pkgs/os-specific/linux/pktgen/default.nix8
-rw-r--r--pkgs/os-specific/linux/pommed-light/default.nix65
-rw-r--r--pkgs/os-specific/linux/spl/default.nix90
-rw-r--r--pkgs/os-specific/linux/sssd/default.nix87
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix4
-rw-r--r--pkgs/os-specific/linux/thin-provisioning-tools/default.nix30
-rw-r--r--pkgs/os-specific/linux/tp_smapi/default.nix19
-rw-r--r--pkgs/os-specific/linux/tp_smapi/update.json5
-rw-r--r--pkgs/os-specific/linux/tp_smapi/update.nix23
-rw-r--r--pkgs/os-specific/linux/udev/145.nix53
-rw-r--r--pkgs/os-specific/linux/udev/182.nix39
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix15
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix252
-rw-r--r--pkgs/os-specific/linux/zfs/nix-build.patch134
-rw-r--r--pkgs/servers/asterisk/default.nix44
-rw-r--r--pkgs/servers/asterisk/disable-download.patch8
-rw-r--r--pkgs/servers/asterisk/runtime-vardirs.patch6
-rw-r--r--pkgs/servers/atlassian/crowd.nix16
-rw-r--r--pkgs/servers/bird/default.nix4
-rw-r--r--pkgs/servers/dict/dictd-db.nix8
-rw-r--r--pkgs/servers/dns/bind/default.nix7
-rw-r--r--pkgs/servers/gotty/default.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--pkgs/servers/http/apache-modules/mod_perl/default.nix25
-rw-r--r--pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--pkgs/servers/http/nginx/generic.nix2
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix39
-rw-r--r--pkgs/servers/http/tomcat/default.nix9
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x-module_dir.patch10
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/servers/mail/exim/default.nix6
-rw-r--r--pkgs/servers/mail/rmilter/default.nix12
-rw-r--r--pkgs/servers/mail/rspamd/default.nix8
-rw-r--r--pkgs/servers/matrix-synapse/default.nix21
-rw-r--r--pkgs/servers/matrix-synapse/matrix-synapse.patch8
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix8
-rw-r--r--pkgs/servers/monitoring/nagios/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/json-exporter.nix25
-rw-r--r--pkgs/servers/monitoring/prometheus/json-exporter_deps.nix111
-rw-r--r--pkgs/servers/monitoring/prometheus/snmp-exporter.nix26
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter.nix26
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix66
-rw-r--r--pkgs/servers/mpd/darwin-enable-cxx-exceptions.patch142
-rw-r--r--pkgs/servers/mpd/default.nix10
-rw-r--r--pkgs/servers/nosql/apache-jena/fuseki-binary.nix4
-rw-r--r--pkgs/servers/nosql/riak-cs/2.1.1.nix10
-rw-r--r--pkgs/servers/nosql/riak-cs/stanchion.nix10
-rw-r--r--pkgs/servers/owncloud/default.nix20
-rw-r--r--pkgs/servers/plex/default.nix6
-rw-r--r--pkgs/servers/sabnzbd/default.nix2
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/shellinabox/default.nix6
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/sql/mysql/5.5.x.nix4
-rw-r--r--pkgs/servers/sql/mysql/5.7.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/pg_similarity/default.nix31
-rw-r--r--pkgs/servers/squid/default.nix31
-rw-r--r--pkgs/servers/xmpp/openfire/default.nix4
-rw-r--r--pkgs/shells/bash/4.3.nix118
-rw-r--r--pkgs/shells/bash/4.4.nix29
-rw-r--r--pkgs/shells/bash/bash-4.3-patches.nix2
-rw-r--r--pkgs/shells/bash/bash-4.4-patches.nix5
-rw-r--r--pkgs/shells/nix-zsh-completions/default.nix6
-rw-r--r--pkgs/shells/oh-my-zsh/default.nix6
-rw-r--r--pkgs/shells/zsh-autosuggestions/default.nix32
-rw-r--r--pkgs/shells/zsh/default.nix6
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix3
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix3
-rw-r--r--pkgs/tools/X11/ffcast/default.nix20
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix4
-rw-r--r--pkgs/tools/X11/xrectsel/default.nix28
-rw-r--r--pkgs/tools/admin/certbot/default.nix6
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix6
-rw-r--r--pkgs/tools/admin/salt/fix-libcrypto-loading.patch6
-rw-r--r--pkgs/tools/admin/simp_le/default.nix20
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix2
-rw-r--r--pkgs/tools/archivers/p7zip/setup-hook.sh5
-rw-r--r--pkgs/tools/audio/beets/default.nix16
-rw-r--r--pkgs/tools/backup/borg/default.nix17
-rw-r--r--pkgs/tools/backup/duplicity/default.nix2
-rw-r--r--pkgs/tools/backup/duply/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/dvd+rw-tools/default.nix14
-rw-r--r--pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch13
-rw-r--r--pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch11
-rw-r--r--pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch11
-rw-r--r--pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch11
-rw-r--r--pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch93
-rw-r--r--pkgs/tools/cd-dvd/nrg2iso/default.nix23
-rw-r--r--pkgs/tools/compression/lrzip/default.nix4
-rw-r--r--pkgs/tools/compression/pigz/default.nix2
-rw-r--r--pkgs/tools/compression/pixz/default.nix2
-rw-r--r--pkgs/tools/filesystems/ceph/generic.nix3
-rw-r--r--pkgs/tools/filesystems/disorderfs/default.nix6
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix15
-rw-r--r--pkgs/tools/graphics/graphviz/2.32.nix3
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix21
-rw-r--r--pkgs/tools/graphics/icoutils/default.nix4
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix4
-rw-r--r--pkgs/tools/graphics/qrcode/default.nix39
-rw-r--r--pkgs/tools/misc/bmon/default.nix10
-rw-r--r--pkgs/tools/misc/clipster/default.nix11
-rw-r--r--pkgs/tools/misc/coreutils/default.nix23
-rw-r--r--pkgs/tools/misc/debianutils/default.nix28
-rw-r--r--pkgs/tools/misc/ding-libs/default.nix27
-rw-r--r--pkgs/tools/misc/entr/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix3
-rw-r--r--pkgs/tools/misc/hhpc/default.nix28
-rw-r--r--pkgs/tools/misc/kdecoration-viewer/default.nix27
-rw-r--r--pkgs/tools/misc/kronometer/default.nix3
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-client.nix36
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix36
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin.nix35
-rw-r--r--pkgs/tools/misc/lnav/default.nix4
-rw-r--r--pkgs/tools/misc/man-db/default.nix7
-rw-r--r--pkgs/tools/misc/mlocate/default.nix21
-rw-r--r--pkgs/tools/misc/os-prober/default.nix77
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/parted/default.nix2
-rw-r--r--pkgs/tools/misc/peruse/default.nix17
-rw-r--r--pkgs/tools/misc/profile-cleaner/default.nix8
-rw-r--r--pkgs/tools/misc/unclutter/default.nix1
-rw-r--r--pkgs/tools/misc/yank/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/axel/default.nix4
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/curl/fix-http2-window-size.patch88
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/default.nix20
-rw-r--r--pkgs/tools/networking/ferm/default.nix6
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix4
-rw-r--r--pkgs/tools/networking/i2p/default.nix4
-rw-r--r--pkgs/tools/networking/i2p/i2p.patch34
-rw-r--r--pkgs/tools/networking/miredo/default.nix34
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix31
-rw-r--r--pkgs/tools/networking/mu/default.nix8
-rw-r--r--pkgs/tools/networking/ndjbdns/default.nix19
-rw-r--r--pkgs/tools/networking/openntpd/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/RH-1380296-NEWKEYS-null-pointer-deref.patch37
-rw-r--r--pkgs/tools/networking/openssh/default.nix12
-rw-r--r--pkgs/tools/networking/openssh/fix-CVE-2016-8858.patch11
-rw-r--r--pkgs/tools/networking/openvpn/default.nix9
-rw-r--r--pkgs/tools/networking/openvpn/systemd-notify.patch14
-rw-r--r--pkgs/tools/networking/strongswan/default.nix9
-rw-r--r--pkgs/tools/networking/stun/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/python.nix4
-rw-r--r--pkgs/tools/networking/wakelan/default.nix2
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix8
-rw-r--r--pkgs/tools/package-management/nix/default.nix4
-rw-r--r--pkgs/tools/package-management/nox/default.nix4
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix5
-rw-r--r--pkgs/tools/security/clamav/default.nix1
-rw-r--r--pkgs/tools/security/enpass/data.json12
-rw-r--r--pkgs/tools/security/enpass/default.nix43
-rw-r--r--pkgs/tools/security/gencfsm/default.nix15
-rw-r--r--pkgs/tools/security/gnupg/21.nix8
-rw-r--r--pkgs/tools/security/gorilla-bin/default.nix41
-rw-r--r--pkgs/tools/security/kpcli/default.nix4
-rw-r--r--pkgs/tools/security/lastpass-cli/default.nix2
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/vault/default.nix14
-rw-r--r--pkgs/tools/system/chase/default.nix27
-rw-r--r--pkgs/tools/system/dd_rescue/default.nix4
-rw-r--r--pkgs/tools/system/iops/default.nix2
-rw-r--r--pkgs/tools/system/ior/default.nix29
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/text/codesearch/default.nix26
-rw-r--r--pkgs/tools/text/codesearch/deps.nix3
-rw-r--r--pkgs/tools/text/gnugrep/default.nix4
-rw-r--r--pkgs/tools/text/gnused/422.nix31
-rw-r--r--pkgs/tools/text/gnused/default.nix14
-rw-r--r--pkgs/tools/text/mir-qualia/default.nix21
-rw-r--r--pkgs/tools/text/ripgrep/default.nix6
-rw-r--r--pkgs/tools/text/sgml/jade/default.nix38
-rw-r--r--pkgs/tools/text/shfmt/default.nix4
-rw-r--r--pkgs/tools/text/zimreader/default.nix2
-rw-r--r--pkgs/tools/text/zimwriterfs/default.nix2
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix14
-rw-r--r--pkgs/tools/typesetting/rubber/default.nix35
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix550
-rw-r--r--pkgs/top-level/default.nix4
-rw-r--r--pkgs/top-level/emacs-packages.nix16
-rw-r--r--pkgs/top-level/haskell-packages.nix11
-rw-r--r--pkgs/top-level/lua-packages.nix12
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix82
-rw-r--r--pkgs/top-level/python-packages.nix1202
-rw-r--r--pkgs/top-level/release-cross.nix206
-rw-r--r--pkgs/top-level/release-lib.nix12
-rw-r--r--pkgs/top-level/rust-packages.nix6
942 files changed, 25496 insertions, 12461 deletions
diff --git a/COPYING b/COPYING
index 0408a7e40b7a..a632d6f58b12 100644
--- a/COPYING
+++ b/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 2003-2016 Eelco Dolstra and the Nixpkgs/NixOS contributors
+Copyright (c) 2003-2017 Eelco Dolstra and the Nixpkgs/NixOS contributors
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
diff --git a/doc/languages-frameworks/beam.xml b/doc/languages-frameworks/beam.xml
index 2dc5aa63e458..efb2e60cf3aa 100644
--- a/doc/languages-frameworks/beam.xml
+++ b/doc/languages-frameworks/beam.xml
@@ -248,7 +248,7 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse
       development. Many times we need to create a
       <literal>shell.nix</literal> file and do our development inside
       of the environment specified by that file. This file looks a lot
-      like the packageing described above. The main difference is that
+      like the packaging described above. The main difference is that
       <literal>src</literal> points to project root and we call the
       package directly.
     </para>
diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.md
index e7a8b034a112..82aeb112c93e 100644
--- a/doc/languages-frameworks/python.md
+++ b/doc/languages-frameworks/python.md
@@ -97,7 +97,7 @@ We will first have a look at how Python packages are packaged on Nix. Then, we w
 
 #### Python packaging on Nix
 
-On Nix all packages are built by functions. The main function in Nix for building Python packages is [`buildPythonPackage`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/generic/default.nix).
+On Nix all packages are built by functions. The main function in Nix for building Python packages is [`buildPythonPackage`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/python/build-python-package.nix).
 Let's see how we would build the `toolz` package. According to [`python-packages.nix`](https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/python-packages.nix) `toolz` is build using
 
 ```nix
@@ -141,13 +141,15 @@ with import <nixpkgs> {};
 
 pkgs.python35Packages.buildPythonPackage rec {
   name = "toolz-${version}";
-  version = "0.7.4";
+  version = "0.8.0";
 
   src = pkgs.fetchurl{
     url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
-    sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
+    sha256 = "e8451af61face57b7c5d09e71c0d27b8005f001ead56e9fdf470417e5cc6d479";
   };
 
+  doCheck = false;
+
   meta = {
     homepage = "http://github.com/pytoolz/toolz/";
     description = "List processing tools and functional utilities";
@@ -170,18 +172,18 @@ with import <nixpkgs> {};
 ( let
     toolz = pkgs.python35Packages.buildPythonPackage rec {
       name = "toolz-${version}";
-      version = "0.7.4";
+      version = "0.8.0";
 
       src = pkgs.fetchurl{
         url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
-        sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
+        sha256 = "e8451af61face57b7c5d09e71c0d27b8005f001ead56e9fdf470417e5cc6d479";
       };
 
+      doCheck = false;
+
       meta = {
         homepage = "http://github.com/pytoolz/toolz/";
         description = "List processing tools and functional utilities";
-        license = licenses.bsd3;
-        maintainers = with maintainers; [ fridh ];
       };
     };
 
@@ -308,11 +310,10 @@ Note also the line `doCheck = false;`, we explicitly disabled running the test-s
 
 #### Develop local package
 
-As a Python developer you're likely aware of [development mode](http://pythonhosted.org/setuptools/setuptools.html#development-mode) (`python setup.py develop`);
+As a Python developer you're likely aware of [development mode](http://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode) (`python setup.py develop`);
 instead of installing the package this command creates a special link to the project code.
 That way, you can run updated code without having to reinstall after each and every change you make.
-Development mode is also available on Nix as [explained](http://nixos.org/nixpkgs/manual/#ssec-python-development) in the Nixpkgs manual.
-Let's see how you can use it.
+Development mode is also available. Let's see how you can use it.
 
 In the previous Nix expression the source was fetched from an url. We can also refer to a local source instead using
 
diff --git a/lib/licenses.nix b/lib/licenses.nix
index b62f4f0a5bb3..e5784ce22022 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -449,6 +449,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "Sleepycat License";
   };
 
+  smail = {
+    shortName = "smail";
+    fullName = "SMAIL General Public License";
+    url = http://metadata.ftp-master.debian.org/changelogs/main/d/debianutils/debianutils_4.8.1_copyright;
+  };
+
   tcltk = spdx {
     spdxId = "TCL";
     fullName = "TCL/TK License";
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index a1a61f97e299..95b836130af4 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -109,6 +109,7 @@
   cwoac = "Oliver Matthews <oliver@codersoffortune.net>";
   DamienCassou = "Damien Cassou <damien@cassou.me>";
   danbst = "Danylo Hlynskyi <abcz2.uprola@gmail.com>";
+  danielfullmer = "Daniel Fullmer <danielrf12@gmail.com>";
   dasuxullebt = "Christoph-Simon Senjak <christoph.senjak@googlemail.com>";
   davidak = "David Kleuker <post@davidak.de>";
   davidrusu = "David Rusu <davidrusu.me@gmail.com>";
@@ -129,6 +130,7 @@
   dochang = "Desmond O. Chang <dochang@gmail.com>";
   domenkozar = "Domen Kozar <domen@dev.si>";
   doublec = "Chris Double <chris.double@double.co.nz>";
+  dpaetzel = "David Pätzel <david.a.paetzel@gmail.com>";
   drets = "Dmytro Rets <dmitryrets@gmail.com>";
   drewkett = "Andrew Burkett <burkett.andrew@gmail.com>";
   dtzWill = "Will Dietz <nix@wdtz.org>";
@@ -200,16 +202,19 @@
   ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
   igsha = "Igor Sharonov <igor.sharonov@gmail.com>";
   ikervagyok = "Balázs Lengyel <ikervagyok@gmail.com>";
+  ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
   j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
   jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";
   javaguirre = "Javier Aguirre <contacto@javaguirre.net>";
   jb55 = "William Casarin <bill@casarin.me>";
   jbedo = "Justin Bedő <cu@cua0.org>";
   jcumming = "Jack Cummings <jack@mudshark.org>";
+  jdagilliland = "Jason Gilliland <jdagilliland@gmail.com>";
   jefdaj = "Jeffrey David Johnson <jefdaj@gmail.com>";
   jerith666 = "Matt McHenry <github@matt.mchenryfamily.org>";
   jfb = "James Felix Black <james@yamtime.com>";
   jgeerds = "Jascha Geerds <jascha@jgeerds.name>";
+  jgertm = "Tim Jaeger <jger.tm@gmail.com>";
   jgillich = "Jakob Gillich <jakob@gillich.me>";
   jirkamarsik = "Jirka Marsik <jiri.marsik89@gmail.com>";
   joachifm = "Joachim Fasting <joachifm@fastmail.fm>";
@@ -232,6 +237,7 @@
   KibaFox = "Kiba Fox <kiba.fox@foxypossibilities.com>";
   kierdavis = "Kier Davis <kierdavis@gmail.com>";
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
+  knedlsepp = "Josef Kemetmüller <josef.kemetmueller@gmail.com>";
   koral = "Koral <koral@mailoo.org>";
   kovirobi = "Kovacsics Robert <kovirobi@gmail.com>";
   kragniz = "Louis Taylor <louis@kragniz.eu>";
@@ -239,6 +245,7 @@
   lassulus = "Lassulus <lassulus@gmail.com>";
   layus = "Guillaume Maudoux <layus.on@gmail.com>";
   ldesgoui = "Lucas Desgouilles <ldesgoui@gmail.com>";
+  league = "Christopher League <league@contrapunctus.net>";
   lebastr = "Alexander Lebedev <lebastr@gmail.com>";
   leenaars = "Michiel Leenaars <ml.software@leenaa.rs>";
   leonardoce = "Leonardo Cecchi <leonardo.cecchi@gmail.com>";
@@ -293,6 +300,7 @@
   mingchuan = "Ming Chuan <ming@culpring.com>";
   mirdhyn = "Merlin Gaillard <mirdhyn@gmail.com>";
   mirrexagon = "Andrew Abbott <mirrexagon@mirrexagon.com>";
+  mjanczyk = "Marcin Janczyk <m@dragonvr.pl>";
   mlieberman85 = "Michael Lieberman <mlieberman85@gmail.com>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
   mog = "Matthew O'Gorman <mog-lists@rldn.net>";
@@ -312,6 +320,7 @@
   mudri = "James Wood <lamudri@gmail.com>";
   muflax = "Stefan Dorn <mail@muflax.com>";
   myrl = "Myrl Hex <myrl.0xf@gmail.com>";
+  namore = "Roman Naumann <namor@hemio.de>";
   nand0p = "Fernando Jose Pando <nando@hex7.com>";
   Nate-Devv = "Nathan Moore <natedevv@gmail.com>";
   nathan-gs = "Nathan Bijnens <nathan@nathan.gs>";
@@ -329,6 +338,7 @@
   ocharles = "Oliver Charles <ollie@ocharles.org.uk>";
   odi = "Oliver Dunkl <oliver.dunkl@gmail.com>";
   offline = "Jaka Hudoklin <jakahudoklin@gmail.com>";
+  oida = "oida <oida@posteo.de>";
   okasu = "Okasu <oka.sux@gmail.com>";
   olcai = "Erik Timan <dev@timan.info>";
   olejorgenb = "Ole Jørgen Brønner <olejorgenb@yahoo.no>";
@@ -360,6 +370,7 @@
   plcplc = "Philip Lykke Carlsen <plcplc@gmail.com>";
   pmahoney = "Patrick Mahoney <pat@polycrystal.org>";
   pmiddend = "Philipp Middendorf <pmidden@secure.mailbox.org>";
+  polyrod = "Maurizio Di Pietro <dc1mdp@gmail.com>";
   prikhi = "Pavan Rikhi <pavan.rikhi@gmail.com>";
   primeos = "Michael Weiss <dev.primeos@gmail.com>";
   profpatsch = "Profpatsch <mail@profpatsch.de>";
@@ -434,6 +445,7 @@
   spinus = "Tomasz Czyż <tomasz.czyz@gmail.com>";
   sprock = "Roger Mason <rmason@mun.ca>";
   spwhitt = "Spencer Whitt <sw@swhitt.me>";
+  srhb = "Sarah Brofeldt <sbrofeldt@gmail.com>";
   SShrike = "Severen Redwood <severen@shrike.me>";
   stephenmw = "Stephen Weinberg <stephen@q5comm.com>";
   sternenseemann = "Lukas Epple <post@lukasepple.de>";
@@ -482,6 +494,7 @@
   vlstill = "Vladimír Štill <xstill@fi.muni.cz>";
   vmandela = "Venkateswara Rao Mandela <venkat.mandela@gmail.com>";
   volhovm = "Mikhail Volkhov <volhovm.cs@gmail.com>";
+  volth = "Jaroslavas Pocepko <jaroslavas@volth.com>";
   vozz = "Oliver Hunt <oliver.huntuk@gmail.com>";
   vrthra = "Rahul Gopinath <rahul@gopinath.org>";
   wedens = "wedens <kirill.wedens@gmail.com>";
@@ -499,8 +512,10 @@
   yurrriq = "Eric Bailey <eric@ericb.me>";
   z77z = "Marco Maggesi <maggesi@math.unifi.it>";
   zagy = "Christian Zagrodnick <cz@flyingcircus.io>";
+  zauberpony = "Elmar Athmer <elmar@athmer.org>";
   zef = "Zef Hemel <zef@zef.me>";
   zimbatm = "zimbatm <zimbatm@zimbatm.com>";
   zohl = "Al Zohali <zohl@fmap.me>";
   zoomulator = "Kim Simmons <zoomulator@gmail.com>";
+  zraexy = "David Mell <zraexy@gmail.com>";
 }
diff --git a/update.nix b/maintainers/scripts/update.nix
index e1c9886a78bd..2035950da3e3 100755
--- a/update.nix
+++ b/maintainers/scripts/update.nix
@@ -6,7 +6,7 @@
 
 let
 
-  pkgs = import ./default.nix { };
+  pkgs = import ./../../default.nix { };
 
   packagesWith = cond: return: set:
     pkgs.lib.flatten
@@ -16,7 +16,7 @@ let
             result = builtins.tryEval (
               if pkgs.lib.isDerivation pkg && cond name pkg
                 then [(return name pkg)]
-              else if pkg.recurseForFerivations or false || pkg.recureseForRelease or false
+              else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false
                 then packagesWith cond return pkg
               else []
             );
@@ -48,12 +48,15 @@ let
                    pkgs;
 
   packageByName = name:
-      if ! builtins.hasAttr name pkgs then
+    let
+        package = pkgs.lib.attrByPath (pkgs.lib.splitString "." name) null pkgs;
+    in
+      if package == null then
         builtins.throw "Package with an attribute name `${name}` does not exists."
-      else if ! builtins.hasAttr "updateScript" (builtins.getAttr name pkgs) then
+      else if ! builtins.hasAttr "updateScript" package then
         builtins.throw "Package with an attribute name `${name}` does have an `passthru.updateScript` defined."
       else
-        builtins.getAttr name pkgs;
+        package;
 
   packages =
     if package != null then
@@ -66,12 +69,12 @@ let
   helpText = ''
     Please run:
 
-        % nix-shell update.nix --argstr maintainer garbas
+        % nix-shell maintainers/scripts/update.nix --argstr maintainer garbas
 
     to run all update scripts for all packages that lists \`garbas\` as a maintainer
     and have \`updateScript\` defined, or:
 
-        % nix-shell update.nix --argstr package garbas
+        % nix-shell maintainers/scripts/update.nix --argstr package garbas
 
     to run update script for specific package.
   '';
diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml
index a133630e1464..d8b0ae01e333 100644
--- a/nixos/doc/manual/release-notes/rl-1703.xml
+++ b/nixos/doc/manual/release-notes/rl-1703.xml
@@ -77,6 +77,17 @@ following incompatible changes:</para>
      or attribute sets as specified in parsoid's documentation.
     </para>
   </listitem>
+
+  <listitem>
+    <para>
+     <literal>Ntpd</literal> was replaced by
+     <literal>systemd-timesyncd</literal> as the default service to synchronize
+     system time with a remote NTP server. The old behavior can be restored by
+     setting <literal>services.ntp.enable</literal> to <literal>true</literal>.
+     Upstream time servers for all NTP implementations are now configured using
+     <literal>networking.timeServers</literal>.
+   </para>
+  </listitem>
 </itemizedlist>
 
 
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix
index 4e044deca217..1a17a080ba45 100644
--- a/nixos/lib/build-vms.nix
+++ b/nixos/lib/build-vms.nix
@@ -9,6 +9,8 @@ rec {
 
   inherit pkgs;
 
+  qemu = pkgs.qemu_test;
+
 
   # Build a virtual network from an attribute set `{ machine1 =
   # config1; ... machineN = configN; }', where `machineX' is the
@@ -27,6 +29,7 @@ rec {
         [ ../modules/virtualisation/qemu-vm.nix
           ../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
           { key = "no-manual"; services.nixosManual.enable = false; }
+          { key = "qemu"; system.build.qemu = qemu; }
         ] ++ optional minimal ../modules/testing/minimal-kernel.nix;
       extraArgs = { inherit nodes; };
     };
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index a87b285c5b7b..2e7971cca810 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -1,4 +1,4 @@
-# From an end-user configuration file (`configuration'), build a NixOS
+# From an end-user configuration file (`configuration.nix'), build a NixOS
 # configuration object (`config') from which we can retrieve option
 # values.
 
diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix
index 2baa4f667607..4100af27becb 100644
--- a/nixos/lib/make-squashfs.nix
+++ b/nixos/lib/make-squashfs.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation {
 
       # Generate the squashfs image.
       mksquashfs nix-path-registration $storePaths $out \
-        -keep-as-directory -all-root -comp xz
+        -keep-as-directory -all-root -b 1048576 -comp xz -Xdict-size 100%
     '';
 }
diff --git a/nixos/lib/make-system-tarball.sh b/nixos/lib/make-system-tarball.sh
index e04455e889b0..73a009d8488a 100644
--- a/nixos/lib/make-system-tarball.sh
+++ b/nixos/lib/make-system-tarball.sh
@@ -52,9 +52,10 @@ $extraCommands
 
 mkdir -p $out/tarball
 
-tar cvJf $out/tarball/$fileName.tar.xz * $extraArgs
+rm env-vars
+
+tar --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner -cvJf $out/tarball/$fileName.tar.xz * $extraArgs
 
 mkdir -p $out/nix-support
 echo $system > $out/nix-support/system
 echo "file system-tarball $out/tarball/$fileName.tar.xz" > $out/nix-support/hydra-build-products
-
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index 274b16164db3..14c39e859bc1 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -611,11 +611,37 @@ sub copyFileFromHost {
 }
 
 
+my %charToKey = (
+    '!' => "shift-0x02",
+    '@' => "shift-0x03",
+    '#' => "shift-0x04",
+    '$' => "shift-0x05",
+    '%' => "shift-0x06",
+    '^' => "shift-0x07",
+    '&' => "shift-0x08",
+    '*' => "shift-0x09",
+    '(' => "shift-0x0A",
+    ')' => "shift-0x0B",
+    '-' => "0x0C", '_' => "shift-0x0C",
+    '=' => "0x0D", '+' => "shift-0x0D",
+    '[' => "0x1A", '{' => "shift-0x1A",
+    ']' => "0x1B", '}' => "shift-0x1B",
+    ';' => "0x27", ':' => "shift-0x27",
+   '\'' => "0x28", '"' => "shift-0x28",
+    '`' => "0x29", '~' => "shift-0x29",
+   '\\' => "0x2B", '|' => "shift-0x2B",
+    ',' => "0x33", '<' => "shift-0x33",
+    '.' => "0x34", '>' => "shift-0x34",
+    '/' => "0x35", '?' => "shift-0x35",
+    ' ' => "spc",
+   "\n" => "ret",
+);
+
+
 sub sendKeys {
     my ($self, @keys) = @_;
     foreach my $key (@keys) {
-        $key = "spc" if $key eq " ";
-        $key = "ret" if $key eq "\n";
+        $key = $charToKey{$key} if exists $charToKey{$key};
         $self->sendMonitorCommand("sendkey $key");
     }
 }
diff --git a/nixos/lib/test-driver/test-driver.pl b/nixos/lib/test-driver/test-driver.pl
index 8ad0d67f68c3..854be99552a0 100644
--- a/nixos/lib/test-driver/test-driver.pl
+++ b/nixos/lib/test-driver/test-driver.pl
@@ -8,6 +8,7 @@ use IO::Pty;
 use Logger;
 use Cwd;
 use POSIX qw(_exit dup2);
+use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC);
 
 $SIG{PIPE} = 'IGNORE'; # because Unix domain sockets may die unexpectedly
 
@@ -179,7 +180,12 @@ END {
     $log->close();
 }
 
+my $now1 = clock_gettime(CLOCK_MONOTONIC);
 
 runTests;
 
+my $now2 = clock_gettime(CLOCK_MONOTONIC);
+
+printf STDERR "test script finished in %.2fs\n", $now2 - $now1;
+
 exit ($nrSucceeded < $nrTests ? 1 : 0);
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 7fad5cbc3cd9..c1cb5072acad 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 : "${lib.makeBinPath [ qemu_kvm vde2 netpbm coreutils ]}" \
+          --prefix PATH : "${lib.makeBinPath [ qemu vde2 netpbm coreutils ]}" \
           --prefix PERL5LIB : "${with perlPackages; lib.makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/lib/perl5/site_perl"
       '';
   };
@@ -93,7 +93,7 @@ rec {
 
       vms = map (m: m.config.system.build.vm) (lib.attrValues nodes);
 
-      ocrProg = tesseract.override { enableLanguages = [ "eng" ]; };
+      ocrProg = tesseract;
 
       # Generate onvenience wrappers for running the test driver
       # interactively with the specified network, and for starting the
diff --git a/nixos/modules/config/gnu.nix b/nixos/modules/config/gnu.nix
index f8c35b440d12..ef48ccb7b4fe 100644
--- a/nixos/modules/config/gnu.nix
+++ b/nixos/modules/config/gnu.nix
@@ -7,11 +7,11 @@ with lib;
     gnu = mkOption {
       type = types.bool;
       default = false;
-      description =
-        '' When enabled, GNU software is chosen by default whenever a there is
-           a choice between GNU and non-GNU software (e.g., GNU lsh
-           vs. OpenSSH).
-        '';
+      description = ''
+        When enabled, GNU software is chosen by default whenever a there is
+        a choice between GNU and non-GNU software (e.g., GNU lsh
+        vs. OpenSSH).
+      '';
     };
   };
 
diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix
index d7fd38ebed9a..799f0793c74f 100644
--- a/nixos/modules/config/i18n.nix
+++ b/nixos/modules/config/i18n.nix
@@ -46,7 +46,7 @@ in
         default = with pkgs.kbdKeymaps; [ dvp neo ];
         defaultText = ''with pkgs.kbdKeymaps; [ dvp neo ]'';
         description = ''
-	  List of additional packages that provide console fonts, keymaps and
+          List of additional packages that provide console fonts, keymaps and
           other resources.
         '';
       };
diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix
index fdc782b0579e..9e7cfbd686cc 100644
--- a/nixos/modules/config/networking.nix
+++ b/nixos/modules/config/networking.nix
@@ -57,7 +57,7 @@ in
 
     networking.dnsExtensionMechanism = lib.mkOption {
       type = types.bool;
-      default = false;
+      default = true;
       description = ''
         Enable the <code>edns0</code> option in <filename>resolv.conf</filename>. With
         that option set, <code>glibc</code> supports use of the extension mechanisms for
@@ -84,6 +84,18 @@ in
       '';
     };
 
+    networking.timeServers = mkOption {
+      default = [
+        "0.nixos.pool.ntp.org"
+        "1.nixos.pool.ntp.org"
+        "2.nixos.pool.ntp.org"
+        "3.nixos.pool.ntp.org"
+      ];
+      description = ''
+        The set of NTP servers from which to synchronise.
+      '';
+    };
+
     networking.proxy = {
 
       default = lib.mkOption {
diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix
index 45553ec05663..4e5de421d8ac 100644
--- a/nixos/modules/config/nsswitch.nix
+++ b/nixos/modules/config/nsswitch.nix
@@ -9,10 +9,28 @@ let
   inherit (config.services.avahi) nssmdns;
   inherit (config.services.samba) nsswins;
   ldap = (config.users.ldap.enable && config.users.ldap.nsswitch);
+  sssd = config.services.sssd.enable;
 
-in
+  hostArray = [ "files" "mymachines" ]
+    ++ optionals nssmdns [ "mdns_minimal [!UNAVAIL=return]" ]
+    ++ optionals nsswins [ "wins" ]
+    ++ [ "dns" ]
+    ++ optionals nssmdns [ "mdns" ]
+    ++ ["myhostname" ];
 
-{
+  passwdArray = [ "files" ]
+    ++ optional sssd "sss"
+    ++ optionals ldap [ "ldap" ]
+    ++ [ "mymachines" ];
+
+  shadowArray = [ "files" ]
+    ++ optional sssd "sss"
+    ++ optionals ldap [ "ldap" ];
+
+  servicesArray = [ "files" ]
+    ++ optional sssd "sss";
+
+in {
   options = {
 
     # NSS modules.  Hacky!
@@ -39,17 +57,19 @@ in
     # Name Service Switch configuration file.  Required by the C
     # library.  !!! Factor out the mdns stuff.  The avahi module
     # should define an option used by this module.
-    environment.etc."nsswitch.conf".text =
-      ''
-        passwd:    files ${optionalString ldap "ldap"}
-        group:     files ${optionalString ldap "ldap"}
-        shadow:    files ${optionalString ldap "ldap"}
-        hosts:     files ${optionalString nssmdns "mdns_minimal [NOTFOUND=return]"} dns ${optionalString nssmdns "mdns"} ${optionalString nsswins "wins"} myhostname mymachines
-        networks:  files dns
-        ethers:    files
-        services:  files
-        protocols: files
-      '';
+    environment.etc."nsswitch.conf".text = ''
+      passwd:    ${concatStringsSep " " passwdArray}
+      group:     ${concatStringsSep " " passwdArray}
+      shadow:    ${concatStringsSep " " shadowArray}
+
+      hosts:     ${concatStringsSep " " hostArray}
+      networks:  files
+
+      ethers:    files
+      services:  ${concatStringsSep " " servicesArray}
+      protocols: files
+      rpc:       files
+    '';
 
     # Systemd provides nss-myhostname to ensure that our hostname
     # always resolves to a valid IP address.  It returns all locally
diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix
index fbd7867a0953..a4a4d6e1a6af 100644
--- a/nixos/modules/config/power-management.nix
+++ b/nixos/modules/config/power-management.nix
@@ -69,7 +69,7 @@ in
 
   config = mkIf cfg.enable {
 
-    # FIXME: Implement powersave governor for sandy bridge or later Intel CPUs
+    # Leftover for old setups, should be set by nixos-generate-config now
     powerManagement.cpuFreqGovernor = mkDefault "ondemand";
 
     systemd.targets.post-resume = {
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 06ce52004202..742167fbf69f 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -212,6 +212,7 @@ in {
       # Allow PulseAudio to get realtime priority using rtkit.
       security.rtkit.enable = true;
 
+      systemd.packages = [ cfg.package ];
     })
 
     (mkIf hasZeroconf {
@@ -227,31 +228,14 @@ in {
         target = "pulse/default.pa";
         source = myConfigFile;
       };
-
       systemd.user = {
         services.pulseaudio = {
-          description = "PulseAudio Server";
-          # NixOS doesn't support "Also" so we bring it in manually
-          wantedBy = [ "default.target" ];
           serviceConfig = {
-            Type = "notify";
-            ExecStart = binaryNoDaemon;
-            Restart = "on-failure";
             RestartSec = "500ms";
           };
           environment = { DISPLAY = ":${toString config.services.xserver.display}"; };
           restartIfChanged = true;
         };
-
-        sockets.pulseaudio = {
-          description = "PulseAudio Socket";
-          wantedBy = [ "sockets.target" ];
-          socketConfig = {
-            Priority = 6;
-            Backlog = 5;
-            ListenStream = "%t/pulse/native";
-          };
-        };
       };
     })
 
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix b/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix
index 4641b8fcf9d1..f4122ab0e518 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix
@@ -1,11 +1,15 @@
 # This module defines a small NixOS installation CD.  It does not
 # contain any graphical stuff.
 
-{ config, lib, ... }:
+{ config, lib, pkgs, ... }:
 
 {
   imports =
     [ ./installation-cd-base.nix
-      ../../profiles/minimal.nix
+    ];
+
+  environment.systemPackages =
+    [
+      pkgs.vim
     ];
 }
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 4fc8bf5428f8..93dba0d882b8 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -178,7 +178,7 @@ in
         image. It significantly increases image size. Use that when
         you want to be able to keep all the sources needed to build your
         system or when you are going to install the system on a computer
-        with slow on non-existent network connection.
+        with slow or non-existent network connection.
       '';
     };
 
@@ -232,8 +232,6 @@ in
     system.boot.loader.kernelFile = "bzImage";
     environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi pkgs.syslinux ];
 
-    boot.consoleLogLevel = mkDefault 7;
-
     # In stage 1 of the boot, mount the CD as the root FS by label so
     # that we don't need to know its device.  We pass the label of the
     # root filesystem on the kernel command line, rather than in
diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
index 80fb47072286..456ef7c9f541 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
@@ -27,7 +27,6 @@ in
 
   boot.kernelPackages = pkgs.linuxPackages_latest;
   boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=tty0"];
-  boot.consoleLogLevel = 7;
 
   # FIXME: this probably should be in installation-device.nix
   users.extraUsers.root.initialHashedPassword = "";
diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
index dc196468139a..e7163f10a3c3 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
@@ -26,7 +26,6 @@ in
   boot.loader.generic-extlinux-compatible.enable = true;
 
   boot.kernelPackages = pkgs.linuxPackages_rpi;
-  boot.consoleLogLevel = 7;
 
   # FIXME: this probably should be in installation-device.nix
   users.extraUsers.root.initialHashedPassword = "";
diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix
index 5908ff6cb940..0f6046339b37 100644
--- a/nixos/modules/installer/netboot/netboot.nix
+++ b/nixos/modules/installer/netboot/netboot.nix
@@ -30,8 +30,6 @@ with lib;
     system.boot.loader.kernelFile = "bzImage";
     environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi pkgs.syslinux ];
 
-    boot.consoleLogLevel = mkDefault 7;
-
     fileSystems."/" =
       { fsType = "tmpfs";
         options = [ "mode=0755" ];
diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix
index 747d9d2bcec5..ddc624a77de9 100644
--- a/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,5 +1,5 @@
 {
-  x86_64-linux = "/nix/store/i4mwf2gpvar7dqvlpp5m86llbq3ahbvb-nix-1.11.4";
-  i686-linux = "/nix/store/a3gjrbspb0q4hs3sv5g1y2nza43i8nzv-nix-1.11.4";
-  x86_64-darwin = "/nix/store/7v21yd3qpv0nclcy5cqr5njj9bril12s-nix-1.11.4";
+  x86_64-linux = "/nix/store/m8z91vpfxyszhjpq4wl8m1zwlqik4fkn-nix-1.11.5";
+  i686-linux = "/nix/store/vk71likl32igqg6apqsj52ln3vhkq1pa-nix-1.11.5";
+  x86_64-darwin = "/nix/store/qfwm0b5qkr8v8gsv9dh2z3arky9p1myg-nix-1.11.5";
 }
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index f1874f239778..e17c02d13745 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -94,6 +94,21 @@ sub hasCPUFeature {
 my $cpus = scalar (grep {/^processor\s*:/} (split '\n', $cpuinfo));
 
 
+# Determine CPU governor to use
+if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") {
+    my $governors = read_file("/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors");
+    # ondemand governor is not available on sandy bridge or later Intel CPUs
+    my @desired_governors = ("ondemand", "powersave");
+    my $e;
+
+    foreach $e (@desired_governors) {
+        if (index($governors, $e) != -1) {
+            last if (push @attrs, "powerManagement.cpuFreqGovernor = \"$e\";");
+        }
+    }
+}
+
+
 # Virtualization support?
 push @kernelModules, "kvm-intel" if hasCPUFeature "vmx";
 push @kernelModules, "kvm-amd" if hasCPUFeature "svm";
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index 36700d2bf566..8e55a4f525f9 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -126,9 +126,9 @@ targetHostCmd() {
 copyToTarget() {
     if ! [ "$targetHost" = "$buildHost" ]; then
         if [ -z "$targetHost" ]; then
-            NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --from "$buildHost" "$1"
+            NIX_SSHOPTS=$SSHOPTS nix-copy-closure --from "$buildHost" "$1"
         elif [ -z "$buildHost" ]; then
-            NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --to "$targetHost" "$1"
+            NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$targetHost" "$1"
         else
             buildHostCmd nix-copy-closure --to "$targetHost" "$1"
         fi
@@ -169,7 +169,7 @@ nixBuild() {
 
         local drv="$(nix-instantiate "${instArgs[@]}" "${extraBuildFlags[@]}")"
         if [ -a "$drv" ]; then
-            NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --to "$buildHost" "$drv"
+            NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$buildHost" "$drv"
             buildHostCmd nix-store -r "$drv" "${buildArgs[@]}"
         else
             echo "nix-instantiate failed"
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 2a9a18236e5a..6ab4b24a3491 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -280,6 +280,8 @@
       stanchion = 262;
       riak-cs = 263;
       infinoted = 264;
+      keystone = 265;
+      glance = 266;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -466,7 +468,7 @@
       ihaskell = 189;
       i2p = 190;
       lambdabot = 191;
-      #asterisk = 192; # unused
+      asterisk = 192;
       plex = 193;
       sabnzbd = 194;
       #grafana = 196; #unused
@@ -530,6 +532,8 @@
       stanchion = 262;
       riak-cs = 263;
       infinoted = 264;
+      keystone = 265;
+      glance = 266;
 
       # 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/misc/locate.nix b/nixos/modules/misc/locate.nix
index 27a0fa6cf3d4..3cb5bb1a351a 100644
--- a/nixos/modules/misc/locate.nix
+++ b/nixos/modules/misc/locate.nix
@@ -15,6 +15,15 @@ in {
       '';
     };
 
+    locate = mkOption {
+      type = types.package;
+      default = pkgs.findutils;
+      example = "pkgs.mlocate";
+      description = ''
+        The locate implementation to use
+      '';
+    };
+
     interval = mkOption {
       type = types.str;
       default = "02:15";
@@ -77,7 +86,7 @@ in {
         script =
           ''
             mkdir -m 0755 -p $(dirname ${toString cfg.output})
-            exec updatedb \
+            exec ${cfg.locate}/bin/updatedb \
               --localuser=${cfg.localuser} \
               ${optionalString (!cfg.includeStore) "--prunepaths='/nix/store'"} \
               --output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index ec423768296a..70cd3fb9766a 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -99,7 +99,7 @@ in
     };
 
     # Generate /etc/os-release.  See
-    # http://0pointer.de/public/systemd-man/os-release.html for the
+    # https://www.freedesktop.org/software/systemd/man/os-release.html for the
     # format.
     environment.etc."os-release".text =
       ''
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 4032df9fb91a..576244e76015 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -71,6 +71,7 @@
   ./programs/environment.nix
   ./programs/fish.nix
   ./programs/freetds.nix
+  ./programs/gphoto2.nix
   ./programs/info.nix
   ./programs/java.nix
   ./programs/kbdlight.nix
@@ -284,6 +285,7 @@
   ./services/misc/siproxd.nix
   ./services/misc/sonarr.nix
   ./services/misc/spice-vdagentd.nix
+  ./services/misc/sssd.nix
   ./services/misc/subsonic.nix
   ./services/misc/sundtek.nix
   ./services/misc/svnserve.nix
@@ -306,8 +308,13 @@
   ./services/monitoring/munin.nix
   ./services/monitoring/nagios.nix
   ./services/monitoring/prometheus/default.nix
-  ./services/monitoring/prometheus/node-exporter.nix
   ./services/monitoring/prometheus/alertmanager.nix
+  ./services/monitoring/prometheus/blackbox-exporter.nix
+  ./services/monitoring/prometheus/json-exporter.nix
+  ./services/monitoring/prometheus/nginx-exporter.nix
+  ./services/monitoring/prometheus/node-exporter.nix
+  ./services/monitoring/prometheus/snmp-exporter.nix
+  ./services/monitoring/prometheus/varnish-exporter.nix
   ./services/monitoring/riemann.nix
   ./services/monitoring/riemann-dash.nix
   ./services/monitoring/riemann-tools.nix
@@ -392,6 +399,7 @@
   ./services/networking/minidlna.nix
   ./services/networking/miniupnpd.nix
   ./services/networking/mosquitto.nix
+  ./services/networking/miredo.nix
   ./services/networking/mstpd.nix
   ./services/networking/murmur.nix
   ./services/networking/namecoind.nix
@@ -631,4 +639,6 @@
   ./virtualisation/vmware-guest.nix
   ./virtualisation/xen-dom0.nix
   ./virtualisation/xe-guest-utilities.nix
+  ./virtualisation/openstack/keystone.nix
+  ./virtualisation/openstack/glance.nix
 ]
diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix
index f90d0d992ec8..687cd9d80d36 100644
--- a/nixos/modules/profiles/base.nix
+++ b/nixos/modules/profiles/base.nix
@@ -45,7 +45,7 @@
   ];
 
   # Include support for various filesystems.
-  boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "zfs" "ntfs" "cifs" ];
+  boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ];
 
   # Configure host id for ZFS to work
   networking.hostId = lib.mkDefault "8425e349";
diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix
index 93736ba256b3..7949e600f86a 100644
--- a/nixos/modules/profiles/installation-device.nix
+++ b/nixos/modules/profiles/installation-device.nix
@@ -70,5 +70,11 @@ with lib;
     # the initrd builder.
     system.extraDependencies = [ pkgs.stdenv pkgs.busybox pkgs.perlPackages.ArchiveCpio ];
 
+    # Show all debug messages from the kernel but don't log refused packets
+    # because we have the firewall enabled. This makes installs from the
+    # console less cumbersome if the machine has a public IP.
+    boot.consoleLogLevel = mkDefault 7;
+    networking.firewall.logRefusedConnections = mkDefault false;
+
   };
 }
diff --git a/nixos/modules/programs/gphoto2.nix b/nixos/modules/programs/gphoto2.nix
new file mode 100644
index 000000000000..47822562aee1
--- /dev/null
+++ b/nixos/modules/programs/gphoto2.nix
@@ -0,0 +1,31 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  meta.maintainers = [ maintainers.league ];
+
+  ###### interface
+  options = {
+    programs.gphoto2 = {
+      enable = mkOption {
+        default = false;
+        example = true;
+        type = types.bool;
+        description = ''
+          Whether to configure system to use gphoto2.
+          To grant digital camera access to a user, the user must
+          be part of the camera group:
+          <code>users.extraUsers.alice.extraGroups = ["camera"];</code>
+        '';
+      };
+    };
+  };
+
+  ###### implementation
+  config = mkIf config.programs.gphoto2.enable {
+    services.udev.packages = [ pkgs.libgphoto2 ];
+    environment.systemPackages = [ pkgs.gphoto2 ];
+    users.extraGroups.camera = {};
+  };
+}
diff --git a/nixos/modules/programs/mosh.nix b/nixos/modules/programs/mosh.nix
index b478f8e180fa..1c29eddf01d6 100644
--- a/nixos/modules/programs/mosh.nix
+++ b/nixos/modules/programs/mosh.nix
@@ -9,14 +9,14 @@ let
 in
 {
   options.programs.mosh = {
-      enable = mkOption {
-	description = ''
-	  Whether to enable mosh. Note, this will open ports in your firewall!
-	'';
-        default = false;
-	example = true;
-	type = lib.types.bool;
-      };
+    enable = mkOption {
+      description = ''
+        Whether to enable mosh. Note, this will open ports in your firewall!
+      '';
+      default = false;
+      example = true;
+      type = lib.types.bool;
+    };
   };
 
   config = mkIf cfg.enable {
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index 5b7d94157454..b4d941a7770c 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -91,6 +91,13 @@ in
         '';
         type = types.bool;
       };
+      
+      enableAutosuggestions = mkOption {
+        default = false;
+        description = ''
+          Enable zsh-autosuggestions
+        '';
+      };
 
     };
 
@@ -132,6 +139,10 @@ in
           "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
         }
 
+        ${optionalString (cfg.enableAutosuggestions)
+          "source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
+        }
+
         HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help"
       '';
 
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index a89ce2c743d4..758f229d59d7 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -150,6 +150,20 @@ with lib;
     # tarsnap
     (mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives.<name>.cachedir")
 
+    # alsa
+    (mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
+
+    # postgrey
+    (mkMergedOptionModule [ [ "services" "postgrey" "inetAddr" ] [ "services" "postgrey" "inetPort" ] ] [ "services" "postgrey" "socket" ] (config: let
+        value = p: getAttrFromPath p config;
+        inetAddr = [ "services" "postgrey" "inetAddr" ];
+        inetPort = [ "services" "postgrey" "inetPort" ];
+      in
+        if value inetAddr == null
+        then { path = "/var/run/postgrey.sock"; }
+        else { addr = value inetAddr; port = value inetPort; }
+    ))
+
     # Options that are obsolete and have no replacement.
     (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
     (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
diff --git a/nixos/modules/security/acme.xml b/nixos/modules/security/acme.xml
index 6fddb27e6a34..823806f4641b 100644
--- a/nixos/modules/security/acme.xml
+++ b/nixos/modules/security/acme.xml
@@ -67,52 +67,30 @@ options for the <literal>security.acme</literal> module.</para>
 </section>
 
 <section><title>Using ACME certificates in Nginx</title>
-<para>In practice ACME is mostly used for retrieval and renewal of
-  certificates that will be used in a webserver like Nginx. A configuration for
-  Nginx that uses the certificates from ACME for
-  <literal>foo.example.com</literal> will look similar to:
+<para>NixOS supports fetching ACME certificates for you by setting
+<literal>enableACME = true;</literal> in a virtualHost config. We
+first create self-signed placeholder certificates in place of the
+real ACME certs. The placeholder certs are overwritten when the ACME
+certs arrive. For <literal>foo.example.com</literal> the config would
+look like.
 </para>
 
 <programlisting>
-security.acme.certs."foo.example.com" = {
-  webroot = config.security.acme.directory + "/acme-challenge";
-  email = "foo@example.com";
-  user = "nginx";
-  group = "nginx";
-  postRun = "systemctl restart nginx.service";
-};
-services.nginx.httpConfig = ''
-  server {
-    server_name foo.example.com;
-    listen 80;
-    listen [::]:80;
-
-    location /.well-known/acme-challenge {
-      root /var/www/challenges;
-    }
-
-    location / {
-      return 301 https://$host$request_uri;
-    }
-  }
-
-  server {
-    server_name foo.example.com;
-    listen 443 ssl;
-    ssl_certificate     ${config.security.acme.directory}/foo.example.com/fullchain.pem;
-    ssl_certificate_key ${config.security.acme.directory}/foo.example.com/key.pem;
-    root /var/www/foo.example.com/;
-  }
-'';
+services.nginx = {
+  enable = true;
+  virtualHosts = {
+    "foo.example.com" = {
+      forceSSL = true;
+      enableACME = true;
+      locations."/" = {
+        root = "/var/www";
+      };
+    };
+  };
+}
 </programlisting>
 
-<para>Now Nginx will try to use the certificates that will be retrieved by ACME.
-  ACME needs Nginx (or any other webserver) to function and Nginx needs
-  the certificates to actually start. For this reason the ACME module
-  automatically generates self-signed certificates that will be used by Nginx to
-  start. After that Nginx is used by ACME to retrieve the actual ACME
-  certificates. <literal>security.acme.preliminarySelfsigned</literal> can be
-  used to control whether to generate the self-signed certificates.
-</para>
+<para>At the moment you still have to restart Nginx after the ACME
+certs arrive.</para>
 </section>
 </chapter>
diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix
index 202639f98701..d323a158a4df 100644
--- a/nixos/modules/security/apparmor.nix
+++ b/nixos/modules/security/apparmor.nix
@@ -18,22 +18,30 @@ in
          default = [];
          description = "List of files containing AppArmor profiles.";
        };
+       packages = mkOption {
+         type = types.listOf types.package;
+         default = [];
+         description = "List of packages to be added to apparmor's include path";
+       };
      };
    };
 
    config = mkIf cfg.enable {
      environment.systemPackages = [ pkgs.apparmor-utils ];
 
-     systemd.services.apparmor = {
+     systemd.services.apparmor = let
+       paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
+         ([ pkgs.apparmor-profiles ] ++ cfg.packages);
+     in {
        wantedBy = [ "local-fs.target" ];
        serviceConfig = {
          Type = "oneshot";
          RemainAfterExit = "yes";
-         ExecStart = concatMapStrings (p:
-           ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv -I ${pkgs.apparmor-profiles}/etc/apparmor.d "${p}" ; ''
+         ExecStart = map (p:
+           ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv ${paths} "${p}"''
          ) cfg.profiles;
-         ExecStop = concatMapStrings (p:
-           ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}" ; ''
+         ExecStop = map (p:
+           ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"''
          ) cfg.profiles;
        };
      };
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index f9aa4136c8d6..96e7c45d4963 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -233,6 +233,8 @@ let
           account sufficient pam_unix.so
           ${optionalString use_ldap
               "account sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
+          ${optionalString config.services.sssd.enable
+              "account sufficient ${pkgs.sssd}/lib/security/pam_sss.so"}
           ${optionalString config.krb5.enable
               "account sufficient ${pam_krb5}/lib/security/pam_krb5.so"}
 
@@ -273,6 +275,8 @@ let
               "auth sufficient ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"}
           ${optionalString use_ldap
               "auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass"}
+          ${optionalString config.services.sssd.enable
+              "auth sufficient ${pkgs.sssd}/lib/security/pam_sss.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
             auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass
@@ -288,6 +292,8 @@ let
               "password optional ${pkgs.pam_mount}/lib/security/pam_mount.so"}
           ${optionalString use_ldap
               "password sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
+          ${optionalString config.services.sssd.enable
+              "password sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_authtok"}
           ${optionalString config.krb5.enable
               "password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"}
           ${optionalString config.services.samba.syncPasswordsByPam
@@ -303,13 +309,15 @@ let
                 if config.boot.isContainer then "optional" else "required"
               } pam_loginuid.so"}
           ${optionalString cfg.makeHomeDir
-              "session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=/etc/skel umask=0022"}
+              "session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=${config.security.pam.makeHomeDir.skelDirectory} umask=0022"}
           ${optionalString cfg.updateWtmp
               "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 use_ldap
               "session optional ${pam_ldap}/lib/security/pam_ldap.so"}
+          ${optionalString config.services.sssd.enable
+              "session optional ${pkgs.sssd}/lib/security/pam_sss.so"}
           ${optionalString config.krb5.enable
               "session optional ${pam_krb5}/lib/security/pam_krb5.so"}
           ${optionalString cfg.otpwAuth
@@ -397,6 +405,16 @@ in
         '';
     };
 
+    security.pam.makeHomeDir.skelDirectory = mkOption {
+      type = types.str;
+      default = "/var/empty";
+      example =  "/etc/skel";
+      description = ''
+        Path to skeleton directory whose contents are copied to home
+        directories newly created by <literal>pam_mkhomedir</literal>.
+      '';
+    };
+
     security.pam.enableSSHAgentAuth = mkOption {
       default = false;
       description =
@@ -447,6 +465,7 @@ in
       # Include the PAM modules in the system path mostly for the manpages.
       [ pkgs.pam ]
       ++ optional config.users.ldap.enable pam_ldap
+      ++ optional config.services.sssd.enable pkgs.sssd
       ++ optionals config.krb5.enable [pam_krb5 pam_ccreds]
       ++ optionals config.security.pam.enableOTPW [ pkgs.otpw ]
       ++ optionals config.security.pam.oath.enable [ pkgs.oathToolkit ]
diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix
index c63f4dc8d7f1..53786dbc6270 100644
--- a/nixos/modules/services/audio/alsa.nix
+++ b/nixos/modules/services/audio/alsa.nix
@@ -33,16 +33,6 @@ in
         '';
       };
 
-      enableMediaKeys = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable volume and capture control with keyboard media keys.
-
-          Enabling this will turn on <option>services.actkbd</option>.
-        '';
-      };
-
       extraConfig = mkOption {
         type = types.lines;
         default = "";
@@ -54,6 +44,31 @@ in
         '';
       };
 
+      mediaKeys = {
+
+        enable = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Whether to enable volume and capture control with keyboard media keys.
+
+            Enabling this will turn on <option>services.actkbd</option>.
+          '';
+        };
+
+        volumeStep = mkOption {
+          type = types.string;
+          default = "1";
+          example = "1%";
+          description = ''
+            The value by which to increment/decrement volume on media keys.
+
+            See amixer(1) for allowed values.
+          '';
+        };
+
+      };
+
     };
 
   };
@@ -90,17 +105,17 @@ in
         };
       };
 
-    services.actkbd = mkIf config.sound.enableMediaKeys {
+    services.actkbd = mkIf config.sound.mediaKeys.enable {
       enable = true;
       bindings = [
         # "Mute" media key
         { keys = [ 113 ]; events = [ "key" ];       command = "${alsaUtils}/bin/amixer -q set Master toggle"; }
 
         # "Lower Volume" media key
-        { keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master 1- unmute"; }
+        { keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}- unmute"; }
 
         # "Raise Volume" media key
-        { keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master 1+ unmute"; }
+        { keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}+ unmute"; }
 
         # "Mic Mute" media key
         { keys = [ 190 ]; events = [ "key" ];       command = "${alsaUtils}/bin/amixer -q set Capture toggle"; }
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index 5ec2e2c26232..a89215d73828 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -83,11 +83,11 @@ in {
 
         listenAddress = mkOption {
           type = types.str;
-          default = "any";
+          default = "127.0.0.1";
+          example = "any";
           description = ''
-            This setting sets the address for the daemon to listen on. Careful attention
-            should be paid if this is assigned to anything other then the default, any.
-            This setting can deny access to control of the daemon.
+            The address for the daemon to listen on.
+            Use <literal>any</literal> to listen on all addresses.
           '';
         };
 
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index 1180531248f9..fcf1f123cfb5 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -52,9 +52,7 @@ in
 
       package = mkOption {
         type = types.package;
-        default = pkgs.mysql;
-        defaultText = "pkgs.mysql";
-        example = literalExample "pkgs.mysql55";
+        example = literalExample "pkgs.mysql";
         description = "
           Which MySQL derivation to use.
         ";
diff --git a/nixos/modules/services/hardware/brltty.nix b/nixos/modules/services/hardware/brltty.nix
index b416ba332222..1266e8f81e5b 100644
--- a/nixos/modules/services/hardware/brltty.nix
+++ b/nixos/modules/services/hardware/brltty.nix
@@ -39,6 +39,8 @@ in {
         ProtectSystem = "full";
         SystemCallArchitectures = "native";
       };
+      wants = [ "systemd-udev-settle.service" ];
+      after = [ "local-fs.target" "systemd-udev-settle.service" ];
       before = [ "sysinit.target" ];
       wantedBy = [ "sysinit.target" ];
     };
diff --git a/nixos/modules/services/hardware/pommed.nix b/nixos/modules/services/hardware/pommed.nix
index 7be4dc1e8464..bf7d6a46a293 100644
--- a/nixos/modules/services/hardware/pommed.nix
+++ b/nixos/modules/services/hardware/pommed.nix
@@ -2,7 +2,9 @@
 
 with lib;
 
-{
+let cfg = config.services.hardware.pommed;
+    defaultConf = "${pkgs.pommed_light}/etc/pommed.conf.mactel";
+in {
 
   options = {
 
@@ -12,37 +14,37 @@ with lib;
         type = types.bool;
         default = false;
         description = ''
-          Whether to use the pommed tool to handle Apple laptop keyboard hotkeys.
+          Whether to use the pommed tool to handle Apple laptop
+          keyboard hotkeys.
         '';
       };
 
       configFile = mkOption {
-        type = types.path;
+        type = types.nullOr types.path;
+        default = null;
         description = ''
-          The path to the <filename>pommed.conf</filename> file.
+          The path to the <filename>pommed.conf</filename> file. Leave
+          to null to use the default config file
+          (<filename>/etc/pommed.conf.mactel</filename>). See the
+          files <filename>/etc/pommed.conf.mactel</filename> and
+          <filename>/etc/pommed.conf.pmac</filename> for examples to
+          build on.
         '';
       };
     };
 
   };
 
-  config = mkIf config.services.hardware.pommed.enable {
-    environment.systemPackages = [ pkgs.polkit ];
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.polkit pkgs.pommed_light ];
 
-    environment.etc."pommed.conf".source = config.services.hardware.pommed.configFile;
-
-    services.hardware.pommed.configFile = "${pkgs.pommed}/etc/pommed.conf";
-
-    services.dbus.packages = [ pkgs.pommed ];
+    environment.etc."pommed.conf".source =
+      if cfg.configFile == null then defaultConf else cfg.configFile;
 
     systemd.services.pommed = {
-      description = "Pommed hotkey management";
+      description = "Pommed Apple Hotkeys Daemon";
       wantedBy = [ "multi-user.target" ];
-      after = [ "dbus.service" ];
-      postStop = "rm -f /var/run/pommed.pid";
-      script = "${pkgs.pommed}/bin/pommed";
-      serviceConfig.Type = "forking";
-      path = [ pkgs.eject ];
+      script = "${pkgs.pommed_light}/bin/pommed -f";
     };
   };
 }
diff --git a/nixos/modules/services/mail/postgrey.nix b/nixos/modules/services/mail/postgrey.nix
index 0db631868cc7..d4ae25c066ac 100644
--- a/nixos/modules/services/mail/postgrey.nix
+++ b/nixos/modules/services/mail/postgrey.nix
@@ -4,6 +4,43 @@ with lib; let
 
   cfg = config.services.postgrey;
 
+  natural = with types; addCheck int (x: x >= 0);
+  natural' = with types; addCheck int (x: x > 0);
+
+  socket = with types; addCheck (either (submodule unixSocket) (submodule inetSocket)) (x: x ? "path" || x ? "port");
+
+  inetSocket = with types; {
+    options = {
+      addr = mkOption {
+        type = nullOr string;
+        default = null;
+        example = "127.0.0.1";
+        description = "The address to bind to. Localhost if null";
+      };
+      port = mkOption {
+        type = natural';
+        default = 10030;
+        description = "Tcp port to bind to";
+      };
+    };
+  };
+
+  unixSocket = with types; {
+    options = {
+      path = mkOption {
+        type = path;
+        default = "/var/run/postgrey.sock";
+        description = "Path of the unix socket";
+      };
+
+      mode = mkOption {
+        type = string;
+        default = "0777";
+        description = "Mode of the unix socket";
+      };
+    };
+  };
+
 in {
 
   options = {
@@ -13,21 +50,83 @@ in {
         default = false;
         description = "Whether to run the Postgrey daemon";
       };
-      inetAddr = mkOption {
-        type = nullOr string;
-        default = null;
-        example = "127.0.0.1";
-        description = "The inet address to bind to. If none given, bind to /var/run/postgrey.sock";
-      };
-      inetPort = mkOption {
-        type = int;
-        default = 10030;
-        description = "The tcp port to bind to";
+      socket = mkOption {
+        type = socket;
+        default = {
+          path = "/var/run/postgrey.sock";
+          mode = "0777";
+        };
+        example = {
+          addr = "127.0.0.1";
+          port = 10030;
+        };
+        description = "Socket to bind to";
       };
       greylistText = mkOption {
         type = string;
         default = "Greylisted for %%s seconds";
-        description = "Response status text for greylisted messages";
+        description = "Response status text for greylisted messages; use %%s for seconds left until greylisting is over and %%r for mail domain of recipient";
+      };
+      greylistAction = mkOption {
+        type = string;
+        default = "DEFER_IF_PERMIT";
+        description = "Response status for greylisted messages (see access(5))";
+      };
+      greylistHeader = mkOption {
+        type = string;
+        default = "X-Greylist: delayed %%t seconds by postgrey-%%v at %%h; %%d";
+        description = "Prepend header to greylisted mails; use %%t for seconds delayed due to greylisting, %%v for the version of postgrey, %%d for the date, and %%h for the host";
+      };
+      delay = mkOption {
+        type = natural;
+        default = 300;
+        description = "Greylist for N seconds";
+      };
+      maxAge = mkOption {
+        type = natural;
+        default = 35;
+        description = "Delete entries from whitelist if they haven't been seen for N days";
+      };
+      retryWindow = mkOption {
+        type = either string natural;
+        default = 2;
+        example = "12h";
+        description = "Allow N days for the first retry. Use string with appended 'h' to specify time in hours";
+      };
+      lookupBySubnet = mkOption {
+        type = bool;
+        default = true;
+        description = "Strip the last N bits from IP addresses, determined by IPv4CIDR and IPv6CIDR";
+      };
+      IPv4CIDR = mkOption {
+        type = natural;
+        default = 24;
+        description = "Strip N bits from IPv4 addresses if lookupBySubnet is true";
+      };
+      IPv6CIDR = mkOption {
+        type = natural;
+        default = 64;
+        description = "Strip N bits from IPv6 addresses if lookupBySubnet is true";
+      };
+      privacy = mkOption {
+        type = bool;
+        default = true;
+        description = "Store data using one-way hash functions (SHA1)";
+      };
+      autoWhitelist = mkOption {
+        type = nullOr natural';
+        default = 5;
+        description = "Whitelist clients after successful delivery of N messages";
+      };
+      whitelistClients = mkOption {
+        type = listOf path;
+        default = [];
+        description = "Client address whitelist files (see postgrey(8))";
+      };
+      whitelistRecipients = mkOption {
+        type = listOf path;
+        default = [];
+        description = "Recipient address whitelist files (see postgrey(8))";
       };
     };
   };
@@ -52,10 +151,10 @@ in {
     };
 
     systemd.services.postgrey = let
-      bind-flag = if isNull cfg.inetAddr then
-        "--unix=/var/run/postgrey.sock"
+      bind-flag = if cfg.socket ? "path" then
+        ''--unix=${cfg.socket.path} --socketmode=${cfg.socket.mode}''
       else
-        "--inet=${cfg.inetAddr}:${cfg.inetPort}";
+        ''--inet=${optionalString (cfg.socket.addr != null) (cfg.socket.addr + ":")}${toString cfg.socket.port}'';
     in {
       description = "Postfix Greylisting Service";
       wantedBy = [ "multi-user.target" ];
@@ -67,7 +166,23 @@ in {
       '';
       serviceConfig = {
         Type = "simple";
-        ExecStart = ''${pkgs.postgrey}/bin/postgrey ${bind-flag} --pidfile=/var/run/postgrey.pid --group=postgrey --user=postgrey --dbdir=/var/postgrey --greylist-text="${cfg.greylistText}"'';
+        ExecStart = ''${pkgs.postgrey}/bin/postgrey \
+          ${bind-flag} \
+          --group=postgrey --user=postgrey \
+          --dbdir=/var/postgrey \
+          --delay=${toString cfg.delay} \
+          --max-age=${toString cfg.maxAge} \
+          --retry-window=${toString cfg.retryWindow} \
+          ${if cfg.lookupBySubnet then "--lookup-by-subnet" else "--lookup-by-host"} \
+          --ipv4cidr=${toString cfg.IPv4CIDR} --ipv6cidr=${toString cfg.IPv6CIDR} \
+          ${optionalString cfg.privacy "--privacy"} \
+          --auto-whitelist-clients=${toString (if cfg.autoWhitelist == null then 0 else cfg.autoWhitelist)} \
+          --greylist-action=${cfg.greylistAction} \
+          --greylist-text="${cfg.greylistText}" \
+          --x-greylist-header="${cfg.greylistHeader}" \
+          ${concatMapStringsSep " " (x: "--whitelist-clients=" + x) cfg.whitelistClients} \
+          ${concatMapStringsSep " " (x: "--whitelist-recipients=" + x) cfg.whitelistRecipients}
+        '';
         Restart = "always";
         RestartSec = 5;
         TimeoutSec = 10;
diff --git a/nixos/modules/services/mail/rmilter.nix b/nixos/modules/services/mail/rmilter.nix
index e27b38bc0e2e..8f18b929c114 100644
--- a/nixos/modules/services/mail/rmilter.nix
+++ b/nixos/modules/services/mail/rmilter.nix
@@ -203,7 +203,7 @@ milter_default_action = accept
         PermissionsStartOnly = true;
         Restart = "always";
         RuntimeDirectory = "rmilter";
-        RuntimeDirectoryPermissions="0755";
+        RuntimeDirectoryMode = "0755";
       };
 
     };
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index e2bbd4b01aa1..7101cadfeed2 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -105,7 +105,9 @@ in
           If set, Nix will perform builds in a sandboxed environment that it
           will set up automatically for each build.  This prevents
           impurities in builds by disallowing access to dependencies
-          outside of the Nix store.
+          outside of the Nix store. This isn't enabled by default for
+          performance. It doesn't affect derivation hashes, so changing
+          this option will not trigger a rebuild of packages.
         ";
       };
 
diff --git a/nixos/modules/services/misc/nscd-sssd.conf b/nixos/modules/services/misc/nscd-sssd.conf
new file mode 100644
index 000000000000..92380f3e4ba4
--- /dev/null
+++ b/nixos/modules/services/misc/nscd-sssd.conf
@@ -0,0 +1,36 @@
+server-user             nscd
+threads                 1
+paranoia                no
+debug-level             0
+
+enable-cache            passwd          yes
+positive-time-to-live   passwd          0
+negative-time-to-live   passwd          0
+suggested-size          passwd          211
+check-files             passwd          yes
+persistent              passwd          no
+shared                  passwd          yes
+
+enable-cache            group           yes
+positive-time-to-live   group           0
+negative-time-to-live   group           0
+suggested-size          group           211
+check-files             group           yes
+persistent              group           no
+shared                  group           yes
+
+enable-cache            hosts           yes
+positive-time-to-live   hosts           600
+negative-time-to-live   hosts           5
+suggested-size          hosts           211
+check-files             hosts           yes
+persistent              hosts           no
+shared                  hosts           yes
+
+enable-cache            services        yes
+positive-time-to-live   services        0
+negative-time-to-live   services        0
+suggested-size          services        211
+check-files             services        yes
+persistent              services        no
+shared                  services        yes
diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix
index 92b352db416c..f6bf2dee9865 100644
--- a/nixos/modules/services/misc/plex.nix
+++ b/nixos/modules/services/misc/plex.nix
@@ -19,6 +19,14 @@ in
         description = "The directory where Plex stores its data files.";
       };
 
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open ports in the firewall for the media server
+        '';
+      };
+
       user = mkOption {
         type = types.str;
         default = "plex";
@@ -127,7 +135,7 @@ in
         User = cfg.user;
         Group = cfg.group;
         PermissionsStartOnly = "true";
-        ExecStart = "/bin/sh -c '${cfg.package}/usr/lib/plexmediaserver/Plex\\ Media\\ Server'";
+        ExecStart = "/bin/sh -c ${cfg.package}/usr/lib/plexmediaserver/Plex\\ Media\\ Server";
         Restart = "on-failure";
       };
       environment = {
@@ -141,6 +149,11 @@ in
       };
     };
 
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ 32400 3005 8324 32469 ];
+      allowedUDPPorts = [ 1900 5353 32410 32412 32413 32414 ];
+    };
+
     users.extraUsers = mkIf (cfg.user == "plex") {
       plex = {
         group = cfg.group;
diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix
new file mode 100644
index 000000000000..e818f4a4804d
--- /dev/null
+++ b/nixos/modules/services/misc/sssd.nix
@@ -0,0 +1,97 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.sssd;
+  nscd = config.services.nscd;
+in {
+  options = {
+    services.sssd = {
+      enable = mkEnableOption "the System Security Services Daemon.";
+
+      config = mkOption {
+        type = types.lines;
+        description = "Contents of <filename>sssd.conf</filename>.";
+        default = ''
+          [sssd]
+          config_file_version = 2
+          services = nss, pam
+          domains = shadowutils
+
+          [nss]
+
+          [pam]
+
+          [domain/shadowutils]
+          id_provider = proxy
+          proxy_lib_name = files
+          auth_provider = proxy
+          proxy_pam_target = sssd-shadowutils
+          proxy_fast_alias = True
+        '';
+      };
+
+      sshAuthorizedKeysIntegration = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to make sshd look up authorized keys from SSS.
+          For this to work, the <literal>ssh</literal> SSS service must be enabled in the sssd configuration.
+        '';
+      };
+    };
+  };
+  config = mkMerge [
+    (mkIf cfg.enable {
+      assertions = singleton {
+        assertion = nscd.enable;
+        message = "nscd must be enabled through `services.nscd.enable` for SSSD to work.";
+      };
+
+      systemd.services.sssd = {
+        description = "System Security Services Daemon";
+        wantedBy    = [ "multi-user.target" ];
+        before = [ "systemd-user-sessions.service" "nss-user-lookup.target" ];
+        after = [ "network-online.target" "nscd.service" ];
+        requires = [ "network-online.target" "nscd.service" ];
+        wants = [ "nss-user-lookup.target" ];
+        restartTriggers = [
+          config.environment.etc."nscd.conf".source
+          config.environment.etc."sssd/sssd.conf".source
+        ];
+        script = ''
+          export LDB_MODULES_PATH+="''${LDB_MODULES_PATH+:}${pkgs.ldb}/modules/ldb:${pkgs.sssd}/modules/ldb"
+          mkdir -p /var/lib/sss/{pubconf,db,mc,pipes,gpo_cache,secrets} /var/lib/sss/pipes/private /var/lib/sss/pubconf/krb5.include.d
+          ${pkgs.sssd}/bin/sssd -D
+        '';
+        serviceConfig = {
+          Type = "forking";
+          PIDFile = "/run/sssd.pid";
+        };
+      };
+
+      environment.etc."sssd/sssd.conf" = {
+        text = cfg.config;
+        mode = "0400";
+      };
+
+      system.nssModules = optional cfg.enable pkgs.sssd;
+      services.nscd.config = builtins.readFile ./nscd-sssd.conf;
+      services.dbus.packages = [ pkgs.sssd ];
+    })
+
+    (mkIf cfg.sshAuthorizedKeysIntegration {
+    # Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable.
+    # So indirect by a symlink.
+    environment.etc."ssh/authorized_keys_command" = {
+      mode = "0755";
+      text = ''
+        #!/bin/sh
+        exec ${pkgs.sssd}/bin/sss_ssh_authorizedkeys "$@"
+      '';
+    };
+    services.openssh.extraConfig = ''
+      AuthorizedKeysCommand /etc/ssh/authorized_keys_command
+      AuthorizedKeysCommandUser nobody
+    '';
+  })];
+}
diff --git a/nixos/modules/services/monitoring/collectd.nix b/nixos/modules/services/monitoring/collectd.nix
index 01c6fb817669..641da60e9adc 100644
--- a/nixos/modules/services/monitoring/collectd.nix
+++ b/nixos/modules/services/monitoring/collectd.nix
@@ -108,7 +108,8 @@ in {
       };
 
       preStart = ''
-        mkdir -m 0700 -p ${cfg.dataDir}
+        mkdir -p ${cfg.dataDir}
+        chmod 755 ${cfg.dataDir}
         install -D /dev/null ${cfg.pidFile}
         if [ "$(id -u)" = 0 ]; then
           chown -R ${cfg.user} ${cfg.dataDir};
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index b8be9296bc97..c5352e5887da 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -585,7 +585,7 @@ in {
         serviceConfig = {
           ExecStart = ''
             ${pkgs.pythonPackages.graphite_beacon}/bin/graphite-beacon \
-              --config ${pkgs.writeText "graphite-beacon.json" (builtins.toJSON cfg.beacon.config)}
+              --config=${pkgs.writeText "graphite-beacon.json" (builtins.toJSON cfg.beacon.config)}
           '';
           User = "graphite";
           Group = "graphite";
diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix
index a9c0ce4ed6cb..da2cd02eaa3b 100644
--- a/nixos/modules/services/monitoring/prometheus/alertmanager.nix
+++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix
@@ -62,8 +62,8 @@ in {
       };
 
       listenAddress = mkOption {
-        type = types.nullOr types.str;
-        default = null;
+        type = types.str;
+        default = "";
         description = ''
           Address to listen on for the web interface and API.
         '';
diff --git a/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix b/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix
new file mode 100644
index 000000000000..7a343299c315
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix
@@ -0,0 +1,67 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.blackboxExporter;
+in {
+  options = {
+    services.prometheus.blackboxExporter = {
+      enable = mkEnableOption "prometheus blackbox exporter";
+
+      configFile = mkOption {
+        type = types.path;
+        description = ''
+          Path to configuration file.
+        '';
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 9115;
+        description = ''
+          Port to listen on.
+        '';
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Extra commandline options when launching the blackbox exporter.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open port in firewall for incoming connections.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
+
+    systemd.services.prometheus-blackbox-exporter = {
+      description = "Prometheus exporter for blackbox probes";
+      unitConfig.Documentation = "https://github.com/prometheus/blackbox_exporter";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "nobody";
+        Restart = "always";
+        PrivateTmp = true;
+        WorkingDirectory = /tmp;
+        ExecStart = ''
+          ${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \
+            -web.listen-address :${toString cfg.port} \
+            -config.file ${cfg.configFile} \
+            ${concatStringsSep " \\\n  " cfg.extraFlags}
+        '';
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index 82b97bd92f87..a07445ce167c 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -25,9 +25,16 @@ let
     scrape_configs = cfg.scrapeConfigs;
   };
 
+  generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
+
+  prometheusYml =
+    if cfg.configText != null then
+      pkgs.writeText "prometheus.yml" cfg.configText
+    else generatedPrometheusYml;
+
   cmdlineArgs = cfg.extraFlags ++ [
     "-storage.local.path=${cfg.dataDir}/metrics"
-    "-config.file=${writePrettyJSON "prometheus.yml" promConfig}"
+    "-config.file=${prometheusYml}"
     "-web.listen-address=${cfg.listenAddress}"
     "-alertmanager.notification-queue-capacity=${toString cfg.alertmanagerNotificationQueueCapacity}"
     "-alertmanager.timeout=${toString cfg.alertmanagerTimeout}s"
@@ -184,6 +191,7 @@ let
       };
       labels = mkOption {
         type = types.attrsOf types.str;
+        default = {};
         description = ''
           Labels assigned to all metrics scraped from the targets.
         '';
@@ -359,6 +367,16 @@ in {
         '';
       };
 
+      configText = mkOption {
+        type = types.nullOr types.lines;
+        default = null;
+        description = ''
+          If non-null, this option defines the text that is written to
+          prometheus.yml. If null, the contents of prometheus.yml is generated
+          from the structured config options.
+        '';
+      };
+
       globalConfig = mkOption {
         type = promTypes.globalConfig;
         default = {};
diff --git a/nixos/modules/services/monitoring/prometheus/json-exporter.nix b/nixos/modules/services/monitoring/prometheus/json-exporter.nix
new file mode 100644
index 000000000000..6bc56df9834b
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/json-exporter.nix
@@ -0,0 +1,74 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.jsonExporter;
+in {
+  options = {
+    services.prometheus.jsonExporter = {
+      enable = mkEnableOption "prometheus JSON exporter";
+
+      url = mkOption {
+        type = types.str;
+        description = ''
+          URL to scrape JSON from.
+        '';
+      };
+
+      configFile = mkOption {
+        type = types.path;
+        description = ''
+          Path to configuration file.
+        '';
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 7979;
+        description = ''
+          Port to listen on.
+        '';
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Extra commandline options when launching the JSON exporter.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open port in firewall for incoming connections.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
+
+    systemd.services.prometheus-json-exporter = {
+      description = "Prometheus exporter for JSON over HTTP";
+      unitConfig.Documentation = "https://github.com/kawamuray/prometheus-json-exporter";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "nobody";
+        Restart = "always";
+        PrivateTmp = true;
+        WorkingDirectory = /tmp;
+        ExecStart = ''
+          ${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \
+            --port ${toString cfg.port} \
+            ${cfg.url} ${cfg.configFile} \
+            ${concatStringsSep " \\\n  " cfg.extraFlags}
+        '';
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix b/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix
new file mode 100644
index 000000000000..1ccafee3b18b
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix
@@ -0,0 +1,78 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.nginxExporter;
+in {
+  options = {
+    services.prometheus.nginxExporter = {
+      enable = mkEnableOption "prometheus nginx exporter";
+
+      port = mkOption {
+        type = types.int;
+        default = 9113;
+        description = ''
+          Port to listen on.
+        '';
+      };
+
+      listenAddress = mkOption {
+        type = types.string;
+        default = "0.0.0.0";
+        description = ''
+          Address to listen on.
+        '';
+      };
+
+      scrapeUri = mkOption {
+        type = types.string;
+        default = "http://localhost/nginx_status";
+        description = ''
+          Address to access the nginx status page.
+          Can be enabled with services.nginx.statusPage = true.
+        '';
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Extra commandline options when launching the nginx exporter.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open port in firewall for incoming connections.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
+
+    systemd.services.prometheus-nginx-exporter = {
+      after = [ "network.target" "nginx.service" ];
+      description = "Prometheus exporter for nginx metrics";
+      unitConfig.Documentation = "https://github.com/discordianfish/nginx_exporter";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "nobody";
+        Restart  = "always";
+        PrivateTmp = true;
+        WorkingDirectory = /tmp;
+        ExecStart = ''
+          ${pkgs.prometheus-nginx-exporter}/bin/nginx_exporter \
+            -nginx.scrape_uri '${cfg.scrapeUri}' \
+            -telemetry.address ${cfg.listenAddress}:${toString cfg.port} \
+            ${concatStringsSep " \\\n  " cfg.extraFlags}
+        '';
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/node-exporter.nix b/nixos/modules/services/monitoring/prometheus/node-exporter.nix
index 52dc14effc45..0cf0b85afb57 100644
--- a/nixos/modules/services/monitoring/prometheus/node-exporter.nix
+++ b/nixos/modules/services/monitoring/prometheus/node-exporter.nix
@@ -44,10 +44,20 @@ in {
           Extra commandline options when launching the node exporter.
         '';
       };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open port in firewall for incoming connections.
+        '';
+      };
     };
   };
 
   config = mkIf cfg.enable {
+    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
+
     systemd.services.prometheus-node-exporter = {
       description = "Prometheus exporter for machine metrics";
       unitConfig.Documentation = "https://github.com/prometheus/node_exporter";
diff --git a/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix b/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix
new file mode 100644
index 000000000000..fe33f8c1f04d
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix
@@ -0,0 +1,127 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.snmpExporter;
+  mkConfigFile = pkgs.writeText "snmp.yml" (if cfg.configurationPath == null then builtins.toJSON cfg.configuration else builtins.readFile cfg.configurationPath);
+in {
+  options = {
+    services.prometheus.snmpExporter = {
+      enable = mkEnableOption "Prometheus snmp exporter";
+
+      user = mkOption {
+        type = types.str;
+        default = "nobody";
+        description = ''
+          User name under which snmp exporter shall be run.
+        '';
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "nogroup";
+        description = ''
+          Group under which snmp exporter shall be run.
+        '';
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 9116;
+        description = ''
+          Port to listen on.
+        '';
+      };
+
+      listenAddress = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Address to listen on for web interface and telemetry.
+        '';
+      };
+
+      configurationPath = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = ''
+          Path to a snmp exporter configuration file. Mutually exclusive with 'configuration' option.
+        '';
+        example = "./snmp.yml";
+      };
+
+      configuration = mkOption {
+        type = types.nullOr types.attrs;
+        default = {};
+        description = ''
+          Snmp exporter configuration as nix attribute set. Mutually exclusive with 'configurationPath' option.
+        '';
+        example = ''
+          {
+            "default" = {
+              "version" = 2;
+              "auth" = {
+                "community" = "public";
+              };
+            };
+          };
+        '';
+      };
+
+      logFormat = mkOption {
+        type = types.str;
+        default = "logger:stderr";
+        description = ''
+          Set the log target and format.
+        '';
+      };
+
+      logLevel = mkOption {
+        type = types.enum ["debug" "info" "warn" "error" "fatal"];
+        default = "info";
+        description = ''
+          Only log messages with the given severity or above.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open port in firewall for incoming connections.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
+
+    assertions = singleton
+      {
+        assertion = (cfg.configurationPath == null) != (cfg.configuration == null);
+        message = "Please ensure you have either 'configuration' or 'configurationPath' set!";
+      };
+
+    systemd.services.prometheus-snmp-exporter = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      script = ''
+        ${pkgs.prometheus-snmp-exporter.bin}/bin/snmp_exporter \
+          -config.file ${mkConfigFile} \
+          -log.format ${cfg.logFormat} \
+          -log.level ${cfg.logLevel} \
+          -web.listen-address ${optionalString (cfg.listenAddress != null) cfg.listenAddress}:${toString cfg.port}
+      '';
+
+      serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        Restart  = "always";
+        PrivateTmp = true;
+        WorkingDirectory = "/tmp";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix b/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix
new file mode 100644
index 000000000000..143ebb62aeac
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix
@@ -0,0 +1,61 @@
+{ config, pkgs, lib, ... }:
+
+# Shamelessly cribbed from nginx-exporter.nix. ~ C.
+with lib;
+
+let
+  cfg = config.services.prometheus.varnishExporter;
+in {
+  options = {
+    services.prometheus.varnishExporter = {
+      enable = mkEnableOption "prometheus Varnish exporter";
+
+      port = mkOption {
+        type = types.int;
+        default = 9131;
+        description = ''
+          Port to listen on.
+        '';
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Extra commandline options when launching the Varnish exporter.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open port in firewall for incoming connections.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
+
+    systemd.services.prometheus-varnish-exporter = {
+      description = "Prometheus exporter for Varnish metrics";
+      unitConfig.Documentation = "https://github.com/jonnenauha/prometheus_varnish_exporter";
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.varnish ];
+      script = ''
+        exec ${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \
+          -web.listen-address :${toString cfg.port} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+      serviceConfig = {
+        User = "nobody";
+        Restart = "always";
+        PrivateTmp = true;
+        WorkingDirectory = /tmp;
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/asterisk.nix b/nixos/modules/services/networking/asterisk.nix
index 13617a1b6c58..5c71a1d8ddae 100644
--- a/nixos/modules/services/networking/asterisk.nix
+++ b/nixos/modules/services/networking/asterisk.nix
@@ -6,29 +6,38 @@ let
   cfg = config.services.asterisk;
 
   asteriskUser = "asterisk";
+  asteriskGroup = "asterisk";
 
   varlibdir = "/var/lib/asterisk";
   spooldir = "/var/spool/asterisk";
   logdir = "/var/log/asterisk";
 
+  # Add filecontents from files of useTheseDefaultConfFiles to confFiles, do not override
+  defaultConfFiles = subtractLists (attrNames cfg.confFiles) cfg.useTheseDefaultConfFiles;
+  allConfFiles =
+    cfg.confFiles //
+    builtins.listToAttrs (map (x: { name = x;
+                                    value = builtins.readFile (pkgs.asterisk + "/etc/asterisk/" + x); })
+                              defaultConfFiles);
+
   asteriskEtc = pkgs.stdenv.mkDerivation
   ((mapAttrs' (name: value: nameValuePair
         # Fudge the names to make bash happy
         ((replaceChars ["."] ["_"] name) + "_")
         (value)
-      ) cfg.confFiles) //
+      ) allConfFiles) //
   {
     confFilesString = concatStringsSep " " (
-      attrNames cfg.confFiles
+      attrNames allConfFiles
     );
 
-    name = "asterisk.etc";
+    name = "asterisk-etc";
 
     # Default asterisk.conf file
     # (Notice that astetcdir will be set to the path of this derivation)
     asteriskConf = ''
       [directories]
-      astetcdir => @out@
+      astetcdir => /etc/asterisk
       astmoddir => ${pkgs.asterisk}/lib/asterisk/modules
       astvarlibdir => /var/lib/asterisk
       astdbdir => /var/lib/asterisk
@@ -169,6 +178,16 @@ in
         '';
       };
 
+      useTheseDefaultConfFiles = mkOption {
+        default = [ "ari.conf" "acl.conf" "agents.conf" "amd.conf" "calendar.conf" "cdr.conf" "cdr_syslog.conf" "cdr_custom.conf" "cel.conf" "cel_custom.conf" "cli_aliases.conf" "confbridge.conf" "dundi.conf" "features.conf" "hep.conf" "iax.conf" "pjsip.conf" "pjsip_wizard.conf" "phone.conf" "phoneprov.conf" "queues.conf" "res_config_sqlite3.conf" "res_parking.conf" "statsd.conf" "udptl.conf" "unistim.conf" ];
+        type = types.listOf types.str;
+        example = [ "sip.conf" "dundi.conf" ];
+        description = ''Sets these config files to the default content. The default value for
+          this option contains all necesscary files to avoid errors at startup.
+          This does not override settings via <option>services.asterisk.confFiles</option>.
+        '';
+      };
+
       extraArguments = mkOption {
         default = [];
         type = types.listOf types.str;
@@ -182,12 +201,22 @@ in
   };
 
   config = mkIf cfg.enable {
-    users.extraUsers = singleton
-    { name = asteriskUser;
-      uid = config.ids.uids.asterisk;
-      description = "Asterisk daemon user";
-      home = varlibdir;
-    };
+    environment.systemPackages = [ pkgs.asterisk ];
+
+    environment.etc.asterisk.source = asteriskEtc;
+
+    users.extraUsers.asterisk =
+      { name = asteriskUser;
+        group = asteriskGroup;
+        uid = config.ids.uids.asterisk;
+        description = "Asterisk daemon user";
+        home = varlibdir;
+      };
+
+    users.extraGroups.asterisk =
+      { name = asteriskGroup;
+        gid = config.ids.gids.asterisk;
+      };
 
     systemd.services.asterisk = {
       description = ''
@@ -196,14 +225,17 @@ in
 
       wantedBy = [ "multi-user.target" ];
 
+      # Do not restart, to avoid disruption of running calls. Restart unit by yourself!
+      restartIfChanged = false;
+
       preStart = ''
         # Copy skeleton directory tree to /var
         for d in '${varlibdir}' '${spooldir}' '${logdir}'; do
           # TODO: Make exceptions for /var directories that likely should be updated
           if [ ! -e "$d" ]; then
             mkdir -p "$d"
-            cp --recursive ${pkgs.asterisk}/"$d" "$d"
-            chown --recursive ${asteriskUser} "$d"
+            cp --recursive ${pkgs.asterisk}/"$d"/* "$d"/
+            chown --recursive ${asteriskUser}:${asteriskGroup} "$d"
             find "$d" -type d | xargs chmod 0755
           fi
         done
@@ -215,7 +247,9 @@ in
             # FIXME: This doesn't account for arguments with spaces
             argString = concatStringsSep " " cfg.extraArguments;
           in
-          "${pkgs.asterisk}/bin/asterisk -U ${asteriskUser} -C ${asteriskEtc}/asterisk.conf ${argString} -F";
+          "${pkgs.asterisk}/bin/asterisk -U ${asteriskUser} -C /etc/asterisk/asterisk.conf ${argString} -F";
+        ExecReload = ''${pkgs.asterisk}/bin/asterisk -x "core reload"
+          '';
         Type = "forking";
         PIDFile = "/var/run/asterisk/asterisk.pid";
       };
diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix
index 72110e625766..0272b6ceff20 100644
--- a/nixos/modules/services/networking/bind.nix
+++ b/nixos/modules/services/networking/bind.nix
@@ -155,7 +155,7 @@ in
         chown ${bindUser} /var/run/named
       '';
 
-      script = "${pkgs.bind.bin}/sbin/named -u ${bindUser} ${optionalString cfg.ipv4Only "-4"} -c ${cfg.configFile} -f";
+      script = "${pkgs.bind.out}/sbin/named -u ${bindUser} ${optionalString cfg.ipv4Only "-4"} -c ${cfg.configFile} -f";
       unitConfig.Documentation = "man:named(8)";
     };
   };
diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix
index 174354c9eb40..1a7a1e24b702 100644
--- a/nixos/modules/services/networking/bird.nix
+++ b/nixos/modules/services/networking/bird.nix
@@ -34,6 +34,7 @@ let
 
       ###### implementation
       config = mkIf cfg.enable {
+        environment.systemPackages = [ pkg ];
         systemd.services.${variant} = {
           description = "BIRD Internet Routing Daemon";
           wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix
index d40865ebbd5b..f2ff11633b1b 100644
--- a/nixos/modules/services/networking/chrony.nix
+++ b/nixos/modules/services/networking/chrony.nix
@@ -31,7 +31,7 @@ in
       };
 
       servers = mkOption {
-        default = config.services.ntp.servers;
+        default = config.networking.timeServers;
         description = ''
           The set of NTP servers from which to synchronise.
         '';
@@ -102,7 +102,7 @@ in
         home = stateDir;
       };
 
-    systemd.services.ntpd.enable = mkForce false;
+    systemd.services.timesyncd.enable = mkForce false;
 
     systemd.services.chronyd =
       { description = "chrony NTP daemon";
diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix
index 0dd028997f46..a10851c16523 100644
--- a/nixos/modules/services/networking/cjdns.nix
+++ b/nixos/modules/services/networking/cjdns.nix
@@ -19,21 +19,30 @@ let
         type = types.str;
         description = "Public key at the opposite end of the tunnel.";
       };
+      hostname = mkOption {
+        default = "";
+        example = "foobar.hype";
+        type = types.str;
+        description = "Optional hostname to add to /etc/hosts; prevents reverse lookup failures.";
+      };
     };
   };
 
-  # check for the required attributes, otherwise
-  # permit attributes not undefined here
-  checkPeers = x:
-    x // {
-      connectTo = mapAttrs
-        (name: value:
-          if !hasAttr "publicKey" value then abort "cjdns peer ${name} missing a publicKey" else
-          if !hasAttr "password"  value then abort "cjdns peer ${name} missing a password"  else
-          value
-        )
-      x.connectTo;
-    };
+  # Additional /etc/hosts entries for peers with an associated hostname
+  cjdnsExtraHosts = import (pkgs.runCommand "cjdns-hosts" {}
+    # Generate a builder that produces an output usable as a Nix string value
+    ''
+      exec >$out
+      echo \'\'
+      ${concatStringsSep "\n" (mapAttrsToList (k: v:
+          optionalString (v.hostname != "")
+            "echo $(${pkgs.cjdns}/bin/publictoip6 ${v.publicKey}) ${v.hostname}")
+          (cfg.ETHInterface.connectTo // cfg.UDPInterface.connectTo))}
+      echo \'\'
+    '');
+
+  parseModules = x:
+    x // { connectTo = mapAttrs (name: value: { inherit (value) password publicKey; }) x.connectTo; };
 
   # would be nice to  merge 'cfg' with a //,
   # but the json nesting is wacky.
@@ -44,8 +53,8 @@ let
     };
     authorizedPasswords = map (p: { password = p; }) cfg.authorizedPasswords;
     interfaces = {
-      ETHInterface = if (cfg.ETHInterface.bind != "") then [ (checkPeers cfg.ETHInterface) ] else [ ];
-      UDPInterface = if (cfg.UDPInterface.bind != "") then [ (checkPeers cfg.UDPInterface) ] else [ ];
+      ETHInterface = if (cfg.ETHInterface.bind != "") then [ (parseModules cfg.ETHInterface) ] else [ ];
+      UDPInterface = if (cfg.UDPInterface.bind != "") then [ (parseModules cfg.UDPInterface) ] else [ ];
     };
 
     privateKey = "@CJDNS_PRIVATE_KEY@";
@@ -125,12 +134,12 @@ in
           '';
          };
         connectTo = mkOption {
-          type = types.attrsOf (types.attrsOf types.str);
+          type = types.attrsOf ( types.submodule ( connectToSubmodule ) );
           default = { };
           example = {
             "192.168.1.1:27313" = {
-              user      = "foobar";
-              password  = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
+              hostname = "homer.hype";
+              password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
               publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k";
             };
           };
@@ -170,12 +179,12 @@ in
         };
 
         connectTo = mkOption {
-          type = types.attrsOf (types.attrsOf types.str);
+          type = types.attrsOf ( types.submodule ( connectToSubmodule ) );
           default = { };
           example = {
             "01:02:03:04:05:06" = {
-              user      = "foobar";
-              password  = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
+              hostname = "homer.hype";
+              password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
               publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k";
             };
           };
@@ -186,6 +195,16 @@ in
         };
       };
 
+      addExtraHosts = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to add cjdns peers with an associated hostname to
+          <filename>/etc/hosts</filename>.  Beware that enabling this
+          incurs heavy eval-time costs.
+        '';
+      };
+
     };
 
   };
@@ -248,6 +267,8 @@ in
       };
     };
 
+    networking.extraHosts = mkIf cfg.addExtraHosts cjdnsExtraHosts;
+
     assertions = [
       { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile != null );
         message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined.";
diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix
index 5050ecbd7492..d1900deceaf6 100644
--- a/nixos/modules/services/networking/ddclient.nix
+++ b/nixos/modules/services/networking/ddclient.nix
@@ -120,7 +120,7 @@ in
     };
 
     environment.etc."ddclient.conf" = {
-      enable = config.services.ddclient.configFile == /etc/ddclient.conf;
+      enable = config.services.ddclient.configFile == "/etc/ddclient.conf";
       uid = config.ids.uids.ddclient;
       mode = "0600";
       text = ''
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.nix b/nixos/modules/services/networking/dnscrypt-proxy.nix
index 82bf178f4cb7..462039803f80 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.nix
+++ b/nixos/modules/services/networking/dnscrypt-proxy.nix
@@ -263,6 +263,8 @@ in
     systemd.services.dnscrypt-proxy = {
       description = "dnscrypt-proxy daemon";
 
+      before = [ "nss-lookup.target" ];
+
       after = [ "network.target" ]
         ++ optional apparmorEnabled "apparmor.service"
         ++ optional useUpstreamResolverList "init-dnscrypt-proxy-statedir.service";
diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix
index 578376764eba..abb7a4e9137c 100644
--- a/nixos/modules/services/networking/i2pd.nix
+++ b/nixos/modules/services/networking/i2pd.nix
@@ -147,7 +147,7 @@ let
   host = ${tun.address}
   port = ${tun.port}
   inport = ${tun.inPort}
-  accesslist = ${concatStringSep "," tun.accessList}
+  accesslist = ${builtins.concatStringsSep "," tun.accessList}
   '')
   }
   '';
diff --git a/nixos/modules/services/networking/miredo.nix b/nixos/modules/services/networking/miredo.nix
new file mode 100644
index 000000000000..932d6cf29037
--- /dev/null
+++ b/nixos/modules/services/networking/miredo.nix
@@ -0,0 +1,93 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.miredo;
+  pidFile = "/run/miredo.pid";
+  miredoConf = pkgs.writeText "miredo.conf" ''
+    InterfaceName ${cfg.interfaceName}
+    ServerAddress ${cfg.serverAddress}
+    ${optionalString (cfg.bindAddress != null) "BindAddress ${cfg.bindAddress}"}
+    ${optionalString (cfg.bindPort != null) "BindPort ${cfg.bindPort}"}
+  '';
+in
+{
+
+  ###### interface
+
+  options = {
+
+    services.miredo = {
+
+      enable = mkEnableOption "Whether miredo should be run on startup.";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.miredo;
+        defaultText = "pkgs.miredo";
+        description = ''
+          The package to use for the miredo daemon's binary.
+        '';
+      };
+
+      serverAddress = mkOption {
+        default = "teredo.remlab.net";
+        type = types.str;
+        description = ''
+          The hostname or primary IPv4 address of the Teredo server.
+          This setting is required if Miredo runs as a Teredo client.
+          "teredo.remlab.net" is an experimental service for testing only.
+          Please use another server for production and/or large scale deployments.
+        '';
+      };
+
+      interfaceName = mkOption {
+        default = "teredo";
+        type = types.str;
+        description = ''
+          Name of the network tunneling interface.
+        '';
+      };
+
+      bindAddress = mkOption {
+        default = null;
+        type = types.nullOr types.str;
+        description = ''
+          Depending on the local firewall/NAT rules, you might need to force
+          Miredo to use a fixed UDP port and or IPv4 address.
+        '';
+      };
+
+      bindPort = mkOption {
+        default = null;
+        type = types.nullOr types.str;
+        description = ''
+          Depending on the local firewall/NAT rules, you might need to force
+          Miredo to use a fixed UDP port and or IPv4 address.
+        '';
+      };
+    };
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services.miredo = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      description = "Teredo IPv6 Tunneling Daemon";
+      serviceConfig = {
+        Restart = "always";
+        RestartSec = "5s";
+        ExecStartPre = "${cfg.package}/bin/miredo-checkconf -f ${miredoConf}";
+        ExecStart = "${cfg.package}/bin/miredo -c ${miredoConf} -p ${pidFile} -f";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/ntpd.nix b/nixos/modules/services/networking/ntpd.nix
index c8a085679280..88e6dbf22b9e 100644
--- a/nixos/modules/services/networking/ntpd.nix
+++ b/nixos/modules/services/networking/ntpd.nix
@@ -34,7 +34,7 @@ in
     services.ntp = {
 
       enable = mkOption {
-        default = !config.boot.isContainer;
+        default = false;
         description = ''
           Whether to synchronise your machine's time using the NTP
           protocol.
@@ -42,12 +42,7 @@ in
       };
 
       servers = mkOption {
-        default = [
-          "0.nixos.pool.ntp.org"
-          "1.nixos.pool.ntp.org"
-          "2.nixos.pool.ntp.org"
-          "3.nixos.pool.ntp.org"
-        ];
+        default = config.networking.timeServers;
         description = ''
           The set of NTP servers from which to synchronise.
         '';
@@ -70,6 +65,7 @@ in
 
     # Make tools such as ntpq available in the system path.
     environment.systemPackages = [ pkgs.ntp ];
+    services.timesyncd.enable = mkForce false;
 
     users.extraUsers = singleton
       { name = ntpUser;
diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix
index a8625fa2fa91..13a1b5258ce0 100644
--- a/nixos/modules/services/networking/openntpd.nix
+++ b/nixos/modules/services/networking/openntpd.nix
@@ -49,7 +49,7 @@ in
   ###### implementation
 
   config = mkIf cfg.enable {
-    services.ntp.enable = mkForce false;
+    services.timesyncd.enable = mkForce false;
 
     # Add ntpctl to the environment for status checking
     environment.systemPackages = [ package ];
diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix
index 005655f111a1..04312c39062f 100644
--- a/nixos/modules/services/networking/smokeping.nix
+++ b/nixos/modules/services/networking/smokeping.nix
@@ -11,17 +11,17 @@ let
       then
         ''
           *** General ***
-          owner = ${cfg.owner}
+          cgiurl   = ${cfg.cgiUrl}
           contact = ${cfg.ownerEmail}
-          ${lib.optionalString (cfg.mailHost != "") "mailhost = ${cfg.mailHost}"}
-          ${lib.optionalString (cfg.sendmail != null) "sendmail = ${cfg.sendmail}"}
-          imgcache = ${smokepingHome}/cache
-          imgurl   = http://${cfg.hostName}:${builtins.toString cfg.port}/cache
           datadir  = ${smokepingHome}/data
+          imgcache = ${smokepingHome}/cache
+          imgurl   = ${cfg.imgUrl}
+          linkstyle = ${cfg.linkStyle}
+          ${lib.optionalString (cfg.mailHost != "") "mailhost = ${cfg.mailHost}"}
+          owner = ${cfg.owner}
           pagedir = ${smokepingHome}/cache
           piddir  = ${smokepingPidDir}
-          cgiurl   = http://${cfg.hostName}:${builtins.toString cfg.port}/smokeping.cgi
-          linkstyle = ${cfg.linkStyle}
+          ${lib.optionalString (cfg.sendmail != null) "sendmail = ${cfg.sendmail}"}
           smokemail = ${cfg.smokeMailTemplate}
           *** Presentation ***
           template = ${cfg.presentationTemplate}
@@ -54,72 +54,36 @@ in
         default = false;
         description = "Enable the smokeping service";
       };
-      webService = mkOption {
-        type = types.bool;
-        default = true;
-        description = "Enable a smokeping web interface";
-      };
-
-      user = mkOption {
-        type = types.string;
-        default = "smokeping";
-        description = "User that runs smokeping and (optionally) thttpd";
-      };
-      mailHost = mkOption {
-        type = types.string;
-        default = "";
-        example = "localhost";
-        description = "Use this SMTP server to send alerts";
-      };
-      sendmail = mkOption {
-        type = types.nullOr types.path;
-        default = null;
-        example = "/var/setuid-wrappers/sendmail";
-        description = "Use this sendmail compatible script to deliver alerts";
-      };
-      smokeMailTemplate = mkOption {
+      alertConfig = mkOption {
         type = types.string;
-        default = "${cfg.package}/etc/smokemail.dist";
-        description = "Specify the smokemail template for alerts.";
-      };
+        default = ''
+          to = root@localhost
+          from = smokeping@localhost
+        '';
+        example = literalExample ''
+          to = alertee@address.somewhere
+          from = smokealert@company.xy
 
-      package = mkOption {
-        type = types.package;
-        default = pkgs.smokeping;
-        defaultText = "pkgs.smokeping";
-        description = "Specify a custom smokeping package";
-      };
-      owner = mkOption {
-        type = types.string;
-        default = "nobody";
-        example = "Joe Admin";
-        description = "Real name of the owner of the instance";
+          +someloss
+          type = loss
+          # in percent
+          pattern = >0%,*12*,>0%,*12*,>0%
+          comment = loss 3 times  in a row;
+        '';
+        description = "Configuration for alerts.";
       };
-      hostName = mkOption {
+      cgiUrl = mkOption {
         type = types.string;
-        default = config.networking.hostName;
-        example = "somewhere.example.com";
-        description = "DNS name for the urls generated in the cgi.";
+        default = "http://${cfg.hostName}:${builtins.toString cfg.port}/smokeping.cgi";
+        example = "https://somewhere.example.com/smokeping.cgi";
+        description = "URL to the smokeping cgi.";
       };
-      linkStyle = mkOption {
-        type = types.enum ["original" "absolute" "relative"];
-        default = "relative";
-        example = "absolute";
-        description = "DNS name for the urls generated in the cgi.";
-      };
-      port = mkOption {
-        type = types.int;
-        default = 8081;
-        example = 8081;
-        description = "TCP port to use for the web server.";
-      };
-      ownerEmail = mkOption {
-        type = types.string;
-        default = "no-reply@${cfg.hostName}";
-        example = "no-reply@yourdomain.com";
-        description = "Email contact for owner";
+      config = mkOption {
+        type = types.nullOr types.string;
+        default = null;
+        description = "Full smokeping config supplied by the user. Overrides " +
+          "and replaces any other configuration supplied.";
       };
-
       databaseConfig = mkOption {
         type = types.string;
         default = ''
@@ -152,30 +116,59 @@ in
           Once set, changing the interval will require deletion or migration of all
           the collected data.'';
       };
-      alertConfig = mkOption {
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Any additional customization not already included.";
+      };
+      hostName = mkOption {
         type = types.string;
-        default = ''
-          to = root@localhost
-          from = smokeping@localhost
-        '';
-        example = literalExample ''
-          to = alertee@address.somewhere
-          from = smokealert@company.xy
-
-          +someloss
-          type = loss
-          # in percent
-          pattern = >0%,*12*,>0%,*12*,>0%
-          comment = loss 3 times  in a row;
-        '';
-        description = "Configuration for alerts.";
+        default = config.networking.hostName;
+        example = "somewhere.example.com";
+        description = "DNS name for the urls generated in the cgi.";
       };
-      presentationTemplate = mkOption {
+      imgUrl = mkOption {
         type = types.string;
-        default = "${pkgs.smokeping}/etc/basepage.html.dist";
-        description = "Default page layout for the web UI.";
+        default = "http://${cfg.hostName}:${builtins.toString cfg.port}/cache";
+        example = "https://somewhere.example.com/cache";
+        description = "Base url for images generated in the cgi.";
+      };
+      linkStyle = mkOption {
+        type = types.enum ["original" "absolute" "relative"];
+        default = "relative";
+        example = "absolute";
+        description = "DNS name for the urls generated in the cgi.";
+      };
+      mailHost = mkOption {
+        type = types.string;
+        default = "";
+        example = "localhost";
+        description = "Use this SMTP server to send alerts";
+      };
+      owner = mkOption {
+        type = types.string;
+        default = "nobody";
+        example = "Joe Admin";
+        description = "Real name of the owner of the instance";
+      };
+      ownerEmail = mkOption {
+        type = types.string;
+        default = "no-reply@${cfg.hostName}";
+        example = "no-reply@yourdomain.com";
+        description = "Email contact for owner";
+      };
+      package = mkOption {
+        type = types.package;
+        default = pkgs.smokeping;
+        defaultText = "pkgs.smokeping";
+        description = "Specify a custom smokeping package";
+      };
+      port = mkOption {
+        type = types.int;
+        default = 8081;
+        example = 8081;
+        description = "TCP port to use for the web server.";
       };
-
       presentationConfig = mkOption {
         type = types.string;
         default = ''
@@ -217,6 +210,11 @@ in
         '';
         description = "presentation graph style";
       };
+      presentationTemplate = mkOption {
+        type = types.string;
+        default = "${pkgs.smokeping}/etc/basepage.html.dist";
+        description = "Default page layout for the web UI.";
+      };
       probeConfig = mkOption {
         type = types.string;
         default = ''
@@ -225,6 +223,17 @@ in
         '';
         description = "Probe configuration";
       };
+      sendmail = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/var/setuid-wrappers/sendmail";
+        description = "Use this sendmail compatible script to deliver alerts";
+      };
+      smokeMailTemplate = mkOption {
+        type = types.string;
+        default = "${cfg.package}/etc/smokemail.dist";
+        description = "Specify the smokemail template for alerts.";
+      };
       targetConfig = mkOption {
         type = types.string;
         default = ''
@@ -243,18 +252,16 @@ in
         '';
         description = "Target configuration";
       };
-      extraConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Any additional customization not already included.";
+      user = mkOption {
+        type = types.string;
+        default = "smokeping";
+        description = "User that runs smokeping and (optionally) thttpd";
       };
-      config = mkOption {
-        type = types.nullOr types.string;
-        default = null;
-        description = "Full smokeping config supplied by the user. Overrides " +
-          "and replaces any other configuration supplied.";
+      webService = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Enable a smokeping web interface";
       };
-
     };
 
   };
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 073391ffdbbc..80659f19c597 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -264,8 +264,7 @@ in
                 StandardInput = "socket";
               } else {
                 Restart = "always";
-                Type = "forking";
-                PIDFile = "/run/sshd.pid";
+                Type = "simple";
               });
           };
 
@@ -322,8 +321,6 @@ in
 
     services.openssh.extraConfig = mkOrder 0
       ''
-        PidFile /run/sshd.pid
-
         Protocol 2
 
         UsePAM yes
diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix
index 52dd5502147e..368d89e2e32e 100644
--- a/nixos/modules/services/networking/wireguard.nix
+++ b/nixos/modules/services/networking/wireguard.nix
@@ -31,18 +31,22 @@ let
         default = null;
         example = "rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I=";
         type = with types; nullOr str;
-        description = ''base64 preshared key generated by wg genpsk. Optional,
-        and may be omitted. This option adds an additional layer of
-        symmetric-key cryptography to be mixed into the already existing
-        public-key  cryptography, for post-quantum resistance.'';
+        description = ''
+          base64 preshared key generated by wg genpsk. Optional,
+          and may be omitted. This option adds an additional layer of
+          symmetric-key cryptography to be mixed into the already existing
+          public-key  cryptography, for post-quantum resistance.
+        '';
       };
 
       listenPort = mkOption {
         default = null;
         type = with types; nullOr int;
         example = 51820;
-        description = ''16-bit port for listening. Optional; if not specified,
-        automatically generated based on interface name.'';
+        description = ''
+          16-bit port for listening. Optional; if not specified,
+          automatically generated based on interface name.
+        '';
       };
 
       preSetup = mkOption {
@@ -51,8 +55,9 @@ let
         ''];
         default = [];
         type = with types; listOf str;
-        description = ''A list of commands called at the start of the interface
-        setup.'';
+        description = ''
+          A list of commands called at the start of the interface setup.
+        '';
       };
 
       postSetup = mkOption {
diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix
index 5657b91c1e72..c91ba91fcb4d 100644
--- a/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixos/modules/services/networking/wpa_supplicant.nix
@@ -12,11 +12,13 @@ let
       psk = if networkConfig.psk != null
         then ''"${networkConfig.psk}"''
         else networkConfig.pskRaw;
+      priority = networkConfig.priority;
     in ''
       network={
         ssid="${ssid}"
         ${optionalString (psk != null) ''psk=${psk}''}
         ${optionalString (psk == null) ''key_mgmt=NONE''}
+        ${optionalString (priority != null) ''priority=${toString priority}''}
       }
     '') cfg.networks)}
   '' else "/etc/wpa_supplicant.conf";
@@ -68,6 +70,19 @@ in {
                 Mutually exclusive with <varname>psk</varname>.
               '';
             };
+            priority = mkOption {
+              type = types.nullOr types.int;
+              default = null;
+              description = ''
+                By default, all networks will get same priority group (0). If some of the
+                networks are more desirable, this field can be used to change the order in
+                which wpa_supplicant goes through the networks when selecting a BSS. The
+                priority groups will be iterated in decreasing priority (i.e., the larger the
+                priority value, the sooner the network is matched against the scan results).
+                Within each priority group, networks will be selected based on security
+                policy, signal strength, etc.
+              '';
+            };
           };
         });
         description = ''
diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix
index d98ef8a306d5..eb4b5281c7c6 100644
--- a/nixos/modules/services/system/nscd.nix
+++ b/nixos/modules/services/system/nscd.nix
@@ -9,8 +9,6 @@ let
 
   inherit (lib) singleton;
 
-  cfgFile = pkgs.writeText "nscd.conf" cfg.config;
-
 in
 
 {
@@ -41,6 +39,7 @@ in
   ###### implementation
 
   config = mkIf cfg.enable {
+    environment.etc."nscd.conf".text = cfg.config;
 
     users.extraUsers.nscd =
       { isSystemUser = true;
@@ -61,10 +60,14 @@ in
             mkdir -m 0755 -p /var/db/nscd
           '';
 
-        restartTriggers = [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source ];
+        restartTriggers = [
+          config.environment.etc.hosts.source
+          config.environment.etc."nsswitch.conf".source
+          config.environment.etc."nscd.conf".source
+        ];
 
         serviceConfig =
-          { ExecStart = "@${pkgs.glibc.bin}/sbin/nscd nscd -f ${cfgFile}";
+          { ExecStart = "@${pkgs.glibc.bin}/sbin/nscd nscd";
             Type = "forking";
             PIDFile = "/run/nscd/nscd.pid";
             Restart = "always";
@@ -79,7 +82,7 @@ in
         # its pid. So wait until it's ready.
         postStart =
           ''
-            while ! ${pkgs.glibc.bin}/sbin/nscd -g -f ${cfgFile} > /dev/null; do
+            while ! ${pkgs.glibc.bin}/sbin/nscd -g > /dev/null; do
               sleep 0.2
             done
           '';
diff --git a/nixos/modules/services/torrent/flexget.nix b/nixos/modules/services/torrent/flexget.nix
index 1252aa1c549c..4b9038e3e251 100644
--- a/nixos/modules/services/torrent/flexget.nix
+++ b/nixos/modules/services/torrent/flexget.nix
@@ -4,7 +4,7 @@ with lib;
 
 let
   cfg = config.services.flexget;
-  pkg = pkgs.python27Packages.flexget;
+  pkg = pkgs.flexget;
   ymlFile = pkgs.writeText "flexget.yml" ''
     ${cfg.config}
 
@@ -54,12 +54,12 @@ in {
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [ pkgs.python27Packages.flexget ];
+    environment.systemPackages = [ pkg ];
 
     systemd.services = {
       flexget = {
         description = "FlexGet Daemon";
-        path = [ pkgs.pythonPackages.flexget ];
+        path = [ pkg ];
         serviceConfig = {
           User = cfg.user;
           Environment = "TZ=${config.time.timeZone}";
diff --git a/nixos/modules/services/web-apps/atlassian/crowd.nix b/nixos/modules/services/web-apps/atlassian/crowd.nix
index 5e79678023da..ada26f8057ba 100644
--- a/nixos/modules/services/web-apps/atlassian/crowd.nix
+++ b/nixos/modules/services/web-apps/atlassian/crowd.nix
@@ -6,7 +6,12 @@ let
 
   cfg = config.services.crowd;
 
-  pkg = pkgs.atlassian-crowd;
+  pkg = pkgs.atlassian-crowd.override {
+    home = cfg.home;
+    port = cfg.listenPort;
+    proxyUrl = "${cfg.proxy.scheme}://${cfg.proxy.name}:${toString cfg.proxy.port}";
+    openidPassword = cfg.openidPassword;
+  };
 
 in
 
@@ -45,6 +50,11 @@ in
         description = "Port to listen on.";
       };
 
+      openidPassword = mkOption {
+        type = types.str;
+        description = "Application password for OpenID server.";
+      };
+
       catalinaOptions = mkOption {
         type = types.listOf types.str;
         default = [];
@@ -119,10 +129,10 @@ in
       };
 
       preStart = ''
-        mkdir -p ${cfg.home}/{logs,work}
+        mkdir -p ${cfg.home}/{logs,work,database}
 
         mkdir -p /run/atlassian-crowd
-        ln -sf ${cfg.home}/{work,server.xml} /run/atlassian-crowd
+        ln -sf ${cfg.home}/{database,work,server.xml} /run/atlassian-crowd
 
         chown -R ${cfg.user} ${cfg.home}
 
@@ -134,7 +144,6 @@ in
       '';
 
       script = "${pkg}/start_crowd.sh";
-      #stopScript  = "${pkg}/bin/stop_crowd.sh";
 
       serviceConfig = {
         User = cfg.user;
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 2d71bcc0c79a..dc0ca501a484 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -16,6 +16,8 @@ let
 
   phpMajorVersion = head (splitString "." php.version);
 
+  mod_perl = pkgs.mod_perl.override { apacheHttpd = httpd; };
+
   defaultListen = cfg: if cfg.enableSSL
     then [{ip = "*"; port = 443;}]
     else [{ip = "*"; port = 80;}];
@@ -76,6 +78,7 @@ let
           robotsEntries = "";
           startupScript = "";
           enablePHP = false;
+          enablePerl = false;
           phpOptions = "";
           options = {};
           documentRoot = null;
@@ -355,6 +358,7 @@ let
           ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules
           ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
           ++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
+          ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
           ++ concatMap (svc: svc.extraModules) allSubservices
           ++ extraForeignModules;
       in concatMapStrings load allModules
@@ -415,6 +419,8 @@ let
 
   enablePHP = mainCfg.enablePHP || any (svc: svc.enablePHP) allSubservices;
 
+  enablePerl = mainCfg.enablePerl || any (svc: svc.enablePerl) allSubservices;
+
 
   # Generate the PHP configuration file.  Should probably be factored
   # out into a separate module.
@@ -579,6 +585,12 @@ in
         '';
       };
 
+      enablePerl = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable the Perl module (mod_perl).";
+      };
+
       phpOptions = mkOption {
         type = types.lines;
         default = "";
@@ -697,13 +709,6 @@ in
             ''}
             mkdir -m 0700 -p ${mainCfg.logDir}
 
-            ${optionalString (mainCfg.documentRoot != null)
-            ''
-              # Create the document root directory if does not exists yet
-              mkdir -p ${mainCfg.documentRoot}
-            ''
-            }
-
             # Get rid of old semaphores.  These tend to accumulate across
             # server restarts, eventually preventing it from restarting
             # successfully.
diff --git a/nixos/modules/services/web-servers/apache-httpd/trac.nix b/nixos/modules/services/web-servers/apache-httpd/trac.nix
index 87ed36e35305..35b9ab56087c 100644
--- a/nixos/modules/services/web-servers/apache-httpd/trac.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/trac.nix
@@ -99,7 +99,7 @@ in
         makeSearchPathOutput "lib" "lib/${pkgs.python.libPrefix}/site-packages"
           [ pkgs.mod_python
             pkgs.pythonPackages.trac
-            pkgs.setuptools
+            pkgs.pythonPackages.setuptools
             pkgs.pythonPackages.genshi
             pkgs.pythonPackages.psycopg2
             subversion
diff --git a/nixos/modules/services/web-servers/lighttpd/inginious.nix b/nixos/modules/services/web-servers/lighttpd/inginious.nix
index 43deccb6aef8..669e81d0f14b 100644
--- a/nixos/modules/services/web-servers/lighttpd/inginious.nix
+++ b/nixos/modules/services/web-servers/lighttpd/inginious.nix
@@ -191,9 +191,8 @@ in
         virtualisation.docker = {
           enable = true;
           # We need docker to listen on port 2375.
-          extraOptions = "-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock";
+          listenOptions = ["127.0.0.1:2375" "/var/run/docker.sock"];
           storageDriver = mkDefault "overlay";
-          socketActivation = false;
         };
 
         users.extraUsers."lighttpd".extraGroups = [ "docker" ];
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 698d37133d74..68a672c42c90 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -10,6 +10,7 @@ let
       sslCertificateKey = "/var/lib/acme/${vhostName}/key.pem";
     })
   ) cfg.virtualHosts;
+  enableIPv6 = config.networking.enableIPv6;
 
   configFile = pkgs.writeText "nginx.conf" ''
     user ${cfg.user} ${cfg.group};
@@ -84,7 +85,7 @@ let
       ${optionalString cfg.statusPage ''
         server {
           listen 80;
-          listen [::]:80;
+          ${optionalString enableIPv6 "listen [::]:80;" }
 
           server_name localhost;
 
@@ -92,7 +93,7 @@ let
             stub_status on;
             access_log off;
             allow 127.0.0.1;
-            allow ::1;
+            ${optionalString enableIPv6 "allow ::1;"}
             deny all;
           }
         }
@@ -116,7 +117,7 @@ let
         ssl = vhost.enableSSL || vhost.forceSSL;
         port = if vhost.port != null then vhost.port else (if ssl then 443 else 80);
         listenString = toString port + optionalString ssl " ssl http2"
-          + optionalString vhost.default " default";
+          + optionalString vhost.default " default_server";
         acmeLocation = optionalString vhost.enableACME (''
           location /.well-known/acme-challenge {
             ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"}
@@ -132,8 +133,10 @@ let
       in ''
         ${optionalString vhost.forceSSL ''
           server {
-            listen 80 ${optionalString vhost.default "default"};
-            listen [::]:80 ${optionalString vhost.default "default"};
+            listen 80 ${optionalString vhost.default "default_server"};
+            ${optionalString enableIPv6
+              ''listen [::]:80 ${optionalString vhost.default "default_server"};''
+            }
 
             server_name ${serverName} ${concatStringsSep " " vhost.serverAliases};
             ${acmeLocation}
@@ -145,7 +148,7 @@ let
 
         server {
           listen ${listenString};
-          listen [::]:${listenString};
+          ${optionalString enableIPv6 "listen [::]:${listenString};"}
 
           server_name ${serverName} ${concatStringsSep " " vhost.serverAliases};
           ${acmeLocation}
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 5d1af09e7aa7..17e84b1d9a16 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -123,6 +123,7 @@ in {
     services.packagekit.enable = mkDefault true;
     hardware.bluetooth.enable = mkDefault true;
     services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center
+    services.udev.packages = [ pkgs.gnome3.gnome_settings_daemon ];
 
     fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell_fonts ];
 
diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix
index 9b51b92faa4d..de5bfe263d49 100644
--- a/nixos/modules/services/x11/desktop-managers/kde5.nix
+++ b/nixos/modules/services/x11/desktop-managers/kde5.nix
@@ -31,204 +31,223 @@ in
         '';
       };
 
+      extraPackages = mkOption {
+        type = types.listOf types.package;
+        default = [];
+        description = ''
+          KDE packages that need to be installed system-wide.
+        '';
+      };
+
     };
 
   };
 
 
-  config = mkIf (xcfg.enable && cfg.enable) {
+  config = mkMerge [
+    (mkIf (cfg.extraPackages != []) {
+      environment.systemPackages = [ (kde5.kdeWrapper cfg.extraPackages) ];
+    })
 
-    warnings = optional config.services.xserver.desktopManager.kde4.enable
-      "KDE 4 should not be enabled at the same time as KDE 5";
+    (mkIf (xcfg.enable && cfg.enable) {
 
-    services.xserver.desktopManager.session = singleton {
-      name = "kde5";
-      bgSupport = true;
-      start = ''
-        # Load PulseAudio module for routing support.
-        # See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
-        ${optionalString config.hardware.pulseaudio.enable ''
-          ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
-        ''}
+      warnings = optional config.services.xserver.desktopManager.kde4.enable
+        "KDE 4 should not be enabled at the same time as KDE 5";
 
-        exec "${kde5.startkde}"
+      services.xserver.desktopManager.session = singleton {
+        name = "kde5";
+        bgSupport = true;
+        start = ''
+          # Load PulseAudio module for routing support.
+          # See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
+          ${optionalString config.hardware.pulseaudio.enable ''
+            ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
+          ''}
 
-      '';
-    };
+          exec "${kde5.startkde}"
 
-    security.setuidOwners = [
-      {
-        program = "kcheckpass";
-        source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass";
-        owner = "root";
-        setuid = true;
-      }
-      {
-        program = "start_kdeinit";
-        source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit";
-        owner = "root";
-        setuid = true;
-      }
-    ];
-
-    environment.systemPackages =
-      [
-        kde5.frameworkintegration
-        kde5.kactivities
-        kde5.kauth
-        kde5.kcmutils
-        kde5.kconfig
-        kde5.kconfigwidgets
-        kde5.kcoreaddons
-        kde5.kdbusaddons
-        kde5.kdeclarative
-        kde5.kded
-        kde5.kdesu
-        kde5.kdnssd
-        kde5.kemoticons
-        kde5.kfilemetadata
-        kde5.kglobalaccel
-        kde5.kguiaddons
-        kde5.kiconthemes
-        kde5.kidletime
-        kde5.kimageformats
-        kde5.kinit
-        kde5.kio
-        kde5.kjobwidgets
-        kde5.knewstuff
-        kde5.knotifications
-        kde5.knotifyconfig
-        kde5.kpackage
-        kde5.kparts
-        kde5.kpeople
-        kde5.krunner
-        kde5.kservice
-        kde5.ktextwidgets
-        kde5.kwallet
-        kde5.kwayland
-        kde5.kwidgetsaddons
-        kde5.kxmlgui
-        kde5.kxmlrpcclient
-        kde5.plasma-framework
-        kde5.solid
-        kde5.sonnet
-        kde5.threadweaver
-
-        kde5.breeze-qt5
-        kde5.kactivitymanagerd
-        kde5.kde-cli-tools
-        kde5.kdecoration
-        kde5.kdeplasma-addons
-        kde5.kgamma5
-        kde5.khelpcenter
-        kde5.khotkeys
-        kde5.kinfocenter
-        kde5.kmenuedit
-        kde5.kscreen
-        kde5.kscreenlocker
-        kde5.ksysguard
-        kde5.kwayland
-        kde5.kwin
-        kde5.kwrited
-        kde5.libkscreen
-        kde5.libksysguard
-        kde5.milou
-        kde5.oxygen
-        kde5.plasma-integration
-        kde5.polkit-kde-agent
-        kde5.systemsettings
-
-        kde5.plasma-desktop
-        kde5.plasma-workspace
-        kde5.plasma-workspace-wallpapers
-
-        kde5.dolphin
-        kde5.dolphin-plugins
-        kde5.ffmpegthumbs
-        kde5.kdegraphics-thumbnailers
-        kde5.kio-extras
-        kde5.konsole
-        kde5.print-manager
-
-        # Install Breeze icons if available
-        (kde5.breeze-icons or kde5.oxygen-icons5 or kde5.oxygen-icons)
-        pkgs.hicolor_icon_theme
-
-        kde5.kde-gtk-config kde5.breeze-gtk
-
-        pkgs.qt5.phonon-backend-gstreamer
-      ]
-
-      # Plasma 5.5 and later has a Breeze GTK theme.
-      # If it is not available, Orion is very similar to Breeze.
-      ++ lib.optional (!(lib.hasAttr "breeze-gtk" kde5)) pkgs.orion
-
-      # Install activity manager if available
-      ++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd
-
-      # frameworkintegration was split with plasma-integration in Plasma 5.6
-      ++ lib.optional (lib.hasAttr "plasma-integration" kde5) kde5.plasma-integration
-
-      ++ lib.optionals cfg.enableQt4Support [ kde5.breeze-qt4 pkgs.phonon-backend-gstreamer ]
-
-      # Optional hardware support features
-      ++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil
-      ++ 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 pkgs.colord-kde
-      ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ];
-
-    environment.pathsToLink = [ "/share" ];
-
-    environment.etc = singleton {
-      source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
-      target = "X11/xkb";
-    };
+        '';
+      };
 
-    # Enable GTK applications to load SVG icons
-    environment.variables =
-      {
-        GST_PLUGIN_SYSTEM_PATH_1_0 =
-          lib.makeSearchPath "/lib/gstreamer-1.0"
-          (builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [
-            gstreamer
-            gst-plugins-base
-            gst-plugins-good
-            gst-plugins-ugly
-            gst-plugins-bad
-            gst-libav # for mp3 playback
-          ]));
-      }
-      // (if (lib.hasAttr "breeze-icons" kde5)
-          then { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; }
-          else { });
-
-    fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];
-
-    programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass";
-
-    # Enable helpful DBus services.
-    services.udisks2.enable = true;
-    services.upower.enable = config.powerManagement.enable;
-
-    # Extra UDEV rules used by Solid
-    services.udev.packages = [
-      pkgs.libmtp
-      pkgs.media-player-info
-    ];
-
-    services.xserver.displayManager.sddm = {
-      theme = "breeze";
-      themes = [
-        kde5.ecm # for the setup-hook
-        kde5.plasma-workspace
-        kde5.breeze-icons
+      security.setuidOwners = [
+        {
+          program = "kcheckpass";
+          source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass";
+          owner = "root";
+          setuid = true;
+        }
+        {
+          program = "start_kdeinit";
+          source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit";
+          owner = "root";
+          setuid = true;
+        }
       ];
-    };
 
-    security.pam.services.kde = { allowNullPassword = true; };
+      environment.systemPackages =
+        [
+          kde5.frameworkintegration
+          kde5.kactivities
+          kde5.kauth
+          kde5.kcmutils
+          kde5.kconfig
+          kde5.kconfigwidgets
+          kde5.kcoreaddons
+          kde5.kdbusaddons
+          kde5.kdeclarative
+          kde5.kded
+          kde5.kdesu
+          kde5.kdnssd
+          kde5.kemoticons
+          kde5.kfilemetadata
+          kde5.kglobalaccel
+          kde5.kguiaddons
+          kde5.kiconthemes
+          kde5.kidletime
+          kde5.kimageformats
+          kde5.kinit
+          kde5.kio
+          kde5.kjobwidgets
+          kde5.knewstuff
+          kde5.knotifications
+          kde5.knotifyconfig
+          kde5.kpackage
+          kde5.kparts
+          kde5.kpeople
+          kde5.krunner
+          kde5.kservice
+          kde5.ktextwidgets
+          kde5.kwallet
+          kde5.kwayland
+          kde5.kwidgetsaddons
+          kde5.kxmlgui
+          kde5.kxmlrpcclient
+          kde5.plasma-framework
+          kde5.solid
+          kde5.sonnet
+          kde5.threadweaver
+
+          kde5.breeze-qt5
+          kde5.kactivitymanagerd
+          kde5.kde-cli-tools
+          kde5.kdecoration
+          kde5.kdeplasma-addons
+          kde5.kgamma5
+          kde5.khotkeys
+          kde5.kinfocenter
+          kde5.kmenuedit
+          kde5.kscreen
+          kde5.kscreenlocker
+          kde5.ksysguard
+          kde5.kwayland
+          kde5.kwin
+          kde5.kwrited
+          kde5.libkscreen
+          kde5.libksysguard
+          kde5.milou
+          kde5.plasma-integration
+          kde5.polkit-kde-agent
+          kde5.systemsettings
+
+          kde5.plasma-desktop
+          kde5.plasma-workspace
+          kde5.plasma-workspace-wallpapers
+
+          kde5.dolphin-plugins
+          kde5.ffmpegthumbs
+          kde5.kdegraphics-thumbnailers
+          kde5.kio-extras
+          kde5.print-manager
+
+          # Install Breeze icons if available
+          (kde5.breeze-icons or kde5.oxygen-icons5 or kde5.oxygen-icons)
+          pkgs.hicolor_icon_theme
+
+          kde5.kde-gtk-config kde5.breeze-gtk
+
+          pkgs.qt5.phonon-backend-gstreamer
+        ]
+
+        # Plasma 5.5 and later has a Breeze GTK theme.
+        # If it is not available, Orion is very similar to Breeze.
+        ++ lib.optional (!(lib.hasAttr "breeze-gtk" kde5)) pkgs.orion
+
+        # Install activity manager if available
+        ++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd
+
+        # frameworkintegration was split with plasma-integration in Plasma 5.6
+        ++ lib.optional (lib.hasAttr "plasma-integration" kde5) kde5.plasma-integration
+
+        ++ lib.optionals cfg.enableQt4Support [ kde5.breeze-qt4 pkgs.phonon-backend-gstreamer ]
+
+        # Optional hardware support features
+        ++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil
+        ++ 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 pkgs.colord-kde
+        ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ];
+
+      services.xserver.desktopManager.kde5.extraPackages =
+        [
+          kde5.khelpcenter
+          kde5.oxygen
+
+          kde5.dolphin
+          kde5.konsole
+        ];
+
+      environment.pathsToLink = [ "/share" ];
+
+      environment.etc = singleton {
+        source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
+        target = "X11/xkb";
+      };
 
-  };
+      environment.variables =
+        {
+          # Enable GTK applications to load SVG icons
+          GST_PLUGIN_SYSTEM_PATH_1_0 =
+            lib.makeSearchPath "/lib/gstreamer-1.0"
+            (builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [
+              gstreamer
+              gst-plugins-base
+              gst-plugins-good
+              gst-plugins-ugly
+              gst-plugins-bad
+              gst-libav # for mp3 playback
+            ]));
+        }
+        // (if (lib.hasAttr "breeze-icons" kde5)
+            then { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; }
+            else { });
+
+      fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];
+
+      programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass";
+
+      # Enable helpful DBus services.
+      services.udisks2.enable = true;
+      services.upower.enable = config.powerManagement.enable;
+
+      # Extra UDEV rules used by Solid
+      services.udev.packages = [
+        pkgs.libmtp
+        pkgs.media-player-info
+      ];
+
+      services.xserver.displayManager.sddm = {
+        theme = "breeze";
+        themes = [
+          kde5.ecm # for the setup-hook
+          kde5.plasma-workspace
+          kde5.breeze-icons
+        ];
+      };
+
+      security.pam.services.kde = { allowNullPassword = true; };
+
+    })
+  ];
 
 }
diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix
index 5c068e89dd71..2a7f4e5cbcd1 100644
--- a/nixos/modules/services/x11/hardware/synaptics.nix
+++ b/nixos/modules/services/x11/hardware/synaptics.nix
@@ -19,7 +19,7 @@ let cfg = config.services.xserver.synaptics;
       Option "TapButton3" "0"
     '';
   pkg = pkgs.xorg.xf86inputsynaptics;
-  etcFile = "X11/xorg.conf.d/50-synaptics.conf";
+  etcFile = "X11/xorg.conf.d/70-synaptics.conf";
 in {
 
   options = {
@@ -172,7 +172,7 @@ in {
     services.xserver.modules = [ pkg.out ];
 
     environment.etc."${etcFile}".source =
-      "${pkg.out}/share/X11/xorg.conf.d/50-synaptics.conf";
+      "${pkg.out}/share/X11/xorg.conf.d/70-synaptics.conf";
 
     environment.systemPackages = [ pkg ];
 
diff --git a/nixos/modules/services/x11/hardware/wacom.nix b/nixos/modules/services/x11/hardware/wacom.nix
index 540ed168b489..a27889c36a70 100644
--- a/nixos/modules/services/x11/hardware/wacom.nix
+++ b/nixos/modules/services/x11/hardware/wacom.nix
@@ -22,7 +22,7 @@ in
           which will make Xorg reconfigure the device ?
 
           If you're not satisfied by the default behaviour you can override
-          <option>environment.etc."X11/xorg.conf.d/50-wacom.conf"</option> in
+          <option>environment.etc."X11/xorg.conf.d/70-wacom.conf"</option> in
           configuration.nix easily.
         '';
       };
@@ -40,7 +40,7 @@ in
 
     services.udev.packages = [ pkgs.xf86_input_wacom ];
 
-    environment.etc."X11/xorg.conf.d/50-wacom.conf".source = "${pkgs.xf86_input_wacom}/share/X11/xorg.conf.d/50-wacom.conf";
+    environment.etc."X11/xorg.conf.d/70-wacom.conf".source = "${pkgs.xf86_input_wacom}/share/X11/xorg.conf.d/70-wacom.conf";
 
   };
 
diff --git a/nixos/modules/services/x11/urxvtd.nix b/nixos/modules/services/x11/urxvtd.nix
index ab47f4547aea..be36efaa5897 100644
--- a/nixos/modules/services/x11/urxvtd.nix
+++ b/nixos/modules/services/x11/urxvtd.nix
@@ -32,6 +32,7 @@ in {
 
       services.urxvtd = {
         description = "urxvt terminal daemon";
+        path = [ pkgs.xsel ];
         serviceConfig = {
           ExecStart = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtd -o";
           Environment = "RXVT_SOCKET=%t/urxvtd-socket";
diff --git a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix
index 6153578612c1..f8a00784034a 100644
--- a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix
+++ b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix
@@ -44,10 +44,10 @@ in
       copyKernels = mkOption {
         default = false;
         type = types.bool;
-        description = "
+        description = ''
           Whether copy the necessary boot files into /boot, so
           /nix/store is not needed by the boot loader.
-        ";
+        '';
       };
 
     };
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index 8c139a94c0c8..b828ad53dc58 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -165,6 +165,11 @@ let
       '';
     };
 
+    extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      description = "Extra configuration append to unit";
+    };
   };
 
   linkOptions = commonNetworkOptions // {
@@ -515,6 +520,8 @@ let
         ''
           [Link]
           ${attrsToSection def.linkConfig}
+
+          ${def.extraConfig}
         '';
     };
 
@@ -565,6 +572,7 @@ let
             ${attrsToSection def.bondConfig}
 
           ''}
+          ${def.extraConfig}
         '';
     };
 
@@ -603,9 +611,14 @@ let
             ${attrsToSection x.routeConfig}
 
           '')}
+          ${def.extraConfig}
         '';
     };
 
+  unitFiles = map (name: {
+    target = "systemd/network/${name}";
+    source = "${cfg.units.${name}.unit}/${name}";
+  }) (attrNames cfg.units);
 in
 
 {
@@ -657,17 +670,15 @@ in
     systemd.additionalUpstreamSystemUnits =
       [ "systemd-networkd.service" "systemd-networkd-wait-online.service" ];
 
-    systemd.network.units =
-      mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.links
+    systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.links
       // mapAttrs' (n: v: nameValuePair "${n}.netdev" (netdevToUnit n v)) cfg.netdevs
       // mapAttrs' (n: v: nameValuePair "${n}.network" (networkToUnit n v)) cfg.networks;
 
-    environment.etc."systemd/network".source =
-      generateUnits "network" cfg.units [] [];
+    environment.etc = unitFiles;
 
     systemd.services.systemd-networkd = {
       wantedBy = [ "multi-user.target" ];
-      restartTriggers = [ config.environment.etc."systemd/network".source ];
+      restartTriggers = map (f: f.source) (unitFiles);
     };
 
     systemd.services.systemd-networkd-wait-online = {
@@ -687,8 +698,5 @@ in
     };
 
     services.resolved.enable = mkDefault true;
-    services.timesyncd.enable = mkDefault config.services.ntp.enable;
-
   };
-
 }
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 7803f1bd1aaf..f0699ad9832b 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -318,6 +318,8 @@ mountFS() {
     [ "$mountPoint" == "/" ] &&
         [ -f "/mnt-root/etc/NIXOS_LUSTRATE" ] &&
         lustrateRoot "/mnt-root"
+
+    true
 }
 
 lustrateRoot () {
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index 4c3fc30358c1..69af23981485 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -465,4 +465,20 @@ in rec {
 
   targetOptions = commonUnitOptions;
 
+  sliceOptions = commonUnitOptions // {
+
+    sliceConfig = mkOption {
+      default = {};
+      example = { MemoryMax = "2G"; };
+      type = types.attrsOf unitOption;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Slice]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.slice</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+  };
+
 }
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index d1f3f923e5e3..a2ee51669715 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -375,6 +375,15 @@ let
         '';
     };
 
+  sliceToUnit = name: def:
+    { inherit (def) wantedBy requiredBy enable;
+      text = commonUnitText def +
+        ''
+          [Slice]
+          ${attrsToSection def.sliceConfig}
+        '';
+    };
+
 in
 
 {
@@ -458,6 +467,12 @@ in
       '';
     };
 
+    systemd.slices = mkOption {
+      default = {};
+      type = with types; attrsOf (submodule [ { options = sliceOptions; } unitConfig] );
+      description = "Definition of slice configurations.";
+    };
+
     systemd.generators = mkOption {
       type = types.attrsOf types.path;
       default = {};
@@ -748,6 +763,7 @@ in
       // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.sockets
       // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.timers
       // mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths
+      // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit n v)) cfg.slices
       // listToAttrs (map
                    (v: let n = escapeSystemdPath v.where;
                        in nameValuePair "${n}.mount" (mountToUnit n v)) cfg.mounts)
diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix
index cba965b1cd2b..f643723ab141 100644
--- a/nixos/modules/system/boot/timesyncd.nix
+++ b/nixos/modules/system/boot/timesyncd.nix
@@ -6,14 +6,21 @@ with lib;
 
   options = {
 
-    services.timesyncd.enable = mkOption {
-      default = false;
-      type = types.bool;
-      description = ''
-        Enables the systemd NTP client daemon.
-      '';
+    services.timesyncd = {
+      enable = mkOption {
+        default = !config.boot.isContainer;
+        type = types.bool;
+        description = ''
+          Enables the systemd NTP client daemon.
+        '';
+      };
+      servers = mkOption {
+        default = config.networking.timeServers;
+        description = ''
+          The set of NTP servers from which to synchronise.
+        '';
+      };
     };
-
   };
 
   config = mkIf config.services.timesyncd.enable {
@@ -30,8 +37,6 @@ with lib;
       NTP=${concatStringsSep " " config.services.ntp.servers}
     '';
 
-    systemd.services.ntpd.enable = false;
-
     users.extraUsers.systemd-timesync.uid = config.ids.uids.systemd-timesync;
     users.extraGroups.systemd-timesync.gid = config.ids.gids.systemd-timesync;
 
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index c5f41cc338cf..045cbeb7cff8 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -22,12 +22,18 @@ let
 
   kernel = config.boot.kernelPackages;
 
-  splKernelPkg = kernel.spl;
-  zfsKernelPkg = kernel.zfs;
-  zfsUserPkg = pkgs.zfs;
+  packages = if config.boot.zfs.enableUnstable then {
+    spl = kernel.splUnstable;
+    zfs = kernel.zfsUnstable;
+    zfsUser = pkgs.zfsUnstable;
+  } else {
+    spl = kernel.spl;
+    zfs = kernel.zfs;
+    zfsUser = pkgs.zfs;
+  };
 
   autosnapPkg = pkgs.zfstools.override {
-    zfs = zfsUserPkg;
+    zfs = packages.zfsUser;
   };
 
   zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot";
@@ -54,6 +60,18 @@ in
 
   options = {
     boot.zfs = {
+      enableUnstable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Use the unstable zfs package. This might be an option, if the latest
+          kernel is not yet supported by a published release of ZFS. Enabling
+          this option will install a development version of ZFS on Linux. The
+          version will have already passed an extensive test suite, but it is
+          more likely to hit an undiscovered bug compared to running a released
+          version of ZFS on Linux.
+        '';
+      };
 
       extraPools = mkOption {
         type = types.listOf types.str;
@@ -218,16 +236,16 @@ in
 
       boot = {
         kernelModules = [ "spl" "zfs" ] ;
-        extraModulePackages = [ splKernelPkg zfsKernelPkg ];
+        extraModulePackages = with packages; [ spl zfs ];
       };
 
       boot.initrd = mkIf inInitrd {
         kernelModules = [ "spl" "zfs" ];
         extraUtilsCommands =
           ''
-            copy_bin_and_libs ${zfsUserPkg}/sbin/zfs
-            copy_bin_and_libs ${zfsUserPkg}/sbin/zdb
-            copy_bin_and_libs ${zfsUserPkg}/sbin/zpool
+            copy_bin_and_libs ${packages.zfsUser}/sbin/zfs
+            copy_bin_and_libs ${packages.zfsUser}/sbin/zdb
+            copy_bin_and_libs ${packages.zfsUser}/sbin/zpool
           '';
         extraUtilsCommandsTest = mkIf inInitrd
           ''
@@ -264,14 +282,14 @@ in
         zfsSupport = true;
       };
 
-      environment.etc."zfs/zed.d".source = "${zfsUserPkg}/etc/zfs/zed.d/*";
+      environment.etc."zfs/zed.d".source = "${packages.zfsUser}/etc/zfs/zed.d/*";
 
-      system.fsPackages = [ zfsUserPkg ];                  # XXX: needed? zfs doesn't have (need) a fsck
-      environment.systemPackages = [ zfsUserPkg ]
-        ++ optional enableAutoSnapshots autosnapPkg;       # so the user can run the command to see flags
+      system.fsPackages = [ packages.zfsUser ]; # XXX: needed? zfs doesn't have (need) a fsck
+      environment.systemPackages = [ packages.zfsUser ]
+        ++ optional enableAutoSnapshots autosnapPkg; # so the user can run the command to see flags
 
-      services.udev.packages = [ zfsUserPkg ];             # to hook zvol naming, etc.
-      systemd.packages = [ zfsUserPkg ];
+      services.udev.packages = [ packages.zfsUser ]; # to hook zvol naming, etc.
+      systemd.packages = [ packages.zfsUser ];
 
       systemd.services = let
         getPoolFilesystems = pool:
@@ -298,7 +316,7 @@ in
               RemainAfterExit = true;
             };
             script = ''
-              zpool_cmd="${zfsUserPkg}/sbin/zpool"
+              zpool_cmd="${packages.zfsUser}/sbin/zpool"
               ("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -d ${cfgZfs.devNodes} -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}"
             '';
           };
@@ -314,7 +332,7 @@ in
               RemainAfterExit = true;
             };
             script = ''
-              ${zfsUserPkg}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}"
+              ${packages.zfsUser}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}"
             '';
           };
 
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index aaa78daeb3a3..83d9854d3517 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -910,20 +910,23 @@ in
         domainname "${cfg.domain}"
       '';
 
-    environment.etc = mkIf (cfg.hostId != null)
-      [
-        {
-          target = "hostid";
-          source = pkgs.runCommand "gen-hostid" {} ''
-            hi="${cfg.hostId}"
-            ${if pkgs.stdenv.isBigEndian then ''
-              echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out
-            '' else ''
-              echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > $out
-            ''}
-          '';
-        }
-      ];
+    environment.etc."hostid" = mkIf (cfg.hostId != null)
+      { source = pkgs.runCommand "gen-hostid" {} ''
+          hi="${cfg.hostId}"
+          ${if pkgs.stdenv.isBigEndian then ''
+            echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out
+          '' else ''
+            echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > $out
+          ''}
+        '';
+      };
+
+    # static hostname configuration needed for hostnamectl and the
+    # org.freedesktop.hostname1 dbus service (both provided by systemd)
+    environment.etc."hostname" = mkIf (cfg.hostName != "")
+      {
+        text = cfg.hostName + "\n";
+      };
 
     environment.systemPackages =
       [ pkgs.host
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 206df50a4207..099ead3d846c 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -119,9 +119,6 @@ let kernel = config.boot.kernelPackages.kernel; in
 
     networking.usePredictableInterfaceNames = false;
 
-    # Make sure we use a patched QEMU that ignores file ownership.
-    virtualisation.qemu.program = "${pkgs.qemu_test}/bin/qemu-kvm";
-
     # Make it easy to log in as root when running the test interactively.
     users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
 
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix
index 17e69b311b48..80e481d79b9e 100644
--- a/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixos/modules/virtualisation/amazon-image.nix
@@ -94,7 +94,6 @@ let cfg = config.ec2; in
             elif [ "$fsType" = ext3 ]; then
                 mp="/disk$diskNr"
                 diskNr=$((diskNr + 1))
-                echo "mounting $device on $mp..."
                 if mountFS "$device" "$mp" "" ext3; then
                     if [ -z "$diskForUnionfs" ]; then diskForUnionfs="$mp"; fi
                 fi
diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix
index 92fe98f3f9c2..4b30a38f832f 100644
--- a/nixos/modules/virtualisation/docker.nix
+++ b/nixos/modules/virtualisation/docker.nix
@@ -28,16 +28,42 @@ in
             <command>docker</command> command line tool.
           '';
       };
-    socketActivation =
+
+    listenOptions =
+      mkOption {
+        type = types.listOf types.str;
+        default = ["/var/run/docker.sock"];
+        description =
+          ''
+            A list of unix and tcp docker should listen to. The format follows
+            ListenStream as described in systemd.socket(5).
+          '';
+      };
+
+    enableOnBoot =
       mkOption {
         type = types.bool;
         default = true;
         description =
           ''
-            This option enables docker with socket activation. I.e. docker will
-            start when first called by client.
+            When enabled dockerd is started on boot. This is required for
+            container, which are created with the
+            <literal>--restart=always</literal> flag, to work. If this option is
+            disabled, docker might be started on demand by socket activation.
           '';
       };
+
+    liveRestore =
+      mkOption {
+        type = types.bool;
+        default = true;
+        description =
+          ''
+            Allow dockerd to be restarted without affecting running container.
+            This option is incompatible with docker swarm.
+          '';
+      };
+
     storageDriver =
       mkOption {
         type = types.nullOr (types.enum ["aufs" "btrfs" "devicemapper" "overlay" "overlay2" "zfs"]);
@@ -69,69 +95,43 @@ in
             <command>docker</command> daemon.
           '';
       };
-
-    postStart =
-      mkOption {
-        type = types.lines;
-        default = ''
-          while ! [ -e /var/run/docker.sock ]; do
-            sleep 0.1
-          done
-        '';
-        description = ''
-          The postStart phase of the systemd service. You may need to
-          override this if you are passing in flags to docker which
-          don't cause the socket file to be created. This option is ignored
-          if socket activation is used.
-        '';
-      };
-
-
   };
 
   ###### implementation
 
-  config = mkIf cfg.enable (mkMerge [
-    { environment.systemPackages = [ pkgs.docker ];
+  config = mkIf cfg.enable (mkMerge [{
+      environment.systemPackages = [ pkgs.docker ];
       users.extraGroups.docker.gid = config.ids.gids.docker;
+      systemd.packages = [ pkgs.docker ];
+
       systemd.services.docker = {
-        description = "Docker Application Container Engine";
-        wantedBy = optional (!cfg.socketActivation) "multi-user.target";
-        after = [ "network.target" ] ++ (optional cfg.socketActivation "docker.socket") ;
-        requires = optional cfg.socketActivation "docker.socket";
+        wantedBy = optional cfg.enableOnBoot "multi-user.target";
         serviceConfig = {
-          ExecStart = ''${pkgs.docker}/bin/dockerd \
-            --group=docker --log-driver=${cfg.logDriver} \
-            ${optionalString (cfg.storageDriver != null) "--storage-driver=${cfg.storageDriver}"} \
-            ${optionalString cfg.socketActivation "--host=fd://"} \
-            ${cfg.extraOptions}
-          '';
-          #  I'm not sure if that limits aren't too high, but it's what
-          #  goes in config bundled with docker itself
-          LimitNOFILE = 1048576;
-          LimitNPROC = 1048576;
+          ExecStart = [
+            ""
+            ''
+              ${pkgs.docker}/bin/dockerd \
+                --group=docker \
+                --host=fd:// \
+                --log-driver=${cfg.logDriver} \
+                ${optionalString (cfg.storageDriver != null) "--storage-driver=${cfg.storageDriver}"} \
+                ${optionalString cfg.liveRestore "--live-restore" } \
+                ${cfg.extraOptions}
+            ''];
+          ExecReload=[
+            ""
+            "${pkgs.procps}/bin/kill -s HUP $MAINPID"
+          ];
         } // proxy_env;
 
         path = [ pkgs.kmod ] ++ (optional (cfg.storageDriver == "zfs") pkgs.zfs);
-
-        postStart = if cfg.socketActivation then "" else cfg.postStart;
-
-        # Presumably some containers are running we don't want to interrupt
-        restartIfChanged = false;
       };
+      systemd.sockets.docker.socketConfig.ListenStream = cfg.listenOptions;
     }
-    (mkIf cfg.socketActivation {
-      systemd.sockets.docker = {
-        description = "Docker Socket for the API";
-        wantedBy = [ "sockets.target" ];
-        socketConfig = {
-          ListenStream = "/var/run/docker.sock";
-          SocketMode = "0660";
-          SocketUser = "root";
-          SocketGroup = "docker";
-        };
-      };
-    })
   ]);
 
+  imports = [
+    (mkRemovedOptionModule ["virtualisation" "docker" "socketActivation"] "This option was removed in favor of starting docker at boot")
+  ];
+
 }
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 90dbd3b6d632..0e6825c3f5da 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -125,7 +125,7 @@ in
     169.254.169.254 metadata.google.internal metadata
   '';
 
-  services.ntp.servers = [ "metadata.google.internal" ];
+  networking.timeServers = [ "metadata.google.internal" ];
 
   networking.usePredictableInterfaceNames = false;
 
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
index 22da012e4141..6759ff0f2fe9 100644
--- a/nixos/modules/virtualisation/lxc.nix
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -62,19 +62,17 @@ in
             </citerefentry>.
           '';
       };
-
   };
 
   ###### implementation
 
   config = mkIf cfg.enable {
-
     environment.systemPackages = [ pkgs.lxc ];
-
     environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
     environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
     environment.etc."lxc/default.conf".text = cfg.defaultConfig;
 
+    security.apparmor.packages = [ pkgs.lxc ];
+    security.apparmor.profiles = [ "${pkgs.lxc}/etc/apparmor.d/lxc-containers" ];
   };
-
 }
diff --git a/nixos/modules/virtualisation/openstack/common.nix b/nixos/modules/virtualisation/openstack/common.nix
new file mode 100644
index 000000000000..2feb0a873951
--- /dev/null
+++ b/nixos/modules/virtualisation/openstack/common.nix
@@ -0,0 +1,84 @@
+{ lib }:
+
+with lib;
+
+rec {
+  # A shell script string helper to get the value of a secret at
+  # runtime.
+  getSecret = secretOption:
+    if secretOption.storage == "fromFile"
+    then ''$(cat ${secretOption.value})''
+    else ''${secretOption.value}'';
+
+
+  # A shell script string help to replace at runtime in a file the
+  # pattern of a secret by its value.
+  replaceSecret = secretOption: filename: ''
+    sed -i "s/${secretOption.pattern}/${getSecret secretOption}/g" ${filename}
+    '';
+
+  # This generates an option that can be used to declare secrets which
+  # can be stored in the nix store, or not. A pattern is written in
+  # the nix store to represent the secret. The pattern can
+  # then be overwritten with the value of the secret at runtime.
+  mkSecretOption = {name, description ? ""}:
+    mkOption {
+      description = description;
+      type = types.submodule ({
+        options = {
+          pattern = mkOption {
+            type = types.str;
+            default = "##${name}##";
+            description = "The pattern that represent the secret.";
+            };
+          storage = mkOption {
+            type = types.enum [ "fromNixStore" "fromFile" ];
+            description = ''
+            Choose the way the password is provisionned. If
+            fromNixStore is used, the value is the password and it is
+            written in the nix store. If fromFile is used, the value
+            is a path from where the password will be read at
+            runtime. This is generally used with <link
+            xlink:href="https://nixos.org/nixops/manual/#opt-deployment.keys">
+            deployment keys</link> of Nixops.
+           '';};
+            value = mkOption {
+              type = types.str;
+	      description = ''
+	      If the storage is fromNixStore, the value is the password itself,
+	      otherwise it is a path to the file that contains the password.
+	      '';
+	      };
+            };});
+  };
+  
+  databaseOption = name: {
+    host = mkOption {
+      type = types.str;
+      default = "localhost";
+      description = ''
+        Host of the database.
+      '';
+    };
+
+    name = mkOption {
+      type = types.str;
+      default = name;
+      description = ''
+        Name of the existing database.
+      '';
+    };
+
+    user = mkOption {
+      type = types.str;
+      default = name;
+      description = ''
+        The database user. The user must exist and has access to
+        the specified database.
+      '';
+    };
+    password = mkSecretOption {
+      name = name + "MysqlPassword";
+      description = "The database user's password";};
+  };
+}
diff --git a/nixos/modules/virtualisation/openstack/glance.nix b/nixos/modules/virtualisation/openstack/glance.nix
new file mode 100644
index 000000000000..4d85718e369c
--- /dev/null
+++ b/nixos/modules/virtualisation/openstack/glance.nix
@@ -0,0 +1,245 @@
+{ config, lib, pkgs, ... }:
+
+with lib; with import ./common.nix {inherit lib;};
+
+let
+  cfg = config.virtualisation.openstack.glance;
+  commonConf = ''
+    [database]
+    connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}"
+    notification_driver = noop
+
+    [keystone_authtoken]
+    auth_url = ${cfg.authUrl}
+    auth_plugin = password
+    project_name = service
+    project_domain_id = default
+    user_domain_id = default
+    username = ${cfg.serviceUsername}
+    password = ${cfg.servicePassword.pattern}
+
+    [glance_store]
+    default_store = file
+    filesystem_store_datadir = /var/lib/glance/images/
+  '';
+  glanceApiConfTpl = pkgs.writeText "glance-api.conf" ''
+    ${commonConf}
+
+    [paste_deploy]
+    flavor = keystone
+    config_file = ${cfg.package}/etc/glance-api-paste.ini
+  '';
+  glanceRegistryConfTpl = pkgs.writeText "glance-registry.conf" ''
+    ${commonConf}
+
+    [paste_deploy]
+    config_file = ${cfg.package}/etc/glance-registry-paste.ini
+  '';
+  glanceApiConf = "/var/lib/glance/glance-api.conf";
+  glanceRegistryConf = "/var/lib/glance/glance-registry.conf";
+
+in {
+  options.virtualisation.openstack.glance = {
+    package = mkOption {
+      type = types.package;
+      default = pkgs.glance;
+      example = literalExample "pkgs.glance";
+      description = ''
+        Glance package to use.
+      '';
+    };
+
+    enable = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        This option enables Glance as a single-machine
+        installation. That is, all of Glance's components are
+        enabled on this machine. This is useful for evaluating and
+        experimenting with Glance. Note we are currently not
+        providing any configurations for a multi-node setup.
+      '';
+    };
+
+    authUrl = mkOption {
+      type = types.str;
+      default = http://localhost:5000;
+      description = ''
+        Complete public Identity (Keystone) API endpoint. Note this is
+        unversionned.
+      '';
+    };
+
+    serviceUsername = mkOption {
+      type = types.str;
+      default = "glance";
+      description = ''
+        The Glance service username. This user is created if bootstrap
+        is enable, otherwise it has to be manually created before
+        starting this service.
+      '';
+    };
+
+    servicePassword = mkSecretOption {
+      name = "glanceAdminPassword";
+      description = ''
+        The Glance service user's password.
+      '';
+    };
+
+    database = databaseOption "glance";
+
+    bootstrap = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Bootstrap the Glance service by creating the service tenant,
+          an admin account and a public endpoint. This option provides
+          a ready-to-use glance service. This is only done at the
+          first Glance execution by the systemd post start section.
+          The keystone admin account is used to create required
+          Keystone resource for the Glance service.
+
+          <note><para> This option is a helper for setting up
+          development or testing environments.</para></note>
+        '';
+      };
+
+      endpointPublic = mkOption {
+        type = types.str;
+        default = "http://localhost:9292";
+        description = ''
+          The public image endpoint. The link <link
+          xlink:href="http://docs.openstack.org/liberty/install-guide-rdo/keystone-services.html">
+          create endpoint</link> provides more informations
+          about that.
+        '';
+      };
+
+      keystoneAdminUsername = mkOption {
+        type = types.str;
+        default = "admin";
+        description = ''
+          The keystone admin user name used to create the Glance account.
+        '';
+      };
+
+      keystoneAdminPassword = mkSecretOption {
+        name = "keystoneAdminPassword";
+        description = ''
+          The keystone admin user's password.
+        '';
+      };
+
+      keystoneAdminTenant = mkOption {
+        type = types.str;
+        default = "admin";
+        description = ''
+          The keystone admin tenant used to create the Glance account.
+        '';
+      };
+      keystoneAuthUrl = mkOption {
+        type = types.str;
+        default = "http://localhost:5000/v2.0";
+        description = ''
+          The keystone auth url used to create the Glance account.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    users.extraUsers = [{
+      name = "glance";
+      group = "glance";
+      uid = config.ids.gids.glance;
+
+    }];
+    users.extraGroups = [{
+      name = "glance";
+      gid = config.ids.gids.glance;
+    }];
+
+    systemd.services.glance-registry = {
+      description = "OpenStack Glance Registry Daemon";
+      after = [ "network.target"];
+      path = [ pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ];
+      wantedBy = [ "multi-user.target" ];
+      preStart = ''
+        mkdir -m 775 -p /var/lib/glance/{images,scrubber,image_cache}
+        chown glance:glance /var/lib/glance/{images,scrubber,image_cache}
+
+        # Secret file managment
+        cp ${glanceRegistryConfTpl} ${glanceRegistryConf};
+        chown glance:glance ${glanceRegistryConf};
+        chmod 640 ${glanceRegistryConf}
+        ${replaceSecret cfg.database.password glanceRegistryConf}
+        ${replaceSecret cfg.servicePassword glanceRegistryConf}
+
+        cp ${glanceApiConfTpl} ${glanceApiConf};
+        chown glance:glance ${glanceApiConf};
+        chmod 640 ${glanceApiConf}
+        ${replaceSecret cfg.database.password glanceApiConf}
+        ${replaceSecret cfg.servicePassword glanceApiConf}
+
+        # Initialise the database
+        ${cfg.package}/bin/glance-manage --config-file=${glanceApiConf} --config-file=${glanceRegistryConf} db_sync
+      '';
+      postStart = ''
+        set -eu
+        export OS_AUTH_URL=${cfg.bootstrap.keystoneAuthUrl}
+        export OS_USERNAME=${cfg.bootstrap.keystoneAdminUsername}
+        export OS_PASSWORD=${getSecret cfg.bootstrap.keystoneAdminPassword}
+        export OS_TENANT_NAME=${cfg.bootstrap.keystoneAdminTenant}
+
+        # Wait until the keystone is available for use
+        count=0
+        while ! keystone user-get ${cfg.bootstrap.keystoneAdminUsername} > /dev/null
+        do
+            if [ $count -eq 30 ]
+            then
+                echo "Tried 30 times, giving up..."
+                exit 1
+            fi
+
+            echo "Keystone not yet started. Waiting for 1 second..."
+            count=$((count++))
+            sleep 1
+        done
+
+        # If the service glance doesn't exist, we consider glance is
+        # not initialized
+        if ! keystone service-get glance
+        then
+            keystone service-create --type image --name glance
+            ID=$(keystone service-get glance | awk '/ id / { print $4 }')
+            keystone endpoint-create --region RegionOne --service $ID --internalurl http://localhost:9292 --adminurl http://localhost:9292 --publicurl ${cfg.bootstrap.endpointPublic}
+
+            keystone user-create --name ${cfg.serviceUsername} --tenant service --pass ${getSecret cfg.servicePassword}
+            keystone user-role-add --tenant service --user ${cfg.serviceUsername} --role admin
+        fi
+        '';
+      serviceConfig = {
+        PermissionsStartOnly = true; # preStart must be run as root
+        TimeoutStartSec = "600"; # 10min for initial db migrations
+        User = "glance";
+        Group = "glance";
+        ExecStart = "${cfg.package}/bin/glance-registry --config-file=${glanceRegistryConf}";
+      };
+    };
+    systemd.services.glance-api = {
+      description = "OpenStack Glance API Daemon";
+      after = [ "glance-registry.service" "network.target"];
+      requires = [ "glance-registry.service" "network.target"]; 
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        PermissionsStartOnly = true; # preStart must be run as root
+        User = "glance";
+        Group = "glance";
+        ExecStart = "${cfg.package}/bin/glance-api --config-file=${glanceApiConf}";
+      };
+    };
+  };
+
+}
diff --git a/nixos/modules/virtualisation/openstack/keystone.nix b/nixos/modules/virtualisation/openstack/keystone.nix
new file mode 100644
index 000000000000..e32c5a4cae1b
--- /dev/null
+++ b/nixos/modules/virtualisation/openstack/keystone.nix
@@ -0,0 +1,220 @@
+{ config, lib, pkgs, ... }:
+
+with lib; with import ./common.nix {inherit lib;};
+
+let
+  cfg = config.virtualisation.openstack.keystone;
+  keystoneConfTpl = pkgs.writeText "keystone.conf" ''
+    [DEFAULT]
+    admin_token = ${cfg.adminToken.pattern}
+    policy_file=${cfg.package}/etc/policy.json
+
+    [database]
+
+    connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}"
+
+    [paste_deploy]
+    config_file = ${cfg.package}/etc/keystone-paste.ini
+
+    ${cfg.extraConfig}
+  '';
+  keystoneConf = "/var/lib/keystone/keystone.conf";
+
+in {
+  options.virtualisation.openstack.keystone = {
+    package = mkOption {
+      type = types.package;
+      example = literalExample "pkgs.keystone";
+      description = ''
+        Keystone package to use.
+      '';
+    };
+
+    enable = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Enable Keystone, the OpenStack Identity Service
+      '';
+    };
+
+    extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      description = ''
+        Additional text appended to <filename>keystone.conf</filename>,
+        the main Keystone configuration file.
+      '';
+    };
+
+    adminToken = mkSecretOption {
+      name = "adminToken";
+      description = ''
+        This is the admin token used to boostrap keystone,
+        ie. to provision first resources.
+      '';
+    };
+
+    bootstrap = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Bootstrap the Keystone service by creating the service
+          tenant, an admin account and a public endpoint. This options
+          provides a ready-to-use admin account. This is only done at
+          the first Keystone execution by the systemd post start.
+
+          Note this option is a helper for setting up development or
+          testing environments.
+        '';
+      };
+
+      endpointPublic = mkOption {
+        type = types.str;
+        default = "http://localhost:5000/v2.0";
+        description = ''
+          The public identity endpoint. The link <link
+          xlink:href="http://docs.openstack.org/liberty/install-guide-rdo/keystone-services.html">
+          create keystone endpoint</link> provides more informations
+          about that.
+        '';
+      };
+
+      adminUsername = mkOption {
+        type = types.str;
+        default = "admin";
+        description = ''
+          A keystone admin username.
+        '';
+      };
+
+      adminPassword = mkSecretOption {
+        name = "keystoneAdminPassword";
+        description = ''
+          The keystone admin user's password.
+        '';
+      };
+
+      adminTenant = mkOption {
+        type = types.str;
+        default = "admin";
+        description = ''
+          A keystone admin tenant name.
+        '';
+      };
+    };
+
+    database = {
+      host = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = ''
+          Host of the database.
+        '';
+      };
+
+      name = mkOption {
+        type = types.str;
+        default = "keystone";
+        description = ''
+          Name of the existing database.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "keystone";
+        description = ''
+          The database user. The user must exist and has access to
+          the specified database.
+        '';
+      };
+      password = mkSecretOption {
+        name = "mysqlPassword";
+        description = "The database user's password";};
+    };
+  };
+
+  config = mkIf cfg.enable {
+    # Note: when changing the default, make it conditional on
+    # ‘system.stateVersion’ to maintain compatibility with existing
+    # systems!
+    virtualisation.openstack.keystone.package = mkDefault pkgs.keystone;
+
+    users.extraUsers = [{
+      name = "keystone";
+      group = "keystone";
+      uid = config.ids.uids.keystone;
+    }];
+    users.extraGroups = [{
+      name = "keystone";
+      gid = config.ids.gids.keystone;
+    }];
+
+    systemd.services.keystone-all = {
+        description = "OpenStack Keystone Daemon";
+        after = [ "network.target"];
+        path = [ cfg.package pkgs.mysql pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ];
+        wantedBy = [ "multi-user.target" ];
+        preStart = ''
+          mkdir -m 755 -p /var/lib/keystone
+
+          cp ${keystoneConfTpl} ${keystoneConf};
+          chown keystone:keystone ${keystoneConf};
+          chmod 640 ${keystoneConf}
+
+          ${replaceSecret cfg.database.password keystoneConf}
+          ${replaceSecret cfg.adminToken keystoneConf}
+
+          # Initialise the database
+          ${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} db_sync
+          # Set up the keystone's PKI infrastructure
+          ${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} pki_setup --keystone-user keystone --keystone-group keystone
+        '';
+        postStart = optionalString cfg.bootstrap.enable ''
+          set -eu
+          # Wait until the keystone is available for use
+          count=0
+          while ! curl --fail -s  http://localhost:35357/v2.0 > /dev/null 
+          do
+              if [ $count -eq 30 ]
+              then
+                  echo "Tried 30 times, giving up..."
+                  exit 1
+              fi
+
+              echo "Keystone not yet started. Waiting for 1 second..."
+              count=$((count++))
+              sleep 1
+          done
+
+          # We use the service token to create a first admin user
+          export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0
+          export OS_SERVICE_TOKEN=${getSecret cfg.adminToken}
+
+          # If the tenant service doesn't exist, we consider
+          # keystone is not initialized
+          if ! keystone tenant-get service
+          then
+              keystone tenant-create --name service
+              keystone tenant-create --name ${cfg.bootstrap.adminTenant}
+              keystone user-create --name ${cfg.bootstrap.adminUsername} --tenant ${cfg.bootstrap.adminTenant} --pass ${getSecret cfg.bootstrap.adminPassword}
+              keystone role-create --name admin
+              keystone role-create --name Member
+              keystone user-role-add --tenant ${cfg.bootstrap.adminTenant} --user ${cfg.bootstrap.adminUsername} --role admin
+              keystone service-create --type identity --name keystone
+              ID=$(keystone service-get keystone | awk '/ id / { print $4 }')
+              keystone endpoint-create --region RegionOne --service $ID --publicurl ${cfg.bootstrap.endpointPublic} --adminurl http://localhost:35357/v2.0 --internalurl http://localhost:5000/v2.0
+          fi
+        '';
+        serviceConfig = {
+          PermissionsStartOnly = true; # preStart must be run as root
+          TimeoutStartSec = "600"; # 10min for initial db migrations
+          User = "keystone";
+          Group = "keystone";
+          ExecStart = "${cfg.package}/bin/keystone-all --config-file=${keystoneConf}";
+        };
+      };
+  };
+}
diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix
index 204ab0b0df67..bd85973ee561 100644
--- a/nixos/modules/virtualisation/parallels-guest.nix
+++ b/nixos/modules/virtualisation/parallels-guest.nix
@@ -57,7 +57,7 @@ in
 
     boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" "acpi_memhotplug" ];
 
-    services.ntp.enable = false;
+    services.timesyncd.enable = false;
 
     systemd.services.prltoolsd = {
       description = "Parallels Tools' service";
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 263bbf785833..586f5d9c0a38 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -13,6 +13,8 @@ with lib;
 
 let
 
+  qemu = config.system.build.qemu or pkgs.qemu_test;
+
   vmName =
     if config.networking.hostName == ""
     then "noname"
@@ -32,7 +34,7 @@ let
       NIX_DISK_IMAGE=$(readlink -f ''${NIX_DISK_IMAGE:-${config.virtualisation.diskImage}})
 
       if ! test -e "$NIX_DISK_IMAGE"; then
-          ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \
+          ${qemu}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \
             ${toString config.virtualisation.diskSize}M || exit 1
       fi
 
@@ -47,7 +49,7 @@ let
       ${if cfg.useBootLoader then ''
         # Create a writable copy/snapshot of the boot disk.
         # A writable boot disk can be booted from automatically.
-        ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 -b ${bootDisk}/disk.img $TMPDIR/disk.img || exit 1
+        ${qemu}/bin/qemu-img create -f qcow2 -b ${bootDisk}/disk.img $TMPDIR/disk.img || exit 1
 
         ${if cfg.useEFIBoot then ''
           # VM needs a writable flash BIOS.
@@ -63,14 +65,14 @@ let
       extraDisks=""
       ${flip concatMapStrings cfg.emptyDiskImages (size: ''
         if ! test -e "empty$idx.qcow2"; then
-            ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
+            ${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
         fi
         extraDisks="$extraDisks -drive index=$idx,file=$(pwd)/empty$idx.qcow2,if=${cfg.qemu.diskInterface},werror=report"
         idx=$((idx + 1))
       '')}
 
       # Start QEMU.
-      exec ${cfg.qemu.program} \
+      exec ${qemu}/bin/qemu-kvm \
           -name ${vmName} \
           -m ${toString config.virtualisation.memorySize} \
           ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} \
@@ -121,7 +123,7 @@ let
               mkdir $out
               diskImage=$out/disk.img
               bootFlash=$out/bios.bin
-              ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 $diskImage "40M"
+              ${qemu}/bin/qemu-img create -f qcow2 $diskImage "40M"
               ${if cfg.useEFIBoot then ''
                 cp ${pkgs.OVMF-CSM}/FV/OVMF.fd $bootFlash
                 chmod 0644 $bootFlash
@@ -272,11 +274,11 @@ in
 
     virtualisation.writableStore =
       mkOption {
-        default = false;
+        default = true; # FIXME
         description =
           ''
             If enabled, the Nix store in the VM is made writable by
-            layering a unionfs-fuse/tmpfs filesystem on top of the host's Nix
+            layering an overlay filesystem on top of the host's Nix
             store.
           '';
       };
@@ -299,14 +301,6 @@ in
       };
 
     virtualisation.qemu = {
-      program = mkOption {
-        type = types.path;
-        default = "${pkgs.qemu_kvm}/bin/qemu-kvm";
-        defaultText = "\${pkgs.qemu_kvm}/bin/qemu-kvm";
-        example = literalExample "\${pkgs.qemu_test}/bin/qemu-kvm";
-        description = "The QEMU variant used to start the VM.";
-      };
-
       options =
         mkOption {
           type = types.listOf types.unspecified;
@@ -401,6 +395,13 @@ in
         chmod 1777 $targetRoot/tmp
 
         mkdir -p $targetRoot/boot
+
+        ${optionalString cfg.writableStore ''
+          echo "mounting overlay filesystem on /nix/store..."
+          mkdir -p 0755 $targetRoot/nix/.rw-store/store $targetRoot/nix/.rw-store/work $targetRoot/nix/store
+          mount -t overlay overlay $targetRoot/nix/store \
+            -o lowerdir=$targetRoot/nix/.ro-store,upperdir=$targetRoot/nix/.rw-store/store,workdir=$targetRoot/nix/.rw-store/work || fail
+        ''}
       '';
 
     # After booting, register the closure of the paths in
@@ -418,7 +419,8 @@ in
       '';
 
     boot.initrd.availableKernelModules =
-      optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx";
+      optional cfg.writableStore "overlay"
+      ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx";
 
     virtualisation.bootDevice =
       mkDefault (if cfg.qemu.diskInterface == "scsi" then "/dev/sda" else "/dev/vda");
@@ -438,13 +440,13 @@ in
         ${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} =
           { device = "store";
             fsType = "9p";
-            options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ];
+            options = [ "trans=virtio" "version=9p2000.L" "veryloose" ];
             neededForBoot = true;
           };
         "/tmp/xchg" =
           { device = "xchg";
             fsType = "9p";
-            options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ];
+            options = [ "trans=virtio" "version=9p2000.L" "veryloose" ];
             neededForBoot = true;
           };
         "/tmp/shared" =
@@ -453,12 +455,6 @@ in
             options = [ "trans=virtio" "version=9p2000.L" ];
             neededForBoot = true;
           };
-      } // optionalAttrs cfg.writableStore
-      { "/nix/store" =
-          { fsType = "unionfs-fuse";
-            device = "unionfs";
-            options = [ "allow_other" "cow" "nonempty" "chroot=/mnt-root" "max_files=32768" "hide_meta_files" "dirs=/nix/.rw-store=rw:/nix/.ro-store=ro" ];
-          };
       } // optionalAttrs (cfg.writableStore && cfg.writableStoreUseTmpfs)
       { "/nix/.rw-store" =
           { fsType = "tmpfs";
@@ -478,7 +474,7 @@ in
     boot.initrd.luks.devices = mkVMOverride {};
 
     # Don't run ntpd in the guest.  It should get the correct time from KVM.
-    services.ntp.enable = false;
+    services.timesyncd.enable = false;
 
     system.build.vm = pkgs.runCommand "nixos-vm" { preferLocalBuild = true; }
       ''
diff --git a/nixos/modules/virtualisation/xen-domU.nix b/nixos/modules/virtualisation/xen-domU.nix
index 2db3190ad139..8dd0d1dbfd2c 100644
--- a/nixos/modules/virtualisation/xen-domU.nix
+++ b/nixos/modules/virtualisation/xen-domU.nix
@@ -18,5 +18,5 @@
   services.syslogd.tty = "hvc0";
 
   # Don't run ntpd, since we should get the correct time from Dom0.
-  services.ntp.enable = false;
+  services.timesyncd.enable = false;
 }
diff --git a/nixos/release.nix b/nixos/release.nix
index 683e09f431f1..dfa9b67654fb 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -242,6 +242,7 @@ in rec {
   tests.firewall = callTest tests/firewall.nix {};
   tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });
   #tests.gitlab = callTest tests/gitlab.nix {};
+  tests.glance = callTest tests/glance.nix {};
   tests.gocd-agent = callTest tests/gocd-agent.nix {};
   tests.gocd-server = callTest tests/gocd-server.nix {};
   tests.gnome3 = callTest tests/gnome3.nix {};
@@ -258,6 +259,7 @@ in rec {
   tests.kde5 = callTest tests/kde5.nix {};
   tests.keymap = callSubTests tests/keymap.nix {};
   tests.initrdNetwork = callTest tests/initrd-network.nix {};
+  tests.keystone = callTest tests/keystone.nix {};
   tests.kubernetes = hydraJob (import tests/kubernetes.nix { system = "x86_64-linux"; });
   tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
   #tests.lightdm = callTest tests/lightdm.nix {};
diff --git a/nixos/tests/docker-registry.nix b/nixos/tests/docker-registry.nix
index df24686aba8e..109fca440e57 100644
--- a/nixos/tests/docker-registry.nix
+++ b/nixos/tests/docker-registry.nix
@@ -16,13 +16,11 @@ import ./make-test.nix ({ pkgs, ...} : {
 
     client1 = { config, pkgs, ...}: {
       virtualisation.docker.enable = true;
-      virtualisation.docker.socketActivation = false;
       virtualisation.docker.extraOptions = "--insecure-registry registry:8080";
     };
 
     client2 = { config, pkgs, ...}: {
       virtualisation.docker.enable = true;
-      virtualisation.docker.socketActivation = false;
       virtualisation.docker.extraOptions = "--insecure-registry registry:8080";
     };
   };
diff --git a/nixos/tests/glance.nix b/nixos/tests/glance.nix
new file mode 100644
index 000000000000..992b77227a4b
--- /dev/null
+++ b/nixos/tests/glance.nix
@@ -0,0 +1,77 @@
+{ system ? builtins.currentSystem }:
+
+with import ../lib/testing.nix { inherit system; };
+with pkgs.lib;
+
+let
+  glanceMysqlPassword = "glanceMysqlPassword";
+  glanceAdminPassword = "glanceAdminPassword";
+
+  createDb = pkgs.writeText "db-provisionning.sql" ''
+    create database keystone;
+    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
+    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
+
+    create database glance;
+    GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '${glanceMysqlPassword}';
+    GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '${glanceMysqlPassword}';
+  '';
+
+  image =
+    (import ../lib/eval-config.nix {
+      inherit system;
+      modules = [ ../../nixos/modules/virtualisation/nova-image.nix ];
+    }).config.system.build.novaImage;
+
+  # The admin keystone account
+  adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=keystone OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
+
+in makeTest {
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ lewo ];
+  };
+  machine =
+    { config, pkgs, ... }:
+    {
+      services.mysql.enable = true;
+      services.mysql.package = pkgs.mysql;
+      services.mysql.initialScript = createDb;
+
+      virtualisation = {
+        openstack.keystone = {
+          enable = true;
+          database.password = { value = "keystone"; storage = "fromNixStore"; };
+          adminToken = { value = "adminToken"; storage = "fromNixStore"; };
+          bootstrap.enable = true;
+          bootstrap.adminPassword = { value = "keystone"; storage = "fromNixStore"; };
+        };
+
+        openstack.glance = {
+          enable = true;
+          database.password = { value = glanceMysqlPassword; storage = "fromNixStore"; };
+          servicePassword = { value = glanceAdminPassword; storage = "fromNixStore"; };
+
+          bootstrap = {
+            enable = true;
+            keystoneAdminPassword = { value = "keystone"; storage = "fromNixStore"; };
+          };
+        };
+
+        memorySize = 2096;
+        diskSize = 4 * 1024;
+        };
+
+      environment.systemPackages = with pkgs.pythonPackages; with pkgs; [
+        openstackclient
+      ];
+    };
+
+  testScript =
+    ''
+     $machine->waitForUnit("glance-api.service");
+
+     # Since Glance api can take time to start, we retry until success
+     $machine->waitUntilSucceeds("${adminOpenstackCmd} image create nixos --file ${image}/nixos.img --disk-format qcow2 --container-format bare --public");
+     $machine->succeed("${adminOpenstackCmd} image list") =~ /nixos/ or die;
+    '';
+}
diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix
index bd8f9502e2fc..4787d42d695a 100644
--- a/nixos/tests/gnome3.nix
+++ b/nixos/tests/gnome3.nix
@@ -29,7 +29,7 @@ import ./make-test.nix ({ pkgs, ...} : {
       $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
       $machine->succeed("xauth merge ~alice/.Xauthority");
       $machine->waitForWindow(qr/Terminal/);
-      $machine->mustSucceed("timeout 900 bash -c 'journalctl -f|grep -m 1 \"GNOME Shell started\"'");
+      $machine->succeed("timeout 900 bash -c 'while read msg; do if [[ \$msg =~ \"GNOME Shell started\" ]]; then break; fi; done < <(journalctl -f)'");
       $machine->sleep(10);
       $machine->screenshot("screen");
     '';
diff --git a/nixos/tests/kde5.nix b/nixos/tests/kde5.nix
index 30a0d09d18bb..2b61d6f3f0a1 100644
--- a/nixos/tests/kde5.nix
+++ b/nixos/tests/kde5.nix
@@ -18,10 +18,9 @@ import ./make-test.nix ({ pkgs, ...} :
       };
     };
     services.xserver.desktopManager.kde5.enable = true;
+    virtualisation.writableStore = false; # FIXME
   };
 
-  enableOCR = true;
-
   testScript = { nodes, ... }:
   let xdo = "${pkgs.xdotool}/bin/xdotool"; in
    ''
diff --git a/nixos/tests/keystone.nix b/nixos/tests/keystone.nix
new file mode 100644
index 000000000000..358e352f776f
--- /dev/null
+++ b/nixos/tests/keystone.nix
@@ -0,0 +1,82 @@
+{ system ? builtins.currentSystem }:
+
+with import ../lib/testing.nix { inherit system; };
+with pkgs.lib;
+
+let
+  keystoneMysqlPassword = "keystoneMysqlPassword";
+  keystoneMysqlPasswordFile = "/var/run/keystoneMysqlPassword";
+  keystoneAdminPassword = "keystoneAdminPassword";
+
+  createKeystoneDb = pkgs.writeText "create-keystone-db.sql" ''
+    create database keystone;
+    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '${keystoneMysqlPassword}';
+    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '${keystoneMysqlPassword}';
+  '';
+  # The admin keystone account
+  adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=${keystoneAdminPassword} OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
+  # The created demo keystone account
+  demoOpenstackCmd = "OS_TENANT_NAME=demo OS_USERNAME=demo OS_PASSWORD=demo OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
+
+in makeTest {
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ lewo ];
+  };
+  machine =
+    { config, pkgs, ... }:
+    {
+      # This is to simulate nixops deployment process.
+      # https://nixos.org/nixops/manual/#opt-deployment.keys
+      boot.postBootCommands = "echo ${keystoneMysqlPassword} > ${keystoneMysqlPasswordFile}";
+
+      services.mysql.enable = true;
+      services.mysql.initialScript = createKeystoneDb;
+
+      virtualisation = {
+
+        openstack.keystone = {
+	  enable = true;
+	  # Check if we can get the secret from a file
+	  database.password = {
+	    value = keystoneMysqlPasswordFile;
+	    storage = "fromFile";
+	  };
+	  adminToken = {
+	    value = "adminToken";
+	    storage = "fromNixStore";
+	  };
+
+	  bootstrap.enable = true;
+	  # Check if we can get the secret from the store
+	  bootstrap.adminPassword = {
+	    value = keystoneAdminPassword;
+	    storage = "fromNixStore";
+	  };
+	};
+
+        memorySize = 2096;
+        diskSize = 4 * 1024;
+	};
+
+      environment.systemPackages = with pkgs.pythonPackages; with pkgs; [
+        openstackclient
+      ];
+    };
+
+  testScript =
+    ''
+     $machine->waitForUnit("keystone-all.service");
+
+     # Verify that admin ccount is working
+     $machine->succeed("${adminOpenstackCmd} token issue");
+
+     # Try to create a new user
+     $machine->succeed("${adminOpenstackCmd} project create --domain default --description 'Demo Project' demo");
+     $machine->succeed("${adminOpenstackCmd} user create --domain default --password demo demo");
+     $machine->succeed("${adminOpenstackCmd} role create user");
+     $machine->succeed("${adminOpenstackCmd} role add --project demo --user demo user");
+
+     # Verify this new account is working
+     $machine->succeed("${demoOpenstackCmd} token issue");
+    '';
+}
diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix
index 390363b88e21..291544996889 100644
--- a/nixos/tests/openssh.nix
+++ b/nixos/tests/openssh.nix
@@ -35,6 +35,18 @@ in {
         ];
       };
 
+    server_lazy =
+      { config, pkgs, ... }:
+
+      {
+        services.openssh = { enable = true; startWhenNeeded = true; };
+        security.pam.services.sshd.limits =
+          [ { domain = "*"; item = "memlock"; type = "-"; value = 1024; } ];
+        users.extraUsers.root.openssh.authorizedKeys.keys = [
+          snakeOilPublicKey
+        ];
+      };
+
     client =
       { config, pkgs, ... }: { };
 
@@ -50,6 +62,8 @@ in {
     subtest "manual-authkey", sub {
       $server->succeed("mkdir -m 700 /root/.ssh");
       $server->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys");
+      $server_lazy->succeed("mkdir -m 700 /root/.ssh");
+      $server_lazy->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys");
 
       $client->succeed("mkdir -m 700 /root/.ssh");
       $client->copyFileFromHost("key", "/root/.ssh/id_ed25519");
@@ -58,6 +72,10 @@ in {
       $client->waitForUnit("network.target");
       $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2");
       $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024");
+
+      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2");
+      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024");
+
     };
 
     subtest "configured-authkey", sub {
@@ -66,6 +84,11 @@ in {
       $client->succeed("ssh -o UserKnownHostsFile=/dev/null" .
                        " -o StrictHostKeyChecking=no -i privkey.snakeoil" .
                        " server true");
+
+      $client->succeed("ssh -o UserKnownHostsFile=/dev/null" .
+                       " -o StrictHostKeyChecking=no -i privkey.snakeoil" .
+                       " server_lazy true");
+
     };
   '';
 })
diff --git a/nixos/tests/prometheus.nix b/nixos/tests/prometheus.nix
index 7605227100d2..ade097597bb8 100644
--- a/nixos/tests/prometheus.nix
+++ b/nixos/tests/prometheus.nix
@@ -10,7 +10,7 @@ import ./make-test.nix {
         };
         scrapeConfigs = [{
           job_name = "prometheus";
-          target_groups = [{
+          static_configs = [{
             targets = [ "127.0.0.1:9090" ];
             labels = { instance = "localhost"; };
           }];
diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix
index 22a9e1bd2c7c..041d88fbeae6 100644
--- a/nixos/tests/sddm.nix
+++ b/nixos/tests/sddm.nix
@@ -19,8 +19,6 @@ import ./make-test.nix ({ pkgs, ...} : {
     services.xserver.desktopManager.default = "none";
   };
 
-  enableOCR = true;
-
   testScript = { nodes, ... }: ''
     startAll;
     $machine->waitForFile("/home/alice/.Xauthority");
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 0d2e656bae2c..1d9b897188d7 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -32,4 +32,6 @@ rec {
   primecoin  = callPackage ./primecoin.nix { withGui = true; };
   primecoind = callPackage ./primecoin.nix { withGui = false; };
 
+  stellar-core = callPackage ./stellar-core.nix { };
+
 }
diff --git a/pkgs/applications/altcoins/stellar-core-dirty-version.patch b/pkgs/applications/altcoins/stellar-core-dirty-version.patch
new file mode 100644
index 000000000000..57d66ce5919a
--- /dev/null
+++ b/pkgs/applications/altcoins/stellar-core-dirty-version.patch
@@ -0,0 +1,15 @@
+Subject: Prevent "-dirty" from being erroneously added to the version
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index d36d1a3..00048fc 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -28,7 +28,7 @@ always:
+ # Always rebuild because .git/HEAD is a symbolic ref one can't depend on
+ StellarCoreVersion.h: always
+ 	@vers=$$(cd "$(srcdir)" \
+-		&& git describe --always --dirty --tags 2>/dev/null \
++		&& git describe --always --tags 2>/dev/null \
+ 		|| echo "$(PACKAGE) $(VERSION)"); \
+ 	    echo "#define STELLAR_CORE_VERSION \"$$vers\"" > $@~
+ 	@if cmp -s $@~ $@; then rm -f $@~; else \
diff --git a/pkgs/applications/altcoins/stellar-core.nix b/pkgs/applications/altcoins/stellar-core.nix
new file mode 100644
index 000000000000..8d365590147b
--- /dev/null
+++ b/pkgs/applications/altcoins/stellar-core.nix
@@ -0,0 +1,46 @@
+{ stdenv, lib, fetchgit, autoconf, libtool, automake, pkgconfig, git
+, bison, flex, postgresql }:
+
+let
+  pname = "stellar-core";
+  version = "0.5.1";
+
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/stellar/stellar-core.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0ldw3qr0sajgam38z2w2iym0214ial6iahbzx3b965cw92n8n88z";
+    fetchSubmodules = true;
+    leaveDotGit = true;
+  };
+
+  buildInputs = [ autoconf automake libtool pkgconfig git ];
+
+  propagatedBuildInputs = [ bison flex postgresql ];
+
+  patches = [ ./stellar-core-dirty-version.patch ];
+
+  preConfigure = ''
+    # Everything needs to be staged in git because the build uses
+    # `git ls-files` to search for source files to compile.
+    git add .
+
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Implements the Stellar Consensus Protocol, a federated consensus protocol";
+    longDescription = ''
+      Stellar-core is the backbone of the Stellar network. It maintains a
+      local copy of the ledger, communicating and staying in sync with other
+      instances of stellar-core on the network. Optionally, stellar-core can
+      store historical records of the ledger and participate in consensus.
+    '';
+    homepage = https://www.stellar.org/;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ chris-martin ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/applications/audio/ardour/ardour3.nix b/pkgs/applications/audio/ardour/ardour3.nix
index 13fea9a99afe..0db951049703 100644
--- a/pkgs/applications/audio/ardour/ardour3.nix
+++ b/pkgs/applications/audio/ardour/ardour3.nix
@@ -2,8 +2,8 @@
 , fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
 , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
 , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
-, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango
-, perl, pkgconfig, python2, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }:
+, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
+, perl, pkgconfig, python2, rubberband, serd, sord, sratom, suil, taglib, vampSDK }:
 
 let
 
@@ -38,12 +38,12 @@ stdenv.mkDerivation rec {
     sha256 = "0pnnx22asizin5rvf352nfv6003zarw3jd64magp10310wrfiwbq";
   };
 
-  buildInputs = 
+  buildInputs =
     [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
       glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
       libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
-      libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2
-      makeWrapper pango perl pkgconfig python2 rubberband serd sord-svn sratom suil taglib vampSDK
+      libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
+      makeWrapper pango perl pkgconfig python2 rubberband serd sord sratom suil taglib vampSDK
     ];
 
   patchPhase = ''
diff --git a/pkgs/applications/audio/ardour/ardour4.nix b/pkgs/applications/audio/ardour/ardour4.nix
index b6123f40ee1d..e6a0ff66b3ca 100644
--- a/pkgs/applications/audio/ardour/ardour4.nix
+++ b/pkgs/applications/audio/ardour/ardour4.nix
@@ -2,8 +2,8 @@
 , fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
 , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
 , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
-, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango
-, perl, pkgconfig, python2, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }:
+, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
+, perl, pkgconfig, python2, rubberband, serd, sord, sratom, suil, taglib, vampSDK }:
 
 let
 
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
     [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
       glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
       libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
-      libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2
-      makeWrapper pango perl pkgconfig python2 rubberband serd sord-svn sratom suil taglib vampSDK
+      libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
+      makeWrapper pango perl pkgconfig python2 rubberband serd sord sratom suil taglib vampSDK
     ];
 
   # ardour's wscript has a "tarball" target but that required the git revision
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix
index ab228766e136..5e9e71f42cb5 100644
--- a/pkgs/applications/audio/ardour/default.nix
+++ b/pkgs/applications/audio/ardour/default.nix
@@ -2,8 +2,8 @@
 , fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
 , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
 , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
-, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper
-, perl, pkgconfig, python2, rubberband, serd, sord-svn, sratom
+, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper
+, perl, pkgconfig, python2, rubberband, serd, sord, sratom
 , taglib, vampSDK, dbus, fftw, pango, suil, libarchive }:
 
 let
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
     [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
       glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
       libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
-      libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2
-      makeWrapper pango perl pkgconfig python2 rubberband serd sord-svn
+      libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
+      makeWrapper pango perl pkgconfig python2 rubberband serd sord
       sratom suil taglib vampSDK libarchive
     ];
 
diff --git a/pkgs/applications/audio/audacious/qt-5.nix b/pkgs/applications/audio/audacious/qt-5.nix
new file mode 100644
index 000000000000..b86efe7eb97e
--- /dev/null
+++ b/pkgs/applications/audio/audacious/qt-5.nix
@@ -0,0 +1,89 @@
+{
+  stdenv, lib, fetchurl,
+  gettext, makeQtWrapper, pkgconfig,
+  qtbase,
+  alsaLib, curl, faad2, ffmpeg, flac, fluidsynth, gdk_pixbuf, lame, libbs2b,
+  libcddb, libcdio082, libcue, libjack2, libmad, libmcs, libmms, libmodplug,
+  libmowgli, libnotify, libogg, libpulseaudio, libsamplerate, libsidplayfp,
+  libsndfile, libvorbis, libxml2, lirc, mpg123, neon, qtmultimedia, soxr,
+  wavpack
+}:
+
+let
+  version = "3.8.1";
+  sources = {
+    "audacious-${version}" = fetchurl {
+      url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
+      sha256 = "1k9blmgqia0df18l39bd2bbcwmjfxak6bd286vcd9zzmjhqs4qdc";
+    };
+
+    "audacious-plugins-${version}" = fetchurl {
+      url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
+      sha256 = "0f16ivcp8nd83r781hnw1qgbs9hi2b2v22zwv7c3sw3jq1chb70h";
+    };
+  };
+in
+
+stdenv.mkDerivation {
+  inherit version;
+  name = "audacious-${version}";
+
+  sourceFiles = lib.attrValues sources;
+  sourceRoots = lib.attrNames sources;
+
+  nativeBuildInputs = [
+    gettext makeQtWrapper pkgconfig
+  ];
+
+  buildInputs = [
+    # Core dependencies
+    qtbase
+
+    # Plugin dependencies
+    alsaLib curl faad2 ffmpeg flac fluidsynth gdk_pixbuf lame libbs2b libcddb
+    libcdio082 libcue libjack2 libmad libmcs libmms libmodplug libmowgli
+    libnotify libogg libpulseaudio libsamplerate libsidplayfp libsndfile
+    libvorbis libxml2 lirc mpg123 neon qtmultimedia soxr wavpack
+  ];
+
+  configureFlags = [ "--enable-qt" "--disable-gtk" ];
+
+  # 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" ''
+    sourceFiles=( $sourceFiles )
+    sourceRoots=( $sourceRoots )
+    for (( i=0 ; i < ''${#sourceFiles[*]} ; i++ )); do
+
+      (
+        src=''${sourceFiles[$i]}
+        sourceRoot=''${sourceRoots[$i]}
+        source $stdenv/setup
+        genericBuild
+      )
+
+      if [ $i == 0 ]; then
+        nativeBuildInputs="$out $nativeBuildInputs"
+      fi
+
+    done
+
+    source $stdenv/setup
+    wrapQtProgram $out/bin/audacious
+    wrapQtProgram $out/bin/audtool
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Audio player";
+    homepage = http://audacious-media-player.org/;
+    maintainers = with maintainers; [ ttuegel ];
+    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/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index cc96f6dbbb31..f91fc03ec019 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -1,8 +1,10 @@
-{ stdenv, fetchurl, wxGTK30, pkgconfig, gettext, gtk2, glib, zlib, perl, intltool,
+{ stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2, glib, zlib, perl, intltool,
   libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame, fetchpatch,
   expat, libid3tag, ffmpeg, soundtouch /*, portaudio - given up fighting their portaudio.patch */
   }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   version = "2.1.2";
   name = "audacity-${version}";
@@ -23,12 +25,34 @@ stdenv.mkDerivation rec {
     mkdir lib-src
     mv lib-src-rm/{Makefile*,lib-widget-extra,portaudio-v19,portmixer,portsmf,FileDialog,sbsms,libnyquist} lib-src/
     rm -r lib-src-rm/
+
+    # we will get a (possibly harmless) warning during configure without this
+    substituteInPlace configure \
+      --replace /usr/bin/file ${file}/bin/file
   '';
 
-  configureFlags = [ "--with-libsamplerate" ];
+  configureFlags = [
+    "--with-libsamplerate"
+  ];
+
+  # audacity only looks for lame and ffmpeg at runtime, so we need to link them in manually
+  NIX_LDFLAGS = [
+    # LAME
+    "-lmp3lame"
+    # ffmpeg
+    "-lavcodec"
+    "-lavdevice"
+    "-lavfilter"
+    "-lavformat"
+    "-lavresample"
+    "-lavutil"
+    "-lpostproc"
+    "-lswresample"
+    "-lswscale"
+  ];
 
   buildInputs = [
-    pkgconfig gettext wxGTK30 expat alsaLib
+    pkgconfig file gettext wxGTK30 expat alsaLib
     libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil gtk2
     ffmpeg libmad lame libvorbis flac soundtouch
   ]; #ToDo: detach sbsms
@@ -36,11 +60,11 @@ stdenv.mkDerivation rec {
   dontDisableStatic = true;
   doCheck = false; # Test fails
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Sound editor with graphical UI";
     homepage = http://audacityteam.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    license = licenses.gpl2Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix
index e571758fabb3..52e29e3da4c8 100644
--- a/pkgs/applications/audio/flac/default.nix
+++ b/pkgs/applications/audio/flac/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libogg }:
 
 stdenv.mkDerivation rec {
-  name = "flac-1.3.1";
+  name = "flac-1.3.2";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/flac/${name}.tar.xz";
-    sha256 = "4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c";
+    sha256 = "0gymm2j3276kr9nz6vmgfwsdfrq6c449n40a0mzz8h6wc7nw7kwi";
   };
 
   buildInputs = [ libogg ];
diff --git a/pkgs/applications/audio/game-music-emu/default.nix b/pkgs/applications/audio/game-music-emu/default.nix
index 60d9c0e7b124..4f22ca62c1a8 100644
--- a/pkgs/applications/audio/game-music-emu/default.nix
+++ b/pkgs/applications/audio/game-music-emu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.0";
+  version = "0.6.1";
   name = "game-music-emu-${version}";
 
   src = fetchurl {
-    url = "https://game-music-emu.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "11s9l938nxbrk7qb2k1ppfgizcz00cakbxgv0gajc6hyqv882vjh";
+    url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${name}.tar.bz2";
+    sha256 = "08fk7zddpn7v93d0fa7fcypx7hvgwx9b5psj9l6m8b87k2hbw4fw";
   };
 
   buildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix
index 68990b11ef0f..7f4bc0b3e9ef 100644
--- a/pkgs/applications/audio/ingen/default.nix
+++ b/pkgs/applications/audio/ingen/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchgit, boost, ganv, glibmm, gtk2, gtkmm2, libjack2, lilv
-, lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
+{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
+, lv2, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
 , suil
 }:
 
@@ -14,21 +14,21 @@ stdenv.mkDerivation  rec {
   };
 
   buildInputs = [
-    boost ganv glibmm gtk2 gtkmm2 libjack2 lilv lv2Unstable makeWrapper pkgconfig
+    boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper pkgconfig
     python raul serd sord sratom suil
   ];
 
   configurePhase = ''
     sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript
-    python waf configure --prefix=$out
+    ${python.interpreter} waf configure --prefix=$out
   '';
 
   propagatedBuildInputs = [ rdflib ];
 
-  buildPhase = "python waf";
+  buildPhase = "${python.interpreter} waf";
 
   installPhase = ''
-    python waf install
+    ${python.interpreter} waf install
     for program in ingenams ingenish
     do
       wrapProgram $out/bin/$program \
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index d7454741ed59..856da9f742e4 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -5,13 +5,13 @@
 pythonPackages.buildPythonApplication rec {
   name = "mopidy-${version}";
 
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy";
     rev = "v${version}";
-    sha256 = "15i17rj2bh2kda6d6rwcjhs2m3nfsrcyq3lj9vbgmacg0cdb22pp";
+    sha256 = "0krq5fbscqxayyc4vxai7iwxm2kdbgs5jicrdb013v04phw2za06";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index 4b789e158bbf..bbd59f56f707 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -1,6 +1,4 @@
-{ stdenv, python2Packages, fetchurl, gettext
-, pkgconfig, libofa, ffmpeg, chromaprint
-}:
+{ stdenv, python2Packages, fetchurl, gettext, chromaprint }:
 
 let
   version = "1.3.2";
@@ -14,12 +12,7 @@ in pythonPackages.buildPythonApplication {
     sha256 = "0821xb7gyg0rhch8s3qkzmak90wjpcxkv9a364yv6bmqc12j6a77";
   };
 
-  buildInputs = [
-    pkgconfig
-    ffmpeg
-    libofa
-    gettext
-  ];
+  buildInputs = [ gettext ];
 
   propagatedBuildInputs = with pythonPackages; [
     pyqt4
diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix
index 631a5701591d..c140e1a46e55 100644
--- a/pkgs/applications/audio/puddletag/default.nix
+++ b/pkgs/applications/audio/puddletag/default.nix
@@ -1,10 +1,9 @@
 { stdenv, fetchFromGitHub, python2Packages, makeWrapper, chromaprint }:
 
 let
-  pypkgs = python2Packages;
   pname = "puddletag";
 
-in pypkgs.buildPythonApplication rec {
+in python2Packages.buildPythonApplication rec {
   name = "${pname}-${version}";
   version = "1.2.0";
 
@@ -17,11 +16,9 @@ in pypkgs.buildPythonApplication rec {
 
   sourceRoot = "${pname}-v${version}-src/source";
 
-  disabled = pypkgs.isPy3k; # work to support python 3 has not begun
+  disabled = python2Packages.isPy3k; # work to support python 3 has not begun
 
-  outputs = [ "out" ];
-
-  propagatedBuildInputs = [ chromaprint ] ++ (with pypkgs; [
+  propagatedBuildInputs = [ chromaprint ] ++ (with python2Packages; [
     configobj
     mutagen
     pyparsing
@@ -35,7 +32,7 @@ in pypkgs.buildPythonApplication rec {
     siteDir=$(toPythonPath $out)
     mkdir -p $siteDir
     PYTHONPATH=$PYTHONPATH:$siteDir
-    ${pypkgs.python.interpreter} setup.py install --prefix $out
+    ${python2Packages.python.interpreter} setup.py install --prefix $out
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 7bb8a5916124..b28f66aaad70 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-1.1.2";
+  name = "qmmp-1.1.5";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "023gvgchk6ybkz3miy0z08j9n5awz5cjvav7fqjdmpix4sivhn5q";
+    sha256 = "1gfx6nm9v6qrx58gxib6grfhb45mnib1n4wdsnjq16br6bs8h4lv";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 0ff4e2c1cbc3..1f8924cd03ee 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -6,7 +6,7 @@ assert stdenv.system == "x86_64-linux";
 
 let
   # Please update the stable branch!
-  version = "1.0.43.125.g376063c5-91";
+  version = "1.0.45.186.g3b5036d6-95";
 
   deps = [
     alsaLib
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
   src =
     fetchurl {
       url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-      sha256 = "1qkyfqi6dy8sggq8kakl6y03l6w2fcxb22ya3kxb4d468bifss3v";
+      sha256 = "0fpvz1mzyva1sypg4gjmrv0clckb0c3xwjfcxnb8gvkxx9vm56p1";
     };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/audio/ssrc/default.nix b/pkgs/applications/audio/ssrc/default.nix
new file mode 100644
index 000000000000..fa2b54d0e8a1
--- /dev/null
+++ b/pkgs/applications/audio/ssrc/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "ssrc";
+  name = "${pname}-${version}";
+  version = "1.33";
+
+  src = fetchFromGitHub {
+    owner = "shibatch";
+    repo = "SSRC";
+    rev = "4adf75116dfc0ef709fef74a0e2f3360bd15007f";
+    sha256 = "0hgma66v7sszkpz5jkyscj0q6lmjfqdwf1hw57535c012pa2vdrh";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ssrc ssrc_hp $out/bin
+    '';
+
+  meta = with stdenv.lib; {
+    description = "A high quality audio sampling rate converter";
+    longDescription = ''
+      This program converts sampling rates of PCM wav files. This
+      program also has a function to apply dither to its output and
+      extend perceived dynamic range.
+
+      Sampling rates of 44.1kHz and 48kHz are popularly used, but the
+      ratio between these two frequencies is 147:160, which are not
+      small numbers. As a result, sampling rate conversion without
+      degradation of sound quality requires filter with very large
+      order, and it is difficult to have both quality and speed. This
+      program quickly converts between these sampling frequencies
+      without audible degradation.
+    '';
+
+    version = "${version}";
+    homepage = "http://shibatch.sourceforge.net/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ leenaars];
+    platforms = with platforms; [ linux ] ;
+  };
+}
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 2e14ae339cf7..28b6b2b85ad4 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -9,7 +9,6 @@
 , gnugrep
 , gnutar
 , gzip
-, jdk
 , fontconfig
 , freetype
 , libpulseaudio
@@ -29,6 +28,7 @@
 , writeTextFile
 , xkeyboard_config
 , zlib
+, fontsConf
 }:
 
 let
@@ -44,50 +44,57 @@ let
     ];
     installPhase = ''
       cp -r . $out
-      wrapProgram $out/bin/studio.sh --set PATH "${stdenv.lib.makeBinPath [
+      wrapProgram $out/bin/studio.sh \
+        --set PATH "${stdenv.lib.makeBinPath [
 
-        # Checked in studio.sh
-        coreutils
-        findutils
-        gnugrep
-        jdk
-        which
+          # Checked in studio.sh
+          coreutils
+          findutils
+          gnugrep
+          which
 
-        # For Android emulator
-        file
-        glxinfo
-        pciutils
-        setxkbmap
+          # For Android emulator
+          file
+          glxinfo
+          pciutils
+          setxkbmap
 
-        # Used during setup wizard
-        gnutar
-        gzip
+          # Used during setup wizard
+          gnutar
+          gzip
 
-        # Runtime stuff
-        git
+          # Runtime stuff
+          git
 
-      ]}" --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
-        # Gradle wants libstdc++.so.6
-        stdenv.cc.cc.lib
-        # mksdcard wants 32 bit libstdc++.so.6
-        pkgsi686Linux.stdenv.cc.cc.lib
+        ]}" \
+        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
 
-        # aapt wants libz.so.1
-        zlib
-        pkgsi686Linux.zlib
-        # Support multiple monitors
-        libXrandr
+          # Crash at startup without these
+          fontconfig
+          freetype
+          libXext
+          libXi
+          libXrender
+          libXtst
 
-        # For Android emulator
-        libpulseaudio
-        libX11
-        libXext
-        libXrender
-        libXtst
-        libXi
-        freetype
-        fontconfig
-      ]}" --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb"
+          # Gradle wants libstdc++.so.6
+          stdenv.cc.cc.lib
+          # mksdcard wants 32 bit libstdc++.so.6
+          pkgsi686Linux.stdenv.cc.cc.lib
+
+          # aapt wants libz.so.1
+          zlib
+          pkgsi686Linux.zlib
+          # Support multiple monitors
+          libXrandr
+
+          # For Android emulator
+          libpulseaudio
+          libX11
+
+        ]}" \
+        --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
+        --set FONTCONFIG_FILE ${fontsConf}
     '';
     src = fetchurl {
       url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip";
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 58eb2e568c16..51d2f26eb0d5 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.12.7";
+  version = "1.12.9";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "1kkw6wixri8iddnmscza1d4riq4m9yr78y0d9y76vdnxarma0bfq";
+    sha256 = "1yp4wwv0vxsad7jqkn2rj4n7k2ccgqscs89p3j6z8vpm6as0i6sg";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 4663e8c64f8b..cde3475196f3 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -88,16 +88,16 @@ rec {
   eclipse-platform = eclipse-platform-46;
 
   eclipse-platform-46 = buildEclipse {
-    name = "eclipse-platform-4.6.1";
-    description = "Eclipse platform";
+    name = "eclipse-platform-4.6.2";
+    description = "Eclipse Platform Neon 2";
     sources = {
       "x86_64-linux" = fetchurl {
-          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-linux-gtk-x86_64.tar.gz;
-          sha256 = "1mr7sj4whz23iwz5j6mbqd80a39177qv0r7b6cip7dji4n2agl8j";
+          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-platform-4.6.2-linux-gtk-x86_64.tar.gz;
+          sha256 = "1fmpirjkp210angyfz3nr5jp58snjy6784zkkbmdxkiyg9kg2wqq";
         };
       "i686-linux" = fetchurl {
-          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-linux-gtk.tar.gz;
-          sha256 = "0kgj0zpgzwx90q13c4mr8swf63azd56532ycxgq2rbs0d1qbl87j";
+          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-platform-4.6.2-linux-gtk.tar.gz;
+          sha256 = "0274g6ypiqsqkch10868ygbm6avc5pa57saz9wd196kdivl1bdpm";
         };
     };
   };
@@ -123,16 +123,16 @@ rec {
   ### Eclipse SDK
 
   eclipse-sdk-46 = buildEclipse {
-    name = "eclipse-sdk-4.6.1";
-    description = "Eclipse Neon Classic";
+    name = "eclipse-sdk-4.6.2";
+    description = "Eclipse Neon 2 Classic";
     sources = {
       "x86_64-linux" = fetchurl {
-          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-linux-gtk-x86_64.tar.gz;
-          sha256 = "1mr7sj4whz23iwz5j6mbqd80a39177qv0r7b6cip7dji4n2agl8j";
+          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-SDK-4.6.2-linux-gtk-x86_64.tar.gz;
+          sha256 = "0g3nk1gcz178j8xk6nblkfsaysm8gq8101383fx60x6w25rdfgjb";
         };
       "i686-linux" = fetchurl {
-          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-linux-gtk.tar.gz;
-          sha256 = "0kgj0zpgzwx90q13c4mr8swf63azd56532ycxgq2rbs0d1qbl87j";
+          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-SDK-4.6.2-linux-gtk.tar.gz;
+          sha256 = "09wlkcxs5h3j8habqxgr4all99vkgmyixc0vr9dj3qs0kl85k5mz";
         };
     };
   };
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 1ad97a0f7649..68859a7ac41e 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -171,12 +171,12 @@ rec {
 
   checkstyle = buildEclipseUpdateSite rec {
     name = "checkstyle-${version}";
-    version = "7.2.0.201611082205";
+    version = "7.3.0.201612142232";
 
     src = fetchzip {
       stripRoot = false;
-      url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/7.2.0/net.sf.eclipsecs-updatesite_${version}.zip";
-      sha256 = "1zngyrh5ckgli0xxm52vm6mzbbvrjslwqcymggfqjhzplpcgwqk1";
+      url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/7.3.0/net.sf.eclipsecs-updatesite_${version}.zip";
+      sha256 = "1mbiszwnakfmjx5mnh9h2rrp9jzizkmz89p8z4spq2m9kwy1lkqj";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix
index 650a551cb601..9cb644cc9315 100644
--- a/pkgs/applications/editors/ed/default.nix
+++ b/pkgs/applications/editors/ed/default.nix
@@ -9,7 +9,12 @@ stdenv.mkDerivation rec {
     # When updating, please make sure the sources pulled match those upstream by
     # Unpacking both tarballs and running `find . -type f -exec sha256sum \{\} \; | sha256sum`
     # in the resulting directory
-    url = "http://fossies.org/linux/privat/${name}.tar.bz2";
+    urls = let file_md5 = "fb8ffc8d8072e13dd5799131e889bfa5"; # for fedora mirror
+      in [
+        ("http://pkgs.fedoraproject.org/repo/extras/ed"
+          + "/${name}.tar.bz2/${file_md5}/${name}.tar.bz2")
+        "http://fossies.org/linux/privat/${name}.tar.bz2"
+      ];
     sha256 = "1iym2fsamxr886l3sz8lqzgf00bip5cr0aly8jp04f89kf5mvl0j";
   };
 
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index 4d9d903c7d6e..7c56b1ab6e56 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -175,10 +175,10 @@
       }) {};
     auctex = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "auctex";
-        version = "11.89.7";
+        version = "11.89.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-11.89.7.tar";
-          sha256 = "03sxdh6dv4m98yq09hxcph2lgidai8ky22i9acjcp6vfjlsb9mlf";
+          url = "https://elpa.gnu.org/packages/auctex-11.89.8.tar";
+          sha256 = "0rilldzb7sm7k22vfifdsnxz1an94jnn1bn8gfmqkac4g9cskl46";
         };
         packageRequires = [];
         meta = {
@@ -377,10 +377,10 @@
     context-coloring = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "context-coloring";
-        version = "8.0.1";
+        version = "8.1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/context-coloring-8.0.1.tar";
-          sha256 = "0c7sb8dzx6f40hz2l6zicc0shpxj3vzsmvdxzx65c4vgvr462js2";
+          url = "https://elpa.gnu.org/packages/context-coloring-8.1.0.tar";
+          sha256 = "01wm36qgxsg7lgdxkn7avzfmxcpilsmvfwz3s7y04i0sdrsjvzp4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -619,10 +619,10 @@
     el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
     elpaBuild {
         pname = "el-search";
-        version = "1.1.2";
+        version = "1.2.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/el-search-1.1.2.tar";
-          sha256 = "1cav55nx1045c3xasi5d76yyqi68ygp9dpqv9bazrqgcpsmw6y8b";
+          url = "https://elpa.gnu.org/packages/el-search-1.2.3.tar";
+          sha256 = "1d7iqr4fr0kr171fnjcm2n0bgcwzdh6jl585mwjf2zqnqszv13h0";
         };
         packageRequires = [ emacs stream ];
         meta = {
@@ -1087,10 +1087,10 @@
     loccur = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
     elpaBuild {
         pname = "loccur";
-        version = "1.2.2";
+        version = "1.2.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/loccur-1.2.2.el";
-          sha256 = "0ij5wzxysaikiccw7mjbw1sfylvih0n6b6yyp55vn8w1z2dba0xk";
+          url = "https://elpa.gnu.org/packages/loccur-1.2.3.el";
+          sha256 = "09pxp03g4pg95cpqiadyv9dz6qrwd9igrkwrhm4s38cscmqm7dzq";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1364,10 +1364,10 @@
       }) {};
     org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org";
-        version = "20161118";
+        version = "20161224";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-20161118.tar";
-          sha256 = "1w9g8r08kaiw9f4fjsj0hbffzq85rj734j5lxvbaafbnz7dbklk1";
+          url = "https://elpa.gnu.org/packages/org-20161224.tar";
+          sha256 = "0b10bjypn0w5ja776f8sxl1qpvb61iyz1n3c74jx6fqwypv7dmgi";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
index 4f027897c2cc..eebc140d2eb4 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
@@ -380,8 +380,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "7d3beb299399bc9d8190190fa59943b2a70a7f63";
-          sha256 = "14q0qg9a1kxgf89iy48g63nkj7m9hydipmqq670591v09awk877l";
+          rev = "03d9cb7b6c3ac60fd796a2ba8fdfe13552720d3b";
+          sha256 = "1dzy463jpfjz7qhr1zwx8n3xrba6zj87j6naf7xx4j704i03f9h8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/ac-emacs-eclim";
@@ -422,8 +422,8 @@
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-ac-emoji";
-          rev = "92b691efea755c32574f9f7d88f14191971c3981";
-          sha256 = "1x7l2wm76xbrwzskk4jfd2g3smr4cvhdy4zks7h3n2mhf8k6hx83";
+          rev = "40a639764eb654f1b4bb705c817b66032a26ff2b";
+          sha256 = "1gk84bv6w9lg5wrygd7cfab3h46j84k1dwmhzr7jay6n02q6y499";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/15f591f9cba367b071046fef5ae01bbbd0475ce3/recipes/ac-emoji";
@@ -733,12 +733,12 @@
     ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "ac-php";
-        version = "20160910.1747";
+        version = "20161229.1930";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "c6d330c9ea574e659e3e40698db85b59dd154bcf";
-          sha256 = "0n3wz9jpn2nyb35dykfyqaphkya63l06a9prnmaba4yydic3n6d0";
+          rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a";
+          sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -754,12 +754,12 @@
     ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }:
     melpaBuild {
         pname = "ac-php-core";
-        version = "20161210.1838";
+        version = "20161213.2320";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "c6d330c9ea574e659e3e40698db85b59dd154bcf";
-          sha256 = "0n3wz9jpn2nyb35dykfyqaphkya63l06a9prnmaba4yydic3n6d0";
+          rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a";
+          sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -1048,12 +1048,12 @@
     ace-popup-menu = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-popup-menu";
-        version = "20160522.519";
+        version = "20161231.1553";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "ace-popup-menu";
-          rev = "8c97cf2cd9decae3acaf6c858a986bdbc9d7ccff";
-          sha256 = "1afw9nxxd0shlg62w9ifc1wlf8vsw5ss8r52h5a5s8m3pnswlx2h";
+          rev = "423c59ac11899c66741aca3cad5dda46a167dfe4";
+          sha256 = "01gh26marr3h61lvqw0mdc7r3s6cr2s6g5vqxf84ip43fzhi9zc3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/53742e2242101c4b3b3901f5c74e24facf62c7d6/recipes/ace-popup-menu";
@@ -1257,12 +1257,12 @@
     ag = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ag";
-        version = "20161027.1758";
+        version = "20161228.1641";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "ag.el";
-          rev = "2427786228f13f5893a8513d4837d14d1a1b375f";
-          sha256 = "0jwdgpinz4as7npg7fhqycy6892p6i5g0gp5dd0n2n5r40gh620n";
+          rev = "754d0fea35059c583b9613c7924cebba74fe1319";
+          sha256 = "0s9idrnzvd8sdx266s3p4jgpx0zd7s0cb7f48wp319xmqh448p84";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/67f410ac3a58a038e194bcf174bc0a8ceceafb9a/recipes/ag";
@@ -1423,12 +1423,12 @@
     alchemist = callPackage ({ company, dash, elixir-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "alchemist";
-        version = "20161122.2304";
+        version = "20161220.2300";
         src = fetchFromGitHub {
           owner = "tonini";
           repo = "alchemist.el";
-          rev = "26762b767419b13211e331251def9159ee3f8c6b";
-          sha256 = "1bss5rgdp37zy4rlyx7j6rngrp9q2ijyr54n5z0r8asmd913r73q";
+          rev = "d90689ad51188711640e6660f449c21232b6815c";
+          sha256 = "0rsds06r53hrk1drq9sj5a2xkw3p2w986ziiqj143qrcp1yaig9z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6616dc61d17c5bd89bc4d226baab24a1f8e49b3e/recipes/alchemist";
@@ -1444,12 +1444,12 @@
     alda-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "alda-mode";
-        version = "20160322.0";
+        version = "20161213.1359";
         src = fetchFromGitHub {
           owner = "jgkamat";
           repo = "alda-mode";
-          rev = "f75173f4cb86259503ff4950e450e3fa7a37a808";
-          sha256 = "00s6z6f9nlqw528ppbwsglh9wshw8cpg2g102ywdsl28bwy3wvgj";
+          rev = "d8fcdc769d6b6b0729943b7dee2c85cf8ca3551b";
+          sha256 = "0660kfhaf7q82a5zp48938z7ddl47mhdwa3rfk1xzbh84xbd9hc2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2612c494a2b6bd43ffbbaef88ce9ee6327779158/recipes/alda-mode";
@@ -1465,12 +1465,12 @@
     alect-themes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "alect-themes";
-        version = "20161022.1101";
+        version = "20161218.1121";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "alect-themes";
-          rev = "ae90b8e05a14e3439a1e4061111fcc3f75776880";
-          sha256 = "0d0dw8xjsvavmsvcgc9n4200mdq9csfxhqsjwpfphqabk89kfsdk";
+          rev = "e01abf039a39de2fdc00a1b7f36842c5f68ff97d";
+          sha256 = "1nbr25003b0jlchy26l4pm1r4gxa2zprnqr8k0qvkhyrszjy78qg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/84c25a290ae4bcc4674434c83c66ae128e4c4282/recipes/alect-themes";
@@ -1528,12 +1528,12 @@
     all-ext = callPackage ({ all, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "all-ext";
-        version = "20160604.1501";
+        version = "20161216.415";
         src = fetchFromGitHub {
           owner = "rubikitch";
           repo = "all-ext";
-          rev = "2639955833132451679feae8a54ca157c1d864ce";
-          sha256 = "0g5g0nhq76v8jbhs38si6abwn4zv9qh7jl87qhhy3in8s1inswzf";
+          rev = "456bcf277158fc71f66ec11bff4c826c9b0db778";
+          sha256 = "091sf4m06s7c6wbckzcqfdz5g2lvh2q84hfny202kwq9j7fr7nlm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f8e4328cae9b4759a75da0b26ea8b68821bc71af/recipes/all-ext";
@@ -1549,12 +1549,12 @@
     all-the-icons = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "all-the-icons";
-        version = "20161102.415";
+        version = "20161219.329";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "all-the-icons.el";
-          rev = "b2d923e51d23e84198e21b025c656bf862eaced6";
-          sha256 = "0j5230nas9h6rn4wfsaf5pgd3yxxk615j68y2j01pjrrkxvrwqig";
+          rev = "1e4a1a0b53ffcb427fdbc6d13ee6e9c8d23e6216";
+          sha256 = "0nrihr280aqq58x65fjyrpci4bsam9ddhsnid2cf8jmsngpvhcdc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
@@ -1642,12 +1642,12 @@
     ample-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ample-theme";
-        version = "20161207.614";
+        version = "20161213.912";
         src = fetchFromGitHub {
           owner = "jordonbiondo";
           repo = "ample-theme";
-          rev = "ab3bdaa99dda8ac86a8be44162ac0f2374392950";
-          sha256 = "1ncwzjh46df89zsh8y0nprdv2wb06aq6swfc7byi0ghcbd8x3jv7";
+          rev = "8fbae3a9965f933c487f4cfdf2d881753d9feeb1";
+          sha256 = "0knzfxdncb1x41zqknv70p62zwr4k5nxf8l108x9w043drxc10lw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d448c03202137a461ed814ce87acfac23faf676e/recipes/ample-theme";
@@ -1913,12 +1913,12 @@
     ansible = callPackage ({ f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ansible";
-        version = "20161016.1658";
+        version = "20161218.1707";
         src = fetchFromGitHub {
           owner = "k1LoW";
           repo = "emacs-ansible";
-          rev = "c5e4c00135ae8860b8301d1227c3382a7c05ab09";
-          sha256 = "0v1asp6q1c744nad3hvhyw3llmpr0jz5yp8dlzfi82pdxk66qhp4";
+          rev = "a712d9b48809c975525cb059ea278cbe8a839f5a";
+          sha256 = "1jfksnk5fvr4h8mqb0mr2czyxnjmcdlrqdylvj0k0ks6xnskza91";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8e45bf58b980ff542a5e887707a6361eb5ac0492/recipes/ansible";
@@ -2822,12 +2822,12 @@
     atomic-chrome = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, websocket }:
     melpaBuild {
         pname = "atomic-chrome";
-        version = "20161114.409";
+        version = "20161213.730";
         src = fetchFromGitHub {
           owner = "alpha22jp";
           repo = "atomic-chrome";
-          rev = "62fa0dc6167bd65185ec5138bac5c60acdda2875";
-          sha256 = "117a10vns47wnhihblb66ngn581ngqbhbanwhakfc5kd4xflqcaz";
+          rev = "1b96d563c5d435baf8dfa9cdae5ef38ce34629b9";
+          sha256 = "0caiv0snjxj0f1p0rx18r1w4nbsk8shrin2dr2ddg54mpxzf8r98";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/35785773942a5510e2317ded5bdf872ffe434e8c/recipes/atomic-chrome";
@@ -2906,12 +2906,12 @@
     aurel = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "aurel";
-        version = "20161023.122";
+        version = "20161214.825";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "aurel";
-          rev = "a77e8afd1cc34a1f042be7b1c34a17eb699d826a";
-          sha256 = "0r4z97n99gh62yn21b2zzs4bc85hwbnyi4x1gllyrrmmb6qjg1lr";
+          rev = "122c10cf6359b6d353d7ac4e1cb9776f285853ee";
+          sha256 = "0i9ganx0n0dmy9p8xgd6mk0qxzw99y893f3nl61dah4yrcmlhcg7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d1612acd2cf1fea739739608113923ec51d307e9/recipes/aurel";
@@ -3714,6 +3714,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    autothemer = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "autothemer";
+        version = "20161221.1331";
+        src = fetchFromGitHub {
+          owner = "sebastiansturm";
+          repo = "autothemer";
+          rev = "add7d430e0be2f4cd7ccc622f8fbc8bc44be762f";
+          sha256 = "0av6r2frjsbfxxl7lh9r7ccmsrc9yxmllqq8r1y52dzpc18iihpx";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3d7d7beed6ba10d7aa6a36328a696ba2d0d21dc2/recipes/autothemer";
+          sha256 = "1lcyqfzx7qpkr3ajk0zi0mn32yvcwn06f61vhghn9c66xambsr7f";
+          name = "autothemer";
+        };
+        packageRequires = [ cl-lib dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/autothemer";
+          license = lib.licenses.free;
+        };
+      }) {};
     autumn-light-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "autumn-light-theme";
@@ -3735,17 +3756,19 @@
           license = lib.licenses.free;
         };
       }) {};
-    avandu = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
+    avandu = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
         pname = "avandu";
-        version = "20140412.1426";
-        src = fetchgit {
-          url = "git://ryuslash.org/avandu.git";
-          rev = "891a847b0fff0ec1abfa717ede28250a16d5c429";
-          sha256 = "01mcp4q8qsbcz2nfsfd5wndpnka7qfiqfn2f35y0pm56di7a49v5";
+        version = "20170101.1103";
+        src = fetchFromGitHub {
+          owner = "ryuslash";
+          repo = "avandu";
+          rev = "f44588d8e747fa880411cb4542cc39962252b90a";
+          sha256 = "097wls9k6qrf12nn8mpszfbqsaqc81956yqxns1sjs6dmjqi0c7z";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a67d2cd2d62c5deb4b9bbbe8efcd014c151f58e/recipes/avandu";
-          sha256 = "1pyjpdyk8s4zandz8n1wgyvn0mpvrqn7g34ljnpjr8xciv6qsfpq";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e1344e49e6a41ce390a047cb8d48090160b37b50/recipes/avandu";
+          sha256 = "174bd3vbvh0l9282bg8575nqc71zkg90bwbxbv1b7dz8qaaczhcy";
           name = "avandu";
         };
         packageRequires = [];
@@ -3757,12 +3780,12 @@
     avk-emacs-themes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "avk-emacs-themes";
-        version = "20161029.504";
+        version = "20161228.1236";
         src = fetchFromGitHub {
           owner = "avkoval";
           repo = "avk-emacs-themes";
-          rev = "d8c91d67c78d90d04f2cda01ded019c6931250d6";
-          sha256 = "1lyxx55yd1fd52r588j9g0vrx6nl5nl8msc5si8qfh7naprr4hh9";
+          rev = "a0ea17a380bebe28e00bb6855168a72aa28e8afc";
+          sha256 = "1n8ms7mxc4gr3mb1x6rd1k8wzfk0y6ix9q11p01ahaa9zizbkyfp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b986c7c981ccc5c7169930908543f2a515edaefa/recipes/avk-emacs-themes";
@@ -3820,12 +3843,12 @@
     avy-menu = callPackage ({ avy, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "avy-menu";
-        version = "20160126.425";
+        version = "20161231.1554";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "avy-menu";
-          rev = "bd32dde9b8d5695f28b87a198e683cf7c94a043b";
-          sha256 = "0bjx6fsrnx373fzndhwq4k6nbrvq4q2pxrmgd9lpi4fpdwxq635c";
+          rev = "75f4025ca53b9700ca5b478d85f5e53e887a6023";
+          sha256 = "05smmmf8hc8ksgq711gn7hd8a7z6zw6l2i86zbx5fb79s11sqjg0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f0b4cfb30c405d44803b36ebcaccef0cf87fe2d/recipes/avy-menu";
@@ -3841,12 +3864,12 @@
     avy-migemo = callPackage ({ avy, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, migemo }:
     melpaBuild {
         pname = "avy-migemo";
-        version = "20161129.621";
+        version = "20161229.605";
         src = fetchFromGitHub {
           owner = "momomo5717";
           repo = "avy-migemo";
-          rev = "f7861aa9607c0f05b3336443df5380a6daba0485";
-          sha256 = "0vxam51g7r4wixw7w8frk1af6m5n7bswjbjya77dnwxcizgwiq6m";
+          rev = "26e87aa7905a252b797e0bf592c9ff9eede165c1";
+          sha256 = "1bfrc7wxnzhjn07psa5z1cflxxr1k8qc4jgsz5w7ds3sn48aji48";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6a02db29eb3e4b76b4a9cdbc966df5a1bd35dec0/recipes/avy-migemo";
@@ -4048,6 +4071,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    backward-forward = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "backward-forward";
+        version = "20161228.2150";
+        src = fetchFromGitLab {
+          owner = "vancan1ty";
+          repo = "emacs-backward-forward";
+          rev = "58489957a62a0da25dfb5df902624d2548d800b4";
+          sha256 = "14v9q58vd0iggs8x8hjh24cv58g2pbwnr6zghd2anaygbj74ij24";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/cb44d7b604c50d4e07404c0dff071fbc66ea903d/recipes/backward-forward";
+          sha256 = "0kpy761xdk2s21s92cw03fgw5xq9glybrhnjv2v89xrg16vdvamf";
+          name = "backward-forward";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/backward-forward";
+          license = lib.licenses.free;
+        };
+      }) {};
     badger-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "badger-theme";
@@ -4135,12 +4179,12 @@
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "20161012.1122";
+        version = "20161227.1040";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "df75fdf19e9159d1249b1708c0d416dc334c97cb";
-          sha256 = "0zqhcm3i2aldhwrrd8wgq85jr5lxgwqvmd34zwykb76pcj0a21a4";
+          rev = "82e8fff5c22acbfeb1c77ea9442aada938b41d19";
+          sha256 = "1k1lm0hlp771vayv0laah2q67751ykc3gkv94s6axj02n8rs2zdv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -4841,12 +4885,12 @@
     bind-key = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bind-key";
-        version = "20160227.48";
+        version = "20161218.1520";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "c7adfdde3d50d783dcde21ac3ea8195bbd30369f";
-          sha256 = "1qkcnk2h1k6yv9sbkir2nkbjjnzcj3ndk20cysk2wcmwqxm85840";
+          rev = "5954ad37cf2d3c9237f4d2037e8619be15681cd1";
+          sha256 = "0scn6wrs6040j4z1gfmn9akzknjhaj2kr07kfzx1v42ibm42ihcd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d39d33af6b6c9af9fe49bda319ea05c711a1b16e/recipes/bind-key";
@@ -5006,6 +5050,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    blackboard-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "blackboard-theme";
+        version = "20161215.2256";
+        src = fetchFromGitHub {
+          owner = "don9z";
+          repo = "blackboard-theme";
+          rev = "d8b984f2541bb86eb4363a2b4c94631e49843d4a";
+          sha256 = "1jh2960yab6rhdq7ci1slpmnr43619cza0g8bfbq759yz5b7xryh";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/eca8cbcc1282bb061f769daf86b1938d1f30f704/recipes/blackboard-theme";
+          sha256 = "19cnfxrm85985ic55y5x7nwxdynjp7djyd33dhj8r7s92cs25fn7";
+          name = "blackboard-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/blackboard-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     blank-mode = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "blank-mode";
         version = "20130824.459";
@@ -5111,12 +5176,12 @@
     blog-admin = callPackage ({ ctable, f, fetchFromGitHub, fetchurl, lib, melpaBuild, names, s }:
     melpaBuild {
         pname = "blog-admin";
-        version = "20160609.1935";
+        version = "20161227.1810";
         src = fetchFromGitHub {
           owner = "CodeFalling";
           repo = "blog-admin";
-          rev = "fd97d405a5cd06b6246a433f31fc5af2077bb255";
-          sha256 = "0fia93kxmw5xkzyf434n3j4f0d6gijkli2mqi82j32z8wayrf307";
+          rev = "4a16df2a1e44f5486931af9c79f6ac55ce74b76f";
+          sha256 = "0xn2njbd3jsv7na0z87rhyg115cp2cppkgslldzi6405xkmfc76y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/blog-admin";
@@ -5257,7 +5322,7 @@
       }) {};
     bookmark-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "bookmark-plus";
-        version = "20161211.1601";
+        version = "20170102.909";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/bookmark+.el";
           sha256 = "05jf7rbaxfxrlmk2vq09p10mj80p529raqfy3ajsk8adgqsxw1lr";
@@ -5276,12 +5341,12 @@
     bool-flip = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bool-flip";
-        version = "20161030.1654";
+        version = "20161215.739";
         src = fetchFromGitHub {
           owner = "michaeljb";
           repo = "bool-flip";
-          rev = "04354f6412bd096cce59138e2113eb1db3dcba63";
-          sha256 = "1pdylz85sarhaakh8hdvn5mjhh4j3y6yy5sn4cjvqz9xan4g3yyl";
+          rev = "f58a9a7b9ab875bcfbd57c8262697ae404eb4485";
+          sha256 = "06q86a6dhc7jvq25yqqq3dsmrbm67h0ayb6nhd0q5l90yrmfqfjh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f56377a7c3f4b75206ad9ba570c35dbf752079e9/recipes/bool-flip";
@@ -5528,10 +5593,10 @@
     browse-kill-ring-plus = callPackage ({ browse-kill-ring, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "browse-kill-ring-plus";
-        version = "20151231.1221";
+        version = "20170102.910";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/browse-kill-ring+.el";
-          sha256 = "1z6pix1ml3s97jh34fwjj008ihlrz4hkipdh5yzcvc6nhrimjw2f";
+          sha256 = "0qps93fx9x7iy9m2061fkizw90y0d6y4q9wk0c8krpbny73a18v2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e700f4066e67991dd67f6476c783e0a5134723db/recipes/browse-kill-ring+";
@@ -5835,12 +5900,12 @@
     bui = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bui";
-        version = "20161122.946";
+        version = "20161213.735";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "bui.el";
-          rev = "65884653411b116029680d6c3154edd0eb9e5e9a";
-          sha256 = "1xiy7q79zbqyf0phq97zgkprj0j577xbnh24zh3fbs9i6nbiv46x";
+          rev = "b8f2fcfcdf4eff7fb502e75f25a2e6d974c3ca01";
+          sha256 = "1s7iigrdbdgavigssi2j82dky6cjahnrsnq9m9i5nvczj5xjdnpq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38b7c9345de75a707b4a73e8bb8e2f213e4fd739/recipes/bui";
@@ -6362,7 +6427,7 @@
         version = "20151009.845";
         src = fetchsvn {
           url = "http://caml.inria.fr/svn/ocaml/trunk/emacs/";
-          rev = "16555";
+          rev = "16556";
           sha256 = "16qw82m87i1fcnsccqcvr9l6p2cy0jdhljsgaivq0q10hdmbgqdw";
         };
         recipeFile = fetchurl {
@@ -6400,12 +6465,12 @@
     cargo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }:
     melpaBuild {
         pname = "cargo";
-        version = "20161116.35";
+        version = "20161227.1417";
         src = fetchFromGitHub {
           owner = "kwrooijen";
           repo = "cargo.el";
-          rev = "fb19a7e66f8478578edf7be71dadc1d75876248d";
-          sha256 = "0ksliwv8f2dhrgr423qn4zjmwm37v3hh5wpbfbz6ij6c2lrhx6j4";
+          rev = "156574632e47e49aeb7d17c1d2344e10c06c3acb";
+          sha256 = "00cfddcy60ps7ljw5zx7j14ig62kgf4m9kc7997vdyrsw466r5rz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e997b356b009b3d2ab467fe49b79d728a8cfe24b/recipes/cargo";
@@ -6572,8 +6637,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "4b69fa39539eec2c1cea5ba11ddf9cf20363a500";
-          sha256 = "0lh2dqmdy76ibp78pjsxvlm7j0649v7bqfifw9a5mfvwzlkihs85";
+          rev = "df9d8a8332c9f75498bfecd870d7296c6ba0b42e";
+          sha256 = "05ay6qkx77yl581jvikkf11dzny0v9h70iahss4bz5a37hawp4dd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7375cab750a67ede1a021b6a4371b678a7b991b0/recipes/ccc";
@@ -6614,8 +6679,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "4b69fa39539eec2c1cea5ba11ddf9cf20363a500";
-          sha256 = "0lh2dqmdy76ibp78pjsxvlm7j0649v7bqfifw9a5mfvwzlkihs85";
+          rev = "df9d8a8332c9f75498bfecd870d7296c6ba0b42e";
+          sha256 = "05ay6qkx77yl581jvikkf11dzny0v9h70iahss4bz5a37hawp4dd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b48fe069ecd95ea0f9768ecad969e0838344e45d/recipes/cdb";
@@ -6801,8 +6866,8 @@
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "334d1fc9b5638725ac7454dee5e95ea4f6ba8793";
-          sha256 = "1n8bz9j5qwkbyfp4jf5wr1injwybwnm66hp2rlfqnlrf9w54pyi2";
+          rev = "df262b76a025d2a837ed0331c4affe1998959249";
+          sha256 = "1lc6pfgn30fj4bcwzkxbpzvx17jdh99z2cp6yy53gmmgiimdm7bd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -6841,7 +6906,7 @@
         version = "20160801.615";
         src = fetchsvn {
           url = "http://beta.visl.sdu.dk/svn/visl/tools/vislcg3/trunk/emacs";
-          rev = "11919";
+          rev = "11929";
           sha256 = "1wbk9aslvcmwj3n28appdhl3p2m6jgrpb5cijij8fk0szzxi1hrl";
         };
         recipeFile = fetchurl {
@@ -6900,12 +6965,12 @@
     char-menu = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "char-menu";
-        version = "20160203.2215";
+        version = "20161231.1609";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "char-menu";
-          rev = "da1524f37453086d2c5178b62c5173fb66b2ca8e";
-          sha256 = "00jf4nv7i1ppsag5p91ldqa47i92ikxkfr7fzzp5kkp9swx1zvyb";
+          rev = "d0f87d8077e8516f562ae71d037839e164c987b1";
+          sha256 = "0nxpm9bq8003wyjb8sg741nn7fcgvmsd0lhi0i907xpmii7bbjp6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f6676747e853045b3b19e7fc9524c793c6a08303/recipes/char-menu";
@@ -6921,10 +6986,10 @@
     character-fold-plus = callPackage ({ fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "character-fold-plus";
-        version = "20160227.1503";
+        version = "20170102.916";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/character-fold+.el";
-          sha256 = "0xvgxjyl6s6hds7m9brzly6vxj06m47hxkw5h2riscq6l4nwc9vz";
+          sha256 = "0z6fc46sqdhnkpfichq9cnnnjmlcni0rxaj30rabpzkzmpsza79h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0bb32513eaaafded547058e3de84fc87710d2cf0/recipes/character-fold+";
@@ -7024,12 +7089,12 @@
     chee = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "chee";
-        version = "20161105.1306";
+        version = "20161212.1525";
         src = fetchFromGitHub {
           owner = "eikek";
           repo = "chee";
-          rev = "04d2104286ca6b92dcc28e448eeadfcc8fb7b548";
-          sha256 = "0lwp2hh8rxg1f98hzpdrz91snwryp9fqin9sch1vnyxywfp3g9kc";
+          rev = "48b1770e069a99eef10215f1ed268f852982fdd2";
+          sha256 = "0r9wg77vag8m4k23whcss9p65v2jq9ypmjm74y6r2qpb9l68pnlg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9f4a3775720924e5a292819511a8ea42efe1a7dc/recipes/chee";
@@ -7375,6 +7440,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    choice-program = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "choice-program";
+        version = "20161230.1721";
+        src = fetchFromGitHub {
+          owner = "plandes";
+          repo = "choice-program";
+          rev = "691ced104adc6dbb3ddf8c28563c1cd36eb165b1";
+          sha256 = "1jd0zj8g9nnzdfy76z9565sz6sd6690nbbi4zg71pxssmsqgkc3w";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/894357125db5035999a39514516852d7e957453e/recipes/choice-program";
+          sha256 = "0hhp6qhrshqrw4978xq6biwddm7gv7yf4avbb64xvz66i3a2kgy1";
+          name = "choice-program";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/choice-program";
+          license = lib.licenses.free;
+        };
+      }) {};
     chronos = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "chronos";
@@ -7396,22 +7482,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    chruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    chruby = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "chruby";
-        version = "20151204.430";
+        version = "20161222.430";
         src = fetchFromGitHub {
           owner = "plexus";
           repo = "chruby.el";
-          rev = "0b210f5bb8c38dbe4581e660055cf9bac93304d0";
-          sha256 = "0gx0bd7j71rlniq64vw8k59yzl070mdia05ry18br8kpsbk3bhrl";
+          rev = "04182d666e19963fa0389cb744fc5cce62049a62";
+          sha256 = "0cj5cs2bj7r5ijhz9vyfyzcq4mfccya34n9gs2vjdr2fg9mhgynx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1989a3c6fa4cd7aaf6b0b202f197eb7db51936b9/recipes/chruby";
           sha256 = "0pk6vdvmifiq52n452lbrkklxa69c40bfyzra9qhrghxr2q5v3mk";
           name = "chruby";
         };
-        packageRequires = [];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://melpa.org/#/chruby";
           license = lib.licenses.free;
@@ -7420,12 +7506,12 @@
     cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }:
     melpaBuild {
         pname = "cider";
-        version = "20161201.757";
+        version = "20161227.21";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "cider";
-          rev = "d19cf7d9d36c93eda56e1de63705a9c6c92e92ef";
-          sha256 = "1hn6kzbz3n1jxfsv23m49b0rjjzh7inf4klm31avhyndgas3bvgn";
+          rev = "0fcc4c98c91802417cadea90972a641a91baaf70";
+          sha256 = "0np2hv3x620lvdm1lznc9mjhi0jh06agkb475cbqvj9jw922zrqf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider";
@@ -7546,12 +7632,12 @@
     ciel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ciel";
-        version = "20161211.1946";
+        version = "20161230.2212";
         src = fetchFromGitHub {
           owner = "cs14095";
           repo = "ciel.el";
-          rev = "d8bf0d2829485886daddf8d4b11322a1ed7a0fc5";
-          sha256 = "1glswbpnvvngzahcn9jdy0jamr72xfcqaman6iqkgzxwj2kf84bn";
+          rev = "ea047b6c097255ea3709b56007d0d1a3b3d5c9bc";
+          sha256 = "1f0f2l3na49964wlyv8w99q2qqv5dsr880i6n1xin0q6yqms61yw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9c70c007a557ea9fb9eb4d3f8b7adbe4dac39c8a/recipes/ciel";
@@ -7696,7 +7782,7 @@
         version = "20161004.253";
         src = fetchsvn {
           url = "http://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format";
-          rev = "289430";
+          rev = "290889";
           sha256 = "1vbngm8xf7i8f3140y0dk704vagcws6is9waj9qsy6yg0vxmqp0y";
         };
         recipeFile = fetchurl {
@@ -7902,12 +7988,12 @@
     clj-refactor = callPackage ({ cider, clojure-mode, dash, edn, emacs, fetchFromGitHub, fetchurl, hydra, inflections, lib, melpaBuild, multiple-cursors, paredit, s, yasnippet }:
     melpaBuild {
         pname = "clj-refactor";
-        version = "20161211.1451";
+        version = "20161223.1457";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clj-refactor.el";
-          rev = "1b49cddfff0420aa5f1ca7b6d1753b4e1d35cb7d";
-          sha256 = "0ywvww3r3lb90hi41ngkxgxxw2y7kigr2a31nbbg2b6h508r44qr";
+          rev = "46a925305ad9cf3fce09921ce201e7f527d76e77";
+          sha256 = "1dxy1y02x2447ig0cfvjfhkiv8sih5d75hbdy6s9qhy2ljbmnjw3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2db268e55d10f7d1d5a5f02d35b2c27b12b78e/recipes/clj-refactor";
@@ -8082,12 +8168,12 @@
     clojure-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-mode";
-        version = "20161121.311";
+        version = "20161221.523";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "116278521899f205a067c47621d97e4968aacb71";
-          sha256 = "0s4cvymjxriw8zkzg0msvy9crrf0lrqg1gij2m5x2cvjhr60a0hi";
+          rev = "423c9e4ee43212c42e22b15fff4aa52c050ca90d";
+          sha256 = "09ik49nb40p082ykf2giszbxzlsc5m1zgsmfkq1j571qkn0cdzc9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode";
@@ -8107,8 +8193,8 @@
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "116278521899f205a067c47621d97e4968aacb71";
-          sha256 = "0s4cvymjxriw8zkzg0msvy9crrf0lrqg1gij2m5x2cvjhr60a0hi";
+          rev = "423c9e4ee43212c42e22b15fff4aa52c050ca90d";
+          sha256 = "09ik49nb40p082ykf2giszbxzlsc5m1zgsmfkq1j571qkn0cdzc9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode-extra-font-locking";
@@ -8163,22 +8249,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    clomacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    clomacs = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "clomacs";
-        version = "20161124.552";
+        version = "20161227.131";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clomacs";
-          rev = "0938671fef3311c5d7c1e46e06d5264e98254c96";
-          sha256 = "08qaw7g5mldi886hr0i46wihmij2sip81bdj9p8r4zmvm1gxly00";
+          rev = "6d8a3eb84f1c65724680f4a0dcef3d1d0a29f4e6";
+          sha256 = "082y5acfxbbihfxvzbps9f6k5p08nnrk604yvpi2m8hkyspyy4cb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/345f9797e87e3f5f957c167a5e3d33d1e31b50a3/recipes/clomacs";
           sha256 = "1vfjzrzp58ap75i0dh5bwnlkb8qbpfmrd3fg9n6aaibvvd2m3hyh";
           name = "clomacs";
         };
-        packageRequires = [];
+        packageRequires = [ cider emacs s ];
         meta = {
           homepage = "https://melpa.org/#/clomacs";
           license = lib.licenses.free;
@@ -8191,8 +8277,8 @@
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "closql";
-          rev = "8b063e70808049210b749164b8f22f56924b9949";
-          sha256 = "1qhm8zmidinr35lk0pff6nla3d05cqf81hjb55yrwvdvyr5gyl1k";
+          rev = "0bb0fa3dd1e545cbf025d42e253ddb00107156a3";
+          sha256 = "1mpycmj88gi62rhzxdv4933l318j3llphbc00b7rvzms55sgpcz5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/closql";
@@ -8250,12 +8336,12 @@
     clues-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clues-theme";
-        version = "20161210.1752";
+        version = "20161213.327";
         src = fetchFromGitHub {
           owner = "jasonm23";
           repo = "emacs-clues-theme";
-          rev = "16c05f6dbe7125358f8456110f237d68263e987a";
-          sha256 = "1lxd6wgg0d7nwg0rsj5fz0c3wwap567vwd7bfa2xj22z0b6cn49c";
+          rev = "abd61f2b7f3e98de58ca26e6d1230e70c6406cc7";
+          sha256 = "118k5bnlk9sc2n04saaxjncmc1a4m1wlf2y7xyklpffkazbd0m72";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bf43125306df445ac829c2edb98dd608bc1407de/recipes/clues-theme";
@@ -8313,12 +8399,12 @@
     cmake-ide = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, levenshtein, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "cmake-ide";
-        version = "20161203.804";
+        version = "20161229.138";
         src = fetchFromGitHub {
           owner = "atilaneves";
           repo = "cmake-ide";
-          rev = "379f8a45e6a210da53b7ee76f081420f371a2c2f";
-          sha256 = "189pvk3kgay05s671dq4xsqvvylz7rl38djr3hw5finjkrb26rkf";
+          rev = "393d6e9affa6f9978600b6c0ef8a4fe8bf73d813";
+          sha256 = "0lg6ky9h4a96w8mma668kxfv9dffw97h1swjq33cvhv5pp3p9rrr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17e8a8a5205d222950dc8e9245549a48894b864a/recipes/cmake-ide";
@@ -8338,8 +8424,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "3874843f0f5be9d53001517b3697e0d092f0e845";
-          sha256 = "1qnnba479wb065yq1xg6jaddvmix1cdy39d2wg4n704dks9pyp8f";
+          rev = "bd9b53ab33bb2185d526e8897cbd8f95c680b2c7";
+          sha256 = "0r6dqiaz8mj5xzhgwzlbn8lqxkg9kv65qwd8x1c8rqnjs3r86c9x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -8396,10 +8482,10 @@
       }) {};
     cmds-menu = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "cmds-menu";
-        version = "20160830.1130";
+        version = "20170102.917";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/cmds-menu.el";
-          sha256 = "00wl9qqqqznd3hk0zxc6l5zsnmkmqikzpirm5gj2lp1wqdkrbmi4";
+          sha256 = "0zkqpv7n4idzqkayildxkgaqsy1rjkmsf5ppkjld3jk1j53kacfc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/de6366e4b3e72a5e68b960d6bf4bab2683ad6800/recipes/cmds-menu";
@@ -8625,10 +8711,10 @@
     col-highlight = callPackage ({ fetchurl, lib, melpaBuild, vline }:
     melpaBuild {
         pname = "col-highlight";
-        version = "20151231.1233";
+        version = "20170102.918";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/col-highlight.el";
-          sha256 = "1fpkymmgv58b734d2rr7cfj2j2if1qkwgrpk3yp2ibw2n2567y0s";
+          sha256 = "0ayr0psmfjy8iqq779v12ccgzclwakzlcfsl7g98qvxxmkh1vm8j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2a16dca0068d9d4f25ad6b699ec8cb8da6ba17e5/recipes/col-highlight";
@@ -8790,12 +8876,12 @@
     color-theme-modern = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "color-theme-modern";
-        version = "20161029.720";
+        version = "20161219.344";
         src = fetchFromGitHub {
           owner = "emacs-jp";
           repo = "replace-colorthemes";
-          rev = "c76b6e8e702457fc2e8907b367efdafd3b7123d9";
-          sha256 = "0ffvjilk59mbq8mn069hr9q0a0w3yqy6v3r3q94ca22bsv0gwcmm";
+          rev = "42a79266f1d7b473e9328e67a455e505e6c3eff5";
+          sha256 = "0mw5rnzzc4yfcflg59viy81ziws680r44xr05qg032b5x02l8ar9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2db82e101916d8709b711034da5ca6e4072e1077/recipes/color-theme-modern";
@@ -9060,12 +9146,12 @@
     common-lisp-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "common-lisp-snippets";
-        version = "20160531.903";
+        version = "20161231.1557";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "common-lisp-snippets";
-          rev = "442ec783ee0e691a7b5554b13a317abd090ba080";
-          sha256 = "0iz5fgcp542hx26q6vmycfrfxyn58yjkdjr6zfn3mzhmxssaf1rc";
+          rev = "bb8d22994592a7e69ef8e613e8638882e4e0e404";
+          sha256 = "0i4w5jkz0yxnnapyijvjd5z1rcp0g3r3abj6hchb5yd26h1jcz8a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/48d0166ccd3dcdd3df4719349778c6c5ab6872ca/recipes/common-lisp-snippets";
@@ -9081,12 +9167,12 @@
     company = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company";
-        version = "20161211.1850";
+        version = "20161231.837";
         src = fetchFromGitHub {
           owner = "company-mode";
           repo = "company-mode";
-          rev = "21357f6d6274420d0f4fda07841daf0853b4749c";
-          sha256 = "0nywpm89vw2qsplwndijxzl8bga7i69j3aspf9qbypnhlbmkvm0z";
+          rev = "906deabef91c217658635e55f726a7de379e9560";
+          sha256 = "148q9wazdjzvd8lm810zknp12wfbqn3c4lbaf0v83kx0b4bkglyf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company";
@@ -9369,12 +9455,12 @@
     company-emacs-eclim = callPackage ({ cl-lib ? null, company, eclim, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-emacs-eclim";
-        version = "20160813.1754";
+        version = "20170101.1312";
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "7d3beb299399bc9d8190190fa59943b2a70a7f63";
-          sha256 = "14q0qg9a1kxgf89iy48g63nkj7m9hydipmqq670591v09awk877l";
+          rev = "03d9cb7b6c3ac60fd796a2ba8fdfe13552720d3b";
+          sha256 = "1dzy463jpfjz7qhr1zwx8n3xrba6zj87j6naf7xx4j704i03f9h8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/company-emacs-eclim";
@@ -9390,12 +9476,12 @@
     company-emoji = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-emoji";
-        version = "20161108.1800";
+        version = "20161230.1937";
         src = fetchFromGitHub {
           owner = "dunn";
           repo = "company-emoji";
-          rev = "b971ab0a66126f0d1410254ba1e21f17c2270101";
-          sha256 = "1c9r1j7xpq6c27y6akfarrcg87idww3c10rkhm26m1vprqk73vr3";
+          rev = "8dc88ffe0773ef44321f245d39430c14a1bc2b82";
+          sha256 = "1y8l9wnc13g79znyw2qsbm33da2bhkj270ppikkg9h4x2qpmxilq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5733dccdffe97911a30352fbcda2900c33d79810/recipes/company-emoji";
@@ -9408,6 +9494,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    company-erlang = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, ivy-erlang-complete, lib, melpaBuild }:
+    melpaBuild {
+        pname = "company-erlang";
+        version = "20161226.206";
+        src = fetchFromGitHub {
+          owner = "s-kostyaev";
+          repo = "company-erlang";
+          rev = "a5e8fad1c21d0ee72f1e6287a95eb88953a356c7";
+          sha256 = "0kdir2m2rdzwwiwpbgagiva4zsicnn5l55aaxdg5his0vc0fzxcl";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ca96ed0b5d6f8aea4de56ddeaa003b9c81d96219/recipes/company-erlang";
+          sha256 = "0qlc89c05523kjzsb7j3yfi022la47kgixl74ggkafhn60scwdm7";
+          name = "company-erlang";
+        };
+        packageRequires = [ company emacs ivy-erlang-complete ];
+        meta = {
+          homepage = "https://melpa.org/#/company-erlang";
+          license = lib.licenses.free;
+        };
+      }) {};
     company-flow = callPackage ({ company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-flow";
@@ -9432,12 +9539,12 @@
     company-flx = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flx, lib, melpaBuild }:
     melpaBuild {
         pname = "company-flx";
-        version = "20160423.1713";
+        version = "20161228.1736";
         src = fetchFromGitHub {
           owner = "PythonNut";
           repo = "company-flx";
-          rev = "bd2035390c285769c39a2bd2fdd0f24da0cd7ec9";
-          sha256 = "1di3nndif2gkzwvs8bvqg994z422ql308lh47hbjdjnqm182mwy7";
+          rev = "0c9fddf7c11c918ed42bd6a5108f8969b37704d5";
+          sha256 = "1nv2hlmjdd7y9d25n22gwl0qzrsc0qpfwyhf44g0xq6dg5lgbpkj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f27d718ee67f8c91b208a35adbbcdac67bbb89ce/recipes/company-flx";
@@ -9600,12 +9707,12 @@
     company-lua = callPackage ({ company, f, fetchFromGitHub, fetchurl, lib, lua-mode, melpaBuild, s }:
     melpaBuild {
         pname = "company-lua";
-        version = "20160514.1420";
+        version = "20161227.1139";
         src = fetchFromGitHub {
           owner = "ptrv";
           repo = "company-lua";
-          rev = "fb32b394ebfae63bd3a0468171a864b1cb7eadd4";
-          sha256 = "1fwb333p4yv02msx67p0n4bgzwa73d2zh78mwx79jani32m730ci";
+          rev = "0be8122f3adf57ad27953bf4b03545d6298d3da4";
+          sha256 = "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8191ab2aaa72041be46091e363d216cf1b73fde/recipes/company-lua";
@@ -9667,8 +9774,8 @@
         src = fetchFromGitHub {
           owner = "kshramt";
           repo = "company-ngram";
-          rev = "6a39e9c22d6f1e5d5a725c6a1c276f9ecfacdad4";
-          sha256 = "1cjrw0g8hjbk8d2vmgy8brfvamswf24iylgwvqpz90x4si22xrzc";
+          rev = "98491c830d0867c211b773818610ace51f243640";
+          sha256 = "196c870n7d46n4yhppq5np8mn9i0i74aykkbfk33kr4mgilss4cw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/937e6a23782450525c4a90392c414173481e101b/recipes/company-ngram";
@@ -9709,8 +9816,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "c6d330c9ea574e659e3e40698db85b59dd154bcf";
-          sha256 = "0n3wz9jpn2nyb35dykfyqaphkya63l06a9prnmaba4yydic3n6d0";
+          rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a";
+          sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -9879,12 +9986,12 @@
     company-statistics = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-statistics";
-        version = "20151126.1246";
+        version = "20161213.159";
         src = fetchFromGitHub {
           owner = "company-mode";
           repo = "company-statistics";
-          rev = "906d8137224c1a5bd1dc913940e0d32ffecf5523";
-          sha256 = "0c98kfg7gimjx9cf8dmbk9mdsrybhphshrdl8dhif3zqvn6gxyd7";
+          rev = "36d9692da9172c3ad1e1a46d66ffa9346a44b212";
+          sha256 = "05br3ikxad7gm7h6327yfwdfap6bbg68fbybsx967a31yv4rxhvm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/89d05b43f31ec157ce8e7bfba4b7c9119bda6dd2/recipes/company-statistics";
@@ -9988,8 +10095,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "5bff8525adbe01a9af905c92f0834902ac3c1c73";
-          sha256 = "15sg07dvvmmfhcp83b388zy43wgyq2qcns4qqcm2jaqq9hpvqxf9";
+          rev = "ca51cbce87f671f2bb133d1df9f327bb8f1bb729";
+          sha256 = "0riz0jj8c80x6p9fcxyni7q3b0dgxjwss8qbihndq8h2jypdhcgd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1138c8cc239183a2435ce8c1a6df5163e5fed2ea/recipes/company-ycmd";
@@ -10044,22 +10151,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    concurrent = callPackage ({ deferred, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    concurrent = callPackage ({ deferred, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "concurrent";
-        version = "20160109.2046";
+        version = "20161228.1930";
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-deferred";
-          rev = "9b46dedcb89923de417f7557743c4c22421f5787";
-          sha256 = "0bq00qc0hyjczqjm8nawbyqlm67azi501v7q3bhapi4rhyn0lp7i";
+          rev = "9668749635472a63e7a9282e2124325405199b79";
+          sha256 = "1ch5br9alvwcpijl9g8w5ypjrah29alpfpk4hjw23rwzyq5p4izq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc29a8d518ce7a584277089bd4654f52ac0f358/recipes/concurrent";
           sha256 = "09wjw69bqrr3424h0mpb2kr5ixh96syjjsqrcyd7z2lsas5ldpnf";
           name = "concurrent";
         };
-        packageRequires = [ deferred ];
+        packageRequires = [ deferred emacs ];
         meta = {
           homepage = "https://melpa.org/#/concurrent";
           license = lib.licenses.free;
@@ -10235,12 +10342,12 @@
     copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "copy-as-format";
-        version = "20161208.2152";
+        version = "20161231.1628";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "copy-as-format";
-          rev = "a7f468f8d809ae1d2d9a3c74e8ab0b4fb6728380";
-          sha256 = "1ndksvs1f2xg5gkxzpf06a4wzkx49kjl7lmzf118fijd2cxx92d6";
+          rev = "f10105bb5a6a9ccc557649a56f46546b25a5460b";
+          sha256 = "0p27jdwp580x6namdklk7472ajj72h2zka4q70yccszh52c44iyq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -10340,12 +10447,12 @@
     counsel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "counsel";
-        version = "20161211.1126";
+        version = "20161219.731";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "bb4814a6a6bd52042afd8dcbd99a29fe880aa991";
-          sha256 = "07sgqqzkbczcq6ds6jqfmmv2900jhm08wgcg7nm4y657wfjd6rz2";
+          rev = "dc693c37dae89e9a4302a5cce42f5321f83946c8";
+          sha256 = "0bg4ki0zzqr0pir4b3p0bpv747bfb5a8if0pydjcwrwb05b37rmp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -10631,22 +10738,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    creamsody-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    creamsody-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "creamsody-theme";
-        version = "20161105.144";
+        version = "20161231.2153";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-creamsody";
-          rev = "06a1142d7601dd2e9f31bbcd6b33458636c6a2bd";
-          sha256 = "1dmnlsdhcsvlzpfcshlk7p0yjry5626i07yl08rgjhxcgbhillf8";
+          rev = "c1b2de723d1047ffa199a2cfb14131218962a07d";
+          sha256 = "0kncywrxpb8yn8i0wqspx9igljzlv57zc9r32s1mwgqfz0p2z823";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/488f95b9e425726d641120130d894babcc3b3e85/recipes/creamsody-theme";
           sha256 = "0l3mq43bszxrz0bxmxb76drp4c8721cw8akgk3l5a800wqbfp2l7";
           name = "creamsody-theme";
         };
-        packageRequires = [];
+        packageRequires = [ autothemer ];
         meta = {
           homepage = "https://melpa.org/#/creamsody-theme";
           license = lib.licenses.free;
@@ -10800,12 +10907,12 @@
     crux = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "crux";
-        version = "20161005.634";
+        version = "20161219.2313";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "crux";
-          rev = "b60d9f49e4874a9f333a9477e2c2440f4e419782";
-          sha256 = "04dnlsfachgigpz8q5nprk2hflh0vabkavhbk8n6fzslaxvxys33";
+          rev = "430235753cda1e9af75d209e36a2c9c4f6599a80";
+          sha256 = "1v16ac9wfvnhy5h8v82ym165lz27bv9p0wma44c8nz24cl848rrm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/575e3442a925500a5806e0b900208c1e6bfd11ae/recipes/crux";
@@ -11114,8 +11221,8 @@
         src = fetchFromGitHub {
           owner = "mortberg";
           repo = "cubicaltt";
-          rev = "f66ed8d4cf4cd9caa26351e27185329ca74c4cc5";
-          sha256 = "0yh4hynpq7wxwnl10nrhfbxa160p8d211637x665rqqcgsc40sp3";
+          rev = "60779eea3601f62b0d59b0fcf28fd0cfb99383f6";
+          sha256 = "0zwgs1hndx6mbay8mfarwkr524kbjfirkgjwxh9db600xrpiszqr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1be42b49c206fc4f0df6fb50fed80b3d9b76710b/recipes/cubicaltt";
@@ -11172,10 +11279,10 @@
       }) {};
     cursor-chg = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "cursor-chg";
-        version = "20151231.1240";
+        version = "20170102.922";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/cursor-chg.el";
-          sha256 = "1w0msh4mfhwglkwgb8ksqfdzbd1bvspllydnjzhc0yl3s7qrifbd";
+          sha256 = "04as4z0sbirdi68swcia783caz7hlbk5qicnpq0d4ihmnbagy3fd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/871d02540951a217ea3d4aed9ce6b66a77223fbf/recipes/cursor-chg";
@@ -11188,27 +11295,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    cursor-in-brackets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "cursor-in-brackets";
-        version = "20160603.416";
-        src = fetchFromGitHub {
-          owner = "yascentur";
-          repo = "cursor-in-brackets-el";
-          rev = "3c085913eff08eddcc8fa4ed6438d60da59d7bc2";
-          sha256 = "06q46hmspgq1g3dkpim3fnz1gnzpqywwqcg5yism2lc6qj4zmanm";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/5862f7a24b3c213505277ad44a64d8dd402119eb/recipes/cursor-in-brackets";
-          sha256 = "1p4p0v7x4i4i2z56dw4xf1phckanrwjciifi0zqba36xd4zxgx8f";
-          name = "cursor-in-brackets";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/cursor-in-brackets";
-          license = lib.licenses.free;
-        };
-      }) {};
     cursor-test = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cursor-test";
@@ -11232,10 +11318,10 @@
       }) {};
     cus-edit-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "cus-edit-plus";
-        version = "20160529.1437";
+        version = "20170102.923";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/cus-edit+.el";
-          sha256 = "0d62nv8i208ysi5cg906p9ribpnrn2jvzdcwm35km4i0q0bp6yg7";
+          sha256 = "1mmcnx0i9jz1xzxgl9wqlfk4yl8y3bz88jf8078b80y34489lky9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57370fc617f4f10cc67e9d3c6dc113ff0a18cace/recipes/cus-edit+";
@@ -11353,12 +11439,12 @@
     cyphejor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cyphejor";
-        version = "20160531.905";
+        version = "20161231.1558";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "cyphejor";
-          rev = "9e1cdaaaf86f3acae074e40d96de008115d81ef9";
-          sha256 = "04add8i0g4x5kzi1yd49i5viq9i2f5r5gzq33k05q6rimsp2ga02";
+          rev = "2c65c3f111573e1919e0a35e0ef84b9e861572b7";
+          sha256 = "1lclz4k4xh535ilxqxpaqzdzn4j6zml9a0vrzxn6ffgd378dxn31";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ad7cacfa39d8f85e26372ef21898663aebb68e43/recipes/cyphejor";
@@ -11399,8 +11485,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "c9bcf1bed3acf367d6deb0c273cf22db0f18dab2";
-          sha256 = "16yd296n0nh96pnkjpdbdz4i7ga4j961pkzm3cbnika26xwndx03";
+          rev = "2031c5340eb9ce0e304b59f8dd89bc9049900d4e";
+          sha256 = "19bvvk3nd6hhy4rzczs1jfiy3jvrsl28xsw84wn2sslm247svd7g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -11500,12 +11586,12 @@
     danneskjold-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "danneskjold-theme";
-        version = "20161128.545";
+        version = "20161214.703";
         src = fetchFromGitHub {
           owner = "rails-to-cosmos";
           repo = "danneskjold-theme";
-          rev = "daf31ca666a2b82d305b60255234b84d70b8d037";
-          sha256 = "1172qv32z80nafcmj4b60bv678ab565w9smpsdpvravrp5z4sdca";
+          rev = "af41b9146b8c374477aeb8e739686a2006ce7479";
+          sha256 = "0k60jr11jnvn4fpx7jr7jlcnfsrdv4kp26fd71jv0j4gvin2ljxj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/557244a3b60c7cd3ca964ff843aa1e9d5a1e32ec/recipes/danneskjold-theme";
@@ -11521,12 +11607,12 @@
     dante = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "dante";
-        version = "20161125.455";
+        version = "20170103.420";
         src = fetchFromGitHub {
           owner = "jyp";
           repo = "dante";
-          rev = "6280169aec81fe9deb3a78d722ae0ab15866e78e";
-          sha256 = "0vdvs76bhrq07ak25vasg6pq1hfdjhksl325g5idsjjnhvb0mp83";
+          rev = "04da558e4d693ab320c1aea62160c2a4e2152326";
+          sha256 = "1rmai7ysacaaqw7s56s18zg2aqiv0iys9m0z584ymczvszgvjl6v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
@@ -11707,22 +11793,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    darktooth-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darktooth-theme";
-        version = "20161210.2038";
+        version = "20161227.655";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-darktooth";
-          rev = "9b349813bee4e0b0f1c89e6e9796f43de3930fc5";
-          sha256 = "1iivrz48h8f7rqbihxk2m2ffxlqfikd4bmf57d4z428d6yp31sr5";
+          rev = "37987cccd3f06f02a76cab39bad9a83719e65dcd";
+          sha256 = "1mfpw97y87cccgng7j3chhai1ln1jwppk01i11rzhm96b7vffc5w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
           sha256 = "1vss0mg1vz4wvsal1r0ya8lid2c18ig11ip5v9nc80b5slbixzvs";
           name = "darktooth-theme";
         };
-        packageRequires = [];
+        packageRequires = [ autothemer ];
         meta = {
           homepage = "https://melpa.org/#/darktooth-theme";
           license = lib.licenses.free;
@@ -11731,12 +11817,12 @@
     dart-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "dart-mode";
-        version = "20161026.1510";
+        version = "20161218.1548";
         src = fetchFromGitHub {
           owner = "nex3";
           repo = "dart-mode";
-          rev = "1f65c88dbc55dfc6c7d5322e693d6d30962b27ea";
-          sha256 = "1ki5a104r302cxbmqj8h9ddbrp46la7yz3bxj1kxv8sl9afgbqcd";
+          rev = "e6635b390235cf16a8081763768cf925ca2d9133";
+          sha256 = "1cwwwxmv7d1blv88c6nlm0z94gjfdgw2ri1libzyfzirincyicdx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7d9cb763cb8e929d9442be8d06e9af02de90714a/recipes/dart-mode";
@@ -11815,16 +11901,16 @@
     dashboard = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, page-break-lines }:
     melpaBuild {
         pname = "dashboard";
-        version = "20161204.1138";
+        version = "20161229.1711";
         src = fetchFromGitHub {
           owner = "rakanalh";
           repo = "emacs-dashboard";
-          rev = "cd9899342bc94e59aa42275554810e50d045aaa4";
-          sha256 = "1klmjdym4w3cbarabzvkxddjdcisfk62wkpys3z4nclp4g91p8as";
+          rev = "89875ba44ef9f69dd561591ea8ec6d39a0b4aa6d";
+          sha256 = "0qx2kb30s1z0mlr2sk1jx538v768g7df7v5ymmnvipl8xkr2ams3";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/b047625aebdbf7b5d644b55afbdccfc6c4ac14a8/recipes/dashboard";
-          sha256 = "04lp8ylfnbdj65s8z0m5kyj4rwxcsdwinlkpj00j1my0m74y5i0p";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e9a79341ccaa82a8c065e71c02fe6aee22007c66/recipes/dashboard";
+          sha256 = "08pdpjfrg8v80gljy146cwpz624dshhbz8843zl1zszwp2p00kqy";
           name = "dashboard";
         };
         packageRequires = [ emacs page-break-lines ];
@@ -11836,12 +11922,12 @@
     date-at-point = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "date-at-point";
-        version = "20150108.418";
+        version = "20150308.543";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "date-at-point.el";
-          rev = "65733210479812a70a6dd5978ba0e2a4a6fcd08b";
-          sha256 = "0l4z9rjla4xvm2hmp07xil69q1cg0v8iff0ya41svaqr944qf7hf";
+          rev = "38df823d05df08ec0748a4185113fae5f99090e9";
+          sha256 = "024jx6q0dik4w2wb8nrk1q73asvjgrsl5mslns0ci3zsya343rch";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a6dbeddd236f312fac1d5542dfd2edf81df8fad2/recipes/date-at-point";
@@ -12008,8 +12094,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "4b69fa39539eec2c1cea5ba11ddf9cf20363a500";
-          sha256 = "0lh2dqmdy76ibp78pjsxvlm7j0649v7bqfifw9a5mfvwzlkihs85";
+          rev = "df9d8a8332c9f75498bfecd870d7296c6ba0b42e";
+          sha256 = "05ay6qkx77yl581jvikkf11dzny0v9h70iahss4bz5a37hawp4dd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6eccccb79881eaa04af3ed6395cd2ab981d9c894/recipes/ddskk";
@@ -12029,8 +12115,8 @@
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "debpaste.el";
-          rev = "038f0ff7824f4e3dd455e2232eeca70fa8abcec5";
-          sha256 = "1darxggvyv100cfb7imyzvgif8a09pnky62pf3bl2612hhvaijfb";
+          rev = "6f2a400665062468ebd03a2ce1de2a73d9084958";
+          sha256 = "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/13098bae76a3386689a9bf9c12f25b9a9b15145c/recipes/debpaste";
@@ -12169,22 +12255,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    deferred = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    deferred = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "deferred";
-        version = "20160109.2046";
+        version = "20161228.1930";
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-deferred";
-          rev = "9b46dedcb89923de417f7557743c4c22421f5787";
-          sha256 = "0bq00qc0hyjczqjm8nawbyqlm67azi501v7q3bhapi4rhyn0lp7i";
+          rev = "9668749635472a63e7a9282e2124325405199b79";
+          sha256 = "1ch5br9alvwcpijl9g8w5ypjrah29alpfpk4hjw23rwzyq5p4izq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0e9a114d85f630648d05a7b552370fa8413da0c2/recipes/deferred";
           sha256 = "0axbvxrdjgxk4d1bd9ar4r5nnacsi8r0d6649x7mnhqk12940mnr";
           name = "deferred";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/deferred";
           license = lib.licenses.free;
@@ -12338,12 +12424,12 @@
     desktop-plus = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "desktop-plus";
-        version = "20160330.612";
+        version = "20161216.19";
         src = fetchFromGitHub {
           owner = "ffevotte";
           repo = "desktop-plus";
-          rev = "5da49fbf2d8c45843466ae9f7f9e2a2295e9b914";
-          sha256 = "1klgf1w2lvb537l48cgpncw51f429vhvy5qcz1p0hkdzav6v5d9z";
+          rev = "3bdce03d0499c5176fa9dd353f618727652a7130";
+          sha256 = "0hgsfcp4b3prrjmz6997zh8bayk7kv6h95ll4qq0bnrd8p99i6f8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0b009b42c73490d56d4613dcf5a57447fb4ccab4/recipes/desktop+";
@@ -12753,10 +12839,10 @@
     dired-details-plus = callPackage ({ dired-details, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-details-plus";
-        version = "20151231.1250";
+        version = "20170101.918";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/dired-details+.el";
-          sha256 = "07z4h5l8763ks6b6m8dcmq78jiyq4xvan1mb0z8fbasmi1bsrya4";
+          sha256 = "1bm4q66wi476ppf8xiz9p0x491rqdxx9gpmn6sl9izjfg2xck4wb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0b6a13a5dfd977979d3185139000e7a639d32ec4/recipes/dired-details+";
@@ -13044,10 +13130,10 @@
       }) {};
     dired-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "dired-plus";
-        version = "20161120.1849";
+        version = "20170101.840";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/dired+.el";
-          sha256 = "1pidj3658rrj4sn9kmjay9bb90a8p67n6gfw8gk90pqb1nxfx1v2";
+          sha256 = "1vblbkflszci8x415am68fy9if02gnnphz2sz3h3c0368kixf6w7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4327b4dd464ebb00c2acdd496274dedf912cdf92/recipes/dired+";
@@ -13183,10 +13269,10 @@
     dired-sort-menu-plus = callPackage ({ dired-sort-menu, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-sort-menu-plus";
-        version = "20151231.1251";
+        version = "20170101.923";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/dired-sort-menu+.el";
-          sha256 = "1hjci4zfzig04ji1jravxg9n67rdr4wyhmxmahbrzq9kjnql510i";
+          sha256 = "1ajx4nd14pzbj2629psc3aqmsfb7wsdggcrwyxy94mnvg553m5q9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/dired-sort-menu+";
@@ -13973,12 +14059,12 @@
     docker = callPackage ({ dash, docker-tramp, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s, tablist }:
     melpaBuild {
         pname = "docker";
-        version = "20161123.2356";
+        version = "20161221.49";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "docker.el";
-          rev = "074156c4cc5e71fcd9dc4bfb68792403acfdaa16";
-          sha256 = "0shsh1rj01a6bcr6sm073p60spy61vqnr8nhkcfa6lh2ccigxv43";
+          rev = "9da6013f24fb00ffc1f2f15c3aeb05181df5d36f";
+          sha256 = "1im6aqc26vjw9sc4x2gj16jdz3hh0mz64p81d7gvmfhjysinyfhn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker";
@@ -14125,22 +14211,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    doom-themes = callPackage ({ all-the-icons, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    doom-themes = callPackage ({ all-the-icons, dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "doom-themes";
-        version = "20161206.2238";
+        version = "20161223.1807";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-doom-theme";
-          rev = "d27dc431972d4b645cc41412e6fe052bf8d9f061";
-          sha256 = "1pqmbq4lbcyxhkzqxany8il9crh8sqgaamn45fbjrm70g6g80yak";
+          rev = "e4694fa64e6b27fef489eec2e60a78507ee0b3f2";
+          sha256 = "0dlh6q9m7h9h4vaf82qw5pdkf64m1pp1kfk8jkilprc273qr4m2j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/73fd9f3c2352ea1af49166c2fe586d0410614081/recipes/doom-themes";
           sha256 = "1ckr8rv1i101kynnx666lm7qa73jf9i5lppgwmhlc76lisg07cik";
           name = "doom-themes";
         };
-        packageRequires = [ all-the-icons dash emacs ];
+        packageRequires = [ all-the-icons dash emacs font-lock-plus ];
         meta = {
           homepage = "https://melpa.org/#/doom-themes";
           license = lib.licenses.free;
@@ -14148,10 +14234,10 @@
       }) {};
     doremi = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "doremi";
-        version = "20151231.1255";
+        version = "20170101.922";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/doremi.el";
-          sha256 = "0201clwq9nbl8336lddcbwah8d6xipr7q8135yq79szfxq2bdg6v";
+          sha256 = "11cxhfps8d0b0nsqq4mvwxpppmwagzxmlzy70icf85iv83xa74kv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/doremi";
@@ -14167,10 +14253,10 @@
     doremi-cmd = callPackage ({ doremi, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "doremi-cmd";
-        version = "20160512.1712";
+        version = "20170101.919";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/doremi-cmd.el";
-          sha256 = "1ay8rkcyydjqi1081vphb8iw3w2zc73m5bg1dz2mkxhksqwchqvj";
+          sha256 = "01x19bsdmz2z18s5a30mnbsgk1xjmff9rsd6dd2phaj750j6aiyb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/doremi-cmd";
@@ -14186,10 +14272,10 @@
     doremi-frm = callPackage ({ doremi, faces-plus, fetchurl, frame-fns, hexrgb, lib, melpaBuild }:
     melpaBuild {
         pname = "doremi-frm";
-        version = "20151231.1253";
+        version = "20170101.920";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/doremi-frm.el";
-          sha256 = "0v7ycmddh1ds64m1y5yai5nh34bd32q3wcm5y2pdzhj6jk7nj5wz";
+          sha256 = "1gbm3iyfg96fafnydha5zyj3sip1i7bk2qhr3hpa2g895mjfv6kd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/doremi-frm";
@@ -14204,10 +14290,10 @@
       }) {};
     doremi-mac = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "doremi-mac";
-        version = "20151231.1254";
+        version = "20170101.921";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/doremi-mac.el";
-          sha256 = "157kvlb4dqiyk1h7b4p0dhrr6crdakwnrxydyl6yh51w2hdnnigw";
+          sha256 = "1ilsnyzh4kka0kncd8w4fc5v9nm7q05i3g25z3m49zqifxp1vlfa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/doremi-mac";
@@ -14532,12 +14618,12 @@
     drupal-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode }:
     melpaBuild {
         pname = "drupal-mode";
-        version = "20160915.245";
+        version = "20161215.414";
         src = fetchFromGitHub {
           owner = "arnested";
           repo = "drupal-mode";
-          rev = "eec2e557d769f3379e6c208334650f3041d28d54";
-          sha256 = "0c3s5l5msc1npjxdix6lr0467vgxil29ha39q3cwq60kbvrcdbgq";
+          rev = "dea5a8da789e5c707fa6c63cd400282ea7205a14";
+          sha256 = "1zxsa6fapbxa5yfpawivjmav9i80j9752bc6gmpq7ilzsnd67h0v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/13e16af340868048eb1f51f9865dfc707e57abe8/recipes/drupal-mode";
@@ -14576,7 +14662,7 @@
         version = "20130120.1257";
         src = fetchsvn {
           url = "http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/emacs/";
-          rev = "1773793";
+          rev = "1777121";
           sha256 = "016dxpzm1zba8rag7czynlk58hys4xab4mz1nkry5bfihknpzcrq";
         };
         recipeFile = fetchurl {
@@ -14656,12 +14742,12 @@
     ducpel = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ducpel";
-        version = "20140418.2216";
+        version = "20140702.454";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "ducpel";
-          rev = "4a1671fc45ab92d44dee85a1a223122d5a43cb32";
-          sha256 = "1ixb78dv66lmqlbv4zl5ysvv1xqafvqh1h5cfdv03jdkqlfk34jz";
+          rev = "b53b935ab95c02b82ccf38f63c89e39e99477a55";
+          sha256 = "07cgwkfi69xjjxx9hs5rdblsil1h3bpbx9k7hwyv1dg3ivihm04s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d64adac965e1dac0f29dab9a587cd6ce9c3bb3a/recipes/ducpel";
@@ -14677,12 +14763,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "20161126.2045";
+        version = "20161218.110";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "14a6751d3858a21a8d4bdeff18f7f7b07daf056d";
-          sha256 = "1khnzv5kzw2654yjalnvabdxrp3ahjl9sfl1x28l4valm8b5ndj4";
+          rev = "0c7fed68916de6bcbbfbc6c9f787d610a3316b1e";
+          sha256 = "1a5jg1344s18bj6v33wfrxxg1cxlx6aha40wyw9dbwj1pjpw7vqd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2a60e7c166c2d68e4f719d293014a22139593dde/recipes/dumb-jump";
@@ -14695,27 +14781,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    dummy-h-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "dummy-h-mode";
-        version = "20160603.417";
-        src = fetchFromGitHub {
-          owner = "yascentur";
-          repo = "dummy-h-mode-el";
-          rev = "2bc896f0e3bd3c976c4bb4cdf8056065bf39f50e";
-          sha256 = "1xkfwg1awb3ikb9i71xdbnbb94y3p2qd1fhnbx6kzfs0kmsiv5k9";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/dummy-h-mode";
-          sha256 = "10lzfzq7md6s28w2zzlhswn3d6765g4vqzyjn2q5ms8pd2i4b4in";
-          name = "dummy-h-mode";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/dummy-h-mode";
-          license = lib.licenses.free;
-        };
-      }) {};
     dummyparens = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dummyparens";
@@ -14761,11 +14826,11 @@
     dyalog-mode = callPackage ({ cl-lib ? null, fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dyalog-mode";
-        version = "20161108.348";
+        version = "20161231.1437";
         src = fetchhg {
           url = "https://bitbucket.com/harsman/dyalog-mode";
-          rev = "befb5c650dfd";
-          sha256 = "154bm7l1ra3l9lj9l1x21qi7f57k46kg24hyalrbawjw3q8c5np2";
+          rev = "4004050a9771";
+          sha256 = "0p7g7sfkdr473gpj2xdgg5fb5d336w2ddvx44i1d6575p6rcs5w6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/dyalog-mode";
@@ -15159,12 +15224,12 @@
     ebal = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "ebal";
-        version = "20160531.906";
+        version = "20161231.1559";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "ebal";
-          rev = "1155c70b8dbb2f2caed2958782afe3d8018ab0b2";
-          sha256 = "0fbfdhz1fmxiy9hg038qqw7r3gvhvzyk68qaww0saja9zywx8hal";
+          rev = "c0df139972c52200db417cc18e65f8748969fb79";
+          sha256 = "19yxfc6lbd4311w291lxsw1v3hp0ha4inlp5fcakszd76bc69c4w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/629aa451162a0085488caad4052a56366b7ce392/recipes/ebal";
@@ -15247,8 +15312,8 @@
         src = fetchFromGitHub {
           owner = "ecb-home";
           repo = "ecb";
-          rev = "7df501f5e9bc38f8fdd0d0ecc1e60d2b32914afa";
-          sha256 = "0h50amhz0yzp9zz9nviaimmh9i0rgrr10pdf5fjxc8nc669b35z5";
+          rev = "661edbfcddcdb75331cf28870e6a5fb4ba9ca27f";
+          sha256 = "1ac9b6k10kniqkiadzfa7mjhy1nf6ypd3fl6yvmr8yigc2phszny";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4db5183f35bedbc459843ad9f442f9cb6608c5fc/recipes/ecb";
@@ -15263,10 +15328,10 @@
       }) {};
     echo-bell = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "echo-bell";
-        version = "20151231.1256";
+        version = "20170101.925";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/echo-bell.el";
-          sha256 = "0jk7pb2sr4qbxwcn4ipcjc9phl9zjmgg8sf91qj113112xx7vvxa";
+          sha256 = "1q1z151cfw1775gcfzpnm4afp62skqlnj5z2miizbnraincqy24b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a81e339e9c7cf1ae5fe91ab4442164336a6fbf13/recipes/echo-bell";
@@ -15282,12 +15347,12 @@
     eclim = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, popup, s, yasnippet }:
     melpaBuild {
         pname = "eclim";
-        version = "20161206.908";
+        version = "20170101.1436";
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "7d3beb299399bc9d8190190fa59943b2a70a7f63";
-          sha256 = "14q0qg9a1kxgf89iy48g63nkj7m9hydipmqq670591v09awk877l";
+          rev = "03d9cb7b6c3ac60fd796a2ba8fdfe13552720d3b";
+          sha256 = "1dzy463jpfjz7qhr1zwx8n3xrba6zj87j6naf7xx4j704i03f9h8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/eclim";
@@ -15660,12 +15725,12 @@
     editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig";
-        version = "20161211.2144";
+        version = "20161212.1946";
         src = fetchFromGitHub {
           owner = "editorconfig";
           repo = "editorconfig-emacs";
-          rev = "19e81d24f33da40cd414142e44a55957ac9be83d";
-          sha256 = "1xcfyqnannnm6myv7pn2gjwnlq7rq4zciiykj5fs9kziaf4qggnp";
+          rev = "95594ff4a88d94f79b092b2eced1e87fa9ad5ee8";
+          sha256 = "11d9d9qgfdid47pk9vi1ca3wjp02b3bylzbz23hpcrl7zjypr4ar";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@@ -15681,12 +15746,12 @@
     editorconfig-custom-majormode = callPackage ({ editorconfig, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig-custom-majormode";
-        version = "20160729.24";
+        version = "20170102.751";
         src = fetchFromGitHub {
           owner = "10sr";
           repo = "editorconfig-custom-majormode-el";
-          rev = "601ce5a04634003075396a8ff74d0b09cfa7c11a";
-          sha256 = "0jdvg1a76r8vg2d0n8hl2kczg8hybk2hcbd732g3vhzl8i4izfi2";
+          rev = "8216ce7d20703a8ce923b4c0284c098ae85621f9";
+          sha256 = "02qkvdgn78asz1i7gh8198z0as4yhax3yans96c8lxwmbac125kz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fcd47bf4630442ad1a941ad432cef64c7746aa71/recipes/editorconfig-custom-majormode";
@@ -15820,8 +15885,8 @@
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "87b279f0e1ea1754215eceef007c8736d4bd9dfd";
-          sha256 = "1zjy8zmsh6n535cazmkrr081rmjaigkqxx134sam474dzbmcybdc";
+          rev = "62c99118f32dd23a088e2d9c0d6b7b755206cac6";
+          sha256 = "1f0s9pvns4gq6xzp4vp74xxxbmzp06vdv0jgh0x1xy0mfklgll8x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -15837,12 +15902,12 @@
     ego = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "ego";
-        version = "20161024.2138";
+        version = "20161219.528";
         src = fetchFromGitHub {
           owner = "emacs-china";
           repo = "EGO";
-          rev = "17364e05fc69cd3c9b554f9675d95bf0a3cf4104";
-          sha256 = "1ikbw771j0a8y4wgx5whmgsfimw6a6bv3bc5qkl8r8ch5lph85z4";
+          rev = "334a1ea3869818ac40e84f9832b8996564286ca1";
+          sha256 = "1fi71fkfl95alkamam1z51ksn2pqchcy2gvnkn0smfs9wcy038s1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0090a628a5d566a887cac0d24b080ee6bafe4612/recipes/ego";
@@ -15898,12 +15963,12 @@
     ein = callPackage ({ cl-generic, fetchFromGitHub, fetchurl, lib, melpaBuild, request, websocket }:
     melpaBuild {
         pname = "ein";
-        version = "20161205.1432";
+        version = "20161228.741";
         src = fetchFromGitHub {
           owner = "millejoh";
           repo = "emacs-ipython-notebook";
-          rev = "0805f4b15419bb92641bf09735be9bc2c72a3838";
-          sha256 = "07d26n946j19v0swx89d53mdsw1w3ar85ickswhj5fz1m3g9r4fc";
+          rev = "481d8a879f821e8cbbf074175672295356f43ba5";
+          sha256 = "0ip60d4k466y3gd16na58398ilzrzrk84dbl5lsh330khi65136a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein";
@@ -15961,12 +16026,12 @@
     ejc-sql = callPackage ({ auto-complete, clomacs, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, spinner }:
     melpaBuild {
         pname = "ejc-sql";
-        version = "20161117.543";
+        version = "20161216.118";
         src = fetchFromGitHub {
           owner = "kostafey";
           repo = "ejc-sql";
-          rev = "646f72944d9fb792cd21346d0234650eb5dc9c87";
-          sha256 = "1jm9fsbyrx7l7bmv50zalxjwrazcmjpdrrqm0y3c56ckix9fpqfv";
+          rev = "6beb80f2f094cd4b4d8a5fdf56b61d9d04d73b39";
+          sha256 = "1jk9vphm30523l8i1qf4iyaf6bds2m9mpz5ivrd62dxldzrs7q8z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f2cd74717269ef7f10362077a91546723a72104/recipes/ejc-sql";
@@ -16007,8 +16072,8 @@
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "el-get";
-          rev = "ce9dc5ec48dae139338c69a53f9779876038bb54";
-          sha256 = "0wknmkv38zf8q4qd2iasng08mia1x7l813qzvysw8lv1x45gspsy";
+          rev = "bcb05bc970e1dd19e8542b562bafb0ad68cef8cb";
+          sha256 = "0d4sg57fn8xi2s9959lwkdv3k2naqnz2wkzr76ap1g5zllpykw8i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get";
@@ -16312,12 +16377,12 @@
     electric-operator = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names }:
     melpaBuild {
         pname = "electric-operator";
-        version = "20161211.1122";
+        version = "20170102.307";
         src = fetchFromGitHub {
           owner = "davidshepherd7";
           repo = "electric-operator";
-          rev = "86d5ae04c35642cbccfa75a12008f7b65d63312b";
-          sha256 = "189vxvhp018bs42qb6z9nfw51nsmjfb5q66w3hr5zgkapxwgjpsv";
+          rev = "1670a0d8e4a09b48da312afc57d35e0cf7033b5f";
+          sha256 = "0cm1zg2hgwzwwkri0wsb6x9jhgma6vm9jga81jjiasih33nd0zy4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator";
@@ -16396,12 +16461,12 @@
     elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed";
-        version = "20161211.1108";
+        version = "20161231.735";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "4f7699913ee1e9c815276760ced3393e88e506f4";
-          sha256 = "11fsfki4cz2q3xnrm1mrb94sf2achl3g2bwmi21d1xn68z4zg79x";
+          rev = "03040c762901ff3f77942b9cf2a78aa127ded1d4";
+          sha256 = "1vik0vs85dny7kkaf6cwqahly8l5llkgzs6f2jcfrc90xdg6j3dz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed";
@@ -16470,8 +16535,8 @@
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "4f7699913ee1e9c815276760ced3393e88e506f4";
-          sha256 = "11fsfki4cz2q3xnrm1mrb94sf2achl3g2bwmi21d1xn68z4zg79x";
+          rev = "03040c762901ff3f77942b9cf2a78aa127ded1d4";
+          sha256 = "1vik0vs85dny7kkaf6cwqahly8l5llkgzs6f2jcfrc90xdg6j3dz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web";
@@ -16508,16 +16573,16 @@
     elisp-depend = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elisp-depend";
-        version = "20120428.1304";
+        version = "20161230.750";
         src = fetchFromGitHub {
-          owner = "tehom";
+          owner = "emacsorphanage";
           repo = "elisp-depend";
-          rev = "817ab94db56e3c23da6d7d4ae0422c48f260a7e3";
-          sha256 = "1a73zdh4jkx8f74cq802b5j4bx8k1z7cbsp10lz40lmwwxbl3czq";
+          rev = "e4b201ac7dcee4489d58800c299fd04aaa61d07a";
+          sha256 = "0i1wpz6hr934x3lcr0y9x82dm7c1j477j14jqccn8q7d4cb1lfaj";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/elisp-depend";
-          sha256 = "1x3acgkpd9a8xxjg5zjw0d4nv4q9xx30ipr6v3544mn16sv4ab7c";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7ea159f0cc8c6e4b8483401a6e6687ab4ed73b7f/recipes/elisp-depend";
+          sha256 = "0zpafwnm52g6v867f1ghfb492nnmm66imcwlhm5v9hhgwy3z17jm";
           name = "elisp-depend";
         };
         packageRequires = [];
@@ -16575,8 +16640,8 @@
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "refs.el";
-          rev = "412dafa219ab4eac6eddcc793588d26d2df6fe21";
-          sha256 = "0nl39ikk8nlc0xar8r8s2g9dp2n52qi1gmksnck7klbphmw6xx3n";
+          rev = "6ef632c8922e01714a25c6e04fd5522be6e5ea26";
+          sha256 = "00c9s60g7rl784q4slfaavqkjhj8j73pglflpjh8pvrgj77c4y6y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/60891099e241ebd32d39bdcfe4953529a5a3263e/recipes/elisp-refs";
@@ -16634,12 +16699,12 @@
     elixir-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "elixir-mode";
-        version = "20161015.1200";
+        version = "20170102.942";
         src = fetchFromGitHub {
           owner = "elixir-lang";
           repo = "emacs-elixir";
-          rev = "b71145e1f23f1222220549bd28bce3557711717e";
-          sha256 = "06m937mkd4hiqi28drqnkk8pr089ijkbcacgbxf86d5iy8qwyhw4";
+          rev = "384d8daf8ad563ebf2cb3437c71d30241adbe099";
+          sha256 = "0idgfjwd6116zaag0lmq2i9by2mr054nrqmpnsvyhk26hw71k3vn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6374ced0de38d83bf99147f702f30706615480ed/recipes/elixir-mode";
@@ -16865,12 +16930,12 @@
     elpa-clone = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elpa-clone";
-        version = "20160724.719";
+        version = "20161222.1009";
         src = fetchFromGitHub {
           owner = "dochang";
           repo = "elpa-clone";
-          rev = "77e45f3ac7de504ff65e17dfd52bfde7bdfc78f2";
-          sha256 = "09q54j0n52493smhdrngn2isnifvy0x3s6vlicllkm8qykr06z9v";
+          rev = "8d0827b03b08eb4844e2b8465c27d5aa0e12101d";
+          sha256 = "1ik2k6ngzg3znfp4a36f7m5ca6p3iivfb7w280w3gm5x1ja8as2a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/11861edd9c7f9deebd44fd1f8ef648e7a04caf2b/recipes/elpa-clone";
@@ -16907,12 +16972,12 @@
     elpy = callPackage ({ company, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "20161211.1045";
+        version = "20161229.1103";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "6b139ed3f28cfe255288aa07f14c49f1f15132bf";
-          sha256 = "0hmk1pi9mv74ry3mff854qz07rpiirn275wkd6s4vqpy7m8za4rv";
+          rev = "d93ad53fb55c1ff2cbbafcc8c85bddc30484bc80";
+          sha256 = "1ii3p81hn84f155mywz906pnjkp5qca501qrplh96c5d0xkzz14l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -17418,12 +17483,12 @@
     embrace = callPackage ({ cl-lib ? null, expand-region, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "embrace";
-        version = "20160513.1913";
+        version = "20161228.1948";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "embrace.el";
-          rev = "875601a077795e036b470bdacd292a97b075d8e7";
-          sha256 = "07phgsc7lv9326gdjg23q0lzw45vcpx4biw93r10v0ln6bg21mz8";
+          rev = "7e0cc702bc15915f4e4be4c334faa37dca94e749";
+          sha256 = "0w746jbyfjd8z8ga5nlsipw02pcbi98wxfdw51zv088ml0647v6j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e8f07e3b5ba4ec4b0b79fba5a2cca5a3986218b6/recipes/embrace";
@@ -17480,11 +17545,11 @@
       }) {};
     emms = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "emms";
-        version = "20161108.644";
+        version = "20161222.1446";
         src = fetchgit {
           url = "git://git.sv.gnu.org/emms.git";
-          rev = "cf6903c22b49b2e3efe338a9ccbd0df36b6d0cbf";
-          sha256 = "05hqz1rlcl54fgnh40qy60ji60lycpgiqv6nnkzp29c7gc4sa40d";
+          rev = "dde22abffb7a47adfe2cf98e4505ac0048e0b5fd";
+          sha256 = "1r7gkilgmk2gll1ps0z7n0i74wbg66jla9cf8fvppvajxmmng4gv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/205eeed002b0848809a4c5f8ad99d925b48799ec/recipes/emms";
@@ -17714,8 +17779,8 @@
         src = fetchFromGitHub {
           owner = "zonuexe";
           repo = "emoji-fontset.el";
-          rev = "e460c9a08e48ec4103e38a7a04acae20880149a9";
-          sha256 = "0xdlqsrwdf0smi5z9rjj46nwrrfpl0gzanf0jmdg8zzn62l6ldck";
+          rev = "10be897fa5165fd40fd35a89e38c759e008fa775";
+          sha256 = "1aanl5dd2m8jlyq27ymhc6l9i00cpi30wwhpaf67dlvk9gk89f64";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/60df435eb82fcc9a8a02a0a271bb6a2d5a161bc4/recipes/emoji-fontset";
@@ -17974,12 +18039,12 @@
     ensime = callPackage ({ company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s, sbt-mode, scala-mode, yasnippet }:
     melpaBuild {
         pname = "ensime";
-        version = "20161203.1059";
+        version = "20161227.301";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "ensime-emacs";
-          rev = "5156f9b1b748c3e2246730d3234121b36e6d7553";
-          sha256 = "08m5ps972fbjwz97s6bs92icf7x32kh2invjdypy59zj2q0pdixv";
+          rev = "42598cab15985e6fc5e95989b0c73e2259cdadf5";
+          sha256 = "1k8nfxfd4y3r1y293r6sqlk4wq59rdvpbhsdvr3j0mx0a9yzdxdm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/502faab70af713f50dd8952be4f7a5131075e78e/recipes/ensime";
@@ -18087,12 +18152,12 @@
     epkg = callPackage ({ closql, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "epkg";
-        version = "20161201.1358";
+        version = "20161231.850";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "epkg";
-          rev = "846c5ee182e6572af3034c5b43d439a6c915d243";
-          sha256 = "17i68vsl1grffs7j5n7lzkwi870fci7y84q5i7qwvip3vhpxlczr";
+          rev = "6e1d989fbfa357a7c268ea30fe8b3e3cefafc36d";
+          sha256 = "0avlmqcbm07692ir5z04gy4klhyan3h25ni4l4k4p0dszjsqmdi0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/epkg";
@@ -18234,12 +18299,12 @@
     erc-crypt = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erc-crypt";
-        version = "20161105.623";
+        version = "20161228.739";
         src = fetchFromGitHub {
           owner = "atomontage";
           repo = "erc-crypt";
-          rev = "d30f426b4cae10efcb91ea57afa9cc51feb4c39f";
-          sha256 = "0r9n9jhd0sbf1mf3mzizaal5kqd20msm20vl73z589ph2q5vxnii";
+          rev = "731f9264a5bf08a8fc0b5ce69e72058c86f873a5";
+          sha256 = "13jpq5ws5dm8fyjrskk4icxwz8k5wgh396cc8f8wxrjna4wb843w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a71b46c0370d2ed25aa3f39983048a04576ad5/recipes/erc-crypt";
@@ -18615,8 +18680,8 @@
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "b47d104994c6f11301f23b0675ed5f06f3e25922";
-          sha256 = "06498ydjw27wvyaxrc6fxf1z3ymw5cgy553ij2p1s9d4b78czlm0";
+          rev = "9cb4770469218f65dbaec6c71d12b4aa722ac791";
+          sha256 = "1jnaabp5zrvm6qymy4fg3rxbd78xy44x1qnxcdvmqk0dliaqlzn3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -18629,6 +18694,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    eros = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "eros";
+        version = "20161221.826";
+        src = fetchFromGitHub {
+          owner = "xiongtx";
+          repo = "eros";
+          rev = "a42e45c9b2397156c684330b0fc90ee0eba773f5";
+          sha256 = "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ee5807cfb3973348b901142b317e1c7edc3b38db/recipes/eros";
+          sha256 = "0xry221mj1achsyc8mkmipza2zn2xmsx96fqznf6mqvx4s271nvs";
+          name = "eros";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/eros";
+          license = lib.licenses.free;
+        };
+      }) {};
     ert-async = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ert-async";
@@ -19132,12 +19218,12 @@
     ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ess";
-        version = "20161101.215";
+        version = "20161223.108";
         src = fetchFromGitHub {
           owner = "emacs-ess";
           repo = "ESS";
-          rev = "bcb5fff9e9fc4f17f780149c6ba38002ce044176";
-          sha256 = "1h3jlfblwsrqzw98lw4dq550zidab1f6l557fdcjkqlgjf74c4bb";
+          rev = "ce8b83a6ddd930c74d84b564d55bfcc22b455007";
+          sha256 = "0fbd1l2vnrlx8zkyqwy2hkdp3h31qnxrc8djl2b3w11n6xkhgar9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
@@ -19378,12 +19464,12 @@
     euslisp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "euslisp-mode";
-        version = "20160524.747";
+        version = "20161226.840";
         src = fetchFromGitHub {
           owner = "iory";
           repo = "euslisp-mode";
-          rev = "e42a512f5bf204ac9c149a8dfbe9abdfe24c9bc2";
-          sha256 = "1zrf652ipy701s6n5k1aga0l97ws66imhk7dj6ii9qf4587byy7z";
+          rev = "cbbb60cf7d301c19906678bae933060af21c1a86";
+          sha256 = "0xz4asnwg52f02jmyz2flmkl748isacvjylfwi23xdcxqiab454a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b09a7c4b73203d75c5260f1d08845236cbbeae46/recipes/euslisp-mode";
@@ -19420,12 +19506,12 @@
     eval-in-repl = callPackage ({ ace-window, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, paredit }:
     melpaBuild {
         pname = "eval-in-repl";
-        version = "20160418.1843";
+        version = "20161224.1932";
         src = fetchFromGitHub {
           owner = "kaz-yos";
           repo = "eval-in-repl";
-          rev = "4ac77eb80f6df21f5a8621982bcafc71ac2ef7dd";
-          sha256 = "07jlrngmnfp1jp30hx9vk42h065c74dz92b38sa18swzfmhwd4y5";
+          rev = "674873139ebde439fbeecaf0fb217d54f470bc14";
+          sha256 = "1fzsq6fkkrsxg6mimrnls0kn59rq7w332b94gg04j0khl61s1v1s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0bee5fb7a7874dd20babd1de7f216c5bda3e0115/recipes/eval-in-repl";
@@ -19692,12 +19778,12 @@
     evil-easymotion = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-easymotion";
-        version = "20161023.2356";
+        version = "20161231.1310";
         src = fetchFromGitHub {
           owner = "PythonNut";
           repo = "evil-easymotion";
-          rev = "6d5cb5825ce3a266cc3e10c5ad40a1e038f068f3";
-          sha256 = "1qgmpvwbay7s1b9gsll06nf5hygrb1ixw155538ckhcaxra48719";
+          rev = "88c0bf01b9e7199c98a6054a425a226790ad96df";
+          sha256 = "1akbg5qhq64nbb3iqhpi0ffyc8sffqszjgglvhclbdwkxcbq3f12";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e67955ead0b9d69acab40d66d4e0b821229d635c/recipes/evil-easymotion";
@@ -19797,12 +19883,12 @@
     evil-extra-operator = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-extra-operator";
-        version = "20160406.2322";
+        version = "20161212.2003";
         src = fetchFromGitHub {
           owner = "Dewdrops";
           repo = "evil-extra-operator";
-          rev = "96d611b557876caefbc64731ad2d0385edbb0c23";
-          sha256 = "10vwyrg833imja3ak9fx0zackdjwlcncl7wm9dym3kjs6qf2rvv0";
+          rev = "e16a9b36f9901254da9af8a73871061616410fc3";
+          sha256 = "116srvfck3b244shxm9cmw3yvpprjgr840fvcv6jwwpfaphafxw4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc0b157c3adf8a2899c4dd2ce98e8a81e4f403a3/recipes/evil-extra-operator";
@@ -20049,12 +20135,12 @@
     evil-mc = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-mc";
-        version = "20161123.1318";
+        version = "20161229.1224";
         src = fetchFromGitHub {
           owner = "gabesoft";
           repo = "evil-mc";
-          rev = "124ac33859cb5f0d7928b5de62e5b40159f84478";
-          sha256 = "1lhgxb2fsl66c0a2afn56h4rqs2x2v7ijskzv95ag7i0zmjgrfds";
+          rev = "c1b886acffa804c39b85909bbcb699fc1dbd03fe";
+          sha256 = "0jj45m6s2hm36h5v2bwlxhnayrfwbs99zc1xvfd0kxkx9jz10fz6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96770d778a03ab012fb82a3a0122983db6f9b0c4/recipes/evil-mc";
@@ -20742,12 +20828,12 @@
     exec-path-from-shell = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exec-path-from-shell";
-        version = "20160812.159";
+        version = "20161229.1338";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "exec-path-from-shell";
-          rev = "5836fb1656493be4152e8f20b5b0ec3d49ca2787";
-          sha256 = "1laii7pvw18pp71r0fssw67lgw7wb5wqbjrpdrg5xr7smx8fxccc";
+          rev = "0f53502d463eeeaefe48dfeb0c2fbaac1e6302e3";
+          sha256 = "12mkh5sna8j0ijxc6fd8sr2zlk3p6w9q3fv5l3n16sjmnlj3cf0r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3d8545191031bece15cf1706d81ad1d064f2a4bd/recipes/exec-path-from-shell";
@@ -20889,12 +20975,12 @@
     eyebrowse = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eyebrowse";
-        version = "20161119.442";
+        version = "20161226.1438";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "eyebrowse";
-          rev = "a009536514409fdf0a1745504a7d7e0e376cc2c9";
-          sha256 = "0kw13w3q1q4gb3ql728bk9m0rymkp21rrjmy4hyx8im84xh093ls";
+          rev = "e7c3de9c8b3197f3a310d8d9259761fc70dfa3ef";
+          sha256 = "0d2vc50m2wr6f0fd04xm3bzca25im3ka57y7lg6p0bn5fp6a62vl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/90d052bfc0b94cf177e33b2ffc01a45d254fc1b1/recipes/eyebrowse";
@@ -20910,10 +20996,10 @@
     eyedropper = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }:
     melpaBuild {
         pname = "eyedropper";
-        version = "20151231.1301";
+        version = "20170101.930";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/eyedropper.el";
-          sha256 = "1fg3j0jlww2rqc6k2nq95hcg6i26nqdp043h7kyjcwrgqbjfsigl";
+          sha256 = "1132mc9c79k07gh51i50qaykilnxwzb58rf18pja9fdqc9vzcs7y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/eyedropper";
@@ -21033,10 +21119,10 @@
       }) {};
     face-remap-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "face-remap-plus";
-        version = "20151231.1302";
+        version = "20170101.931";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/face-remap+.el";
-          sha256 = "0yr3fqpn9pj6y8bsb6g7hkg75sl703pzngn8gp0sgs3v90c180l5";
+          sha256 = "1mjh7hjpfxy476nwn0kbcq1zyaklrxd3l8482y5dlbcziwg85s1f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/face-remap+";
@@ -21051,10 +21137,10 @@
       }) {};
     facemenu-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "facemenu-plus";
-        version = "20151231.1305";
+        version = "20170101.934";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/facemenu+.el";
-          sha256 = "1kayc4hsalvqnn577y3f97w9kz94c53vcxwx01s0k34ffav919c2";
+          sha256 = "0xdrmmygyynk0rinfhikw5zjbh8kf8xbcs5a79irhm5mv88jiikf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/facemenu+";
@@ -21069,10 +21155,10 @@
       }) {};
     faces-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "faces-plus";
-        version = "20151231.1305";
+        version = "20170101.934";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/faces+.el";
-          sha256 = "0sqrymmr583cgqmv4bs6rjms5ij5cm8vvxjrfc9alacwyz5f7w8m";
+          sha256 = "1cvwna544xk5jlmimsszvvqcf2h8xmx6f9ripbpvkldgqalb91mn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/faces+";
@@ -21253,22 +21339,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    fasd = callPackage ({ fetchFromGitHub, fetchurl, grizzl, lib, melpaBuild }:
+    fasd = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fasd";
-        version = "20161203.2208";
+        version = "20161216.831";
         src = fetchFromGitHub {
           owner = "steckerhalter";
           repo = "emacs-fasd";
-          rev = "9883cf23f632357fa42ffde3e4942bf9022a4fac";
-          sha256 = "12i5n7aw9nhlh1ghj98jsigbj55qx85v0i8j154sqv7spx8anf2c";
+          rev = "5940b84dfa1ea7225b740d3a8dd215290d964873";
+          sha256 = "1wqh7x0c1i0w5lfh0j7xilvp5vmwvbsblp2jd6bz3n5j2ydgpc00";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f0fefb25f03677080c9adeeb48046d6ea163053/recipes/fasd";
           sha256 = "0i49z50bpi7fx0dm5jywlndnq9hb0dm5a906k4017w8y7sfpfl6c";
           name = "fasd";
         };
-        packageRequires = [ grizzl ];
+        packageRequires = [];
         meta = {
           homepage = "https://melpa.org/#/fasd";
           license = lib.licenses.free;
@@ -21484,10 +21570,10 @@
       }) {};
     files-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "files-plus";
-        version = "20151231.1307";
+        version = "20170101.936";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/files+.el";
-          sha256 = "0s79b5jj3jfl3aih6r3fa0zix40arysk6mz4fijapd8ybaflz25n";
+          sha256 = "01391gkkzciahi2azad5gd260i9s48c5k73m2w3qinv7clqwxc32";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/files+";
@@ -21502,10 +21588,10 @@
       }) {};
     filesets-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "filesets-plus";
-        version = "20151231.1308";
+        version = "20170101.937";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/filesets+.el";
-          sha256 = "020rpjrjp2gh4w6mrphrvk27kdizfqbjsw2sxraf8jz0dibg9gfg";
+          sha256 = "0d30i1vnmja1vjhqs25vdph2gcvrsrrxvzgnm5hp8pscf8wz1igf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/filesets+";
@@ -21604,10 +21690,10 @@
       }) {};
     find-dired-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "find-dired-plus";
-        version = "20161128.1426";
+        version = "20170101.938";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/find-dired+.el";
-          sha256 = "1h4q2v88wvfmzdmaqnp9fywna7n9a94kziz6hjdf1xhc5a7lxqsc";
+          sha256 = "1ll1qr9kkx3fy0j7s5zz95gwsfj0j925cgkcs5ic5rds474881q0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0c8f884334b7eb83647146e7e8be028935ba12ce/recipes/find-dired+";
@@ -21706,10 +21792,10 @@
       }) {};
     finder-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "finder-plus";
-        version = "20151231.1313";
+        version = "20170101.945";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/finder+.el";
-          sha256 = "0x3f9qygp26c4yw32cgyy35bb4f1fq0fg7q8s9vs777skyl3rvp4";
+          sha256 = "1ip8y3qhswfhshh61c7b8iajdnlsyg2cpypbv87825mzy8vbgp6z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/finder+";
@@ -21869,12 +21955,12 @@
     firestarter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "firestarter";
-        version = "20160318.1342";
+        version = "20161219.523";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "firestarter";
-          rev = "e40af9b4ff53e5d2eccbce66159cffd5f2481edd";
-          sha256 = "0ssx3qjv600n8x83g34smphiyywgl97dh4wx8kzm9pp42jnp29cj";
+          rev = "4d6b106f325ac1802eabce3c8a7cd0a4c7a32864";
+          sha256 = "13daz15v0sshl7lxcg1xcbpl64gklgh50pzk0qxmn5ygw7nlifn0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b046eb3b63220b937e1b70f633cb5424dc782a1/recipes/firestarter";
@@ -21910,10 +21996,10 @@
       }) {};
     fit-frame = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "fit-frame";
-        version = "20161002.912";
+        version = "20170101.946";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/fit-frame.el";
-          sha256 = "1v4c3l2lcglrvcqk27amrpg29rnn6009w968sf6kdab8k2yz5f4b";
+          sha256 = "0l48zayzmlpzvqx02g1d2ilwijakwl2ql5svk78w3vx4nj41xxj7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e13c77f822db3c9eaeb3fd5fa95cc2dbe5133f2c/recipes/fit-frame";
@@ -21929,12 +22015,12 @@
     fix-input = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fix-input";
-        version = "20160122.2119";
+        version = "20161231.1554";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "fix-input";
-          rev = "7c3f4770fd068fc789f80ec33934dc3aceb47ddf";
-          sha256 = "1hw3fvj2xq96di4xfs852vy1268hi3a4n10pzrnwnrn0mqy0hn30";
+          rev = "483365fb3c4ba5e08f5df07436294e7f8714dbd2";
+          sha256 = "09c6ynmsypjpiwwn29npsbf4lq20i5cks41maxifnpvqxmkk6a4c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7d31f907997d1d07ec794a4f09824f43818f035c/recipes/fix-input";
@@ -21971,12 +22057,12 @@
     fix-word = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fix-word";
-        version = "20150716.602";
+        version = "20161231.1555";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "fix-word";
-          rev = "36a513e401e850ecf884ef43290ad4ea3cec9af5";
-          sha256 = "02ixv7ckf419sy0r596fkc7f81bfwk410jl23z6cvdh3j64q12l6";
+          rev = "bcc22ef05b5cdd43632121bfc9d77b27df7c34e7";
+          sha256 = "066wif5p96yrcb944ic84jxxps80qxl17igagw3cdfj868y7nfik";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/22636390e8a15c09293a1506a901286dd72e565f/recipes/fix-word";
@@ -22331,12 +22417,12 @@
     flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }:
     melpaBuild {
         pname = "flycheck";
-        version = "20161117.144";
+        version = "20170101.1502";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck";
-          rev = "a4dfb0eb5e5d59ab41646dfda06d551b15bfdf21";
-          sha256 = "049r2ycy4gxzmxhfjyq9g00y2jm8byfzh2j214jig3pssx12amwr";
+          rev = "09c1e98fd020f9edee7c0c90e59b4da636f4af70";
+          sha256 = "0w9ma5nzahjirhg3scb9j9kbgzr2fznp9sdjvrfgcaqak28hm40h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck";
@@ -22478,12 +22564,12 @@
     flycheck-clojure = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-clojure";
-        version = "20160704.1221";
+        version = "20161231.836";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "squiggly-clojure";
-          rev = "7d5e714339509108f9dd3f32ded4b678744a809a";
-          sha256 = "0nxw62mn03jhcx71rg5xlp2s0kwcppahjl8drh9jvhqw3lfx9yjr";
+          rev = "254bd6a65a262896a4cc4f2061a6bbce51a5b73f";
+          sha256 = "0315x1j55wkff0fizqvalfmxjiy1rl9fjk6hl7xziiw3rdvb943a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c9c642a234f93ed4cf5edcf27a552a8916984946/recipes/flycheck-clojure";
@@ -22688,12 +22774,12 @@
     flycheck-dmd-dub = callPackage ({ f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-dmd-dub";
-        version = "20160609.14";
+        version = "20161223.856";
         src = fetchFromGitHub {
           owner = "atilaneves";
           repo = "flycheck-dmd-dub";
-          rev = "030ebb45e7eef9e2bb41ccf3b9557ef2207c29b1";
-          sha256 = "1z4z53n8hivshyv15mn31d0hr6qs09xwlxm118a78zfd167xckwj";
+          rev = "8c6220f45c24d662f1c4afae54f311139f0242b1";
+          sha256 = "0n0q5qhwpx3v0d3aw6swzv8w09cs5mlnx9aybfhclzfa44adn6rq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a812594901c1099283bdf51fbea1aa077cfc588d/recipes/flycheck-dmd-dub";
@@ -22793,12 +22879,12 @@
     flycheck-gometalinter = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-gometalinter";
-        version = "20160714.2232";
+        version = "20161225.1721";
         src = fetchFromGitHub {
           owner = "favadi";
           repo = "flycheck-gometalinter";
-          rev = "33cc9c2d7101e0448e5e49e23487c50df163f7db";
-          sha256 = "0fjm1ll2958rjs2kzn8zgdl9ifjah6rrcsgfb1razbhf57qwbc0i";
+          rev = "b6fa2468401d9035b2aeb1dc9bdb12a518e0d13b";
+          sha256 = "08cr2jij9iaa117l4b4mg977hi6klw9qj8knc42lfzz37d91r3i6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8bfe9f2d030c04fb292297eb9226072bfea2ac64/recipes/flycheck-gometalinter";
@@ -23021,6 +23107,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-objc-clang = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-objc-clang";
+        version = "20161229.205";
+        src = fetchFromGitHub {
+          owner = "GyazSquare";
+          repo = "flycheck-objc-clang";
+          rev = "11805f1d420e297db0346a6657f144b08e2ca556";
+          sha256 = "1s9bk3k7ys79m2iww4yf1abfy01d08z9x9pfq8l045q0snsh64il";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang";
+          sha256 = "07mzwd04a69d7xpkjmhfmf95j69h6accnf9bb9br7jb1hi9vdalp";
+          name = "flycheck-objc-clang";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-objc-clang";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, merlin }:
     melpaBuild {
         pname = "flycheck-ocaml";
@@ -23336,6 +23443,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-swift3 = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-swift3";
+        version = "20161229.331";
+        src = fetchFromGitHub {
+          owner = "GyazSquare";
+          repo = "flycheck-swift3";
+          rev = "ae7b29111cb160774c317997902d7ef29cedd7d9";
+          sha256 = "17s34rqxkirb88y8jzl3ybs7j3ylp9ckdfx3sqwfn0cyspnj5f1d";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3";
+          sha256 = "05yfrn42svcvdkr8mx16ii8llhzn33lxdawksjqiqg671s6fgdpa";
+          name = "flycheck-swift3";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-swift3";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-tip = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "flycheck-tip";
@@ -23385,8 +23513,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "5bff8525adbe01a9af905c92f0834902ac3c1c73";
-          sha256 = "15sg07dvvmmfhcp83b388zy43wgyq2qcns4qqcm2jaqq9hpvqxf9";
+          rev = "ca51cbce87f671f2bb133d1df9f327bb8f1bb729";
+          sha256 = "0riz0jj8c80x6p9fcxyni7q3b0dgxjwss8qbihndq8h2jypdhcgd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/332e5585963c04112a55894fe7151c380930b17c/recipes/flycheck-ycmd";
@@ -24367,10 +24495,10 @@
       }) {};
     font-lock-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "font-lock-plus";
-        version = "20151231.1319";
+        version = "20170101.947";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/font-lock+.el";
-          sha256 = "04j9xybn9an3bm2p2aqmqnswxxg3gwq2mc96brkgxkr88h316d4q";
+          sha256 = "0ffs2c7gyhfa2mskdh7a1yp0na99kk282zm4zn56ljp55rrnnnh0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/font-lock+";
@@ -24425,22 +24553,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    fontawesome = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
+    fontawesome = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "fontawesome";
-        version = "20151202.630";
+        version = "20161219.312";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-fontawesome";
-          rev = "66650efea4a044afe0e5f482ccac465082cd5e62";
-          sha256 = "103xz042h8w6c85hn19cglfsa34syjh18asm41rjhr9krp15sdl1";
+          rev = "72b4f2f83c7fdacd225aee58f93acefc53166626";
+          sha256 = "1icwjd1rbyr1g8ifyhvpi21wjff2qrddq2rmp5lmiajnwrlfli0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/93b92f10802ceffc353db3d220dccfd47ea7fa41/recipes/fontawesome";
           sha256 = "07hn4s929xklc74j8s6pd61rxmxw3911dq47wql77vb5pijv6dr3";
           name = "fontawesome";
         };
-        packageRequires = [ cl-lib helm-core ];
+        packageRequires = [ emacs helm-core ];
         meta = {
           homepage = "https://melpa.org/#/fontawesome";
           license = lib.licenses.free;
@@ -24449,12 +24577,12 @@
     forecast = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "forecast";
-        version = "20160513.1159";
+        version = "20161219.141";
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "forecast.el";
-          rev = "ff307fd24c64577d204d0c1b7b245f190f70bd61";
-          sha256 = "1x4l24cbgc4apv9cfzf6phmj5pm32hfdgv37wpbh7ml8v3p8xm0w";
+          rev = "8fdd0d4532b81e4bfe114fad548aeb049cd512cf";
+          sha256 = "0ia4k7jxx35g0kdm9z75i3sr1h91nh8fkhbllxpd9za29dw5fs7c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e6ff6a4ee29b96bccb2e4bc0644f2bd2e51971ee/recipes/forecast";
@@ -24575,12 +24703,12 @@
     forth-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "forth-mode";
-        version = "20161207.1442";
+        version = "20170101.1245";
         src = fetchFromGitHub {
           owner = "larsbrinkhoff";
           repo = "forth-mode";
-          rev = "0bbf7992d618a84f823b21de5eb36a7cb081e35f";
-          sha256 = "0566l9zrz8hsmjcywn7851rgrrjq2qfhnlkbcwgn0n0q98x95hq0";
+          rev = "05e8a027960c77ac5a09bda959889de57ecbb486";
+          sha256 = "1s0543dc69ciz6ll7m62kaac92jmpk9yqaa37jrv5lscrp6sgamz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e46832079ee34c655835f06bf565ad5a5ab48ebd/recipes/forth-mode";
@@ -24680,10 +24808,10 @@
     frame-cmds = callPackage ({ fetchurl, frame-fns, lib, melpaBuild }:
     melpaBuild {
         pname = "frame-cmds";
-        version = "20160124.826";
+        version = "20170101.950";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/frame-cmds.el";
-          sha256 = "1867zmm3pyqz8p9ig44jf598z9jkyvbp04mfg6j6ys3hyqfkw942";
+          sha256 = "0yscijwwm31551ysagysdrryr1w33kg34j3bnrq92mxsmb6i19ad";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/frame-cmds";
@@ -24698,10 +24826,10 @@
       }) {};
     frame-fns = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "frame-fns";
-        version = "20151231.1322";
+        version = "20170101.951";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/frame-fns.el";
-          sha256 = "0lvlyxb62sgrm37hc21dn7qzlrq2yagiwpspa926q6dpzcsbam15";
+          sha256 = "00b2bb3rfraps47mcv0vb51ygjx0f311i95g0b7dh1jqi6nxdfb1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/frame-fns";
@@ -24914,8 +25042,8 @@
         version = "20161123.2000";
         src = fetchgit {
           url = "git://factorcode.org/git/factor.git";
-          rev = "aa5334420c42399d929cc6506a6b71c724c47df1";
-          sha256 = "19i5c5v0d1h12jkwbbg47p1n8a99ic7hl5avi8xndsm958aghcdl";
+          rev = "350de8f1718144bd42f445e7fd460854f851470a";
+          sha256 = "144nb62ha4m171k2vh061d24q05p435947zqnrx59xp3agj5ymvv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0c3633c23baa472560a489fc663a0302f082bcef/recipes/fuel";
@@ -25053,10 +25181,10 @@
       }) {};
     fuzzy-match = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "fuzzy-match";
-        version = "20151231.1323";
+        version = "20170101.952";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/fuzzy-match.el";
-          sha256 = "1q3gbv9xp2jxrf9vfarjqk9k805xc9z72zbaw7aqdxrj1bafxwnz";
+          sha256 = "130rx8x0d64pb5sz9xq3qvgq698xlkvlb76fk9xfq7n895kxf1bp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e00737be152e9082d0f0c9076cac7fcd08bd4e7b/recipes/fuzzy-match";
@@ -25156,12 +25284,12 @@
     fzf = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fzf";
-        version = "20160908.806";
+        version = "20161226.936";
         src = fetchFromGitHub {
           owner = "bling";
           repo = "fzf.el";
-          rev = "383a050920e9b99d37c21d041deb7f38b202485c";
-          sha256 = "14drm6b6rxbcdilcms1jlqyrqbipcqbdil6q06ni9pgafi7xp8hz";
+          rev = "779254fe1ec7a0c9110af36fd039cece3040a312";
+          sha256 = "1p0k71vz9v8vx5h85ph1krb9v0jyhmq73h91ws9zcxpf1bdgy050";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1671e17c99ef1932c6a2e83fc4fa2e4eb6674bc8/recipes/fzf";
@@ -25259,12 +25387,12 @@
     geben = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "geben";
-        version = "20161201.1330";
+        version = "20170103.448";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "geben";
-          rev = "04fd7b24c705e1ea1c8b3b8e4ff178ed7ecc6d12";
-          sha256 = "1jsfgm57i928wgn4540m48jady61i7k0bka1mw1i462m3wc62nba";
+          rev = "b6379dd479f28b2ace418e2cc57d30559f634036";
+          sha256 = "0x97xqk9xs6h1h3jqwkwi7q32j4pzw0rygsqmgb3n80l7zja6114";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f8648609e160f7dcefe4a963e8b00475f2fff78/recipes/geben";
@@ -25361,27 +25489,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    general-close = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "general-close";
-        version = "20161208.1021";
-        src = fetchFromGitHub {
-          owner = "emacs-berlin";
-          repo = "general-close";
-          rev = "aab9b0bdb147ccae2b8b49a8bd2f1ad05f435909";
-          sha256 = "122lm7yh5nf6s6pf64fmsqvr4aqidbjx7vsizxpwjk1i47hj48q3";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/641a48f5148df2a19476c9b3302934a604f5c283/recipes/general-close";
-          sha256 = "17v0aprfvxbygx5517a8hrl88qm5lb9k7523yd0ps5p9l5x96964";
-          name = "general-close";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/general-close";
-          license = lib.licenses.free;
-        };
-      }) {};
     genrnc = callPackage ({ concurrent, deferred, fetchFromGitHub, fetchurl, lib, log4e, melpaBuild, yaxception }:
     melpaBuild {
         pname = "genrnc";
@@ -25536,8 +25643,8 @@
         src = fetchFromGitHub {
           owner = "DanielG";
           repo = "ghc-mod";
-          rev = "8be4885d8638b52acb16f26ce03f4182902c0a7b";
-          sha256 = "1jpf76kmqhmhz6gizm9njiid9ahlk5254ag71fgqhij5a0cqijm7";
+          rev = "b859ca7f40c1a6b0a4250497dca1f1c524e08f14";
+          sha256 = "0lzighzxyz4m8zanhbiz4cis0r4v9j5f2s7h709kpmzzmxr8qd6r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/ghc";
@@ -25763,12 +25870,12 @@
     git-auto-commit-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-auto-commit-mode";
-        version = "20150404.751";
+        version = "20161229.817";
         src = fetchFromGitHub {
           owner = "ryuslash";
           repo = "git-auto-commit-mode";
-          rev = "075e5f9ded66c2035581a7b216896556cc586814";
-          sha256 = "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh";
+          rev = "2c8197e5d7813734d6a49f9b9c0b227b7ae022a8";
+          sha256 = "0h8kma09r5fw4b2fbbia5z42x8gg72w6zk39pxnsw876kwa8798f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5660fb76ce93e5fe56227698d079c6994ef3305f/recipes/git-auto-commit-mode";
@@ -25826,12 +25933,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "20161206.1703";
+        version = "20161227.1257";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "6a4bb25b621b69b0ae564a572b89ed31e22f780d";
-          sha256 = "19va83m1b80fy4naq1kl03jm0h2s1ym6d3y86nr4swly676pd2dw";
+          rev = "d75529458b09998a68779d348527aa5a19045bed";
+          sha256 = "1si1xxn3pqd4p7vanyhq2zs4cbdkgwb908afl1dx3mih3wf1v1fr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -25910,12 +26017,12 @@
     git-gutter-fringe = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, fringe-helper, git-gutter, lib, melpaBuild }:
     melpaBuild {
         pname = "git-gutter-fringe";
-        version = "20160929.854";
+        version = "20161221.1712";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-git-gutter-fringe";
-          rev = "b52080a72042d60939db2281c234a6b9c5a56492";
-          sha256 = "08p0nrdwz37yagaaln9xcvyvd9zmj9j6f2hy43nhjhv4bxcapbg6";
+          rev = "0b28a5f2a575cc710473884d6d2bbda5975c11e0";
+          sha256 = "0474y0qxdq9srhc279dndx4338wrjxq4cq4ngx5ig7sj6v12dqn4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/git-gutter-fringe";
@@ -26012,22 +26119,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    git-messenger = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
+    git-messenger = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "git-messenger";
-        version = "20160815.1952";
+        version = "20170101.2040";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-git-messenger";
-          rev = "199601fe9a71473e9c015fb2ae13f6e1ca1764e0";
-          sha256 = "1k66j0fi7101icn5a0v0km0jdckhwagmi5p6rf1fv9r90pkln1k0";
+          rev = "83815915eb8c1cb47443ff34bca3fecf7d2edf3a";
+          sha256 = "1jkfzcn8gl3s5y2hwqkac7lm88q80hgcp66zvy7vnylka1scb6lz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e791293133f30e5d96c4b29e972f9016c06c476d/recipes/git-messenger";
           sha256 = "1rnqsv389why13cy6462vyq12qc2zk58p01m3hsazp1gpfw2hfzn";
           name = "git-messenger";
         };
-        packageRequires = [ cl-lib popup ];
+        packageRequires = [ emacs popup ];
         meta = {
           homepage = "https://melpa.org/#/git-messenger";
           license = lib.licenses.free;
@@ -26036,12 +26143,12 @@
     git-ps1-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-ps1-mode";
-        version = "20151228.102";
+        version = "20170102.1944";
         src = fetchFromGitHub {
           owner = "10sr";
           repo = "git-ps1-mode-el";
-          rev = "bb177a87a06ec928a008fc50b06ed1967b68867a";
-          sha256 = "1v0jk35ynfg9hivw9gdz2snk73pac67xlfx7av8argdcss1bmyb0";
+          rev = "e41c630f5d04cb1a4d38a4b500d7a154a96a4655";
+          sha256 = "11bg953nk5x501vkr0jrz710pz3qxla27bgrd4gp503fbygnixkz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ea177b5ea168828881bd8dcd29ef6b4cb81317f0/recipes/git-ps1-mode";
@@ -26540,12 +26647,12 @@
     gnu-apl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gnu-apl-mode";
-        version = "20161129.303";
+        version = "20170102.1952";
         src = fetchFromGitHub {
           owner = "lokedhs";
           repo = "gnu-apl-mode";
-          rev = "8a2bdfe945ff2d1a78f6159528f6ad3420701046";
-          sha256 = "0spn4lkvilmy48xvkpma4l30i7rzxknp56nr2kcvpdlb0mk3svzz";
+          rev = "c2ceb4c59c9ed5f17a9ed274007185ad62037134";
+          sha256 = "0gn7wjq93fq824rs2r82mygy0b3ncn3wfki1xh12b5crvdibg3q7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/369a55301bba0c4f7ce27f6e141944a523beaa0f/recipes/gnu-apl-mode";
@@ -26894,12 +27001,12 @@
     go-guru = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "go-guru";
-        version = "20161103.1316";
+        version = "20161117.331";
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "259110bfd7acb62196b09487d0883429b444bf1b";
-          sha256 = "02ikkx044l5iqzz1hxyjjlxvk58liddmgapx39g7yj976rp6844f";
+          rev = "d9647672717bb5d507de42975a337c738a0461a3";
+          sha256 = "18x01y9qlqmpvyl638ymc1ml6j33xgc0xhig6qfx0y7s484zblm8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-guru";
@@ -26915,12 +27022,12 @@
     go-impl = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "go-impl";
-        version = "20161123.512";
+        version = "20161225.1819";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-go-impl";
-          rev = "3544b590e9867f2697c2be62389a4c1edb39aed8";
-          sha256 = "0dsn8dpfsikchbcsr009sfhics87hzb3fch4wxxxlhgh5j77nxiv";
+          rev = "5d2037e16cf354abffba68fb9ea86790e0be5eb3";
+          sha256 = "1b1628z1rlb2varxk3svwm13s5x6db0503q4d0yb3kk7hk38wpm8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aa1a0845cc1a6970018b397d13394aaa8147e5d0/recipes/go-impl";
@@ -26936,12 +27043,12 @@
     go-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "go-mode";
-        version = "20161110.1750";
+        version = "20161231.1134";
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "259110bfd7acb62196b09487d0883429b444bf1b";
-          sha256 = "02ikkx044l5iqzz1hxyjjlxvk58liddmgapx39g7yj976rp6844f";
+          rev = "d9647672717bb5d507de42975a337c738a0461a3";
+          sha256 = "18x01y9qlqmpvyl638ymc1ml6j33xgc0xhig6qfx0y7s484zblm8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-mode";
@@ -26957,12 +27064,12 @@
     go-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, gotest, lib, melpaBuild }:
     melpaBuild {
         pname = "go-playground";
-        version = "20161203.1747";
+        version = "20161227.1105";
         src = fetchFromGitHub {
           owner = "grafov";
           repo = "go-playground";
-          rev = "d0d772bb60c872d81572c5293d5d0a7517e4b839";
-          sha256 = "1gf8djbnm6x9d9s2qg33cfrn2fbxh5pq441rrfi7il13vgf83v70";
+          rev = "8365cac2f5bc2a71c454fe60856da0f97745ef65";
+          sha256 = "1pb5k05x02ccfk52rj97wbf5q2wrcrs60h7ds9j5ri4r1v6baflq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/900aabb7bc2350698f8740d72a5fad69c9219c33/recipes/go-playground";
@@ -27020,12 +27127,12 @@
     go-rename = callPackage ({ fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "go-rename";
-        version = "20161019.1204";
+        version = "20161117.331";
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "259110bfd7acb62196b09487d0883429b444bf1b";
-          sha256 = "02ikkx044l5iqzz1hxyjjlxvk58liddmgapx39g7yj976rp6844f";
+          rev = "d9647672717bb5d507de42975a337c738a0461a3";
+          sha256 = "18x01y9qlqmpvyl638ymc1ml6j33xgc0xhig6qfx0y7s484zblm8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d806abe90da9a8951fdb0c31e2167bde13183c5c/recipes/go-rename";
@@ -27297,8 +27404,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "styleguide";
-          rev = "db0a26320f3e930c6ea7225ed53539b4fb31310c";
-          sha256 = "0kwb4vszahr7iwl1znhklsjkmqckj011z6akj9pzz33iabcah6mf";
+          rev = "159b4c81bbca97a9ca00f1195a37174388398a67";
+          sha256 = "15vcdzkfnx36m3dw0744rsdqnridvzdiyly7n3hjck1l87gwvvia";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/google-c-style";
@@ -27542,12 +27649,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "20161201.1112";
+        version = "20161213.1524";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "b5c807e3033ca8173cb48e8ef22f6cafc55244ba";
-          sha256 = "1i53iqcnq4bk29n7yj90n9m4g7qzdxp51c5mdgyvkdlwy3mry3i9";
+          rev = "5d78646f635f83ea5f77eee236fbbe4885aca063";
+          sha256 = "105s3jn0yf0q0sv9w8ggqji6wdmkzz20psa89q7mf4gjlynas6q2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -27930,10 +28037,10 @@
       }) {};
     grep-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "grep-plus";
-        version = "20160923.1514";
+        version = "20170101.953";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/grep+.el";
-          sha256 = "17ly744dcnir98mk48prgmia7v7dpvp73l9kkni9vdz4lw5mapxj";
+          sha256 = "13ivcicjdg3ig1jfgl2n39acmrwif5h7hwvb5677i7p8i69w3nds";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/grep+";
@@ -28091,22 +28198,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    gruvbox-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    gruvbox-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gruvbox-theme";
-        version = "20161019.1949";
+        version = "20161229.1817";
         src = fetchFromGitHub {
           owner = "Greduan";
           repo = "emacs-theme-gruvbox";
-          rev = "89b060abf49791cad2639f234b230dc4882bdc39";
-          sha256 = "0bhg2za2a67r6hkb0628zvzxx65rcj7cm3kq3m44wls8q8cr2jxj";
+          rev = "9a9f384a19742eb07b03b1975478c2e71a09b2e3";
+          sha256 = "1pbb8ihvldpbcvr4bwqjmlyc6wv51h49fn522vxzl9kjmhs9fqi1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme";
           sha256 = "042mnwlmixygk2mf24ygk7rkv1rfavc5a36hs9x8b68jnf3khj32";
           name = "gruvbox-theme";
         };
-        packageRequires = [];
+        packageRequires = [ autothemer ];
         meta = {
           homepage = "https://melpa.org/#/gruvbox-theme";
           license = lib.licenses.free;
@@ -28262,12 +28369,12 @@
     gxref = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gxref";
-        version = "20161126.706";
+        version = "20161215.2352";
         src = fetchFromGitHub {
           owner = "dedi";
           repo = "gxref";
-          rev = "7cb746755a47e90aa286e32f49fd3417f632e98b";
-          sha256 = "07qbrk904iw3c4kj5ql5hy9znkpi8hcf5b9aag2x5m2c6jh066y1";
+          rev = "ffb2139cb9a8299ce965c28cb5d3a617405fb1b4";
+          sha256 = "052j24k1svdnryss983dxjpnz4d51wx1vzqqpgckc86bkc4vfjzf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/429b9150d4054fcadab8c5ca3b688921eeb19b78/recipes/gxref";
@@ -28640,12 +28747,12 @@
     haskell-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "haskell-mode";
-        version = "20161212.116";
+        version = "20170101.1257";
         src = fetchFromGitHub {
           owner = "haskell";
           repo = "haskell-mode";
-          rev = "319020de4a79a005eb0fe651222430ceedcd332d";
-          sha256 = "1slagi6f0mkzsjhy0cldlp5g1aqgiazkdb1mrzafw5cr12pdi9zw";
+          rev = "e5340a565fa379814472de10a330a85b08350e37";
+          sha256 = "03wcglphbnm7brrx46xliq3h6jkz6kq29z2a2vl5223hz1gwlq1n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode";
@@ -28702,12 +28809,12 @@
     hasky-extensions = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hasky-extensions";
-        version = "20160813.609";
+        version = "20170101.347";
         src = fetchFromGitHub {
           owner = "hasky-mode";
           repo = "hasky-extensions";
-          rev = "3f1862989a2ca3b79761dccfa352a1b6d518ee77";
-          sha256 = "10214654gvnyqimh4950jsw1r42p0y79pfl8h0x44mzll62bvz87";
+          rev = "cd655d0d25a5ed7e9da4ebb824fff04993ab8306";
+          sha256 = "16rc5fmz4pgkd6phvzqji5lgwxzidhxkl1aa76w32lk7m8qm3yxh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e3f73e3df8476fa231d04211866671dd74911603/recipes/hasky-extensions";
@@ -28845,22 +28952,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    hcl-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    hcl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hcl-mode";
-        version = "20161006.950";
+        version = "20170101.305";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-hcl-mode";
-          rev = "4ce807c57c755b1eb15e17e35f2680c86595c171";
-          sha256 = "0mb0knl84wzgyizxf2p82wwslla7s13bvxb7yd05xlnskr0yrnk8";
+          rev = "6a6daf37522188a2f2fcdebc60949fc3bdabbc06";
+          sha256 = "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66b441525dc300b364d9be0358ae1e0fa2a8b4fe/recipes/hcl-mode";
           sha256 = "1wrs9kj6ahsdnbn3fdaqhclq1ia6w4x726hjvl6pyk01sb0spnin";
           name = "hcl-mode";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/hcl-mode";
           license = lib.licenses.free;
@@ -28868,10 +28975,10 @@
       }) {};
     header2 = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "header2";
-        version = "20160810.1234";
+        version = "20170101.954";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/header2.el";
-          sha256 = "1fiqmbmnq07v70ak6jvvdb27val420zvq5xlwyrqdj5qjri8z83r";
+          sha256 = "124cqzhhkaplq3nxlmy2dizpbllcazqbpv9k2yjxj5zk50s8dzxr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d16829cb4dea98908735be13aa632bc13d308acb/recipes/header2";
@@ -28908,12 +29015,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20161209.753";
+        version = "20170103.444";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "98f97e06d7754d1451a5764db3b0e19b71ec3ca2";
-          sha256 = "11a62n30204d7mqirl5gzzw4rigrf5c8v6j88rs3i5x3x4zn342a";
+          rev = "26415fdb3ebc66fa721b94aa1eaeba1693eae624";
+          sha256 = "12jy8448gj8a1mw2njzxyvrrc2q059xrq65my1zqx1k1lcrknhp8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -28996,8 +29103,8 @@
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-helm-ag";
-          rev = "323524bd65d59f11d1a940a46a60448da85a2a63";
-          sha256 = "1bmkn6hn02fichylmr5pla3lbhixcn6h1znp77dg5j80npzb27yw";
+          rev = "997107a53abd3bda06d52e7021c87527c5747389";
+          sha256 = "1fj2s5jfbaw948kww64k8ksxa6pxfpb30fx93x182bq6sl8fqlwg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-ag";
@@ -29118,12 +29225,12 @@
     helm-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, parsebib, s }:
     melpaBuild {
         pname = "helm-bibtex";
-        version = "20161202.236";
+        version = "20161213.2242";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "3193f2a408d76c36db588ec85191b0dc22fa21a6";
-          sha256 = "1qysjyd7c05iylwfxmvqjwq9pkp8yxrhmsnki6i8dpypjlbji997";
+          rev = "1e11998cc45a12a1b1bd19b8fe9ed8a9f0c50774";
+          sha256 = "1q7vqi1g2rbkh6lxlma7rb8vpsx5vxl2iadxzbzy21d4knjpnj96";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex";
@@ -29412,12 +29519,12 @@
     helm-codesearch = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-codesearch";
-        version = "20160831.1742";
+        version = "20161214.548";
         src = fetchFromGitHub {
           owner = "youngker";
           repo = "helm-codesearch.el";
-          rev = "ff192dfcfbc737b7803cee1b87518c488aec0807";
-          sha256 = "05xxnpqfppqyxncj4dddr0x02ji7yh4rj3q5przmm6v98kkdh6fa";
+          rev = "e80e76e492f626659b88dbe362b11aa0a3b0a116";
+          sha256 = "16njr3xcvpzg4x6qq2pwk80pca9pxhc6vjvfy3dzy4hi9nxryrs6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0a992824e46a4170e2f0915f7a507fcb8a9ef0a6/recipes/helm-codesearch";
@@ -29475,12 +29582,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "20161212.408";
+        version = "20170103.444";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "98f97e06d7754d1451a5764db3b0e19b71ec3ca2";
-          sha256 = "11a62n30204d7mqirl5gzzw4rigrf5c8v6j88rs3i5x3x4zn342a";
+          rev = "26415fdb3ebc66fa721b94aa1eaeba1693eae624";
+          sha256 = "12jy8448gj8a1mw2njzxyvrrc2q059xrq65my1zqx1k1lcrknhp8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -29790,12 +29897,12 @@
     helm-flx = callPackage ({ emacs, fetchFromGitHub, fetchurl, flx, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-flx";
-        version = "20160227.1652";
+        version = "20161229.1056";
         src = fetchFromGitHub {
           owner = "PythonNut";
           repo = "helm-flx";
-          rev = "3cb3587297c3b6e863d79b7d4d7564043c888b61";
-          sha256 = "0mrck7qbqjqz5kpih3zb1yn2chjgv5ghrqc5cp80kmsmxasvk8zw";
+          rev = "7754ed3e0f7536487624dda2d4001f7eeb92d86d";
+          sha256 = "1z0rbx5iix0mq2ai94ip8wnwgxh6sd6qsynaayrgj2hmzsbvv12d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f1418d260f34d698cec611978001c7fd1d1a8a89/recipes/helm-flx";
@@ -30273,12 +30380,12 @@
     helm-hunks = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-hunks";
-        version = "20161019.144";
+        version = "20161229.657";
         src = fetchFromGitHub {
           owner = "torgeir";
           repo = "helm-hunks.el";
-          rev = "1fb924561748c17b471ce14a5fe4fb11b1b038db";
-          sha256 = "0972vwzhzq2c1axfvxk5vg0y90078pn74bvv3k96a7jmdjbc4yah";
+          rev = "aa266c87d5ac08f8a4021627d104972679bba21c";
+          sha256 = "1g7mr04mhf0cx68ww28zfppigjp9m4b11sc037gn770n1vm0xvcm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d61cbe53ad42f2405a66de9f551f5b870a60709f/recipes/helm-hunks";
@@ -30881,12 +30988,12 @@
     helm-projectile = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "helm-projectile";
-        version = "20161008.45";
+        version = "20161213.2311";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "helm-projectile";
-          rev = "bc14d326fe892c902c55d093cccefb0fefde29b9";
-          sha256 = "1gkyk8cj55n5dxhhvflqvf14gcbg5i6pj329j04nnmk5kdn0crni";
+          rev = "10531b2634559ea2179f2530423beaac815e9a38";
+          sha256 = "1bh9cvkp5gr8ykmy8fr94appkhpqx9hicqyj6ahvi2ykgb50ib4c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc4e3a5af7ba86d277c73a1966a91c87d3d855a/recipes/helm-projectile";
@@ -31573,10 +31680,10 @@
       }) {};
     help-fns-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "help-fns-plus";
-        version = "20160917.1126";
+        version = "20170101.959";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/help-fns+.el";
-          sha256 = "12hjki054sm7gaky7q3b3sp8y4lxpnaq1vphjg85pfvad72rz71p";
+          sha256 = "14i48b139m7kp2qmmm8vfv359i74zmbjw1mck2n67xdxrh8bsk0k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/help-fns+";
@@ -31591,10 +31698,10 @@
       }) {};
     help-mode-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "help-mode-plus";
-        version = "20151231.1331";
+        version = "20170101.1004";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/help-mode+.el";
-          sha256 = "0qmf81maq6yvs68b8vlbxwkjk72qldamq75znrma9mhvlv8igrgx";
+          sha256 = "1aj53ihdhrxsncw14v4npgfsbpjnzmz481nx8xmzlcxs16xayyqv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/help-mode+";
@@ -31609,10 +31716,10 @@
       }) {};
     help-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "help-plus";
-        version = "20151231.1328";
+        version = "20170101.956";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/help+.el";
-          sha256 = "1r7kf9plnsjx87bhflsdh47wybvhis7gb10izqa1p6w0aqsg178s";
+          sha256 = "1k772rdakq2br8ahlk5l84s534wnb8jarlfhv4nbfaip6hidfqgk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/help+";
@@ -31711,10 +31818,10 @@
       }) {};
     hexrgb = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "hexrgb";
-        version = "20151231.1332";
+        version = "20170101.1007";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/hexrgb.el";
-          sha256 = "0rqjidjxa5j6rjknklfks743lczbq3qsyiranrf2z3ghzi0gf7fd";
+          sha256 = "1cpf5kj49iam5bfw2mddv4c5vr8d4j0sipbzjry3s8jvcxw2lzbi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0c9d7811584920508184a84ee4049e159cce3bb4/recipes/hexrgb";
@@ -31813,10 +31920,10 @@
       }) {};
     hide-comnt = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "hide-comnt";
-        version = "20151231.1333";
+        version = "20170101.1008";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/hide-comnt.el";
-          sha256 = "1l5jvgjgd0kzv1sn6h467fbnl487hma4h4pkwq4x1dhbc26yvfpz";
+          sha256 = "1gjca7796bg6skyqry90l5ywpw72zl6zkhzbq9fy8bi8q7a76g06";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05a695ab2bc358690c54611d21ef80cb51812739/recipes/hide-comnt";
@@ -31906,10 +32013,10 @@
       }) {};
     highlight = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "highlight";
-        version = "20161127.1729";
+        version = "20170101.1010";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/highlight.el";
-          sha256 = "19niikr5608xq67hcknmg5s7qxcb867ff79xcn58162px8d41v3k";
+          sha256 = "19mj1fw9hwqz5kybjbmac6l4gh8g52s1lgd01x34452zy69qdcnp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/603e9fc90e6e6cf7fe903cb3c38155c1a4f45278/recipes/highlight";
@@ -31945,10 +32052,10 @@
       }) {};
     highlight-chars = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "highlight-chars";
-        version = "20160729.2320";
+        version = "20170101.1008";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/highlight-chars.el";
-          sha256 = "1qpx5bpb2iyhdv2d6lnk3vmdxwsvf8ylriarr0hw79zli0l167kp";
+          sha256 = "0hkspc6skyra2lhrlg8wm008llmp4asxvxxkk6xbvlx3p0ajihjv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/highlight-chars";
@@ -32043,12 +32150,12 @@
     highlight-indent-guides = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "highlight-indent-guides";
-        version = "20161118.1050";
+        version = "20161230.1538";
         src = fetchFromGitHub {
           owner = "DarthFennec";
           repo = "highlight-indent-guides";
-          rev = "759ff84afba940b1a35c484b54da9478f8aa15fb";
-          sha256 = "0rqn1yc1daxpax2qv42x72411ipj49y4s1j7abgkqh2g7fvrbdwa";
+          rev = "6fa450df12393fa659dfd5ec71fdda37fb7ee821";
+          sha256 = "0m4h71fb95mcfpbf78r5ird6pabs0sikrkh8w0hy1rimiz9g2mm1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8acca65a5c134d4405900a43b422c4f4e18b586/recipes/highlight-indent-guides";
@@ -32189,12 +32296,12 @@
     highlight-stages = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "highlight-stages";
-        version = "20161212.241";
+        version = "20161212.657";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "highlight-stages";
-          rev = "d2c4f78ca9fc696da05fa05e3731c9a130a578da";
-          sha256 = "1sl419f957q9c04lm10i4jawqz28mymyaiwvk4dwh1x1iqa37qsw";
+          rev = "87c476f8ca0474912af41680a8de243c0c8d5b46";
+          sha256 = "1s7hxv4vpbrpk4makdjn3589flddgfy35scyd3kac629fbqiiz79";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/46884aa6588f55d6f688477a5e9f528f57673131/recipes/highlight-stages";
@@ -32316,8 +32423,8 @@
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "hindent";
-          rev = "4b0b4f44bcf14d603f88842d66a62099f1e81a47";
-          sha256 = "0hfr0njzz5czprqb4sg06vhdfs7vsw079p7v8xilz32s3priz4lq";
+          rev = "967c8a0017694c8057c90a3b22f9d2ef4f060617";
+          sha256 = "15d5as40s073f5611xm08w5cy6h4bzcj31pbnr384acla0i81lh1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent";
@@ -32500,10 +32607,10 @@
       }) {};
     hl-defined = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "hl-defined";
-        version = "20151231.1338";
+        version = "20170101.1011";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/hl-defined.el";
-          sha256 = "170sz6hjd85cw1x0y2g81ks3x3niib4f7y2xz6k8x0dpw357ggv3";
+          sha256 = "1m21l7hlk46pkpbzmglpkpigynsf8121dx8swslpbn0lck9wrg21";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/hl-defined";
@@ -32539,10 +32646,10 @@
       }) {};
     hl-line-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "hl-line-plus";
-        version = "20151231.1339";
+        version = "20170101.1012";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/hl-line+.el";
-          sha256 = "1kxq79pfs83gp12p2g093m6shsf25q88mi29bvhapxx77ahmxpkn";
+          sha256 = "16mv6h2mx1z47nds4q2crym8idj9i6y9jbdsqbafxmzwp54hfl3p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d5d1cf2f29d46e8abd821095da86f137650a2ff/recipes/hl-line+";
@@ -32599,10 +32706,10 @@
       }) {};
     hl-spotlight = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "hl-spotlight";
-        version = "20151231.1340";
+        version = "20170101.1013";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/hl-spotlight.el";
-          sha256 = "0m84d1rdsp9r5ip79jlrp69pf1daw0ch8c378q3kc328606i3p2d";
+          sha256 = "0f16nalmz7pdrxmmxznqgbb8m7kkwfpf8a31r0b98wqrw8n5nnwg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/adb008d2da35dbd3fca63555f04dd8a0009380c6/recipes/hl-spotlight";
@@ -32639,12 +32746,12 @@
     hledger-mode = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "hledger-mode";
-        version = "20161121.848";
+        version = "20170101.650";
         src = fetchFromGitHub {
           owner = "narendraj9";
           repo = "hledger-mode";
-          rev = "413e34e748b3bbd168dec8d38f673c41232c51e2";
-          sha256 = "0hniidrs8dzaq11micc0l4sdp2zrv6ry0r34c5b3w32cnb33xp47";
+          rev = "a9d6377b15999718462e96c079503594940507ef";
+          sha256 = "163k8crlyvgzag9mwb8q5cx40jlislxz533yr7nkh3ks6ricsj31";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c656975c61396d8d4ded0f13ab52b17ccc238408/recipes/hledger-mode";
@@ -32872,8 +32979,8 @@
         version = "20160928.439";
         src = fetchgit {
           url = "git://git.osdn.jp/gitroot/howm/howm.git";
-          rev = "364c5be487539b16f4e879b95e27964580c59d36";
-          sha256 = "05x7q4gchjj3pyq309w4lh7m27436qk53kh5glk9404ysnk3kqya";
+          rev = "e0237b07f60011a1926b36848c73340ae46cdb3e";
+          sha256 = "0ljsvrpbj7y690pq6llnqqkvm9mlrhksxihv9jpx06d1g4ghknpq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4f66d7b6835d06b8e7451aec9e32bb9288a6020/recipes/howm";
@@ -33410,10 +33517,10 @@
       }) {};
     icicles = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "icicles";
-        version = "20161127.1745";
+        version = "20170101.1027";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/icicles.el";
-          sha256 = "1j7x19jlr42mdncc3ignyra1m3w5a5gf0x51hjygrk7fh627i1jr";
+          sha256 = "072pxihvwpj6zkzrgw8bq9z71mcx5f6xsjr95bm42xqh4ag2qq0x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/icicles";
@@ -33428,10 +33535,10 @@
       }) {};
     icomplete-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "icomplete-plus";
-        version = "20160704.1959";
+        version = "20170101.1028";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/icomplete+.el";
-          sha256 = "1rncxvai45akrg1qp0rzf3f821r52bp47mf2bpfnba86bnsl396c";
+          sha256 = "0r2s3vwqs31pj7jfya8l46ij1jc894bar4pk4i9zk2l69d7pwllr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fade28733f33e52a8622479de201f451c9a31c11/recipes/icomplete+";
@@ -34035,12 +34142,12 @@
     iedit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "iedit";
-        version = "20161030.1920";
+        version = "20161228.2111";
         src = fetchFromGitHub {
           owner = "victorhge";
           repo = "iedit";
-          rev = "abcc27a9f07a7f855b0a8314f18640fd5cd7a0b6";
-          sha256 = "152vxkwndv7ffggsnb1jhizf8p2fd5mbplwiln6ig2lzn21drdpa";
+          rev = "03b647be8bd35ca82916f2ace27a95d5b85e8ecf";
+          sha256 = "1pbbkizaa2f8lazpsc1j7qs3snvwkmw7schzhminzxrvdx15yids";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aa2b2745bd1f1778070954c834158c19d4cfb788/recipes/iedit";
@@ -34302,10 +34409,10 @@
       }) {};
     imenu-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "imenu-plus";
-        version = "20151231.1401";
+        version = "20170101.1029";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/imenu+.el";
-          sha256 = "00w88d37mg2hdrzpw5cxrgqz5jbf7rylmir95hs8j1cm8fk787bb";
+          sha256 = "039s81faqg5y3vhl9hlwn5qffdghshn6867pp8nf93f6zhj9mxr0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/imenu+";
@@ -34325,8 +34432,8 @@
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "imenus.el";
-          rev = "ee1bbd2228dbb86df2865dc9004d375421b171ba";
-          sha256 = "1y57xp0w0c6hg3gn4f1l3612a18li4gwhfa4dy18fy94gr54ycpx";
+          rev = "c24bc3a5b3bb942afcdf2dfb568968cf836ddafc";
+          sha256 = "1p6b7wvzf63dca446gpxm90pmbh9f7r097hbhwj2jmm2i9j5d0lg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cc571105a8d7e2ea85391812f1fa639787fa7563/recipes/imenus";
@@ -34446,12 +34553,12 @@
     import-js = callPackage ({ emacs, fetchFromGitHub, fetchurl, grizzl, lib, melpaBuild }:
     melpaBuild {
         pname = "import-js";
-        version = "20161128.1613";
+        version = "20161220.508";
         src = fetchFromGitHub {
           owner = "galooshi";
           repo = "emacs-import-js";
-          rev = "4818ece32dae9df773972815559617b803a3ac2c";
-          sha256 = "08hk5z5n1jk6wkwqn5lwk530ykrdf2v5xzds9z540vmk4dzv406q";
+          rev = "15d395126f57408d770a72db2e5f43271f90fa52";
+          sha256 = "1ipbfacjx9vqqhvsf9sgfci8vqx0plks510w1gsjj0xwrpqn1f6l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/048344edd471a473c9e32945b021b3f26f1666e0/recipes/import-js";
@@ -34488,12 +34595,12 @@
     importmagic = callPackage ({ emacs, epc, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "importmagic";
-        version = "20161208.108";
+        version = "20170101.1603";
         src = fetchFromGitHub {
           owner = "anachronic";
           repo = "importmagic.el";
-          rev = "e536d96fdf4bfcbe44eb22827dec0955551f537e";
-          sha256 = "05ayg63v3a57d0x6lzkb25z7gwf4dwa4j56q25fk0p6y5ynrhfwr";
+          rev = "c75afbb93b024307c4cf67e6dd44cda80bbea697";
+          sha256 = "1xz99g9j8gfd6qrdsmrf98mq61168divw8lrwl3zylfw04x20b4b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/695534126f0caa52f66bb90b0277d08d524daa21/recipes/importmagic";
@@ -34509,12 +34616,12 @@
     indent-guide = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "indent-guide";
-        version = "20161207.1714";
+        version = "20161226.2332";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "indent-guide";
-          rev = "38cc1c64d6f897230125c3590157f25c09703044";
-          sha256 = "10ymf5fwkxcs94pxvv754krqnvzz9hjv44ma7bakz0r1rfgn1jhc";
+          rev = "c0343c76362b25148738ccc11317f7ccb89580d0";
+          sha256 = "1r6cq0984yacby96hphvsvvbifa4qz2j6s25mz72l15r344m769q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d7110054801e3af5e5ef710a29f73116a2bc746/recipes/indent-guide";
@@ -34527,6 +34634,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    indent-tools = callPackage ({ fetchFromGitLab, fetchurl, hydra, lib, melpaBuild, s, yafolding }:
+    melpaBuild {
+        pname = "indent-tools";
+        version = "20161220.856";
+        src = fetchFromGitLab {
+          owner = "emacs-stuff";
+          repo = "indent-tools";
+          rev = "3b0e62e15091123cc6d54bf4d401ccf0d5e22062";
+          sha256 = "1rklsf6x7lwhpvzs9s8sdlfj98wh6zjsdb28pnlha09g2nm5c7jj";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9d8c79e455b3a567b179812754f82452469dc267/recipes/indent-tools";
+          sha256 = "1i81pk62lnjww80dpi5b55fz7p0z2qxm19z6v3225x2jpylwcab3";
+          name = "indent-tools";
+        };
+        packageRequires = [ hydra s yafolding ];
+        meta = {
+          homepage = "https://melpa.org/#/indent-tools";
+          license = lib.licenses.free;
+        };
+      }) {};
     indicators = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "indicators";
@@ -34635,12 +34763,12 @@
     inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-ruby";
-        version = "20161204.1637";
+        version = "20161218.1754";
         src = fetchFromGitHub {
           owner = "nonsequitur";
           repo = "inf-ruby";
-          rev = "e05cc847385f9160703ae00b8046bb2a9eafdd64";
-          sha256 = "1zgqvsgv6b6bysw22yybkasra45fy9i8v7dp8bhnkiwgldjsk98i";
+          rev = "1dd007201a6f1465791edaea7e80e3adbeda5a45";
+          sha256 = "07hgzwydvg56f9kpg7ch5g1i429s6c8fssn3zzk58rxnc620jv83";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/inf-ruby";
@@ -34697,10 +34825,10 @@
       }) {};
     info-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "info-plus";
-        version = "20161210.837";
+        version = "20170101.1030";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/info+.el";
-          sha256 = "1d2n5yyrm904f22s8d4wqk66p646c7yx4rpsymp9cfgjvwlbar96";
+          sha256 = "05s8wjv0nvdbdmc30kjbvipk2yvnvivhvjr0jrpkhq4s043135xq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e77aadd8195928eed022f1e00c088151e68aa280/recipes/info+";
@@ -34842,16 +34970,16 @@
     inkpot-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inkpot-theme";
-        version = "20120505.708";
+        version = "20161220.2134";
         src = fetchFromGitHub {
-          owner = "siovan";
-          repo = "emacs24-inkpot";
-          rev = "374a72794ebcb92bd7b50b5578d4c2ffa6049966";
-          sha256 = "063v3a783si5fi8jrnysss60qma1c3whvyb48i10qbrrrx750cmv";
+          owner = "ideasman42";
+          repo = "emacs-inkpot-theme";
+          rev = "e175dbd7d0484ae905525ff157cda4e190977ba6";
+          sha256 = "0cpmc92234xhddb14np8v9fq3cq06ci3qcc25a72dnmjf19kkjcm";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/bd6ce27c31a1c73d6ee1f6b22147eda8c6b34243/recipes/inkpot-theme";
-          sha256 = "0w4q74w769n88zb2q7x326cxji42278lf95wnpslgjybnaxycgw7";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/dd3e02aaf8865d8038b9c590c8545e7a1b21d620/recipes/inkpot-theme";
+          sha256 = "1m3iygb8vbqcnsxsnwr7g2mq1n2a9r7qxp3pgm1fpwz1lngvaagf";
           name = "inkpot-theme";
         };
         packageRequires = [];
@@ -35009,12 +35137,12 @@
     interleave = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "interleave";
-        version = "20161123.101";
+        version = "20161225.327";
         src = fetchFromGitHub {
           owner = "rudolfochrist";
           repo = "interleave";
-          rev = "36ed2533f3c9cc22a9b54c3e8814a4e2885d0177";
-          sha256 = "03yajiq3ifn9kiwrdx6zxlvycgisxm96yhalk5baysbicp6nh31r";
+          rev = "0e23fad70451607243e6b8ece4df8bb268d42061";
+          sha256 = "1pkxnip07kh21y99czcnvhbf4yihjipwq2qq5hfsqmniwws0bbqn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c43d4aaaf4fca17f2bc0ee90a21c51071886ae2/recipes/interleave";
@@ -35030,12 +35158,12 @@
     intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "intero";
-        version = "20161204.626";
+        version = "20170103.425";
         src = fetchFromGitHub {
           owner = "commercialhaskell";
           repo = "intero";
-          rev = "c03881e03973972b44fa0e775ed2e832ebb76815";
-          sha256 = "1dlpnnajp1qg4kc99c9zhwxwy36cjicnfvbnlvjwn6flz415lavx";
+          rev = "cb18c88db105f0be39f201010833e248d073d76c";
+          sha256 = "0y0598phgz4plwb72j5yic4kww4jjw1giv8pf4m3i6angvnv3zhz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero";
@@ -35300,12 +35428,12 @@
     irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "irony";
-        version = "20161106.830";
+        version = "20161227.348";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "irony-mode";
-          rev = "bfe703a4c0e91a960c606bf2420b1f118e53a0a6";
-          sha256 = "1dy0as8n5syf4cbpdpw7fpd205jzkj0k7av1c73nxvd4zd28pxj2";
+          rev = "ebc373b0b4f2b3f491c91d3a7f6dc9ce565a2960";
+          sha256 = "1594q15664awzb4ylr74x4ab8lram135rr0fr1l1gq4nsqzv4pg9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony";
@@ -35362,10 +35490,10 @@
       }) {};
     isearch-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "isearch-plus";
-        version = "20161210.1812";
+        version = "20170101.2341";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/isearch+.el";
-          sha256 = "01y1r0drfhjq87ip1mai4p47ivhc0gvfman8p9g6fqbywskdnnxm";
+          sha256 = "0iagsqqsxjxz0j30ljynwjpjn6i5klaxka4ygrsbxh0ys6cv5yfh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8a847ee5f4c4206b48cb164c49e9e82a266a0730/recipes/isearch+";
@@ -35380,10 +35508,10 @@
       }) {};
     isearch-prop = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "isearch-prop";
-        version = "20161127.1755";
+        version = "20170101.1034";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/isearch-prop.el";
-          sha256 = "1nni8lbmh215icv2n5kzq59vbnjq2z3h021drk6szdxm5hcsgmg4";
+          sha256 = "0n83qikh3mlnd3f9qwcsflg5x10sxvs9fkidyyv79jr673x4ljpv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/isearch-prop";
@@ -35588,12 +35716,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20161210.333";
+        version = "20161228.1838";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "bb4814a6a6bd52042afd8dcbd99a29fe880aa991";
-          sha256 = "07sgqqzkbczcq6ds6jqfmmv2900jhm08wgcg7nm4y657wfjd6rz2";
+          rev = "dc693c37dae89e9a4302a5cce42f5321f83946c8";
+          sha256 = "0bg4ki0zzqr0pir4b3p0bpv747bfb5a8if0pydjcwrwb05b37rmp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -35609,12 +35737,12 @@
     ivy-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, s, swiper }:
     melpaBuild {
         pname = "ivy-bibtex";
-        version = "20161202.236";
+        version = "20170103.227";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "3193f2a408d76c36db588ec85191b0dc22fa21a6";
-          sha256 = "1qysjyd7c05iylwfxmvqjwq9pkp8yxrhmsnki6i8dpypjlbji997";
+          rev = "1e11998cc45a12a1b1bd19b8fe9ed8a9f0c50774";
+          sha256 = "1q7vqi1g2rbkh6lxlma7rb8vpsx5vxl2iadxzbzy21d4knjpnj96";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex";
@@ -35634,8 +35762,8 @@
         src = fetchFromGitHub {
           owner = "s-kostyaev";
           repo = "ivy-erlang-complete";
-          rev = "8d3716a93200226625b11dda8230862933f9bef6";
-          sha256 = "1rfn2jfinqxdqrjns0h9wjbxsy1g28x89g85nyl51xx7n4b2cbgf";
+          rev = "ec8588b1be34b9508a5eaf893c9854e2938d02a2";
+          sha256 = "1f03fyc3x34nzm1hk5snvbkqfcp829whjvs8i7y4byap7m0npaf9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@@ -35672,12 +35800,12 @@
     ivy-hydra = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-hydra";
-        version = "20160517.1349";
+        version = "20161213.439";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "bb4814a6a6bd52042afd8dcbd99a29fe880aa991";
-          sha256 = "07sgqqzkbczcq6ds6jqfmmv2900jhm08wgcg7nm4y657wfjd6rz2";
+          rev = "dc693c37dae89e9a4302a5cce42f5321f83946c8";
+          sha256 = "0bg4ki0zzqr0pir4b3p0bpv747bfb5a8if0pydjcwrwb05b37rmp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -35732,6 +35860,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ivy-rich = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ivy-rich";
+        version = "20170102.1820";
+        src = fetchFromGitHub {
+          owner = "yevgnen";
+          repo = "ivy-rich";
+          rev = "7ff0b3e43b27353fabcb01d2252236e266916e50";
+          sha256 = "1gy45rm8pznrkqh7d7wrppd2z2bd654yzi9ddav1ibzaip52g5m3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0fc297f4949e8040d1b0b3271c9a70c64887b960/recipes/ivy-rich";
+          sha256 = "0knkqc403gch4dp1q114h64cwwisxwnsxjqbl3cnidlwkn7lzk7m";
+          name = "ivy-rich";
+        };
+        packageRequires = [ emacs ivy ];
+        meta = {
+          homepage = "https://melpa.org/#/ivy-rich";
+          license = lib.licenses.free;
+        };
+      }) {};
     ivy-xcdoc = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-xcdoc";
@@ -36045,6 +36194,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    jastadd-ast-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "jastadd-ast-mode";
+        version = "20161219.126";
+        src = fetchFromGitHub {
+          owner = "rudi";
+          repo = "jastadd-ast-mode";
+          rev = "a29fdb470cbf0a398164950a3b0d2217de48e0c0";
+          sha256 = "01fv0ixkshy7i6wzcgq6xvijvh3n402vyhmh3qzjwi9p0vxvdyxv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/32d59dd9e796438f1752d36a30d4e062abbb6dd1/recipes/jastadd-ast-mode";
+          sha256 = "1cwqxzmqx5wxaax12rq0hy0whpaivqncykym43p3an2sl9s6ngva";
+          name = "jastadd-ast-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/jastadd-ast-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     jaunte = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jaunte";
@@ -36216,12 +36386,12 @@
     jdee = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, memoize }:
     melpaBuild {
         pname = "jdee";
-        version = "20161207.1325";
+        version = "20170102.757";
         src = fetchFromGitHub {
           owner = "jdee-emacs";
           repo = "jdee";
-          rev = "c4ee9b3fefe42e00475af452d7c664c62dbe067b";
-          sha256 = "11sz08a59hqcyynmd2zyllbvqnh7ll0ql22vj4gxrvkv18sb79za";
+          rev = "5e41bd8ad9b172cc980ae5a9c7b50bcfc18ebacb";
+          sha256 = "1xp515kjc18ryd5imb3r64nkinzqx1wxkzalgw672i6p7ydw529s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a6d2c98f3bf2075e33d95c7befe205df802e798d/recipes/jdee";
@@ -36441,22 +36611,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    jist = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, magit, melpaBuild, pkg-info, request }:
+    jist = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, magit, melpaBuild, request, seq }:
     melpaBuild {
         pname = "jist";
-        version = "20160803.1758";
+        version = "20161229.921";
         src = fetchFromGitHub {
           owner = "emacs-pe";
           repo = "jist.el";
-          rev = "1a0252e47b4ae5be6f8a16680752f6c69b1291a8";
-          sha256 = "0wa7gbm1nn5q97bkz1zsrzwhga4m028bsiixzf14qml8pfq6q5ml";
+          rev = "da0692452e312a99bb27d8708504b521798aca48";
+          sha256 = "13dic7bmj7a8vvjz47s1fnz8p5m22d2m2h2vlkmlq7322qwxxw6p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/898bfa0b315240ef9335fde24ff0386a4c6c6595/recipes/jist";
           sha256 = "11m9li1016cfkm4931h69d7g1dc59lwjl83wy3yipswdg3zlw0ar";
           name = "jist";
         };
-        packageRequires = [ dash emacs let-alist magit pkg-info request ];
+        packageRequires = [ dash emacs let-alist magit request seq ];
         meta = {
           homepage = "https://melpa.org/#/jist";
           license = lib.licenses.free;
@@ -36591,12 +36761,12 @@
     js-comint = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js-comint";
-        version = "20161117.1413";
+        version = "20161212.2125";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "js-comint";
-          rev = "35660f93fb624c130c8795a742bad6ff9e2dd5bd";
-          sha256 = "18j0a6c7ashsbc1vsfj686pjc23igcgpvnwjrkhj0mm9afg918rq";
+          rev = "2f42249c0a18ad2e17cfb272d75aa9fd3ec5e4ec";
+          sha256 = "17f99cih28lfral5iq43pjrvimlx0bnigirv44wm81n58widismy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bc9d20b95e369e5a73c85a4a9385d3a8f9edd4ca/recipes/js-comint";
@@ -36630,6 +36800,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    js-format = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }:
+    melpaBuild {
+        pname = "js-format";
+        version = "20161220.1427";
+        src = fetchFromGitHub {
+          owner = "futurist";
+          repo = "js-format.el";
+          rev = "1fb87a5b21cdc2dc4e29245d14d82e81a5983393";
+          sha256 = "0cwxyfqiwl19gvx0smcdy8immvyj0rnsrxsqy2pch1s6m5sz4wxd";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0d6deaa93f7deaba9f5f36f1963522b6dc5c673a/recipes/js-format";
+          sha256 = "112zqb3q1gjlaa9zkmhx7vamh0g97dwp9j55215i1sx66lmp18iq";
+          name = "js-format";
+        };
+        packageRequires = [ emacs js2-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/js-format";
+          license = lib.licenses.free;
+        };
+      }) {};
     js-import = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "js-import";
@@ -36696,12 +36887,12 @@
     js2-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js2-mode";
-        version = "20161208.1415";
+        version = "20161230.1612";
         src = fetchFromGitHub {
           owner = "mooz";
           repo = "js2-mode";
-          rev = "6f2d51bd723126f82b491b5e2515356018a48849";
-          sha256 = "0bnbfbii0gq6rai4r62c9yaw6q1hlkiw038x0g2skmhnwm24ciiq";
+          rev = "8569ba6734184b869b4ac42e79231d195ea4dba2";
+          sha256 = "14j9qaqls403i5w5046w6qhw23gva7yfhmbw9mrdmwffl53nxfng";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode";
@@ -36964,27 +37155,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    judge-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "judge-indent";
-        version = "20160609.622";
-        src = fetchFromGitHub {
-          owner = "yascentur";
-          repo = "judge-indent-el";
-          rev = "f76c012284abc296681167d7b33d5e61f3ac7cec";
-          sha256 = "0547jy339ql31wym066pi79k520agdq062xblyvj0bi91j0rqld3";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/73fb2c31f6af63145aae7c449bfde1bbb00e1100/recipes/judge-indent";
-          sha256 = "1gakdhnlxfq8knnykqdw4bizb5y67m8xhi07zannd7bsfwi4k6rh";
-          name = "judge-indent";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/judge-indent";
-          license = lib.licenses.free;
-        };
-      }) {};
     julia-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "julia-mode";
@@ -37529,12 +37699,12 @@
     keymap-utils = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "keymap-utils";
-        version = "20161211.1015";
+        version = "20161212.957";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "keymap-utils";
-          rev = "8c88aa025201d4d890ab4eb51ce20d3c1ad20454";
-          sha256 = "19pjxhi4vp1xb7q9wrknvypylrnx052c9r3s0kl65wqasiqmrans";
+          rev = "a4f6ff724eeade5612c01c6f6bf401f264687793";
+          sha256 = "0jgmw8798g3ikhwnic3fbbjld0hj8fvg50q6x78pngf78ws92mkl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03acebf1462dea36c81d4b9ab41e2e5739be3c3/recipes/keymap-utils";
@@ -37655,12 +37825,12 @@
     kill-or-bury-alive = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kill-or-bury-alive";
-        version = "20160531.908";
+        version = "20161231.1559";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "kill-or-bury-alive";
-          rev = "62557d5d45a27773cc4f079549e98ca8aad203d0";
-          sha256 = "1d1kygn2l675rigz29hjmqkh0x7061ax0a60v5mjn9q87y4jd760";
+          rev = "beadb20a0f436b5f3413a0dee215a20f614f070e";
+          sha256 = "1ck9v01xih9ik85q46ijhl1m3ppazkr6f9fjcamxgxcwxrniwj4j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/25016ed09b6333bd79b989a8f6b7b03cd92e08b3/recipes/kill-or-bury-alive";
@@ -37764,8 +37934,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "a58a88c506472302eee373b689cc297f64e42476";
-          sha256 = "0sgfl1d7dc7xppz6y9jchyl0dsx6jinjza7r1ak0ij5m32070zm7";
+          rev = "082c4544415ab6bd976d9dda9c342bae109e7cbb";
+          sha256 = "0b3dikix9mr5zch1m6dyf51y2fp48iqvpjwflqfn3x4j7k6pscgb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -37781,12 +37951,12 @@
     kiwix = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kiwix";
-        version = "20161211.513";
+        version = "20161230.2008";
         src = fetchFromGitHub {
           owner = "stardiviner";
           repo = "kiwix.el";
-          rev = "34851315ae9df84107f99236a0312ca4408838b6";
-          sha256 = "19jlrhrm1aciw20a52ljjzx3g17izkznxhg6j9q920v72dwm2z0m";
+          rev = "d43238ffbbf9863c36a0064f3291dac2013a46c8";
+          sha256 = "1mbw82w0l1lazm6k9hchvcdqrrs2q9zpj7fxb0kyvfd5nkk99p0m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/673b4ecec96562bb860caf5c08d016d6c4b89d8c/recipes/kiwix";
@@ -38095,10 +38265,10 @@
       }) {};
     lacarte = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "lacarte";
-        version = "20161127.1758";
+        version = "20170101.1036";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/lacarte.el";
-          sha256 = "0bpjrnxfxfmrjj07hf5sgxjm4v8i6hr7ssq235jbh4r29vgf9qlc";
+          sha256 = "0xlbv4hhmg85x8i2zzbma29r5674cbmjrqwda9bjxf00wfid0a76";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/85457b78a0fcc4ac0e0910d09594397b21cb1aa8/recipes/lacarte";
@@ -38428,12 +38598,12 @@
     leanote = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pcache, request, s }:
     melpaBuild {
         pname = "leanote";
-        version = "20161029.756";
+        version = "20161222.1739";
         src = fetchFromGitHub {
           owner = "aborn";
           repo = "leanote-emacs";
-          rev = "f5f0ed732e8fb2316591e5152306e090774c4d49";
-          sha256 = "0cj8nd63sjp8iysmxl1a1qqb5qpmmd95yp5g5b1g4ikak17mx2vq";
+          rev = "d499e7b59bb1f1a2fabc0e4c26fb101ed62ebc7b";
+          sha256 = "1lg4zml26q97bx9jrmjikhnm3d74b12q2li5h8gpxx9m35wc360c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b00b806ae4562ca5a74f41c12ef35bfa597bcfa8/recipes/leanote";
@@ -38449,12 +38619,12 @@
     ledger-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ledger-mode";
-        version = "20161204.758";
+        version = "20161231.914";
         src = fetchFromGitHub {
           owner = "ledger";
           repo = "ledger-mode";
-          rev = "187851c47cd5a2ab397fbbdb09d2cf9ce6d50cae";
-          sha256 = "1xhc5cvw7j6ninfw5knxqsjyxwg7p7ccf24gx72ik4gmddlki1x9";
+          rev = "a2ce924c4447daa92228d5904e5c31555d27fbf7";
+          sha256 = "0j9ppsxn9q3h4lh9ak3r1n8jpg5x0zs2az016jiw2q3h6n6sw564";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/851eca11911b337f809d030785dc2608c8a47424/recipes/ledger-mode";
@@ -38702,8 +38872,8 @@
         src = fetchFromGitHub {
           owner = "rvirding";
           repo = "lfe";
-          rev = "64653b77c1d1a61f7e968d50fc1ffb1c03711b5d";
-          sha256 = "0296fbnbl3rvrk1x8xbaq7y14jz3qvr1wkrqb5fx30bfjjfk3zc9";
+          rev = "aef45adb5178998e6e406c89bb058a92fd0f6863";
+          sha256 = "16qs6wc0vh4k6hnr0jkjdgi3rq4a0v5w9yynpccw3c8ws24i7n6j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c44bdb00707c9ef90160e0a44f7148b480635132/recipes/lfe-mode";
@@ -38718,10 +38888,10 @@
       }) {};
     lib-requires = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "lib-requires";
-        version = "20151231.1410";
+        version = "20170101.1038";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/lib-requires.el";
-          sha256 = "077cy2clllrvabw44wb1pzcqz97r3y92j7cb9lnhd9pix0wpcq6g";
+          sha256 = "03y99c1cg368c3647w8jypf2nlx26qkygrijw2vxcp4ha5v9f44z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3f0d443964f98bb65f2fe8f57048fbee844f2ba/recipes/lib-requires";
@@ -38842,12 +39012,12 @@
     link-hint = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "link-hint";
-        version = "20160412.2218";
+        version = "20161216.857";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "link-hint.el";
-          rev = "1d97e43fef29338b63c7a3b8c90df14887afc3bd";
-          sha256 = "0w6n6m766vr7d2i5jw30dkq9326r1mx02n222vm8z1mxydkw1n3i";
+          rev = "5c3bac30fea5ff74493712273a64a1a6a9f72957";
+          sha256 = "18s5frmaf7d3l15by9yvr8hzgnk9fing4bjpfj53bcck2nmfd7qj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d24b48fe0bc127ae6ac4084be8059aacb8445afd/recipes/link-hint";
@@ -39015,12 +39185,12 @@
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20161211.1128";
+        version = "20170102.254";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "b50c07af1ee414c73b4dd53d6ca19ca4e473763a";
-          sha256 = "0i5zgrym9bh1b584qwh3npw4383s9arbs71xckp28di9w249sm4v";
+          rev = "74e9f0c2e4f3b64e2553449cb7346996ffef96f0";
+          sha256 = "1zhaqvzb78f775n3ba4a0qsjgszmayidsgkahqy2bv392ckq6mzl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -39328,12 +39498,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "20161125.2208";
+        version = "20161229.1546";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "469ed0ccf146deab8c2ebbb162be7be31709da0a";
-          sha256 = "1qv6v27fjfq0h3i7d2nry752r9fwqf5llilngy5l3yimqddm2k4d";
+          rev = "e33dedc107e6a1d15fc40e78ebbebe3bc83571d0";
+          sha256 = "1s53l83059skv15dc0bn1d9s572jnb26a2af5057p364l4qz5cng";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -39415,8 +39585,8 @@
         version = "20150910.644";
         src = fetchgit {
           url = "http://llvm.org/git/llvm";
-          rev = "f00c869d13d6af87f02ebf0bc5b682d5260436c6";
-          sha256 = "0667v43kd1ld764550s0qjki71iv4bp02nmdywbwfv60l76f5swl";
+          rev = "a3bfbbd5a2c5b7d9b2f4203369d05f4bda7df1a6";
+          sha256 = "1dyr09dxz7sg9cb0hpa81nyviz7wyv16xs7wmipqqznl5f59kzzd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05b7a689463c1dd4d3d00b992b9863d10e93112d/recipes/llvm-mode";
@@ -39492,22 +39662,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    loccur = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    loccur = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "loccur";
-        version = "20161122.1107";
+        version = "20161227.251";
         src = fetchFromGitHub {
           owner = "fourier";
           repo = "loccur";
-          rev = "08aeadc69571bddf44f2708dd75f57c7e027d32f";
-          sha256 = "0wlz3skimgxbfvrd0xjj17ymm24c86847hd90wik861a4ig3wby0";
+          rev = "650d91dda0d313c8f445a0803c07809d857dee0f";
+          sha256 = "09xc2207dhlbw0x9pks2gay09adzijzcabdwg55iszrs7pxjjfa0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/72550b043794331e85bc4b124f6d8ab70d969eff/recipes/loccur";
           sha256 = "06pv2i05yzjzal4q21krbnp9rp4bsainxcwvpc98020vsmms0z8h";
           name = "loccur";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/loccur";
           license = lib.licenses.free;
@@ -39782,6 +39952,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    lsp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "lsp-mode";
+        version = "20161231.108";
+        src = fetchFromGitHub {
+          owner = "vibhavp";
+          repo = "emacs-lsp";
+          rev = "ed97c84fb3e730eecc90451257a09b085dccab33";
+          sha256 = "1h6d3l8id2zwikry4k9m2ybg6jxc9ww5wnn9rc9v16jbw08yi17l";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b192c90c96e24ccb464ac56e624a2fd527bc5cc9/recipes/lsp-mode";
+          sha256 = "0acgfzm9irk8s5lv3chwh9kp7nrwqwlidwaqzf2f4jk3yr3ww9p1";
+          name = "lsp-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/lsp-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     lua-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lua-mode";
@@ -39992,12 +40183,12 @@
     magic-filetype = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "magic-filetype";
-        version = "20161209.1826";
+        version = "20161214.1017";
         src = fetchFromGitHub {
           owner = "zonuexe";
           repo = "magic-filetype.el";
-          rev = "3a5b86370cd495622be0200220405f48ea2aadc1";
-          sha256 = "1dw4r21c45l51l49n6jddn479kx2rmf27xm69cg1fp9xvadxqcd6";
+          rev = "9a20137474697063898902b43a40423daa4eb64d";
+          sha256 = "1r16qlm2pqcph0zwy3fhzdjywdrfcwvldqk809vbhw71qkq4a54i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0d6027c5a66386f7140305a4cde12d66da4dfa09/recipes/magic-filetype";
@@ -40013,12 +40204,12 @@
     magic-latex-buffer = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magic-latex-buffer";
-        version = "20160212.603";
+        version = "20161231.2300";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "magic-latex-buffer";
-          rev = "21c5030996bcd773b32b6fdd5990a64fcc3255f3";
-          sha256 = "1gmhb8g1pl4qqk1d32hlvmhx2jqfsn3hkc4lkzhgk1n3qzfrq4hf";
+          rev = "49a9ac6aff0a45aa6630dc0044533b7b3d3be7ad";
+          sha256 = "1r9zq16n546xd9i27kiifdl7mwld8jk88rll2h0lbd77ir6wdlfm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/07e240ebe71d389d314c4a27bbcfe1f88b215c3b/recipes/magic-latex-buffer";
@@ -40034,12 +40225,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20161210.737";
+        version = "20161231.757";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "6a4bb25b621b69b0ae564a572b89ed31e22f780d";
-          sha256 = "19va83m1b80fy4naq1kl03jm0h2s1ym6d3y86nr4swly676pd2dw";
+          rev = "d75529458b09998a68779d348527aa5a19045bed";
+          sha256 = "1si1xxn3pqd4p7vanyhq2zs4cbdkgwb908afl1dx3mih3wf1v1fr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -40192,8 +40383,8 @@
         src = fetchFromGitHub {
           owner = "qoocku";
           repo = "magit-p4";
-          rev = "eb88123f184a20e6727c9829a4a08f2eae850599";
-          sha256 = "10y702vj5p7pbgny2b8w1kkm69bfy1angna8fgz7336bqwcpmf8a";
+          rev = "9c5ef8bbe70c916bc3742025ce0098e3bdf7be6e";
+          sha256 = "12avgqcm7za16m84sx2gnrf6y87gj8g4lxk4hld98myxkvfp04zc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/440d47ca465845eaa601ca8a6e4b15fc197e522b/recipes/magit-p4";
@@ -40209,12 +40400,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "20161207.613";
+        version = "20161227.1257";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "6a4bb25b621b69b0ae564a572b89ed31e22f780d";
-          sha256 = "19va83m1b80fy4naq1kl03jm0h2s1ym6d3y86nr4swly676pd2dw";
+          rev = "d75529458b09998a68779d348527aa5a19045bed";
+          sha256 = "1si1xxn3pqd4p7vanyhq2zs4cbdkgwb908afl1dx3mih3wf1v1fr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -40423,8 +40614,8 @@
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "make-color.el";
-          rev = "a1b34e95ccd3ebee4fba1489ab613d0b3078026d";
-          sha256 = "1ky3scyjb69wi76xg6a8qx4ja6lr6mk530bv5gmhj7fxbq8b3x5c";
+          rev = "5ca1383ca9228bca82120b238bdc119f302b75c0";
+          sha256 = "1wmpy1d966zzxwar2ng825zlch5fwsslsi1706ss9v7zl7i9wggd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb765469c65589ae9d7dbc420a8edcf44c3be5d1/recipes/make-color";
@@ -40650,12 +40841,12 @@
     mandoku = callPackage ({ fetchFromGitHub, fetchurl, git, github-clone, lib, magit, melpaBuild, org }:
     melpaBuild {
         pname = "mandoku";
-        version = "20161211.2253";
+        version = "20161228.39";
         src = fetchFromGitHub {
           owner = "mandoku";
           repo = "mandoku";
-          rev = "04f1aaf687ad1d3bf6bf032b817032b82a6cd6bb";
-          sha256 = "0pf6hcbd13gfjb58z2cgc4ql2m08kx0inxz1x7sfrpg1cvh8nb8f";
+          rev = "3880559c38060232e90a29adc11af41373ca7989";
+          sha256 = "1m8m8ajcqyxb0rj4ink0vdxq23sl8q578hz4kj4ynsgiq70zwcab";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1aac4ae2c908de2c44624fb22a3f5ccf0b7a4912/recipes/mandoku";
@@ -40776,12 +40967,12 @@
     markdown-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "markdown-mode";
-        version = "20160928.932";
+        version = "20161222.1416";
         src = fetchFromGitHub {
           owner = "jrblevin";
           repo = "markdown-mode";
-          rev = "c81e26ff477d46f68bcf0c6397d5f5346d9b0129";
-          sha256 = "000g0l3al6qsl6h47jiz7kgny6svd9i8ppza53wj3p1i4yxrzmdx";
+          rev = "df4ac404ce92abdf1a0b78da8ef1675f1cd1f196";
+          sha256 = "1k5bxqbcz174b6g3av6hr2q828bybinq96avab0561zqwqxlhkql";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode";
@@ -40843,8 +41034,8 @@
         src = fetchFromGitHub {
           owner = "ancane";
           repo = "markdown-preview-mode";
-          rev = "b55c8ddba2f9c4e87f0dd9bed586f4d94890350f";
-          sha256 = "18x7mk4xysiihr707xl4s52a73mpj9bwlh53gli37wmpjfgdlp1y";
+          rev = "65f48df07c87d37275cc6a135741df4b585f1836";
+          sha256 = "0gkfwm7zxwdi7x7xd6m9sl9q1p5f2q8mxryq6cd4xldbvbcki71f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d3c5d222cf0d7eca6a4e3eb914907f8ca58e40f0/recipes/markdown-preview-mode";
@@ -40867,12 +41058,12 @@
     markdown-toc = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild, s }:
     melpaBuild {
         pname = "markdown-toc";
-        version = "20160727.908";
+        version = "20161214.1011";
         src = fetchFromGitHub {
           owner = "ardumont";
           repo = "markdown-toc";
-          rev = "297bb643e222ec2f95a23403723e45eaf4a1dcd2";
-          sha256 = "0vk6zrxpinmzmgx74k1kc9kw6slb3j1z0lk4cyhcpxd202dm1bmw";
+          rev = "c7a526c0cd2c3b2ecc7b36458c762e0a0b55909e";
+          sha256 = "1j35pmm9rk7zk5j6x0fzglx09hbm8csf07f0pc9fkvvyh1nqskxf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4db1e90be8e34d5ad0c898be10dfa5cd95ccb921/recipes/markdown-toc";
@@ -41159,12 +41350,12 @@
     maxframe = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "maxframe";
-        version = "20140916.754";
+        version = "20161213.1734";
         src = fetchFromGitHub {
           owner = "rmm5t";
           repo = "maxframe.el";
-          rev = "174e3a0f3a716e904eba15e659096a99976ee39a";
-          sha256 = "0g9kpsg6623nmxnshj49q8k952xybrkmqqy6m892m8wnm22pjdz1";
+          rev = "50dc78c7b33959c10d5f6da00c338d4611467c36";
+          sha256 = "1qz3q63g0zh5xhsxcqm37swcdpliii15cqfbbvm0jjyd9kfysblw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7944652cb7a7bf45f16e86ea379a104d31861e76/recipes/maxframe";
@@ -41179,10 +41370,10 @@
       }) {};
     mb-depth-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mb-depth-plus";
-        version = "20151231.1421";
+        version = "20170101.1046";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mb-depth+.el";
-          sha256 = "0w8clp96jblsc9v87404zpc280ms0d644in34jdgjc5r33f4i0g3";
+          sha256 = "1sk8x91gxwk17kv7whwfh9szxmgyy9ys1h4hx17hyzlvhz9smncg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/mb-depth+";
@@ -41198,12 +41389,12 @@
     mb-url = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mb-url";
-        version = "20160724.725";
+        version = "20161224.1806";
         src = fetchFromGitHub {
           owner = "dochang";
           repo = "mb-url";
-          rev = "178b03d2cbc31e889c095a6c25426c297e5fe6fc";
-          sha256 = "0y22bn4zvyw2qivjrvwkhx96mwvfpx74901r0m4l31nvyh559aq0";
+          rev = "129a0bb6a684be76fb9f09010e710065d0e5baaa";
+          sha256 = "1apy7abjhdbgh8001rzv41q40bfl444rcz62lvgdwj3lg45zb8xc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dd9a8ff6e094b061a7b9d790df1fd4086c5d0a9d/recipes/mb-url";
@@ -41366,12 +41557,12 @@
     melancholy-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "melancholy-theme";
-        version = "20161110.120";
+        version = "20161228.1643";
         src = fetchFromGitHub {
           owner = "techquila";
           repo = "melancholy-theme";
-          rev = "bf15e39ed0579fa1cf1ceb5fb91876c2be115bfb";
-          sha256 = "0wphlp2vq8clv0q9c5lrpbajzhn7pr4z6x661q6vd51z9azh3qp2";
+          rev = "033cb2690c3f4deb6188dabeb811d42debd78a5a";
+          sha256 = "0qv1dv0l7q6j0r1s9mvw40h4wj44g0lsd1nmcpg2pv48mk6dhdjk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b8f708d1300d401697c099709718fcb70d5db1f/recipes/melancholy-theme";
@@ -41489,22 +41680,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    mentor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, xml-rpc }:
+    mentor = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, seq, xml-rpc }:
     melpaBuild {
         pname = "mentor";
-        version = "20161211.1946";
+        version = "20170102.28";
         src = fetchFromGitHub {
           owner = "skangas";
           repo = "mentor";
-          rev = "f53dac51a29f67e31f1fb82702b19d158cc6fa22";
-          sha256 = "0qqapsp4gpkrj3faii7qbfssddl3vqfmwqcy259s7f896kzwaaky";
+          rev = "074bd57a1e19d7807d682552fee63f326d1ad05c";
+          sha256 = "1p2wlwl8771w8m0i8f6qx11n1f13kkf681v0v4zcd161jgmklp5q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/083de4bd25b6b013a31b9d5ecdffad139a4ba91e/recipes/mentor";
           sha256 = "0nkf7f90m2qf11l97zwvb114yrpbqk1xxr2bh2nvbx8m1c8nad9s";
           name = "mentor";
         };
-        packageRequires = [ xml-rpc ];
+        packageRequires = [ cl-lib seq xml-rpc ];
         meta = {
           homepage = "https://melpa.org/#/mentor";
           license = lib.licenses.free;
@@ -41512,10 +41703,10 @@
       }) {};
     menu-bar-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "menu-bar-plus";
-        version = "20161209.734";
+        version = "20170101.1047";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/menu-bar+.el";
-          sha256 = "18i4isl86ldmbxkyiqiawby1izhdhpa8x7zyvzbfhzrny15dp32p";
+          sha256 = "0s460zm9k8b76vih5wgyrg8a7w5alwd43ia00mp110ipq2sy9pd2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/menu-bar+";
@@ -41675,12 +41866,12 @@
     mew = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mew";
-        version = "20161123.1840";
+        version = "20161224.1535";
         src = fetchFromGitHub {
           owner = "kazu-yamamoto";
           repo = "Mew";
-          rev = "90485fb0f21c250d308d1952ccad1049e766fcd8";
-          sha256 = "03bksshs2n3jxiccbgd86kbbwm79hmvsrbxw4yyjv311w8p2i1gw";
+          rev = "8138c83339071884a2d6c5365a088ba8da4a0fc0";
+          sha256 = "0yvqarinibrg7f362gg1i3r2wgjmzzv0j71zcrp9id30gfwbs6z3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/362dfc4d0fdb3e5cb39564160de62c3440ce182e/recipes/mew";
@@ -42132,10 +42323,10 @@
       }) {};
     misc-cmds = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "misc-cmds";
-        version = "20161102.1111";
+        version = "20170101.1049";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/misc-cmds.el";
-          sha256 = "1d55k9x2x29s0n2pkvp9lv8lbbha46f349dayniirspi55r89z02";
+          sha256 = "191362k5mx0phzq4sc0x7n341dswgq9hkani6icwjhj5dsgvr6wy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/misc-cmds";
@@ -42150,10 +42341,10 @@
       }) {};
     misc-fns = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "misc-fns";
-        version = "20161016.1519";
+        version = "20170101.1050";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/misc-fns.el";
-          sha256 = "13m2j1ixfgx2m61yxznvk38jp6xfalq6vsmhxsc3klsal8mrkrhn";
+          sha256 = "0q5if5p0yy2b3h93lsrhy7z8f5mjmm3kkh1ql94jng4a0hl64jqr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c2cbbe5a718ec961982a7f65de8f6ec1c9513696/recipes/misc-fns";
@@ -42231,12 +42422,12 @@
     mmt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mmt";
-        version = "20150906.959";
+        version = "20161231.1556";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "mmt";
-          rev = "3420eb014f86327ac68638e841ab7860aead5087";
-          sha256 = "0l5lpyiygikm9rwgk6jgx23wmc26hvhnqn9964d60l5a4b9fam74";
+          rev = "66adeeeccc52121fae7350698c11583b31cbb5c3";
+          sha256 = "01s1i7cc653yzxdmnlamz177sjlgjbknmz717kvrwd6wixgn2p08";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d1137bb53ecd92b1a8537abcd2635602c5ab3277/recipes/mmt";
@@ -42315,12 +42506,12 @@
     mocha = callPackage ({ f, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "mocha";
-        version = "20160818.1456";
+        version = "20161214.839";
         src = fetchFromGitHub {
           owner = "scottaj";
           repo = "mocha.el";
-          rev = "7a658c112220d759fccb1c16e49f3712d8bb1af7";
-          sha256 = "0gwgq5iq7lazy596hsld0yib88r1wv57wb92rjga79vbmg5pi1nq";
+          rev = "23831bab8290a90e9253b648176d99385a438568";
+          sha256 = "0v8d0605c31x1crjhgr73x5372rhxlrbap29j0j3zlbv0shd39v7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/39c26134ba95f277a4e9400e506433d96a695aa4/recipes/mocha";
@@ -42378,12 +42569,12 @@
     modalka = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "modalka";
-        version = "20160531.912";
+        version = "20161231.1639";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "modalka";
-          rev = "95627e660768c7ab7af4d8ad35c2bc0c4fa7195b";
-          sha256 = "0yf5lwd95j55dkrkplsgnynq37ww0g97vw517j9q7spn7dqnq5f6";
+          rev = "1831129c063fbef5f5378389281ecccca095b9e8";
+          sha256 = "0jyczwam7xipw2qrk27wph3j4jd9gbkawvnsiad5xr1h9d019a41";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fa0a02da851a603b81e183f461da55bf4c71f0e9/recipes/modalka";
@@ -42440,10 +42631,10 @@
       }) {};
     modeline-char = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "modeline-char";
-        version = "20161210.852";
+        version = "20170101.1054";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/modeline-char.el";
-          sha256 = "06n97a196rqc88py7jnydv8a4q1vd0bb2ich2mx25sl3pylmd6lq";
+          sha256 = "0y5bjny8j9lvf94rfk3nrwdfmbp24i1b96909xpifn3l1r1xl6qr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9655505f56fc90ea8ef61e7595af0de7427b273b/recipes/modeline-char";
@@ -42458,10 +42649,10 @@
       }) {};
     modeline-posn = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "modeline-posn";
-        version = "20160112.649";
+        version = "20170101.1055";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/modeline-posn.el";
-          sha256 = "1r4zq355h570hk7qq0ik121bwsr4hjnhacal4d4h119d11gq2p8d";
+          sha256 = "0bzrcfhyp9gr850yr1db80zqqdxi688alhpix45xb6xg0kjndmck";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c62008950ea27b5a47363810f57063c1915b7c39/recipes/modeline-posn";
@@ -42645,12 +42836,12 @@
     monokai-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "monokai-theme";
-        version = "20161206.1333";
+        version = "20161216.628";
         src = fetchFromGitHub {
           owner = "oneKelvinSmith";
           repo = "monokai-emacs";
-          rev = "47afc7419ddd26462ad6e66e122b244c334da0b9";
-          sha256 = "1bkfqlfag62mixd933d1ryvnbaq3ny2bgbqbagqbrgprl7558577";
+          rev = "1a921469d0d3a974bf626a76bc5e9fb342fb32d6";
+          sha256 = "1xby4jxxjwcgpai242y5c6ha2cj07hs1nndvxa6f1ncfkh5a7azx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bc9ce95a02fc4bcf7bc7547849c1c15d6db5089/recipes/monokai-theme";
@@ -42791,10 +42982,10 @@
       }) {};
     mouse-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mouse-plus";
-        version = "20161209.737";
+        version = "20170101.1057";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mouse+.el";
-          sha256 = "1jr6m5cm6j6bfdk2f2n632aybjna4pcpyqm6j9flcr537fciwvap";
+          sha256 = "0drv4r30jj1bsgd9jv6znicc9jgxd0hzjd3xlsp7l2ynjbg86n4g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01cbe9b5bb88f8c02fab67a269ac53c8aa4d8326/recipes/mouse+";
@@ -42830,10 +43021,10 @@
       }) {};
     mouse3 = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mouse3";
-        version = "20151231.1526";
+        version = "20170101.1058";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mouse3.el";
-          sha256 = "1831jpi06hi5v2jdjgs83jma7fp8xiqdmvvwxfyp2zpbfwi1lkb6";
+          sha256 = "1d6192r5iqyvs21ip78wcsvwc4lpx2jiv6pljcm9blxr1bpsk3gl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/mouse3";
@@ -42870,12 +43061,12 @@
     move-text = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "move-text";
-        version = "20161002.2035";
+        version = "20170101.125";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "move-text";
-          rev = "3d9fe18c4015d82cdb85f7af3bb22e54ee907555";
-          sha256 = "14mykiz7q93xjz0lhr17vk1hna64apsplkk424q7hv28fpahzfbp";
+          rev = "df534f345b960cd3315caa9dca9e4893c38e48fd";
+          sha256 = "0svrdyij17nasdsj3fnj31p92ff7byzrwvbr49mifsqh2isibs54";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82bfd0f41e42eed1d4c2361ec1d1685edebbac1b/recipes/move-text";
@@ -42958,8 +43149,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "mozc";
-          rev = "fdfe0d73b72682022c76dd7dfe04b0d63d524779";
-          sha256 = "108cicmggkzrvrjkja1f0n2gnqfnisiq7wsakgscfpxjsmyszhsg";
+          rev = "4767ce2f2b6a63f1f139daea6e98bc7a564d5e4e";
+          sha256 = "1azx128zsr7mlg2k538483c3qi1zmm8cc4z8sk06534wnx7wxs88";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30fef77e1d7194ee3c3c1d4775c349a4a9f6af2c/recipes/mozc";
@@ -43101,12 +43292,12 @@
     msvc = callPackage ({ ac-clang, cedet ? null, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "msvc";
-        version = "20150530.151";
+        version = "20161221.558";
         src = fetchFromGitHub {
           owner = "yaruopooner";
           repo = "msvc";
-          rev = "e7a61fa5b98a129637f970ac6db9163e330b3d02";
-          sha256 = "1draiwbwb8zfi6rdr5irv8091xv2pmnifq7pzi3rrvjb8swb28z3";
+          rev = "71c38323187c98b32250b89088768599bb216ddb";
+          sha256 = "1wwa861a8bnrqv59bx6l5k3qi98wqv6cicvg5gjyx8rdvpcq28dg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc";
@@ -43783,10 +43974,10 @@
       }) {};
     naked = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "naked";
-        version = "20151231.1527";
+        version = "20170101.1100";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/naked.el";
-          sha256 = "0zq13qjqfpxjba1bhdqqxkvgxq1dxyb7hd1bpnk6cbhsxr6mr50i";
+          sha256 = "06j2kijshd6ywx0rfvl4d08r0rh0b0rj69zypz63p418liymzcn6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/naked";
@@ -44031,10 +44222,10 @@
       }) {};
     narrow-indirect = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "narrow-indirect";
-        version = "20151231.1539";
+        version = "20170101.1101";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/narrow-indirect.el";
-          sha256 = "1lyszm94pd3jxs73v7k0aaazm0sd2rpz2pphcdag7lk7k6vppd9n";
+          sha256 = "0rlj647azpj5v7lzap88992f7mf2y94708f4aw2cvnzj6hf1rsvy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38e5dd845c99acaae719562595059154a08a5f00/recipes/narrow-indirect";
@@ -44113,12 +44304,12 @@
     nasm-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nasm-mode";
-        version = "20160525.1826";
+        version = "20161216.736";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "nasm-mode";
-          rev = "c3f5475c2f4bd930411b6d716765d094b36ce219";
-          sha256 = "0d8bfz41ry5bvkz2894dqkk3244n7xcjk3pf58fcsagvmmkkln7b";
+          rev = "d990ed94d902b74a5c834fb567e03307607cee45";
+          sha256 = "1dyc50a1zskx9fqxl2iy2x74f3bkb2ccz908v0aj13rqfqqnns9j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a832b3bd7c2f2d3cee8bcfb5421d22acf5523e/recipes/nasm-mode";
@@ -44285,8 +44476,8 @@
         src = fetchFromGitHub {
           owner = "rsdn";
           repo = "nemerle";
-          rev = "9339ad5534676dac089048f9955a77c282862b25";
-          sha256 = "17wq5lsrps94qgxhmk2xgp6j8lr17g8c2liz39ffvvwawcr207k7";
+          rev = "f3a11808a888e35d101fdd67b2474289bec4eeec";
+          sha256 = "04k20s7pldngsr63azb0abgdm8qr7a4pm81c8v23n3hiwikx0zfg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8477d0cf950efcfd9a85618a5ca48bff590b22d7/recipes/nemerle";
@@ -44323,12 +44514,12 @@
     neotree = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "neotree";
-        version = "20161124.739";
+        version = "20161228.1739";
         src = fetchFromGitHub {
           owner = "jaypei";
           repo = "emacs-neotree";
-          rev = "c5e15a42f0a95b8c675c739903ee4aa24ad41b8e";
-          sha256 = "1hrh1h1dxwfsylwc03kj6yp5g7a85b53jahkvzyjyzmnnylw3zpw";
+          rev = "f4c13c3a8805d12f13f68ae4e651ff24f1ae9957";
+          sha256 = "19gaddm5xh6mbl2zfmd5v9xgnyfg9pzxpah7x921r251pzlrwiip";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9caf2e12762d334563496d2c75fae6c74cfe5c1c/recipes/neotree";
@@ -44621,8 +44812,8 @@
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix";
-          rev = "05f907787fdc1903af0366d72cf6c30e9835182d";
-          sha256 = "1mb9kbd1qdqmfljjqgam3ivd5iap315fmw8hihl6afrnw42281rv";
+          rev = "5d377ace2d74475ef696bce4ac0e61946d5b3769";
+          sha256 = "1b0mzkiw66qz8c2mx8sify9gnq0hycl3qy0v640xbva0gkvxj1fz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2b542189cfde5b9b1ebee4625684949b6704ded/recipes/nix-mode";
@@ -44743,12 +44934,12 @@
     no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "no-littering";
-        version = "20161210.929";
+        version = "20161223.607";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "no-littering";
-          rev = "403e62a1f434664c9e9477d574f18ced258359fa";
-          sha256 = "0p0xz6vj3qv3wx9bwg6syi6alw223zc0l2h95bgcx2pi40da94w0";
+          rev = "e7d3ebbd12f176707e63766a7a19bcaa08e01331";
+          sha256 = "0y8wvagn4yf7fwvwzqcrx46wigmvyl25fa94kzvkanjl04zid3i1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf5d2152c91b7c5c38181b551db3287981657ce3/recipes/no-littering";
@@ -44887,11 +45078,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "20161117.425";
+        version = "20161215.457";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "71f1228a518f08e94dc1ea4e2147f80d3484c615";
-          sha256 = "0mc0pmykw0a9yz61jsfpj3gk83hv5d8zhjnvwvjgkwm5akaidf8f";
+          rev = "11064124732961f6fcfd78226ebaba0abed2c8fe";
+          sha256 = "0gs26jlg32mb84k6y9hm420jlw73ibrq791jq9faa6n42ws9ifdd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -44927,10 +45118,10 @@
       }) {};
     novice-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "novice-plus";
-        version = "20151231.1540";
+        version = "20170101.1103";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/novice+.el";
-          sha256 = "0mmdf3z9299hbs3wr8hqgpmg74sb2xm0rxyh38sjcqmk8f310rqh";
+          sha256 = "04lsjzj0a0z7wn7jzlpzjdv9d2w591gs2mwvsh1j8hmgl4x5p9vp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/novice+";
@@ -45596,12 +45787,12 @@
     ob-prolog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ob-prolog";
-        version = "20150530.937";
+        version = "20170102.953";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "ob-prolog";
-          rev = "548986d0e6f678789216a882f0a19daf1b89ab93";
-          sha256 = "14scbds1rlmii52i0zr3s0r1wmga7qysj63c2dpinhagxa36d51n";
+          rev = "7e94309d3a21d7e265f3a85b41801397f286af00";
+          sha256 = "0qxpgnjrx04dl43i949vcwv70sc7i23ivyvfk82hdvl8c2lwfd7w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fb87868cd74325f0a4a38c5542c264501000951d/recipes/ob-prolog";
@@ -45999,8 +46190,8 @@
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-octicons";
-          rev = "b993e666977e92432eab197c02728f18e81eaa72";
-          sha256 = "13v7nivp2rdqg6ndp553mlkkxh9cz8fn8n62qwl5sib7svcr2jwc";
+          rev = "a61e561966ffd8faa3b48ce5b3a4eec10c59708b";
+          sha256 = "0w98ii2ny57al94a4h927xx1hn99df5if543v2gh36zqdlwc7xci";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c62867eae1a254eb5fe820d4387dd4e8a0ff9be2/recipes/octicons";
@@ -46037,12 +46228,12 @@
     octopress = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "octopress";
-        version = "20161009.1232";
+        version = "20161222.343";
         src = fetchFromGitHub {
           owner = "aaronbieber";
           repo = "octopress.el";
-          rev = "0e06723eb725e775bd4e3d506695f5b902b94b0d";
-          sha256 = "0hj96wcd1dpvm3y4h0chfb4539s1pvaiiyxqy95a6dsl57y38l1j";
+          rev = "85bab12adbd985767233eb1622c4b8f7c1fe7e1a";
+          sha256 = "012g0mf8g602f53x3bc35ahy4bq31s3m7cv13hm46zj8syvdckvq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7205d3d43797755077f19f57f531b4b39e77bae3/recipes/octopress";
@@ -46272,8 +46463,8 @@
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "f956929891e77ba4ce2fb1361129d5d3ebc7bb55";
-          sha256 = "1xds6fqs1l6q9vak3v4xlzl1w084mhz86xrnycibcwm8q3q9hmb3";
+          rev = "e7eaa1202486f996121cc0ef17a8d72b915c8165";
+          sha256 = "1f66k2l996vzf5rm2scyz4bv1cyn365a8yfh1cfq13vrmvah57xb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bdb7e0100e120b95e9416398127d83530a221d/recipes/omnisharp";
@@ -46381,10 +46572,10 @@
       }) {};
     oneonone = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild {
         pname = "oneonone";
-        version = "20151231.1541";
+        version = "20170101.1104";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/oneonone.el";
-          sha256 = "05njigqi9061d34530d76kwsdzqgk9qxnwhn9xis64w59f5nzf1h";
+          sha256 = "04jjdfbn8ah3gk4fpc56il8j4q52l9raxkbkxivqn440as7nkrn4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/oneonone";
@@ -46734,12 +46925,12 @@
     org-board = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-board";
-        version = "20161120.1201";
+        version = "20170103.239";
         src = fetchFromGitHub {
           owner = "scallywag";
           repo = "org-board";
-          rev = "cdb62dd5bf1e316d2dcc6da9661231f6c8e3be72";
-          sha256 = "0clpx15lcbjsml10z87zbbi3jwzm76f01f7ikgjj8y5xxj09nhh9";
+          rev = "55c52745f6f156062a7187795b6b0c6aaa1f1e2b";
+          sha256 = "0ca8lbm5gzcmpzwnghs0f8klxrz5sy1brw78h7rhpv4rdwfw1ji5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d8063ee17586d9b1e7415f7b924239826b81ab08/recipes/org-board";
@@ -47070,12 +47261,12 @@
     org-download = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-download";
-        version = "20161119.315";
+        version = "20161228.633";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "org-download";
-          rev = "37d323034b09fe17029985aa556999acb2f9a0e5";
-          sha256 = "0g77grkhy76nlxq4fblw3biiik5mpq7r444dmvwi8fslkyshfkgs";
+          rev = "f99f884c47586ac8689b11c20eb95b2976c74d7c";
+          sha256 = "0w43bf9q6fhrakzlvncr8nwj6sar4cp022mfcim24jjhxk383vl3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/edab283bc9ca736499207518b4c9f5e71e822bd9/recipes/org-download";
@@ -47381,22 +47572,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-jira = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
+    org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "org-jira";
-        version = "20161209.2253";
+        version = "20161220.2046";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "org-jira";
-          rev = "370c05876f151e7aba9c63562d41d9b7cade30ed";
-          sha256 = "0scslv9il8i6yz2akrz88q7dig1lf2sz34c7hn2adbkl0ykj4wh6";
+          rev = "6330511011b7fe8ee04300e82f090ce3efd3b100";
+          sha256 = "18kwiwmq95pf8w07xl3vh2xhlkwnv53b4n6h0xq2fqprkh8n6f0l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira";
           sha256 = "0dvh9k0i75jxyy3v01c4cfyws8ij6718hsivi2xyrgig7pwp16ib";
           name = "org-jira";
         };
-        packageRequires = [ cl-lib request ];
+        packageRequires = [ cl-lib emacs request ];
         meta = {
           homepage = "https://melpa.org/#/org-jira";
           license = lib.licenses.free;
@@ -47471,8 +47662,8 @@
         version = "20140107.519";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "93b43e4bb486bc1b1d2e432ac74299e06a8d3526";
-          sha256 = "16wmgjsr8wvic8dkfr0qbnwhm0h5zhkqpl79qi3q21wam58f263v";
+          rev = "d0d05e5df122b27148545f2d7c92e2c8345b9c83";
+          sha256 = "0x34f34myhgldp0cn6grp54jx91lw4cd574blfqiv609c14lw5qq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ee69e5e7b1617a29919d5fcece92414212fdf963/recipes/org-mac-iCal";
@@ -47491,8 +47682,8 @@
         version = "20161126.239";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "93b43e4bb486bc1b1d2e432ac74299e06a8d3526";
-          sha256 = "16wmgjsr8wvic8dkfr0qbnwhm0h5zhkqpl79qi3q21wam58f263v";
+          rev = "d0d05e5df122b27148545f2d7c92e2c8345b9c83";
+          sha256 = "0x34f34myhgldp0cn6grp54jx91lw4cd574blfqiv609c14lw5qq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/org-mac-link";
@@ -47622,15 +47813,15 @@
     org-password-manager = callPackage ({ fetchgit, fetchurl, lib, melpaBuild, org, s }:
     melpaBuild {
         pname = "org-password-manager";
-        version = "20160430.1851";
+        version = "20161226.1624";
         src = fetchgit {
-          url = "https://git.leafac.com/leafac/org-password-manager";
-          rev = "5dffcd5f7d7f1852fdd31a193bea5c70ea130082";
-          sha256 = "023xsyvppq771yvxd9kqhn9lffhr83sfb0h9g405ayfjys94m2xd";
+          url = "https://git.leafac.com/org-password-manager";
+          rev = "a187227f1c6760073a8a62328249d13c2c04f9e8";
+          sha256 = "1n732cqxfddm1mx386920q14fl2y4801zy2a87mhq07qlrmshszc";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/5a8ee7c233b8dca97fd7a4a0527657050714286e/recipes/org-password-manager";
-          sha256 = "021yhp417b9c8cjh8ynmz2fqyplpr2qvc0djxf74kd8lhn4pl397";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/02ef86ffe6923921cc1246e51ad8db87faa00ecb/recipes/org-password-manager";
+          sha256 = "0n07k2nng3zkrcif85f1r2g2l4vha78lmrdnj590axn7l5q5fidm";
           name = "org-password-manager";
         };
         packageRequires = [ org s ];
@@ -47837,12 +48028,12 @@
     org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, s }:
     melpaBuild {
         pname = "org-ref";
-        version = "20161208.1825";
+        version = "20170101.904";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "org-ref";
-          rev = "f5a5e5e20e5f99d069d3fd8c89ee5b186a02f1de";
-          sha256 = "0szn5rg3xwlfgkq26fadkdsxdx2a1srshwcri9j0rlj4111c2fp4";
+          rev = "7e69316cb029d46ffb505d78e8b7a5c0ee48d918";
+          sha256 = "03n5c5921b142g9an0bfjlymq878mh2ahs0ygaslpsm4n450s4gs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref";
@@ -47928,6 +48119,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-seek = callPackage ({ ag, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "org-seek";
+        version = "20161216.2102";
+        src = fetchFromGitHub {
+          owner = "stardiviner";
+          repo = "org-seek.el";
+          rev = "1f51e6634e3b9a6a29d335d0d14370a6ffef2265";
+          sha256 = "0aq3af6fd16lm9iirzya6hmc8g48kfp8pc4dx51mgb5d6jjiizkv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/05a83750e745f16b15cbdf123165a3192363bfd1/recipes/org-seek";
+          sha256 = "08l5zl3wk2f632hslcl5fi9ylaml5my6qx481yvdrbi6m8bchkpp";
+          name = "org-seek";
+        };
+        packageRequires = [ ag emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/org-seek";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-sync = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-sync";
@@ -48316,12 +48528,12 @@
     organic-green-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "organic-green-theme";
-        version = "20160919.229";
+        version = "20161222.232";
         src = fetchFromGitHub {
           owner = "kostafey";
           repo = "organic-green-theme";
-          rev = "3b4601264c41ddbe62ba25a78c00365379cd2c9f";
-          sha256 = "0sb17krqla5l2bk14p55dbxxkghsvs6ynsmcjg7qlhspv53zdcn4";
+          rev = "dc66586b8581b35a723f68211fb1efeb7f00ffef";
+          sha256 = "012s9m3cysnfbr0s2l53inm3k06k7ra8jlp68cdnslhb41az2kp7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9383ef5f0372724b34f4bb9173ef8ccbb773e19e/recipes/organic-green-theme";
@@ -48925,12 +49137,12 @@
     ox-clip = callPackage ({ fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-clip";
-        version = "20161012.1107";
+        version = "20161106.823";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "scimax";
-          rev = "6f9cf1691cd8e597f3c6ca20ef299d5c62c9920a";
-          sha256 = "15i877mr3mwzh44dzi1y4rx86kkx783fg3lai78vsby2c7jd0w42";
+          rev = "9dcaf341ef574ecc09585a6eb1bf3846e6fb318b";
+          sha256 = "0lznc82nrmx1s7k5xacd6vpx3zv6y11975mspi1adg995ww7b74s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/222ccf4480395bda8c582ad5faf8c7902a69370e/recipes/ox-clip";
@@ -49072,12 +49284,12 @@
     ox-mediawiki = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ox-mediawiki";
-        version = "20161115.541";
+        version = "20161228.850";
         src = fetchFromGitHub {
           owner = "tomalexander";
           repo = "orgmode-mediawiki";
-          rev = "9017740cbe5866e21d81838e540dec310cc0dec0";
-          sha256 = "00c7l8skxjkphqpviwkgl28gqsj5cm63h64ffg09gkvp42mwjshz";
+          rev = "9e13392fe88817564f46a7a9f1eadebf54a2c346";
+          sha256 = "1x584gbwr1jhbxgzmjr6z801lqzqcaqzypkz25zz2spmh4n8fz9f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/24244d146306ce965df382c8958c7574c74313f2/recipes/ox-mediawiki";
@@ -49198,12 +49410,12 @@
     ox-rst = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-rst";
-        version = "20161006.821";
+        version = "20161227.1109";
         src = fetchFromGitHub {
           owner = "masayuko";
           repo = "ox-rst";
-          rev = "b4aceca6babd5f59a14225df1e3e99a3e313bae7";
-          sha256 = "13kk5cb2v1pv0zjrqvhprqpxxh96xv7jv920jgznbvgypvwbs9p0";
+          rev = "7b6095c53211978c73e1d686cd2d672cf28eb4c3";
+          sha256 = "05fb1xflv82600lzlm3icf4vvcfiyh8lmcp0f4w8xybkp0f4kdpc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3af3905e1ce36397645a54078280852a8a7eb1eb/recipes/ox-rst";
@@ -49597,12 +49809,12 @@
     pager = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pager";
-        version = "20100330.1131";
+        version = "20151201.1720";
         src = fetchFromGitHub {
           owner = "emacsorphanage";
           repo = "pager";
-          rev = "347e48d150d5e9a1ce2ca33ec12924d5fa89264d";
-          sha256 = "1dq5ibz7rx9a7gm9zq2pz4c1sxgrm59yibyq92bvmi68lvf2q851";
+          rev = "5c791ed23f1136e04040d6f4bc9b4ca5b6dc919f";
+          sha256 = "198zlh7zrql1185b9qjim44a09kbbgs9zyahak9nhv1gxqn7mrdf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5f2a50f62475639af011c99c6cc38928b74b3b0a/recipes/pager";
@@ -49638,10 +49850,10 @@
       }) {};
     palette = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild {
         pname = "palette";
-        version = "20151231.1545";
+        version = "20170101.1109";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/palette.el";
-          sha256 = "1qnv84y0s437xcsjxh0gs9rb36pydba3qfrihvz5pqs9g9w7m94k";
+          sha256 = "0kx41b6axq9ba1mhp7icjq165aklskiq9ddmcn8yrcx480v4gf11";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/palette";
@@ -49928,12 +50140,12 @@
     parinfer = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "parinfer";
-        version = "20161119.2133";
+        version = "20161231.924";
         src = fetchFromGitHub {
           owner = "DogLooksGood";
           repo = "parinfer-mode";
-          rev = "01cf9c8a90ddb09e8e6e08c1346419989c8a0e52";
-          sha256 = "0jqvhr4infzhcl60q8nagdz4z7rk1c29b0cv5x8bzx8wlnnbwh1b";
+          rev = "3d5b8d4a3f7e73f15f816f7555abed09c5516338";
+          sha256 = "1w3j0dzi19h1k94gnj1zxx4s1aji91wq4sjwkf813zs7q769mfsp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/470ab2b5cceef23692523b4668b15a0775a0a5ba/recipes/parinfer";
@@ -50078,8 +50290,8 @@
         version = "20151027.1449";
         src = fetchgit {
           url = "http://git.zx2c4.com/password-store";
-          rev = "0b2f803fe61992af02b8820c400984b1f615a299";
-          sha256 = "011sz1rlr7mbsvn1z1kxl3psjv3g2vkbndcim5jnp1wwlc5bibh3";
+          rev = "77f1384a6321eef06265ea5e5b11eabdc53ab720";
+          sha256 = "0b4qlbrz6g39x1p89lx3xk4h7159jj14rf6mgsyv1fasc7yyxxiz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e204fb4d672220ee1a4a49975fd3999916e60f8c/recipes/password-store";
@@ -50765,12 +50977,12 @@
     persp-fr = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, persp-mode }:
     melpaBuild {
         pname = "persp-fr";
-        version = "20161108.1138";
+        version = "20161226.1241";
         src = fetchFromGitHub {
           owner = "rocher";
           repo = "persp-fr";
-          rev = "0b2a021be802d5a39f1551c0ad1d8bceaa136afa";
-          sha256 = "1m1k6i1h7smfmn68k29bq3w301bwf76l0r8qhq5drd51nk0vp0dc";
+          rev = "ba989ad309c2023d1826e79446908bd1b881a56a";
+          sha256 = "1l9yb14sqxxfxzh76yv415ifnmrdi5qqp4m0858drs9wcm9f23pm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8e09213dddf003a1275eafb767431a507ecf7639/recipes/persp-fr";
@@ -50786,12 +50998,12 @@
     persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "persp-mode";
-        version = "20161119.505";
+        version = "20161226.518";
         src = fetchFromGitHub {
           owner = "Bad-ptr";
           repo = "persp-mode.el";
-          rev = "2ab3c6b86527811794235309df6055b4a302aa76";
-          sha256 = "11nzz7z9ck8g7xam75ljiw0qhk48zhbxzhfw5jzfz3ql04ws7bml";
+          rev = "1116ead88123a11efef346db0045ee8389250bd2";
+          sha256 = "11xncsvzy13xc939qfvlzplsz2izvf16hy45k500h44g2dxcvq3m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
@@ -51206,12 +51418,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "20161205.1642";
+        version = "20161217.537";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "f2dc941cef948fd35947c9f0f6fa2e9ad10e174d";
-          sha256 = "11vk2di9r6059ymb1j9qvi3gxcyk4fpl7ni7pap9hyhxf3gayknh";
+          rev = "3287de50464e908d421e9ad191fe31b8fae89ed3";
+          sha256 = "0m3z96n0nnsjisb1cpxcx17z2q1994qvrisnd47fv7sjj3r9g5vi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -51311,12 +51523,12 @@
     phpunit = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, s }:
     melpaBuild {
         pname = "phpunit";
-        version = "20160808.212";
+        version = "20161219.319";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "phpunit.el";
-          rev = "165ca257d4840c266e1e79e806b4b943b5785fe6";
-          sha256 = "1xgjhq1nxj4zfcns0q8a1kdlmqcjrxlblyj9vrspv1qck3akrp3z";
+          rev = "791d1b33b63887cdeaf287fa657b8109f9d1dd18";
+          sha256 = "0j9ym19pz17wsjh1ky65x9mz8aiiryxbw1nsygvy9isbdzjx591k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/phpunit";
@@ -51710,12 +51922,12 @@
     plantuml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "plantuml-mode";
-        version = "20161111.205";
+        version = "20161225.1142";
         src = fetchFromGitHub {
           owner = "skuro";
           repo = "plantuml-mode";
-          rev = "87417ad75b215ababf153cba533575ac0273a5db";
-          sha256 = "1jrck9wybpm2p2imjn0x6g3ybasiqkfzxc1halm3rq6xvc4zvrsm";
+          rev = "c7e83c260778467be5f82500a5541ce76da662ac";
+          sha256 = "0lf2438ia39idxbz2b7qaagajnlfgf74cgvwppdl53hsy12b421n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a658eb8085f2bf413c276af19c77597132cf569b/recipes/plantuml-mode";
@@ -51917,8 +52129,8 @@
         version = "20160827.857";
         src = fetchgit {
           url = "git://git.savannah.gnu.org/gettext.git";
-          rev = "94737a1be1a1d68f7e032ceac9cc2ed770f36196";
-          sha256 = "0f87ghm106c1f8jngcjzxg0fmdp087p4dh2yhdhaln7rd8x4zl6y";
+          rev = "1afbcb06fded2a427b761dd1615b1e48e1e853cc";
+          sha256 = "14f150w0zyzfpi7cidrf251q6c5fp3kwxv0hd54bvpmh99f829zc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9317ccb52cdbaa2b273f8b2e8a598c9895b1cde1/recipes/po-mode";
@@ -52057,12 +52269,12 @@
     polymode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "polymode";
-        version = "20161205.46";
+        version = "20161218.1326";
         src = fetchFromGitHub {
           owner = "vspinu";
           repo = "polymode";
-          rev = "ef56a732cbfe86e982d5c982c0c7bd3909c7f840";
-          sha256 = "13pj6hxz5018qyv08xh9q3bmng9qrikpnv55a3c1y8v0z68ppmkr";
+          rev = "a29b8a07cc9081bd75114d68fc7afdcef2e5bc94";
+          sha256 = "1vsvnia8px35ip13zc94l7nh4201z6z15dzrhfcj6bd0jnbqpxh6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/polymode";
@@ -52476,10 +52688,10 @@
       }) {};
     pp-c-l = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pp-c-l";
-        version = "20151231.1547";
+        version = "20170101.1116";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pp-c-l.el";
-          sha256 = "10gsdjdr8qngimqh57qxcljjnypbf38asxqb3zlfwc2ls52fc19q";
+          sha256 = "07favccg34khq0rnkdmbmhagpn6sg0vrmxcql35vh1p0jalp208s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pp-c-l";
@@ -52494,10 +52706,10 @@
       }) {};
     pp-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pp-plus";
-        version = "20161114.1346";
+        version = "20170101.1114";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pp+.el";
-          sha256 = "1fc2ii689f92255817cv0aiz0h83z1iyrgxmywpayiv58r8j3k4f";
+          sha256 = "0v8gm9z9dqxmqqvgz4dwmh79ssmir0zf4p3c6wbwrbak16b2ad6m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pp+";
@@ -52596,10 +52808,10 @@
       }) {};
     pretty-lambdada = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pretty-lambdada";
-        version = "20151231.1548";
+        version = "20170101.1117";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pretty-lambdada.el";
-          sha256 = "1fn24399wsn12453py0hw2vbbkrkakiwi06cjvjzsdk7g3326ma4";
+          sha256 = "17vji7y92ahmhff6ax7znhi7dbfhi8zpghhnl408n5hzcvmqmf06";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pretty-lambdada";
@@ -52969,12 +53181,12 @@
     projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "projectile";
-        version = "20161122.728";
+        version = "20161229.44";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "projectile";
-          rev = "ab07ade902e0a432aa8396664bcc2c9ec7829958";
-          sha256 = "08j07j4j9nz95g571y7fvv5943y6fv8zhk5n694j6vavvh5ip4v8";
+          rev = "72a8be50b9e6d4c23a178f777043e67794fc9728";
+          sha256 = "06rbl0vjsk98xqknrckh695qq1yrdi13ms8gwbk1l34j6qhcnwl1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile";
@@ -53141,8 +53353,8 @@
         src = fetchFromGitHub {
           owner = "anshulverma";
           repo = "projectile-speedbar";
-          rev = "93561bbe264b23958b72f951d2f0701450ad01e9";
-          sha256 = "1cn5wvagbgn4snrv8f6y6sgq7l51bd0l5z0ns3vs4753wx2y5dxw";
+          rev = "a00c6c0e52acd2223997b1a7a996cd786e68f6f2";
+          sha256 = "0bsk1336ak5bq9v26m2ql61yvhv15gyh8wrc6j4c655lxysbq9gs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eda8cb5a175258404c347ffa30fca002504467a0/recipes/projectile-speedbar";
@@ -53351,8 +53563,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "277a8b65805aceeefc1764947616430994e05bdf";
-          sha256 = "0ykx4wgi58hgndpn5ifrn6kgmm57gx8h7np1b31mml4n7si2bsfi";
+          rev = "4cb113a91b180559f0eedbca0244ef1181a7204c";
+          sha256 = "1xhlc285ydjs1l4ans485ij09f3v54i2mllcik8l255gmm65aqh6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -53368,12 +53580,12 @@
     psc-ide = callPackage ({ cl-lib ? null, company, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "psc-ide";
-        version = "20161204.958";
+        version = "20161220.553";
         src = fetchFromGitHub {
           owner = "epost";
           repo = "psc-ide-emacs";
-          rev = "59766a43a2cdf6f44ba9fa038f9997963f191e1c";
-          sha256 = "0aam1vwlidfsqpdnv2s642pzdqngjb4j6lm5ms8fm1q589fc8vys";
+          rev = "5a1cce36241cd0ec3781d748d6ef151e685079a3";
+          sha256 = "191gvvliarvvkcjw54ajjfshv6n29sk5m0dj3h8j5zw5ndnlw6cj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8189f4e7d6742d72fb22acf61a9d7eb0bffb2d93/recipes/psc-ide";
@@ -53473,12 +53685,12 @@
     pt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pt";
-        version = "20160119.817";
+        version = "20161226.1159";
         src = fetchFromGitHub {
           owner = "bling";
           repo = "pt.el";
-          rev = "97e04eb77154234d946064a573762bcd72219f75";
-          sha256 = "0ca8j7xlqxbidqfz2iarwn7qq4v12pwvsq6vzj2473n2g1c09xzj";
+          rev = "6d99b2aaded3ece3db19a20f4b8f1d4abe382622";
+          sha256 = "1vi97hgwrf7n8vsbkvvhn398m20755jnbbbz4kxgqfmcgpimc8nc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/34c51783af154f203489f5f7df7012ca61932caa/recipes/pt";
@@ -53491,22 +53703,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    pug-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    pug-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pug-mode";
-        version = "20161208.2016";
+        version = "20161221.1154";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-pug-mode";
-          rev = "e8099627829aef2d382d9a5df4a24881086879dd";
-          sha256 = "1w9lb3r92l0rcflkivd0k9gz2gy33xpmyxd1ikjbsr2mf7h0r1i7";
+          rev = "8967d57715ad303b9c987f4390a18c51c2f30cb3";
+          sha256 = "0kk5i7dynxg53g7wx5k6lkk1015pqphxzanqw0m6nhvv1p56w84x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3710aac9f3df3a23238af1f969c462b3692f260/recipes/pug-mode";
           sha256 = "1njhr95y2rx7inpl9phxxz580844p2iadqlga1kj7xzvjz698x85";
           name = "pug-mode";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/pug-mode";
           license = lib.licenses.free;
@@ -53599,12 +53811,12 @@
     purescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "purescript-mode";
-        version = "20161013.911";
+        version = "20161216.133";
         src = fetchFromGitHub {
           owner = "dysinger";
           repo = "purescript-mode";
-          rev = "96c5ce0b22023ff6e2944d43ffeb34a34dd57db6";
-          sha256 = "0znwimxdh0jc3z0y1b9lrv680wi0ixlnmhm5i5xypkxis65n2yrb";
+          rev = "c88126070c052d636f4dad5525846a1b200fce43";
+          sha256 = "1ndclsywvh5x06gmvk44zjlgfamdn55lygdgxf3x1vrznvr0jawy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/77175fa470e517fa134751fbb38e144eb5b979ff/recipes/purescript-mode";
@@ -54039,12 +54251,12 @@
     pyimport = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "pyimport";
-        version = "20161209.557";
+        version = "20161219.302";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "pyimport";
-          rev = "c0c12b64a189f99d3b1477d2dea35528a856c860";
-          sha256 = "1kn38j9fgn0ja2xhvj69jdw5h6j5dqnnqk0zzd6ypk5zbwhxncp6";
+          rev = "2e8657e8ca2c049cef331e8fdc13c43541044f5c";
+          sha256 = "09ly4gi4yd7nl7x4lzgjacfvjbc4mfsw2yfmmxiymj70xa7ffik3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/71bc39b06cee37814960ef31c6a2056261b802fb/recipes/pyimport";
@@ -54085,8 +54297,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "3a94b38b26b5f4191ffe8c67e1db272a2570489c";
-          sha256 = "001c068s56qr1vkmli0mxc985drb5vwcln7fzs605kjlvfh0mwjr";
+          rev = "4bb474dfad2d2dd8ea357f6b8e6a1c708246ac4a";
+          sha256 = "0xhgq2ylkkrj0pf9gj7niahwy243s9714x720w88mbz6v04bcj3p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -54228,12 +54440,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20161124.930";
+        version = "20170102.523";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "d30c9033fde2f4ce03b4f4792792a9603cd26bab";
-          sha256 = "1bgzkbhl00cc60y0d34cx7i6y560wf9jx9fb3d4wz06vh3322mb4";
+          rev = "695fe533a9a59e43f75d69cf005b69526bafc99d";
+          sha256 = "1bh907dmnrcc31n7zjb3lnr98mck1vjzsyr6vzy5lqygymgxjdri";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -54246,6 +54458,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    python-switch-quotes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "python-switch-quotes";
+        version = "20161228.9";
+        src = fetchFromGitHub {
+          owner = "werehuman";
+          repo = "python-switch-quotes";
+          rev = "93f1e9b40e061a6cea480139e8b1362b6404abd0";
+          sha256 = "1x04hnf3m8cgqp0i566q4n7kh59cayzfxka3g07kv0h543xbys4n";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d99fbd3d0c486bf89c9c0937e2ebf378be39293f/recipes/python-switch-quotes";
+          sha256 = "1wc27q9ac8p7c5mfk3kznbmdd5ds4ray0csgba79n19g152y5jjc";
+          name = "python-switch-quotes";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/python-switch-quotes";
+          license = lib.licenses.free;
+        };
+      }) {};
     python-test = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-test";
@@ -54438,12 +54671,12 @@
     quelpa-use-package = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, quelpa, use-package }:
     melpaBuild {
         pname = "quelpa-use-package";
-        version = "20150805.328";
+        version = "20161212.1038";
         src = fetchFromGitHub {
           owner = "quelpa";
           repo = "quelpa-use-package";
-          rev = "d18b55508ceaeb894f5db3d775f5c1b27e4be81b";
-          sha256 = "00wnvyw2daiwwd1jyq1ag5jsws8k8jxs3lsj73dagbvqnlywmkm6";
+          rev = "f276555d6bead02a0d869149f03a545d4d4265ad";
+          sha256 = "0cmpfjkwx5mpiyssyglfnrfkfg7c4qr01b598z50vc1lyg6198i1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b581e411ef5ea3954acc2cd997c87b3b86777333/recipes/quelpa-use-package";
@@ -54585,12 +54818,12 @@
     racer = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode, s }:
     melpaBuild {
         pname = "racer";
-        version = "20161209.1533";
+        version = "20161230.1422";
         src = fetchFromGitHub {
           owner = "racer-rust";
           repo = "emacs-racer";
-          rev = "485b827cfaca5e4e204e5529912d7999bc29bde7";
-          sha256 = "0xjv8pi8rc0dbmllkv8gchp05j1k20pgqdi97h7s0xwjkwcpbqym";
+          rev = "a3c106e12c538cb6900e0940848557400bfa8313";
+          sha256 = "13b0dpmc2ckp158rvnbc7alf4kswvl5wvddmr1vm76ahr0i5xwv1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/97b97037c19655a3ddffee9a86359961f26c155c/recipes/racer";
@@ -54960,22 +55193,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    rbt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    rbt = callPackage ({ fetchFromGitHub, fetchurl, lib, magit, melpaBuild, popup }:
     melpaBuild {
         pname = "rbt";
-        version = "20161109.1506";
+        version = "20161220.1352";
         src = fetchFromGitHub {
           owner = "joeheyming";
           repo = "rbt.el";
-          rev = "402d7465f68706d051e8117b6f00ecdc18134f15";
-          sha256 = "12kqw7cxv54agy7k8y550cixnv4zjpy8rhamwp36bf6nqch4ly2j";
+          rev = "25ed055ffa444cb077042f95622ef253759f3ee2";
+          sha256 = "1gv0bm25c5v6sygpcxg1h7cnn8md8q7njh8jz1was5cmgkq3i3kg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7241985be1e8a26a454b8136a537040b7ae801/recipes/rbt";
           sha256 = "1mrb6v8zybvhh242vvq0kdvg6cvws7gabfhcydrw5g2njhyqkygm";
           name = "rbt";
         };
-        packageRequires = [];
+        packageRequires = [ magit popup ];
         meta = {
           homepage = "https://melpa.org/#/rbt";
           license = lib.licenses.free;
@@ -55278,12 +55511,12 @@
     realgud = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, load-relative, loc-changes, melpaBuild, test-simple }:
     melpaBuild {
         pname = "realgud";
-        version = "20161209.1829";
+        version = "20161227.1536";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "emacs-dbgr";
-          rev = "7689f4910ce081dcecdcc8a7c534af037c65295e";
-          sha256 = "1aq8r2yqwspil9l4jxprkknnj2cl9x9srx4qd8fw07ad7razcf99";
+          rev = "4a5fe992f2b4a68f7b3840bbb24b496738760573";
+          sha256 = "0448qvl33rvnwlwmsmm297w6ghb0gk0s1bkny3q3wagrwsi9zf2f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud";
@@ -55326,12 +55559,12 @@
     realgud-old-debuggers = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, realgud }:
     melpaBuild {
         pname = "realgud-old-debuggers";
-        version = "20160805.713";
+        version = "20161225.626";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "realgud-old-debuggers";
-          rev = "1362a42dec1ee859d4c339cbe6cf4813bf826f51";
-          sha256 = "0zf8vxcn0lyajjz2dbmr98k2004qp6ydf3y4a696krvk1gm0vf79";
+          rev = "fd38ebe7d4a59786d34b0cf972c315278871bf47";
+          sha256 = "1p3dk81f1cyisv6fb7fny6a9nij4c0yljypcdwiy79zq3fniskhp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/260b4d5a85c380dda0f7bb0370e3ffa8cc3c0275/recipes/realgud-old-debuggers";
@@ -55386,6 +55619,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    rebecca-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "rebecca-theme";
+        version = "20161227.2131";
+        src = fetchFromGitHub {
+          owner = "vic";
+          repo = "rebecca-theme";
+          rev = "ae1463a7118f5e50ca82267824c86a77e35e9697";
+          sha256 = "1k6f90kjsx1mjihy6l7h7f1ld66g0qxkzbbq203010fjdlsmlhk6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/19f40f30113c7dabd76a2d0e52898e6d6be69a35/recipes/rebecca-theme";
+          sha256 = "1m72jqyqx18i1vpj07v3vkbi0di9dks5sz46wb2h0f23xqyx00md";
+          name = "rebecca-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/rebecca-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     rebox2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rebox2";
@@ -55597,8 +55851,8 @@
         src = fetchFromGitHub {
           owner = "RedPRL";
           repo = "sml-redprl";
-          rev = "8cf6e816720cd7a8fe147a6f412d0300be015a76";
-          sha256 = "1ic32q9dcrfpn8zb5bmf21iklhrr3va54kmdpy3iyyvkxs8ipcyb";
+          rev = "466794c0128cd1aaaf60d441f02e9f33afdd4542";
+          sha256 = "1a2aaqgzscyb6y793gc6699g73vw64szn9d6k0qkb4q5j6k1r6mr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06e7371d703ffdc5b6ea555f2ed289e57e71e377/recipes/redprl";
@@ -56010,10 +56264,10 @@
       }) {};
     replace-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "replace-plus";
-        version = "20161209.738";
+        version = "20170101.1119";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/replace+.el";
-          sha256 = "1898bwn0slhvkqcriwipa8d25554npj9b1hkz7rxz1pw7s8hgmck";
+          sha256 = "0cbm5g5d1d4bdfmx3nkldpq8k5ah0cz5ddq7cn4278rjx1h9ml5f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/replace+";
@@ -56092,12 +56346,12 @@
     request = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "request";
-        version = "20161121.600";
+        version = "20161221.1711";
         src = fetchFromGitHub {
           owner = "tkf";
           repo = "emacs-request";
-          rev = "4f5dd0aa8b788fe825461dbcccfd5a3fb2750f9b";
-          sha256 = "1d3xz5hgb1cpaf1ijk05l1ffr99i621wa0192qiipc6fxxy0gpl6";
+          rev = "8c90b24905a66a915790a9b723f28808a40eecf4";
+          sha256 = "0w6x7hiaiyabpkyysv76pz27951nxlpaf6z9wvcrzafz37msv5ir";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8d113615dde757a60ce91e156f0714a1394c4bfc/recipes/request";
@@ -56117,8 +56371,8 @@
         src = fetchFromGitHub {
           owner = "tkf";
           repo = "emacs-request";
-          rev = "4f5dd0aa8b788fe825461dbcccfd5a3fb2750f9b";
-          sha256 = "1d3xz5hgb1cpaf1ijk05l1ffr99i621wa0192qiipc6fxxy0gpl6";
+          rev = "8c90b24905a66a915790a9b723f28808a40eecf4";
+          sha256 = "0w6x7hiaiyabpkyysv76pz27951nxlpaf6z9wvcrzafz37msv5ir";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8d113615dde757a60ce91e156f0714a1394c4bfc/recipes/request-deferred";
@@ -56301,10 +56555,10 @@
       }) {};
     reveal-next = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "reveal-next";
-        version = "20151231.1550";
+        version = "20170101.1120";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/reveal-next.el";
-          sha256 = "1h27kg2k8f6smbqxandmvg859qk66jydbbbiwwjmk7316k66w8qa";
+          sha256 = "0vqacr3q9n772qmyyj35dxkqp79yqrpfhlf8zj70jzg04xzy6f0m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38e5dd845c99acaae719562595059154a08a5f00/recipes/reveal-next";
@@ -56821,12 +57075,12 @@
     rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtags";
-        version = "20161126.1011";
+        version = "20161227.1124";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "9063198b8c19995b3d1fce8c441e1244ada0b987";
-          sha256 = "03b8ajpx7vjkyn6amgrfx90v4pp3020fhq6qvb4h6s3hqsmgfzmz";
+          rev = "9234dc6c884d208bf878825dcfc49397df175b1f";
+          sha256 = "1451rf6i5wafyrnax0ql4z450ax6i9r03hwzhh5xkxiijxwlw7rx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac3b84fe84a7f57d09f1a303d8947ef19aaf02fb/recipes/rtags";
@@ -56887,7 +57141,7 @@
         version = "20161115.2259";
         src = fetchsvn {
           url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "57064";
+          rev = "57259";
           sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
         };
         recipeFile = fetchurl {
@@ -56967,7 +57221,7 @@
         version = "20150424.752";
         src = fetchsvn {
           url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "57064";
+          rev = "57259";
           sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
         };
         recipeFile = fetchurl {
@@ -57212,6 +57466,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    rust-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }:
+    melpaBuild {
+        pname = "rust-playground";
+        version = "20161227.1107";
+        src = fetchFromGitHub {
+          owner = "grafov";
+          repo = "rust-playground";
+          rev = "122db4a5a85565bc5939c90e19ae232eae729d3a";
+          sha256 = "0ki1iwzmm9ir7f6l591dn1a8byyr9xg7gapa7d3fagsm3mnx0ak1";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a5ebbcca659bb6d79ca37dc347894fac7bafd9dd/recipes/rust-playground";
+          sha256 = "1w29plj06ld3iq8xhjnfh8hphcp7aji15y1xqp8bb9m1k07wza7l";
+          name = "rust-playground";
+        };
+        packageRequires = [ emacs rust-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/rust-playground";
+          license = lib.licenses.free;
+        };
+      }) {};
     rustfmt = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rustfmt";
@@ -57341,12 +57616,12 @@
     sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "sage-shell-mode";
-        version = "20161026.532";
+        version = "20161228.2248";
         src = fetchFromGitHub {
           owner = "sagemath";
           repo = "sage-shell-mode";
-          rev = "ca8930f2f7ba3dcfa6b09d23b9f4cdc5c466d141";
-          sha256 = "0mmbx11k8w26mc4f1x43l9nai6s37yjr98wrl4dgz24bg1qh27q1";
+          rev = "5c1651b3b754e645d64ac5cc6831b0f12cab52e9";
+          sha256 = "00ygigs78md650yap4gz5y5n0v2n08771df4kqnpklycc3csrlbh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eb875c50c2f97919fd0027869c5d9970e1eaf373/recipes/sage-shell-mode";
@@ -57534,8 +57809,8 @@
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-sbt-mode";
-          rev = "035af95164f7bce342d4663aa7da00852dfec500";
-          sha256 = "06j16hgvzbbp9d4bvn3fdsmw3isaw017dydjyiqmjpfzbaxg9yac";
+          rev = "6caabd4e68fb878e743a29d16356a2c2c3bd7637";
+          sha256 = "0fq70lwwv5q0mzxli9x1m244i30nkc457mib07qypax9n51vfqyv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
@@ -57555,8 +57830,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "51923888a39137f2c46bf3a650fef66206e81b2c";
-          sha256 = "18vf195fd2p8wiw4qag1pq1vrv6ria8j76lgzf3ghkqj0s7bd5rb";
+          rev = "1fd9f05b441e85d5f827ce96154ce79ca334ce32";
+          sha256 = "1rs5j08nbk90rsvrjk074avz1jp3zqqfgbi57ark8bb5hlvzl2rm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -57593,12 +57868,12 @@
     scala-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "scala-mode";
-        version = "20161122.2325";
+        version = "20161222.900";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-scala-mode";
-          rev = "4b492b9fa5f97521426f50c8dcfb6c0a251840ea";
-          sha256 = "01d907ph36yzfxgchqvk102ld1mvlb84sjxhmmq5xrzj4zbb0khm";
+          rev = "9b8db623b13fcb0aad9271d1fae73e1257dda13c";
+          sha256 = "0q41dqlhp0cds16inmh7jrvhqrnjsdiv2in6pq3f0srhwms81ff3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode";
@@ -58902,8 +59177,8 @@
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "shift-number.el";
-          rev = "e59840cb7fb142b21e8b1e30b95dc3b4688dca65";
-          sha256 = "0dlwcifw5mlski0mbvqqgmpb0jgf5i67x04s8yab1sq9rr07is57";
+          rev = "4ea4c2a2ece26e208980e6d2f0939271bca751aa";
+          sha256 = "1fqrsr4j2axmxnvznz9zyy8giywnia23i6a8xi1f8lx924xg3cr6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b06be6b25078ddfabc1ef1145c817552f679c41c/recipes/shift-number";
@@ -58940,12 +59215,12 @@
     shm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shm";
-        version = "20160615.31";
+        version = "20170102.531";
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "structured-haskell-mode";
-          rev = "dde5104ee28e1c63ca9fbc37c969f8e319b4b903";
-          sha256 = "0g5qpnxzr9qmgzvsld5mg94rb28xb8kd1a02q045r6zlmv1zx7lp";
+          rev = "993ff90454389401e606ee3d4ad1548c5e6508f1";
+          sha256 = "1bvzi12z2rlc7p4n731dbmw68719yfy585f8g6xr0dsj5x20gh11";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68a2fddb7e000487f022b3827a7de9808ae73e2a/recipes/shm";
@@ -59023,10 +59298,10 @@
       }) {};
     showkey = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "showkey";
-        version = "20161027.653";
+        version = "20170101.1132";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/showkey.el";
-          sha256 = "0nqf2pdphc820faijnarg4mq3zblsl2dj3scralhxnqwl68ky7ch";
+          sha256 = "1mx48ly135wmqrr0srwnxby46b0mcnyw4vyd0jykih9ygd8kk4dj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e2b5576d501aee95c8f62d721a69077a1f3df424/recipes/showkey";
@@ -59144,12 +59419,12 @@
     sicp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sicp";
-        version = "20151130.757";
+        version = "20161219.542";
         src = fetchFromGitHub {
           owner = "webframp";
           repo = "sicp-info";
-          rev = "7d060136bf4582fa74e4aa7cb924d856eea270f4";
-          sha256 = "102ssiz4sp7y816s1iy8i98c314jbn3sy0v87b0qgpgjiq913ffq";
+          rev = "d2abe9ef3c4630511bca320161752d1d4babdbef";
+          sha256 = "089mnsaqdr2bcmnrwkrvd0hyq2j0fdnh4ap393m5xnj2riyszdjf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/sicp";
@@ -59354,10 +59629,10 @@
     simple-plus = callPackage ({ fetchurl, lib, melpaBuild, strings }:
     melpaBuild {
         pname = "simple-plus";
-        version = "20151231.1600";
+        version = "20170101.1133";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/simple+.el";
-          sha256 = "01fdk790jlpxy95y67yv6944ws4zjh7gs6ymnj1yflf19ccsdsnn";
+          sha256 = "1z1l1lsddd865ma1q714hj4y9p89z1m3hr7z9fir53ipsa31cnl1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/simple+";
@@ -59604,12 +59879,12 @@
     sl = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sl";
-        version = "20161206.730";
+        version = "20161217.604";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "sl.el";
-          rev = "be3ef1bad689ce9f7e20a15728a07d75eb9066a9";
-          sha256 = "18xdny9da1vr79jlnhm34kvjrm0wy82ir7885a64z77pjbnxxs2k";
+          rev = "0882117728be91276b815e18c2a66106bf9d69d3";
+          sha256 = "1cr3ilf96d8kkyc48nasd4iy2q84kkxjssmvlclanss1hj95nj2l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7188a93d33e38f360930b5090c6ef872116f8a7c/recipes/sl";
@@ -59751,12 +60026,12 @@
     slime-company = callPackage ({ company, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }:
     melpaBuild {
         pname = "slime-company";
-        version = "20151210.614";
+        version = "20161229.743";
         src = fetchFromGitHub {
           owner = "anwyn";
           repo = "slime-company";
-          rev = "a50e8f02df03f37bee3cbaafae1a6891f02c847b";
-          sha256 = "0cc8xb2p1j2vs00h4sq6x0mwwrxkidqj4l7kg3n3150bj37v55rs";
+          rev = "6c244690c80387a32b0cb984843e00c8b75ad6bb";
+          sha256 = "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/abe5036c6de996a723bc800e0f031314e1188660/recipes/slime-company";
@@ -59898,12 +60173,12 @@
     sly = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sly";
-        version = "20161003.631";
+        version = "20161217.1623";
         src = fetchFromGitHub {
           owner = "capitaomorte";
           repo = "sly";
-          rev = "2c772f5a98f8be4a8a10d537690abc64f4d44513";
-          sha256 = "0v4hqgf12hgwyk6zw6mpwp324qrpfkzmav2kl4j9g09px73k2kjg";
+          rev = "87de8e96da7bce0120b4afb037af902c353269e0";
+          sha256 = "1dm1q7sx6hcary1g729231z0g9m1mybidiibzp5zk2pkrdfx6wl5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/79e7213183df892c5058a766b5805a1854bfbaec/recipes/sly";
@@ -60377,12 +60652,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "20161203.436";
+        version = "20170101.605";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "f55a741c9e54b271c7fd9c213937fb668e6771d6";
-          sha256 = "0rx8wgpxfc31ynm2lzqnnbqzx8c308hv9flxv2qs1ajj4c55wrpz";
+          rev = "f661b7ffe5addfbf80355230d1c9a837d3a19ecb";
+          sha256 = "11yfp91pi1gpphgbcy6h5xkyapy7j6p11xab4rjc9gbckl3al9kf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -60521,22 +60796,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    smeargle = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    smeargle = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smeargle";
-        version = "20151013.2242";
+        version = "20161212.1558";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-smeargle";
-          rev = "67466d5214a681430db8cb59a2a1bca771ff0024";
-          sha256 = "1smv91ggvaw37597ilvhra8cnj4p71n6v5pfazii8k85kvs6x460";
+          rev = "0665b1ff5109731898bc4a0ca6d939933b804777";
+          sha256 = "0p0kxmjdr02l9injlyyrnnzqdbb7mirz1xx79c3lw1rgpalf0jnf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c5b985b24a23499454dc61bf071073df325de571/recipes/smeargle";
           sha256 = "1dy87ah1w21csvrkq5icnx7g7g7nxqkcyggxyazqwwxvh2silibd";
           name = "smeargle";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/smeargle";
           license = lib.licenses.free;
@@ -60754,12 +61029,12 @@
     snapshot-timemachine = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "snapshot-timemachine";
-        version = "20161004.122";
+        version = "20161221.129";
         src = fetchFromGitHub {
           owner = "mrBliss";
           repo = "snapshot-timemachine";
-          rev = "ceeb0e559d0f25974493c35b580381959633c219";
-          sha256 = "19w4shkhxwx9k5x6abcanh9xln779axwvg8i7363lgixkqdyx05f";
+          rev = "99efcebab309b11ed512a8dc62555d3834df5efb";
+          sha256 = "18qibcyqxjwpvphmpghppb8ky1xcch1dd4pz91qj5f4h42684ips";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69376b802f0687227a78838877d89163b2893c5b/recipes/snapshot-timemachine";
@@ -60880,12 +61155,12 @@
     solarized-theme = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solarized-theme";
-        version = "20161203.301";
+        version = "20161222.109";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "solarized-emacs";
-          rev = "f4840394caba81909eacc8807cab904a0af87419";
-          sha256 = "0s6zs2mmwwq6df8yiwp8ykz3qqfn7scwkz35rj7bzdnbls8rwaaq";
+          rev = "64fa78256efdc11bbc63ec311a976aeddb4808e4";
+          sha256 = "0pg7v1lrf12vigakzcjz3i9yqirqp5m0n7ryp430hyv92mk01l40";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/solarized-theme";
@@ -61136,22 +61411,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sourcemap = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sourcemap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sourcemap";
-        version = "20160511.2137";
+        version = "20161215.2140";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-sourcemap";
-          rev = "c29f0f1fba16622b2349593d420bcc4e3c0f5195";
-          sha256 = "1n33d8pjvmsjq38qw1v405jkmrb2sffhp68w4h2jfsgl4y5w1mdg";
+          rev = "64c89d296186f48d9135fb8aad501de19f64bceb";
+          sha256 = "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/557d18259543263932fccdbaf44c4e7986bd277b/recipes/sourcemap";
           sha256 = "0cjg90y6a0l59a9v7d7p12pgmr21gwd7x5msil3h6xkm15f0qcc5";
           name = "sourcemap";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/sourcemap";
           license = lib.licenses.free;
@@ -61223,12 +61498,12 @@
     spaceline = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline, s }:
     melpaBuild {
         pname = "spaceline";
-        version = "20161209.1140";
+        version = "20170102.59";
         src = fetchFromGitHub {
           owner = "TheBB";
           repo = "spaceline";
-          rev = "d40f4b972e307a043963f2262e66d43b6eaf7803";
-          sha256 = "0k51sm7qrhvda3gbj35gx3svvlvdvpcch76d20lnvh6y035ymmkg";
+          rev = "75cc751c3da252bd84f33b12daf11655a9f98fa6";
+          sha256 = "1jn3qjxjhbgjixxny1n68ha80c2zqmfrj24ws7ni4zia264phxs0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/46e4c876aeeb0bb0d0e81dcbb8363a5db9c3ff61/recipes/spaceline";
@@ -61244,12 +61519,12 @@
     spacemacs-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "spacemacs-theme";
-        version = "20161205.1104";
+        version = "20161217.515";
         src = fetchFromGitHub {
           owner = "nashamri";
           repo = "spacemacs-theme";
-          rev = "069cb4c14e33270a6316fa7e60a1cee20eb7f13e";
-          sha256 = "18xr5vy1va2ppd8fbrmrjgm0izly9fzjznp6mp3b85qfczv1wz4k";
+          rev = "3818119a87edb8bb458295a45dc65b41414a77a2";
+          sha256 = "17p3l1qxgz2plr3z99mvbda0bx8qs564r1jhj3arqmz5zc447zvw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c8ac39214856c1598beca0bd609e011b562346f/recipes/spacemacs-theme";
@@ -61328,12 +61603,12 @@
     sparql-mode = callPackage ({ async, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "20161127.955";
+        version = "20161219.550";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "1a806aabb8d9405c3d09248f6cd9905883c05b71";
-          sha256 = "07fg44skbkkwwjd3173ilf0p6fp6sp0bwz1s1ccqjcsb7p21mrvn";
+          rev = "e5bedd0b1df135bb1e42b756da850dac5955aeb8";
+          sha256 = "11vpx9cq81ld6k4710nbvnfhpwq0v0bw0zg5aljr2j1pyfyh0pcs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
@@ -61408,16 +61683,16 @@
     speed-type = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "speed-type";
-        version = "20150120.2034";
+        version = "20161230.815";
         src = fetchFromGitHub {
-          owner = "hagleitn";
+          owner = "parkouss";
           repo = "speed-type";
-          rev = "d3a6745dbaaf6b1eacee10ce9b50108482dbe758";
-          sha256 = "102hjyr9ii2rmq8762irbwansbi023s7dg4a8n6lkadcvzfibmag";
+          rev = "5d691f57743304db63b6afdc5bd79dabd282d390";
+          sha256 = "08qp2b80rh9k8h5vv141lfsg73rqqikhh7ygal789rr278ai1rjf";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/18d6365232a78877c78b31afb95103e5c3f6971b/recipes/speed-type";
-          sha256 = "14q423an7v5hhfx1x039fizxcn5hcscqf2jfn9rqifg4jpq8bq5g";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d6c33b5bd15875baea0fd2f24ee8ec9414a6f7aa/recipes/speed-type";
+          sha256 = "0lsbi3b6v7fiwpvydgwcqx3y5i7bysfjammly22qpz3kcjmlvi06";
           name = "speed-type";
         };
         packageRequires = [ cl-lib ];
@@ -61723,12 +61998,12 @@
     spu = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, signal, timp }:
     melpaBuild {
         pname = "spu";
-        version = "20160515.157";
+        version = "20161213.1924";
         src = fetchFromGitHub {
           owner = "mola-T";
           repo = "SPU";
-          rev = "a7dadda5566f5f8d785e8f9540cfcbbfb58eb47d";
-          sha256 = "0ng8q1k5kwqk01h4yzqnqgv2q7hb6qvh7rdhlvncwdh68y6bdgbl";
+          rev = "41eec86b595816e3852e8ad1a8e07e51a27fd065";
+          sha256 = "1j77h761vf74y9sfjpidgaznail95hsg9akjs55sz1xiyy7hkgyw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f2ef1e83c924d5411b47a931432f129db95ff2c/recipes/spu";
@@ -61969,12 +62244,12 @@
     ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-deploy";
-        version = "20161206.2115";
+        version = "20161220.2247";
         src = fetchFromGitHub {
           owner = "cjohansson";
           repo = "emacs-ssh-deploy";
-          rev = "740c27df2a6cfc688267e97ee8017b8fb3ac624c";
-          sha256 = "0qy02zifxfwvvy12jfx83lrkdjlglfb6m5ifm4b8waa6nbmfpvy2";
+          rev = "f36ffce4a2222c8a2b00881da3bdd114a2f7c628";
+          sha256 = "1lb24avcysc2s4iwd1ivrfsmi0pqya648zb9znlnm01k71ifp26c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4547f86e9a022468524b0d3818b24e1457797e/recipes/ssh-deploy";
@@ -62363,12 +62638,12 @@
     string-inflection = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "string-inflection";
-        version = "20161211.649";
+        version = "20161220.1825";
         src = fetchFromGitHub {
           owner = "akicho8";
           repo = "string-inflection";
-          rev = "0a26739a513f16bc368e0cf86ed7f4352b493fe8";
-          sha256 = "12wg1zlw1l850csxi74aqycnsjxzniigd2a8gm6dy5bi2dwb7kjs";
+          rev = "f11e732a582419e14a36c53130dd3a7b2c9da8c5";
+          sha256 = "1sq7h58v61cdyca5kfhf9rf3ybj25zgbhfdvb29qd7b2b33px7a5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection";
@@ -62404,10 +62679,10 @@
       }) {};
     strings = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "strings";
-        version = "20151231.1607";
+        version = "20170101.1137";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/strings.el";
-          sha256 = "1sa6wd2z2qkcnjprkkm9b945qz8d0l702sv9w15wl0lngbhw84na";
+          sha256 = "0gvj39cjc50ks31dzridskync3dnaxsr28wmyky781l87cgna4hq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/strings";
@@ -62610,12 +62885,12 @@
     sublimity = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sublimity";
-        version = "20160822.1856";
+        version = "20161214.2032";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "sublimity";
-          rev = "f692af1ba045146f568ee36009a78b79e9cfe21f";
-          sha256 = "035cb27a5i5ixlrqbh4a0srw3z9k054z32dzls851775rz91dks5";
+          rev = "02a477004b8807984b5f752fa225f1e7bb6f90ab";
+          sha256 = "1dc3kkq931nwa7p26dgrdgqhi110h6ilmch00300gh0m0wx9031d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c1e78cd1e5366a9b6d04237e9bf6a7e73424be52/recipes/sublimity";
@@ -62630,10 +62905,10 @@
       }) {};
     subr-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "subr-plus";
-        version = "20151231.1607";
+        version = "20170101.1138";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/subr+.el";
-          sha256 = "1xxf8kgxzcwwjm96isj4zg31vw63ahivr6xch5dw8wsvk0mjks9y";
+          sha256 = "057h7hshdvzm3qcwdnbyw0qb7ijw3jz38cff0n9ln4xgsma6cgm1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/400c7aede8fee84660b5010eacb93536f1c0b0a4/recipes/subr+";
@@ -63126,12 +63401,12 @@
     swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "swiper";
-        version = "20161208.857";
+        version = "20161213.719";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "bb4814a6a6bd52042afd8dcbd99a29fe880aa991";
-          sha256 = "07sgqqzkbczcq6ds6jqfmmv2900jhm08wgcg7nm4y657wfjd6rz2";
+          rev = "dc693c37dae89e9a4302a5cce42f5321f83946c8";
+          sha256 = "0bg4ki0zzqr0pir4b3p0bpv747bfb5a8if0pydjcwrwb05b37rmp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -63252,12 +63527,12 @@
     sx = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, let-alist, lib, markdown-mode, melpaBuild }:
     melpaBuild {
         pname = "sx";
-        version = "20161109.1903";
+        version = "20161222.1205";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "sx.el";
-          rev = "cb338d7e314f4d29333f59a947ef27c9d22c6958";
-          sha256 = "1sfvgk61cm0idmviadjsni9gy1kfjcdi455zynjc2181q0ax3qy9";
+          rev = "de73e993930f910862698727b5c0d93a1f656deb";
+          sha256 = "03dah9rn6ray0c65rkqcmak77b1hgyi2fc1nqgb5vfgf65jk7z7c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f16958a09820233fbe2abe403561fd9a012d0046/recipes/sx";
@@ -63377,10 +63652,10 @@
       }) {};
     synonyms = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "synonyms";
-        version = "20160328.654";
+        version = "20170101.1140";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/synonyms.el";
-          sha256 = "1zkrh1krhjmhb924dlihfnmjf4gigk9lqkai8aal67h90g2q2dsz";
+          sha256 = "0f1krqbmbdkpll6ggryblcr7gw0wqm3d9hvq145sdwhwi5jw8b4v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fd538439982dd7bd281bf78e96373b93f4d4a6b8/recipes/synonyms";
@@ -63435,6 +63710,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    syntactic-close = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "syntactic-close";
+        version = "20161213.735";
+        src = fetchFromGitHub {
+          owner = "emacs-berlin";
+          repo = "syntactic-close";
+          rev = "e03d1c8d09825377fcb6ae271c60a554f4d7a000";
+          sha256 = "0l1ymn6ld15rvpkrz1pyq79c72y4rpc9wz99wfc791r30dqgvj2d";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f2c15c0c8ee37a1de042a974c6daddbfa7f33f1d/recipes/syntactic-close";
+          sha256 = "19lrzxxyzdj1nrzdgzandjz3b8b4pw7akbv86yf0mdf023d9as1f";
+          name = "syntactic-close";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/syntactic-close";
+          license = lib.licenses.free;
+        };
+      }) {};
     syntactic-sugar = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "syntactic-sugar";
@@ -63542,12 +63838,12 @@
     systemd = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "systemd";
-        version = "20161201.2217";
+        version = "20161231.2103";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "systemd-mode";
-          rev = "fa1277d1cd955b031a943d52d370e97aec3f2cac";
-          sha256 = "1j1q60hjfx6ma82j6dil0a16jrablzskh76l0gcdq0c8rjdqb4i4";
+          rev = "b561c6bce9828e67c986903c24fb524451a02e64";
+          sha256 = "19jkiiyaxqyxqzmgg2n0hcp7az23jhkajsr5n7ha48mh690n2ga1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca810e512c357d1d0130aeeb9b46b38c595e3351/recipes/systemd";
@@ -63835,12 +64131,12 @@
     tao-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tao-theme";
-        version = "20160915.2124";
+        version = "20161228.743";
         src = fetchFromGitHub {
           owner = "11111000000";
           repo = "tao-theme-emacs";
-          rev = "85ee42a8e19b913865387d6662d41177fb0803ce";
-          sha256 = "1d98rjbgw99ai0dg67xyf1dycqb7pbdj9pwv0d45fflyjnrlrcgq";
+          rev = "c3ae08db2984c68a73468bc66c6517d286c74b48";
+          sha256 = "1r868ywxl62pih1pwjh6rzq2cwlic6358j8ji56p6hx08pbx932m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/94b70f11655944080507744fd06464607727ecef/recipes/tao-theme";
@@ -64276,12 +64572,12 @@
     tern = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "tern";
-        version = "20160817.522";
+        version = "20161222.850";
         src = fetchFromGitHub {
           owner = "ternjs";
           repo = "tern";
-          rev = "3f4794d39aa87163cb96a43fa48635a0a6f16b95";
-          sha256 = "1zglja6lmid3hldykn7gs5xnmn080m06c1idpxgbggzjh7bvl246";
+          rev = "b26e513f7bb8c7bb3509b7ce7066212673cef285";
+          sha256 = "0w8m30c6da5ahlziwnig2pprqx6w5wrp1mm341fhibfj3gd4qmxp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern";
@@ -64301,8 +64597,8 @@
         src = fetchFromGitHub {
           owner = "ternjs";
           repo = "tern";
-          rev = "3f4794d39aa87163cb96a43fa48635a0a6f16b95";
-          sha256 = "1zglja6lmid3hldykn7gs5xnmn080m06c1idpxgbggzjh7bvl246";
+          rev = "b26e513f7bb8c7bb3509b7ce7066212673cef285";
+          sha256 = "0w8m30c6da5ahlziwnig2pprqx6w5wrp1mm341fhibfj3gd4qmxp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern-auto-complete";
@@ -64318,12 +64614,12 @@
     tern-context-coloring = callPackage ({ context-coloring, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, tern }:
     melpaBuild {
         pname = "tern-context-coloring";
-        version = "20160709.837";
+        version = "20161217.2347";
         src = fetchFromGitHub {
           owner = "jacksonrayhamilton";
           repo = "tern-context-coloring";
-          rev = "42e2f0177e8d3017c07826361cc981b2883d34dc";
-          sha256 = "0jdm1s8pqs40xligbhmqgk4vaxkqyb2i5wkx1zgjazq8fhcql9jv";
+          rev = "3a8e979d6cc83aabcb3dda3f5f31a6422532efba";
+          sha256 = "1rq5aqmsd7jqvwypafad9gmfcwjqjah00j7cws46k5f0dirjaa1y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/db2119d2c2d167d771ee02c2735b435d59991b93/recipes/tern-context-coloring";
@@ -64357,22 +64653,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    terraform-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, hcl-mode, lib, melpaBuild }:
+    terraform-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, hcl-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "terraform-mode";
-        version = "20160823.31";
+        version = "20170101.456";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-terraform-mode";
-          rev = "6337c5eda0abacc5b38e241dae0fadd8cecc81e5";
-          sha256 = "0cyijxjxdhkc555hwgdv0jxnsqp22b12ys35v2hai3p9w5x22jxc";
+          rev = "51ecf5858b910ddd373de4c6fbc0c12c202e8613";
+          sha256 = "0dfjdwpyy1kp6j7flkxnfng74vkx93glq3idhzc6hq8a4wh2j64n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/93e06adf34bc613edf95feaca64c69a0a2a4b567/recipes/terraform-mode";
           sha256 = "1m3s390mn4pba7zk17xfk045dqr4rrpv5gw63jm18fyqipsi6scn";
           name = "terraform-mode";
         };
-        packageRequires = [ cl-lib hcl-mode ];
+        packageRequires = [ emacs hcl-mode ];
         meta = {
           homepage = "https://melpa.org/#/terraform-mode";
           license = lib.licenses.free;
@@ -64648,10 +64944,10 @@
     thing-cmds = callPackage ({ fetchurl, hide-comnt, lib, melpaBuild }:
     melpaBuild {
         pname = "thing-cmds";
-        version = "20151231.1609";
+        version = "20170101.1143";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thing-cmds.el";
-          sha256 = "1nclwxb63ffbc4wsga9ngkfcxsw88za0c4663fh9x64rl4db4hn8";
+          sha256 = "1qpszba6ajwqphhk39y6j4wlg7s5lch63lwfa9y28qipwkbn6zlq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thing-cmds";
@@ -64666,10 +64962,10 @@
       }) {};
     thingatpt-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "thingatpt-plus";
-        version = "20161121.1523";
+        version = "20170101.1144";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thingatpt+.el";
-          sha256 = "0xxd6qi6xw9zn0yykyl1ys8ckpfngxkbswy00s6hf7gd9jbknkm3";
+          sha256 = "0hb3fyqzq0312isid5vji0j74dmkh08p41sss32f4w60yhd8p19x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thingatpt+";
@@ -64752,8 +65048,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "60611917cf309d2a25b9cd8f8b5631784b07323d";
-          sha256 = "11y20g86s2n0lhkjw38lvv4kki2kq6ywgy4qm3na9m2sbw2p6khw";
+          rev = "d8bb0e3b9ff7e6cecfc85c01a81280dc3d046430";
+          sha256 = "0n2dy6l9wv08z5f67qlayw1ik3mfcblaflh0dl3ji1f6ygfm6y8h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -64769,10 +65065,10 @@
     thumb-frm = callPackage ({ fetchurl, frame-cmds, frame-fns, lib, melpaBuild }:
     melpaBuild {
         pname = "thumb-frm";
-        version = "20151231.1612";
+        version = "20170101.1145";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thumb-frm.el";
-          sha256 = "0nyp1sp55l3mlhlxw8kyp6hxan3rbgwc4fmfs174n6hlj3zr5vg8";
+          sha256 = "19fiafq5nl29wr35l7nkzjs70fvnw0g27424x7xnm425gwaags8s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thumb-frm";
@@ -64809,12 +65105,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "20161205.2257";
+        version = "20161217.2302";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "2351b8240faaf7fc7785516c0480d54e78e0d3e3";
-          sha256 = "14wfh3siwsxdicb382w9ygjmz6xxqm1724xypxva4n26666fc2da";
+          rev = "ab0e9fca712c6e890c213198fe9ab20284778f79";
+          sha256 = "1msndmywrj0fny4fys5qj9nh1p01p2vsyn3wfrhj5asshgvp6g48";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -64848,12 +65144,12 @@
     tile = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, stream }:
     melpaBuild {
         pname = "tile";
-        version = "20161104.1737";
+        version = "20161224.1957";
         src = fetchFromGitHub {
           owner = "IvanMalison";
           repo = "tile";
-          rev = "2e0bb114d8cf9276ee73f616cae0a3baa64fbf5c";
-          sha256 = "06kc90cy5nq5w87f253a70n6r234lq5kw06m5yb19vw7ph94bx9c";
+          rev = "22660f21f6e95de5aba55cd5d293d4841e9a4661";
+          sha256 = "1qxhrm852j93sqi1lznlrjn7s0vscsixm48g46ja70gl320chyzm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/424cfd28378ef328721bb0dc3651808e64c01306/recipes/tile";
@@ -65016,12 +65312,12 @@
     tiny-menu = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tiny-menu";
-        version = "20160606.1711";
+        version = "20161213.435";
         src = fetchFromGitHub {
           owner = "aaronbieber";
           repo = "tiny-menu.el";
-          rev = "9820cff69d3b605813f609a0db8e6c860bfb9c72";
-          sha256 = "1l3cz16lnq5rw57m4j0x29j6nkrcxnz2ppar5xnpwlcaf600wqki";
+          rev = "f1fc844f514f57fd93602ff5e00c6125b0e93254";
+          sha256 = "125ckmfsvzacd5icsnldcbfl4rkxpfal6qfindy80i84vk0qw47g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82700c97ca40130e7508c151f60220d3f23bf23c/recipes/tiny-menu";
@@ -65390,10 +65686,10 @@
       }) {};
     tool-bar-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "tool-bar-plus";
-        version = "20151231.1615";
+        version = "20170101.1147";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/tool-bar+.el";
-          sha256 = "1sqflxj3hzxdlwn5qmpqm4dwik5vsyp7lypkvshcghdplxymb38a";
+          sha256 = "19ayc57vnv9348nfc10392kr4xd6wg0b6v2ya3x2zlpfsq3a6w2n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/tool-bar+";
@@ -65642,12 +65938,12 @@
     transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "transmission";
-        version = "20161103.1632";
+        version = "20161231.2101";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "transmission";
-          rev = "fc0af768454f7964ba0c8b6934fc0cae24b8ebe8";
-          sha256 = "05zrdgv0b7a3y89phg66y8cfpmshm34yg7ahhc861k6wh4kvkv89";
+          rev = "39b1fdb924727698e5b85c588bc6fd83200e4b90";
+          sha256 = "08wgqx48b3kbggxmkjjxwyinfl1j6b8wi4xvg0hwbkyw0zka0cii";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission";
@@ -65949,12 +66245,12 @@
     tuareg = callPackage ({ caml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tuareg";
-        version = "20161207.1239";
+        version = "20161229.438";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "tuareg";
-          rev = "18596179aa3da630e544ecb3ad02bcfde8c3a845";
-          sha256 = "1clx74wpb3bp5njy95clvz14zcipf8mcldnp6xsv39x8xwsvgi26";
+          rev = "d4c82791b2a4e2c38c09a5afc61dab958b107428";
+          sha256 = "13f4rj45m6qb1m21x9qnyb1xhfpb4pi8aifya0lb8xplav131bsk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@@ -66261,12 +66557,12 @@
     typit = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, mmt }:
     melpaBuild {
         pname = "typit";
-        version = "20161125.1205";
+        version = "20170101.318";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "typit";
-          rev = "0ec57775db48d3a2d73998d569626cc720618786";
-          sha256 = "15wl6vymbdc3fzsk4fn12j7nzdg9iqzfi3lnw68bl0p00s3i37pg";
+          rev = "eb2d9a73851c64e21c211136c36b9de34812dc0f";
+          sha256 = "0r8cr4h3pkc23zxv01kkqv7bn34vppw6wgm7npzc9c04l40hs7iq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d17d019155e19c156f123dcd702f18cfba488701/recipes/typit";
@@ -66344,10 +66640,10 @@
       }) {};
     ucs-cmds = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "ucs-cmds";
-        version = "20161118.1423";
+        version = "20170101.1149";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/ucs-cmds.el";
-          sha256 = "08yfz2mhhfqmx2icwpwizcaqkzngddhgp4ya3ga77fziyb6xjrdv";
+          sha256 = "0ql6qyzcj067vx2amwfh2m4vi056zf7qra4pkyskv829nxqg9mk8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/ucs-cmds";
@@ -66405,12 +66701,12 @@
     ujelly-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ujelly-theme";
-        version = "20161024.353";
+        version = "20161222.534";
         src = fetchFromGitHub {
           owner = "marktran";
           repo = "color-theme-ujelly";
-          rev = "8c67c84d0486f3398653d7d4f5ed6e0059854b85";
-          sha256 = "0vksd0zay5wp9hmq1xrqb18fqyqgnmp1yp6fgqx9miacfasg18qf";
+          rev = "b62d64b8221c4209fb2d25bd49c85e3bfea19a90";
+          sha256 = "1qzpv3lh51q8f4bvyr0wykvsm1jyf78wf8xvawjspp8vz76r8h7l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/ujelly-theme";
@@ -66955,12 +67251,12 @@
     use-package = callPackage ({ bind-key, diminish, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "use-package";
-        version = "20161031.1025";
+        version = "20161222.903";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "c7adfdde3d50d783dcde21ac3ea8195bbd30369f";
-          sha256 = "1qkcnk2h1k6yv9sbkir2nkbjjnzcj3ndk20cysk2wcmwqxm85840";
+          rev = "5954ad37cf2d3c9237f4d2037e8619be15681cd1";
+          sha256 = "0scn6wrs6040j4z1gfmn9akzknjhaj2kr07kfzx1v42ibm42ihcd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3f9b52790e2a0bd579c24004873df5384e2ba549/recipes/use-package";
@@ -67354,12 +67650,12 @@
     vdiff = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }:
     melpaBuild {
         pname = "vdiff";
-        version = "20160803.1035";
+        version = "20161221.450";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-vdiff";
-          rev = "eda4b1bee033d3fde19a70ccfd2abbe278230f0e";
-          sha256 = "1yhvizfcl71j6j8dz2la7z90zn4x1mka3qavpmgjcrpck77a9k5x";
+          rev = "cfad650c53b4fcaad8f24bbb7d44623678d2edff";
+          sha256 = "06ajkby1762i3pnsq0k9048qvxldk0ajrqvq4wwcqgc1xpbcdq7l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e90f19c8fa4b0d267d269b76f117995e812e899c/recipes/vdiff";
@@ -67648,12 +67944,12 @@
     vimish-fold = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "vimish-fold";
-        version = "20160718.126";
+        version = "20161231.1600";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "vimish-fold";
-          rev = "2ba97302f76d83df3ec8dd1a2d76b02e1a0aadd6";
-          sha256 = "0mfrydhndr4a77231kwnh1zljsfpn6sczw51li1kbdbkg8xbps33";
+          rev = "1eb00dc2d803df411d7b2eae1c775eecc6512728";
+          sha256 = "1shxvnlpb3hw3pa7883nmpzjy2q6cyww3r8x4yx3h315nvxwxfkq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4862b0a3d43f073e645803cbbf11d973a4b51d5/recipes/vimish-fold";
@@ -67981,12 +68277,12 @@
     vue-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode }:
     melpaBuild {
         pname = "vue-mode";
-        version = "20161009.1916";
+        version = "20161227.133";
         src = fetchFromGitHub {
           owner = "CodeFalling";
           repo = "vue-mode";
-          rev = "3847c3132dc743932507b622dadb83bed935b6f9";
-          sha256 = "0m541ib25fcva8kzbpxi3bwyimdqzzx3w6m9m4yz90cxc3hzvl9i";
+          rev = "addc8637f9ab645b758b48b785a5a4c74c8ccc71";
+          sha256 = "0pkjvil3wdcpwm7gq998lqr5dwp8qdzc025qjq0f3pqv9sq4yqq3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2e5e0a9fff332aeec09f6d3d758e2b67dfdf8397/recipes/vue-mode";
@@ -68001,10 +68297,10 @@
       }) {};
     w32-browser = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "w32-browser";
-        version = "20160814.1433";
+        version = "20170101.1154";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/w32-browser.el";
-          sha256 = "0cb42vmvjhgjg34klxfrqx8fc39awv0gcr2i2n3ma2xdknzb9z7b";
+          sha256 = "0x30ldv2wbv3vhj85jss7hwf672m61f5r4z9l1sg3v0ibalqry45";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/w32-browser";
@@ -68020,10 +68316,10 @@
     w32browser-dlgopen = callPackage ({ fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "w32browser-dlgopen";
-        version = "20151231.1621";
+        version = "20170101.1155";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/w32browser-dlgopen.el";
-          sha256 = "0nyara81bnd0rvgyljqrrbvjvndkngdc7qzf6scl5iz3vlglfgy7";
+          sha256 = "1dv4l7rcm34p78cvyjv7b1lcc1d28pia18vj3swgnan9g1mi7zdf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/w32browser-dlgopen";
@@ -68144,12 +68440,12 @@
     wanderlust = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, semi }:
     melpaBuild {
         pname = "wanderlust";
-        version = "20161209.1521";
+        version = "20161227.2220";
         src = fetchFromGitHub {
           owner = "wanderlust";
           repo = "wanderlust";
-          rev = "5e7e812e0ef025b72dfb9adbcb751695e777873e";
-          sha256 = "0c9x0w7hc3h1x1p0m3vzb3gq16vdlsswc3qxxslfxmnykzbqc4hv";
+          rev = "59a4d97286251a0c0871c085aea01fa1abc1e192";
+          sha256 = "1k7kkdr2kr7qivvbifqgw9hx111bscbh376q1f44p825flxnzyn8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/426172b72026d1adeb1bf3fcc6b0407875047333/recipes/wanderlust";
@@ -68375,12 +68671,12 @@
     web-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "20161210.243";
+        version = "20161230.1026";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "98be3285362a512d28a96ce4220c6dc295d5fee8";
-          sha256 = "1mylmz3xl4yj80i1n8xv8jiszrqywhiavd7db0qxx04lrl71n02b";
+          rev = "abd9c738feb0d6069cf8de07fa7d109441a5ca54";
+          sha256 = "049q9n3881f27lpsmjsxdfw6zkizqhrh3wwyxfibnzsq9c1631hi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -68711,12 +69007,12 @@
     which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "which-key";
-        version = "20161207.714";
+        version = "20161222.1221";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-which-key";
-          rev = "f0eb183af6ce87344af40813a20fbe81bf98c80a";
-          sha256 = "0p1hzhcqy17cb90hsii1xiy9bw5129q847wpdbz8i58345svzm83";
+          rev = "49ab7afd93ef36e5f0261eff7151360edeeea4e6";
+          sha256 = "0cqq1w9cjrp61mjzi7y49yrbhclpf0cab9fcylq14v1ilhipfdxa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
@@ -68857,10 +69153,10 @@
       }) {};
     wid-edit-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "wid-edit-plus";
-        version = "20151231.1622";
+        version = "20170101.1156";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/wid-edit+.el";
-          sha256 = "18bnwwjk8jj4ns08sxhnznj0d8n1bxm2kj43r06nwyibh6ajpl7f";
+          sha256 = "0pzxarpwabbg67ajg340yrp1gqly8y71qrd5gcv9vjzgvvh9anws";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/wid-edit+";
@@ -69163,10 +69459,10 @@
       }) {};
     window-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "window-plus";
-        version = "20151231.1624";
+        version = "20170101.1158";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/window+.el";
-          sha256 = "0mqdcgk6mdxgl9if7jzgg16zqdwnsp8icrdhnygphw5m9h2dqcnm";
+          sha256 = "06igqiwvnwm68k6gf9h85p4ppqab20sxl6qnxb57z8lpczpsssqa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/window+";
@@ -69263,14 +69559,35 @@
           license = lib.licenses.free;
         };
       }) {};
+    winum = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "winum";
+        version = "20161226.1051";
+        src = fetchFromGitHub {
+          owner = "deb0ch";
+          repo = "emacs-winum";
+          rev = "430d24dd29cf5a96eb31ea4bc6af150e4d530331";
+          sha256 = "0ayj466md5xz6gflwl5sa81grpiydy5i2lkdpz7m8wlc81q3ng9j";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c1caa7a54a910a44322fdee300e8cce6ddcde071/recipes/winum";
+          sha256 = "0yyvjmvqif6glh9ri6049nxcmgib9mxdhy6816kjhsaqr570f9pw";
+          name = "winum";
+        };
+        packageRequires = [ cl-lib ];
+        meta = {
+          homepage = "https://melpa.org/#/winum";
+          license = lib.licenses.free;
+        };
+      }) {};
     wisp-mode = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "wisp-mode";
         version = "20160419.1232";
         src = fetchhg {
           url = "https://bitbucket.com/ArneBab/wisp";
-          rev = "a67adbf5fc75";
-          sha256 = "1av071s0s6x0idbklfnps8j7vgjqxapk9y23prk6jrdbbwhfzb8n";
+          rev = "ab6afca9ee2e";
+          sha256 = "19yy6z12pqaz9l0gj4hm73m7z2gcyivwymf6732vk8im77i8agyl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
@@ -69307,12 +69624,12 @@
     with-editor = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "with-editor";
-        version = "20161201.925";
+        version = "20161231.826";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "with-editor";
-          rev = "ee41302fea917eb113182bc1eb8d44de882233f8";
-          sha256 = "165shk1bi5lhbx06mavvlpcqvdjpnwdp29l9gqnyxclc7nm0i05b";
+          rev = "2248a63f6eb6e7720881b508639d9a00d2db9ea0";
+          sha256 = "0g5ch1a5myrmazxcbbak01q4k3x8yp3kbn73d2h26j2jmsqvdy1n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor";
@@ -69496,12 +69813,12 @@
     worf = callPackage ({ ace-link, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "worf";
-        version = "20161206.201";
+        version = "20161231.217";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "worf";
-          rev = "c1a5e644320b98467a31b0c363edc8229927ed78";
-          sha256 = "11pb3sd1jn5jfhx0q4pwpiszaadbyag9zjb6iy6sl1nhs2z22acn";
+          rev = "ca9a42b64938f43d757c6e0c41f21610bea87dba";
+          sha256 = "0nwsryj7xiizvrcnwb1an8siihqjbdvcwg6mjc36cyr6cv3icqmw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f00f8765e35c21dd1a4b5c01c239ed4d15170ab7/recipes/worf";
@@ -69790,12 +70107,12 @@
     x86-lookup = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "x86-lookup";
-        version = "20161030.1736";
+        version = "20161215.448";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "x86-lookup";
-          rev = "208810ea93214491e6e2329cdbf81de85437939a";
-          sha256 = "0whhi05mg7xirzfcz7fzn4hkqq0qbrhqi77myrgdhwgs123cd9bj";
+          rev = "544a1ad4e8551c60e58e6c431470b6ef4ce7c5cb";
+          sha256 = "1w2fhi5x0amjyzzdndp9lvm6i279pcjjs6zfhssly2lbxw4dpaky";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/27757b9b5673f5581e678e8cad719138db654415/recipes/x86-lookup";
@@ -69811,12 +70128,12 @@
     xah-css-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-css-mode";
-        version = "20161210.2152";
+        version = "20161218.2250";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-css-mode";
-          rev = "c2ca5a4422e8c05ff1428c76b3b9c20d38bcfcb7";
-          sha256 = "1wkibjznxg1khvgnabgh8808hp31i2zrkzq9crjc37xv65vkb3v1";
+          rev = "80f46b8699aff1ee83ba43d636d765a852df0b4a";
+          sha256 = "1zhzh1vih468zlycr3pmnjk1f2jr8qqg61n1jbjw58daxh4jj6jd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57c2e2112c4eb50ee6ebddef9c3d219cc5ced804/recipes/xah-css-mode";
@@ -69832,12 +70149,12 @@
     xah-elisp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-elisp-mode";
-        version = "20161210.2135";
+        version = "20170102.722";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-elisp-mode";
-          rev = "d541d7940a078c7cec64578bf51fa1023df7d931";
-          sha256 = "0l3jadf5zlkva7lcrd7z7gfhb71p8dccsbn5mwwwhcfv449z0a5x";
+          rev = "0f4d6f3239ced83d4f71660feca896ebe594e749";
+          sha256 = "19ps3b60pzr8p8yii49kcsnvy0l0mpsfh231bfjsynrdzaz3zbd6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2e996dd5b0061371662490e0b21d3c5bb506550/recipes/xah-elisp-mode";
@@ -69850,148 +70167,169 @@
           license = lib.licenses.free;
         };
       }) {};
-    xah-find = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    xah-find = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-find";
-        version = "20161116.1515";
+        version = "20161221.1705";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-find";
-          rev = "44a8ccf067e86bf9db7c7e73016b23ddcb212254";
-          sha256 = "02zx485l9ilfblz2ma5wqb97prbnvph9a7ija66sac2aklw19i8w";
+          rev = "27fabf6ef557007ba93b667d0a79823420a0144f";
+          sha256 = "0pli4p1q43hk2zy9lgm324njm82jwmpldhbvdiv4f6zbkv44xrhr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d94ffd9c3380cd56770f253e43d566a95083e37/recipes/xah-find";
           sha256 = "1d3x9yhm7my3yhvgqnjxr2v28g5w1h4ri40sy6dqcx09bjf3jhyq";
           name = "xah-find";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/xah-find";
           license = lib.licenses.free;
         };
       }) {};
-    xah-fly-keys = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    xah-fly-keys = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-fly-keys";
-        version = "20161210.2112";
+        version = "20170103.616";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-fly-keys";
-          rev = "a6c454132d00f7140f8130b55981c343b4c1b7a6";
-          sha256 = "07h9x74g66z3nw6d07sa0pkjsb1ddnyrs2pmka9ly9n35irix2ms";
+          rev = "05d97718a519edae9acb4f729cc7b997d3016e21";
+          sha256 = "0b83rn7b5ssqhwj1lgz8na1dlaj8k0900rci1ggyylrdxzbbssnz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc1683be70d1388efa3ce00adc40510e595aef2b/recipes/xah-fly-keys";
           sha256 = "0bzfz8q7yd1jai0pgngxwjp82nsfx5ivn24cb20vc5r8hhzj17cs";
           name = "xah-fly-keys";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/xah-fly-keys";
           license = lib.licenses.free;
         };
       }) {};
-    xah-get-thing = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    xah-get-thing = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-get-thing";
-        version = "20161210.2058";
+        version = "20161218.2145";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-get-thing-or-selection";
-          rev = "1604ebb340b31eae31596716489b99043c237ccc";
-          sha256 = "19wjiwdlmpj9yax0zv401ah0zp80dvr2mhxwyhqsnfd802yp1n00";
+          rev = "14bf7ad0d8366b3b8754c252ca45660181ba5a1d";
+          sha256 = "0025g3ikdfpmcaa6pkdyh1vp7wxbbdd5slxxdzyvshmi7lm2p2nc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9e8dc32a5317f0ff0e72fa87220243dd742eb1ef/recipes/xah-get-thing";
           sha256 = "0m61bmfgqy19h4ivw655mqj547ga8hrpaswcp48hx00hx8mqzcvg";
           name = "xah-get-thing";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/xah-get-thing";
           license = lib.licenses.free;
         };
       }) {};
-    xah-lookup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    xah-lookup = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-lookup";
-        version = "20160928.1232";
+        version = "20161218.2303";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "lookup-word-on-internet";
-          rev = "e391dc7b6667e60802606500d475fb4ea529408d";
-          sha256 = "1wrf9fmqjig7iamrl4h40xff19qgkja2kqj1zz2mnlmcr4hml3vh";
+          rev = "219b0d58760bad26b2e07c55c229d989b983c089";
+          sha256 = "1n1w9jcq1bz4qqps33p3dmmjv9hyvpa0zrxhxcp2q3vh7j0714qj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38e6609a846a3c7781e0f03730b79bbf8d0355a9/recipes/xah-lookup";
           sha256 = "0z0h1myw6wmybyd0z2lw4l59vgm6q6kh492q77kf3s0fssc0facc";
           name = "xah-lookup";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/xah-lookup";
           license = lib.licenses.free;
         };
       }) {};
-    xah-math-input = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    xah-math-input = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-math-input";
-        version = "20161206.1107";
+        version = "20161222.327";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-math-input";
-          rev = "4f36d0d949ec8d930aa5e3a0cdaa9fb136244436";
-          sha256 = "184kciyvs9qgzlf33y11y8x4rixfg1sx067qh67yjwgl2wzwbwfm";
+          rev = "4ab83f7d9bcd6f2697a77507930542bc2a00a1a3";
+          sha256 = "13h7gkdy47mnks1r80j94j3h825s93fwi43l9r7wp9jbngdx057f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/95d57e33e6d60dc20d6452b407ea1486604ba23a/recipes/xah-math-input";
           sha256 = "1afikjk46sjf97fb5fc8h63h7b9af010wxhsbpnmabsb4j72rx5a";
           name = "xah-math-input";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/xah-math-input";
           license = lib.licenses.free;
         };
       }) {};
-    xah-replace-pairs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    xah-reformat-code = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "xah-reformat-code";
+        version = "20161222.525";
+        src = fetchFromGitHub {
+          owner = "xahlee";
+          repo = "xah-reformat-code";
+          rev = "a5034360857b8d795a8b9a9be72d53737c9e5c66";
+          sha256 = "0sdxh9m3h9ain9ginarwia28qx19bia6f89788d6nvh1swlwxfi9";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/45e731ccee5ccbf97169e32a16300b5fb78e1155/recipes/xah-reformat-code";
+          sha256 = "1sj407nbh4x586hvsq4ycr0ahhxin0wgfwdj0551cz8793wvjpzp";
+          name = "xah-reformat-code";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/xah-reformat-code";
+          license = lib.licenses.free;
+        };
+      }) {};
+    xah-replace-pairs = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-replace-pairs";
-        version = "20161210.2059";
+        version = "20161218.2147";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-replace-pairs";
-          rev = "2cf602c6d8136a44799e8799f17c3b12e2bec5c8";
-          sha256 = "09bb516srdjkdibv5p2gsmwhqahwnlka0wbpcx4064w54afgh5a6";
+          rev = "a4e278440afc237907fd3d8c7ada45d2c9ff0141";
+          sha256 = "0jz59iprd8s0ijay4l6mk7j47vd61v28y7l6xhgz9008gn9qbbzi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0e7de2fe0e55b1a546f105aa1aac44fde46c8f44/recipes/xah-replace-pairs";
           sha256 = "0r4aq9davh3ypzcjixr3aw9g659dhiblwbmcyhm8iqhkavcpqr1x";
           name = "xah-replace-pairs";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/xah-replace-pairs";
           license = lib.licenses.free;
         };
       }) {};
-    xahk-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    xahk-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xahk-mode";
-        version = "20150504.1611";
+        version = "20161218.2311";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xahk-mode.el";
-          rev = "91301b8eae7fd703b258a4c68066d9d5af943c4b";
-          sha256 = "0dc74kqwi0hpihdbb9a9lrqb7823w6j96mah47zyd9d4rd3vx850";
+          rev = "24aa00cd0a8c47f7d8906379eeccbeca22c1a50b";
+          sha256 = "1npa30kp5jaqn7qmsca0a3ch0428l4n8w0hix0bvlfwr5s4zksfy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3d6422756b435f59ead15fa7e8081f5c88b2e93f/recipes/xahk-mode";
           sha256 = "1bs12z7lnqlhm44hq0l98d0ka1bjgvm2yv97yivaj9akd53znca9";
           name = "xahk-mode";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/xahk-mode";
           license = lib.licenses.free;
@@ -70294,12 +70632,12 @@
     xterm-color = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xterm-color";
-        version = "20161128.1657";
+        version = "20170102.1525";
         src = fetchFromGitHub {
           owner = "atomontage";
           repo = "xterm-color";
-          rev = "67860d31c4a4e8e8781bf2c8888f40001614f54a";
-          sha256 = "01if8ggkpli7md0yg4c3gv8nn0di3drs2frcfm9cd4d4jc7wc7l5";
+          rev = "5873477fd7bd6e54142ab35fbc623ea9b55200aa";
+          sha256 = "1328avc28barirwipasnhq81sn4nw6w6x6fffgqcxayv2r5bl1d8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b34a42f1bf5641871da8ce2b688325023262b643/recipes/xterm-color";
@@ -70588,12 +70926,12 @@
     yang-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yang-mode";
-        version = "20161212.213";
+        version = "20161220.157";
         src = fetchFromGitHub {
           owner = "mbj4668";
           repo = "yang-mode";
-          rev = "f37745cda52d161761fcfe2fed792faa909b6fce";
-          sha256 = "1c6l8kbd01mlzkjwri0ma81ldz68fjgn1rb5ibi67r8kcisfzb50";
+          rev = "bcf698acbdb4df91f587942348739b407a8b0807";
+          sha256 = "1rrmailvhxvivmdjamm2vvciym484cw0lqn1hgdw1lz999g5a5vs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb42ab9b5f118baaf6766c478046552b686981a1/recipes/yang-mode";
@@ -70753,12 +71091,12 @@
     yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yasnippet";
-        version = "20161211.1918";
+        version = "20161221.1953";
         src = fetchFromGitHub {
           owner = "joaotavora";
           repo = "yasnippet";
-          rev = "e878afb8832ecf05d654d99cd7ecb3406f7a425e";
-          sha256 = "0nlw4c9cfcg04zfjfv1z097yn8cqv1l6dsbdcmf34ccgmncr076y";
+          rev = "48cd7163b2475bbbea166cd0d02b4bf588f1435f";
+          sha256 = "1y5bip792p76lx2hx0z459jyvx7f7y8sncd7q8rcfd581vlsyc04";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet";
@@ -70794,11 +71132,11 @@
       }) {};
     yatex = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "yatex";
-        version = "20161008.2359";
+        version = "20161214.2131";
         src = fetchhg {
           url = "https://www.yatex.org/hgrepos/yatex/";
-          rev = "564510b9caca";
-          sha256 = "1k5q65di0b4mlhmjxi7vfn369lh02vybm0dmb5sir7j3vg8c5347";
+          rev = "5428250c886a";
+          sha256 = "0q1b0wpdfdghp6hchc59jgkyra5qqqdam47q7g2ni4ym8nlhwd3c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex";
@@ -70856,12 +71194,12 @@
     ycmd = callPackage ({ cl-lib ? null, dash, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, request, request-deferred, s }:
     melpaBuild {
         pname = "ycmd";
-        version = "20161128.358";
+        version = "20161222.1039";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "5bff8525adbe01a9af905c92f0834902ac3c1c73";
-          sha256 = "15sg07dvvmmfhcp83b388zy43wgyq2qcns4qqcm2jaqq9hpvqxf9";
+          rev = "ca51cbce87f671f2bb133d1df9f327bb8f1bb729";
+          sha256 = "0riz0jj8c80x6p9fcxyni7q3b0dgxjwss8qbihndq8h2jypdhcgd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b25378540c64d0214797348579671bf2b8cc696/recipes/ycmd";
@@ -71033,12 +71371,12 @@
     zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zenburn-theme";
-        version = "20161208.2137";
+        version = "20170102.1359";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "eb0bafac9d3208daba5a3f744514a463ffd0e131";
-          sha256 = "1h4y7lxdcss3c219lr6wd30af32n850w77q6xlys8qrb9l71f1vk";
+          rev = "0d3a01b564cf0c64a83c3bf0652aff47f13dfaf0";
+          sha256 = "0qazdp1x3mwpi20ilraqsb350rgp9vsk4qhby4qgrxqq1iv3n1nb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
@@ -71095,12 +71433,12 @@
     zerodark-theme = callPackage ({ all-the-icons, fetchFromGitHub, fetchurl, flycheck, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "zerodark-theme";
-        version = "20161209.632";
+        version = "20161212.1151";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "zerodark-theme";
-          rev = "af231794425255d436690c9c31bceb2052251210";
-          sha256 = "1xnhcxf5d0gn8lhapjg7b289bqpf8w0d2mp76ksb8rsvx4r0bdbw";
+          rev = "e2e58a4aabb2b8973b318f5ad1013150f8d06678";
+          sha256 = "1jnjiypm2zarfws1w5ql1c9d6zgl47cjnr8zq5lk0raxwx968lqc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/72ef967a9bea2e100ae17aad1a88db95820f4f6a/recipes/zerodark-theme";
@@ -71283,10 +71621,10 @@
       }) {};
     zones = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "zones";
-        version = "20161127.1801";
+        version = "20170101.1159";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/zones.el";
-          sha256 = "09lwqkfcz97jpzfr4q5ir6m8zxligkkf70b2ppnnchhmdghs0yx8";
+          sha256 = "1m88lqfmfayx2pj5ws14cfysf4pv8rm9v768x6xvsknjb4sl0q8l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f768556f3fbe2537d6ebb08a5285d040e851e85d/recipes/zones";
@@ -71323,10 +71661,10 @@
     zoom-frm = callPackage ({ fetchurl, frame-cmds, frame-fns, lib, melpaBuild }:
     melpaBuild {
         pname = "zoom-frm";
-        version = "20160809.716";
+        version = "20170101.1201";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/zoom-frm.el";
-          sha256 = "0k165zzqc65sl1glhh6qnlfrjx5qx1gcv5a0l445z7ny12r69xwb";
+          sha256 = "1n16qx3ag9cdds04l4s2a79ijqg4k5gg1144vyn5p6ih10casw32";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/zoom-frm";
@@ -71346,8 +71684,8 @@
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-zoom-window";
-          rev = "eefe36d26e04a9f89aad27671d1f06e9d4736ac6";
-          sha256 = "08splg49ncgfsap3ivpc974wmg22ikshwv33l0i6advjjv9cskhm";
+          rev = "759517e1116c9162181db3aa74438d448b5e1233";
+          sha256 = "04m9mhsmmi40n8qx1axfvg490j4afkj694jjq6r954dz2f4h2h98";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8a55cc66cc0deb1c24023f638b8e920c9d975859/recipes/zoom-window";
@@ -71426,12 +71764,12 @@
     zotxt = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild, request-deferred }:
     melpaBuild {
         pname = "zotxt";
-        version = "20160427.1922";
+        version = "20170102.1009";
         src = fetchFromGitLab {
           owner = "egh";
           repo = "zotxt-emacs";
-          rev = "43c0c6d23b31126bac6b14bb85608180fd9c866f";
-          sha256 = "0qksa67aazs9vx7v14nlakr34z6l0h6mhfzi2c0vhrr0c210r6hp";
+          rev = "ac3946f45c6e9f61fdd23c517d78b1844b231c90";
+          sha256 = "02kr2qladcm82dsq2fii1k6ks21ywk216v2rhffqkxyq6xpanvpj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b633453e77a719f6b6b6564e66c1c1260db38aa6/recipes/zotxt";
@@ -71468,12 +71806,12 @@
     ztree = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ztree";
-        version = "20161026.1249";
+        version = "20161227.426";
         src = fetchFromGitHub {
           owner = "fourier";
           repo = "ztree";
-          rev = "6826c3f3f3735fbf060206072392d67f0990f817";
-          sha256 = "1ybrx6p9i55zsjnxa7cgali6x77aam2h55b8g5fqw23wnvr11x4q";
+          rev = "2751b96aca36cc5c31dc105ec985c269126420a0";
+          sha256 = "099w5z28aznzc8ri26lz8fkql4lvv23j0cqijif7bfmiz6zq5l1h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f151e057c05407748991f23c021e94c178b87248/recipes/ztree";
@@ -71510,12 +71848,12 @@
     zzz-to-char = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zzz-to-char";
-        version = "20160122.440";
+        version = "20161231.1557";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "zzz-to-char";
-          rev = "25272ccdb8ef5b943037e161bc7d2561f899e23a";
-          sha256 = "1wphpxnh7sisqfx7ngil3ixnjkfgwy3j2bvv33bxcwslvfggimi6";
+          rev = "aaa854efb6b9e4451e97dfe90d37f368ff868b9e";
+          sha256 = "1k66wsbgb7fqb5mbani0lzffy3yf0801rlgxwbkj34ciblz6a197";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7063cbc1f1501ce81552d7ef1d42d1309f547c42/recipes/zzz-to-char";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
index 2d33ce39736e..dc15c9e056ac 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
@@ -485,12 +485,12 @@
     ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "ac-php";
-        version = "1.7.5";
+        version = "1.7.6";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "f66d13c98543032d2773c83441f49d4b6e109e97";
-          sha256 = "0zi16x56jmas70srphd07ycxfdw4ny1y8vsdcvfvmgvg1mgys8f6";
+          rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a";
+          sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -506,12 +506,12 @@
     ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }:
     melpaBuild {
         pname = "ac-php-core";
-        version = "1.7.5";
+        version = "1.7.6";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "f66d13c98543032d2773c83441f49d4b6e109e97";
-          sha256 = "0zi16x56jmas70srphd07ycxfdw4ny1y8vsdcvfvmgvg1mgys8f6";
+          rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a";
+          sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -2617,6 +2617,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    bool-flip = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "bool-flip";
+        version = "1.0.1";
+        src = fetchFromGitHub {
+          owner = "michaeljb";
+          repo = "bool-flip";
+          rev = "0f7cc9b387429239fb929896511727d4e49a795b";
+          sha256 = "1051gy7izy25jwh079231d4lh9azchbqc6nvfrkv8s9ck407a65a";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f56377a7c3f4b75206ad9ba570c35dbf752079e9/recipes/bool-flip";
+          sha256 = "1xfspqxshx7m8gh6g1snkaahka9f71fnq7hx81nik4s9s8pmxj9c";
+          name = "bool-flip";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/bool-flip";
+          license = lib.licenses.free;
+        };
+      }) {};
     boon = callPackage ({ dash, emacs, expand-region, fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors }:
     melpaBuild {
         pname = "boon";
@@ -2809,12 +2830,12 @@
     bui = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bui";
-        version = "1.0";
+        version = "1.0.1";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "bui.el";
-          rev = "c08d91b2d314b52c9ca5c2d5be7a7b2367b68162";
-          sha256 = "104q089cyy0m0hkdnvblss884npc4bv5xf03qr35x3s3573lxh4a";
+          rev = "70ea295ec04cb34e383dc7d62927452410876999";
+          sha256 = "1whpln3zibqxnszvrm9chsaaxxxfb0kg3vvfy6j4drrjy5ah2vky";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38b7c9345de75a707b4a73e8bb8e2f213e4fd739/recipes/bui";
@@ -3313,12 +3334,12 @@
     cfengine-code-style = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cfengine-code-style";
-        version = "3.9.1";
+        version = "3.10.0";
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "843fb337d8fe849860ca2f2aeb55c7f549f75a52";
-          sha256 = "0mw7xif23949d2hg4pgg2b1sj4afjc19522zqk4dmv2cz7qdmqi2";
+          rev = "dc823da05d6790e9f95e3cb75618b51d6273e303";
+          sha256 = "0xfdlzdcccz80qp3jbzv7wr1kwkh8797j9d3lfkh8apl4wkgvwpq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -3520,6 +3541,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    choice-program = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "choice-program";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "plandes";
+          repo = "choice-program";
+          rev = "154c12ed7e2afc2d5dae031698be4787d7d647b0";
+          sha256 = "1695pmz0j93pz3pkcyqk0ngajcf8cyzxihmpp2zfspya3ihxj4ia";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/894357125db5035999a39514516852d7e957453e/recipes/choice-program";
+          sha256 = "0hhp6qhrshqrw4978xq6biwddm7gv7yf4avbb64xvz66i3a2kgy1";
+          name = "choice-program";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/choice-program";
+          license = lib.licenses.free;
+        };
+      }) {};
     cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }:
     melpaBuild {
         pname = "cider";
@@ -3828,12 +3870,12 @@
     clojure-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-mode";
-        version = "5.6.0";
+        version = "5.6.1";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "2ee4ca6c3a156afac4565ef250b6a3b99e0e8d3d";
-          sha256 = "1n77d6mn2z7v6w52kx6y4d6sqpbx21mnx0s37kkj0zwwj3b9rk2y";
+          rev = "fdbdfb91e0a5731bf9a739b70c5f217c5d12ae6d";
+          sha256 = "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode";
@@ -3849,12 +3891,12 @@
     clojure-mode-extra-font-locking = callPackage ({ clojure-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-mode-extra-font-locking";
-        version = "5.6.0";
+        version = "5.6.1";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "2ee4ca6c3a156afac4565ef250b6a3b99e0e8d3d";
-          sha256 = "1n77d6mn2z7v6w52kx6y4d6sqpbx21mnx0s37kkj0zwwj3b9rk2y";
+          rev = "fdbdfb91e0a5731bf9a739b70c5f217c5d12ae6d";
+          sha256 = "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode-extra-font-locking";
@@ -3912,12 +3954,12 @@
     closql = callPackage ({ emacs, emacsql-sqlite, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "closql";
-        version = "0.3.2";
+        version = "0.3.3";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "closql";
-          rev = "5e9d64288863d6d33fac73ccf356427215daa9fb";
-          sha256 = "0snhwix51bfs6gsg2knklkg791k2mvn3ydyk388k3k9xmn5sr7xj";
+          rev = "0bb0fa3dd1e545cbf025d42e253ddb00107156a3";
+          sha256 = "1mpycmj88gi62rhzxdv4933l318j3llphbc00b7rvzms55sgpcz5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/closql";
@@ -3933,12 +3975,12 @@
     clues-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clues-theme";
-        version = "1.0.0";
+        version = "1.0.1";
         src = fetchFromGitHub {
           owner = "jasonm23";
           repo = "emacs-clues-theme";
-          rev = "16c05f6dbe7125358f8456110f237d68263e987a";
-          sha256 = "1lxd6wgg0d7nwg0rsj5fz0c3wwap567vwd7bfa2xj22z0b6cn49c";
+          rev = "abd61f2b7f3e98de58ca26e6d1230e70c6406cc7";
+          sha256 = "118k5bnlk9sc2n04saaxjncmc1a4m1wlf2y7xyklpffkazbd0m72";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bf43125306df445ac829c2edb98dd608bc1407de/recipes/clues-theme";
@@ -4416,12 +4458,12 @@
     company-emoji = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-emoji";
-        version = "2.4.1";
+        version = "2.5.0";
         src = fetchFromGitHub {
           owner = "dunn";
           repo = "company-emoji";
-          rev = "b971ab0a66126f0d1410254ba1e21f17c2270101";
-          sha256 = "1c9r1j7xpq6c27y6akfarrcg87idww3c10rkhm26m1vprqk73vr3";
+          rev = "8dc88ffe0773ef44321f245d39430c14a1bc2b82";
+          sha256 = "1y8l9wnc13g79znyw2qsbm33da2bhkj270ppikkg9h4x2qpmxilq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5733dccdffe97911a30352fbcda2900c33d79810/recipes/company-emoji";
@@ -4563,12 +4605,12 @@
     company-ngram = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-ngram";
-        version = "0.7.8";
+        version = "0.7.9";
         src = fetchFromGitHub {
           owner = "kshramt";
           repo = "company-ngram";
-          rev = "1d43d7df4c5d7a58e1176c7c57a8dce60dba2e8a";
-          sha256 = "1isfyzjik8a5fr8sfy7462hpv5zh5bgbm8zc7d0lk50ggrazz7l5";
+          rev = "98491c830d0867c211b773818610ace51f243640";
+          sha256 = "196c870n7d46n4yhppq5np8mn9i0i74aykkbfk33kr4mgilss4cw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/937e6a23782450525c4a90392c414173481e101b/recipes/company-ngram";
@@ -4605,12 +4647,12 @@
     company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-php";
-        version = "1.7.5";
+        version = "1.7.6";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "f66d13c98543032d2773c83441f49d4b6e109e97";
-          sha256 = "0zi16x56jmas70srphd07ycxfdw4ny1y8vsdcvfvmgvg1mgys8f6";
+          rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a";
+          sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -4926,12 +4968,12 @@
     copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "copy-as-format";
-        version = "0.0.1";
+        version = "0.0.2";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "copy-as-format";
-          rev = "e3e130a34d70deaa1ff81fe1e3b3898c1121c107";
-          sha256 = "1llkzvbw7ci4x20pqaacri82qplsfzxb20xw7v373i5jc83wjv9z";
+          rev = "6c47295597c69b3b08dd8f137f6a5973a5588674";
+          sha256 = "1d4x8rvmzqi3cby01ahgr3fqcsq4kpd6sglr9slxcw7hp7rlih0i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -5154,22 +5196,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    creamsody-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    creamsody-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "creamsody-theme";
-        version = "0.1.3";
+        version = "0.3.4";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-creamsody";
-          rev = "41164f285735383848aba1bfef4282bca4e9a8e8";
-          sha256 = "0inql6g8f1nhx0k781ahm26fjpmpqq1cm3i7bf64ib9g5izjf91d";
+          rev = "c1b2de723d1047ffa199a2cfb14131218962a07d";
+          sha256 = "0kncywrxpb8yn8i0wqspx9igljzlv57zc9r32s1mwgqfz0p2z823";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/488f95b9e425726d641120130d894babcc3b3e85/recipes/creamsody-theme";
           sha256 = "0l3mq43bszxrz0bxmxb76drp4c8721cw8akgk3l5a800wqbfp2l7";
           name = "creamsody-theme";
         };
-        packageRequires = [];
+        packageRequires = [ autothemer ];
         meta = {
           homepage = "https://melpa.org/#/creamsody-theme";
           license = lib.licenses.free;
@@ -5533,12 +5575,12 @@
     darktooth-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darktooth-theme";
-        version = "0.1.60";
+        version = "0.2.100";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-darktooth";
-          rev = "1a5d0dc5ae9c57bcb07085ded6fa82c3512ff80f";
-          sha256 = "0hz3hhkyg6m2wvffanpclc2wq7y8n63sgz726kg87iqgq2lfa096";
+          rev = "380fdcff12f44faf099bc5a38984d88784b495a2";
+          sha256 = "1pragypiv59rrvq2xjzmldkf1v007viwwcvr3f5iyv31n0bmd0cn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
@@ -5554,12 +5596,12 @@
     dart-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "dart-mode";
-        version = "0.14";
+        version = "0.15";
         src = fetchFromGitHub {
           owner = "nex3";
           repo = "dart-mode";
-          rev = "07edf4d4448ede128d13c27bd76cf06f5ef5bb3b";
-          sha256 = "1vkn95dyc0pppnflyqlrlx32g9zc7wdcgc9fgf1hgvqp313ydfcs";
+          rev = "e6635b390235cf16a8081763768cf925ca2d9133";
+          sha256 = "1cwwwxmv7d1blv88c6nlm0z94gjfdgw2ri1libzyfzirincyicdx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7d9cb763cb8e929d9442be8d06e9af02de90714a/recipes/dart-mode";
@@ -5625,8 +5667,8 @@
           sha256 = "1klmjdym4w3cbarabzvkxddjdcisfk62wkpys3z4nclp4g91p8as";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/b047625aebdbf7b5d644b55afbdccfc6c4ac14a8/recipes/dashboard";
-          sha256 = "04lp8ylfnbdj65s8z0m5kyj4rwxcsdwinlkpj00j1my0m74y5i0p";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e9a79341ccaa82a8c065e71c02fe6aee22007c66/recipes/dashboard";
+          sha256 = "08pdpjfrg8v80gljy146cwpz624dshhbz8843zl1zszwp2p00kqy";
           name = "dashboard";
         };
         packageRequires = [ emacs page-break-lines ];
@@ -5698,6 +5740,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    debpaste = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, xml-rpc }:
+    melpaBuild {
+        pname = "debpaste";
+        version = "0.1.5";
+        src = fetchFromGitHub {
+          owner = "alezost";
+          repo = "debpaste.el";
+          rev = "6f2a400665062468ebd03a2ce1de2a73d9084958";
+          sha256 = "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/13098bae76a3386689a9bf9c12f25b9a9b15145c/recipes/debpaste";
+          sha256 = "1vgirfy4vdqkhllnnmcplhwmzqqwca3la5jfvvansykqriwbq9lw";
+          name = "debpaste";
+        };
+        packageRequires = [ xml-rpc ];
+        meta = {
+          homepage = "https://melpa.org/#/debpaste";
+          license = lib.licenses.free;
+        };
+      }) {};
     decide = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "decide";
@@ -6774,35 +6837,14 @@
           license = lib.licenses.free;
         };
       }) {};
-    dummy-h-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "dummy-h-mode";
-        version = "1.0.1";
-        src = fetchFromGitHub {
-          owner = "yascentur";
-          repo = "dummy-h-mode-el";
-          rev = "27ad0991abb53e65d0402ef6c378075e4be0ed2d";
-          sha256 = "033yqc19xxirbva65lz8hnwxj7pn7fx7dlnf70kq71iqclqa4v25";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/dummy-h-mode";
-          sha256 = "10lzfzq7md6s28w2zzlhswn3d6765g4vqzyjn2q5ms8pd2i4b4in";
-          name = "dummy-h-mode";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/dummy-h-mode";
-          license = lib.licenses.free;
-        };
-      }) {};
     dyalog-mode = callPackage ({ cl-lib ? null, fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dyalog-mode";
         version = "0.7";
         src = fetchhg {
           url = "https://bitbucket.com/harsman/dyalog-mode";
-          rev = "befb5c650dfd";
-          sha256 = "154bm7l1ra3l9lj9l1x21qi7f57k46kg24hyalrbawjw3q8c5np2";
+          rev = "4004050a9771";
+          sha256 = "0p7g7sfkdr473gpj2xdgg5fb5d336w2ddvx44i1d6575p6rcs5w6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/dyalog-mode";
@@ -7196,12 +7238,12 @@
     ede-php-autoload = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ede-php-autoload";
-        version = "0.4.2";
+        version = "0.4.3";
         src = fetchFromGitHub {
           owner = "stevenremot";
           repo = "ede-php-autoload";
-          rev = "c748354c6398aa7e5d3f00ee4c5422f4eca09a91";
-          sha256 = "1imr45s2a1lilqfgfccgxasqlmh1nkc1ivf5iq01w31wik2hii0z";
+          rev = "c6896c648fbc90f4d083f511353d6b165836d0e8";
+          sha256 = "0dfx0qiyd23jhxi0y1n4s1pk9906b91qnp25xbyiqdacs54l6d8a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ee9f7fd9cbc3397cd9af34b08b75c3d9d8bc551/recipes/ede-php-autoload";
@@ -7385,12 +7427,12 @@
     egison-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "egison-mode";
-        version = "3.6.3";
+        version = "3.6.4";
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "4cf38946096c185ac794d594a791da23675297aa";
-          sha256 = "0k6qh99jbzirgsa3qkhcxsivncbvk5wr4yag2s9c2y9akipxivrq";
+          rev = "62c99118f32dd23a088e2d9c0d6b7b755206cac6";
+          sha256 = "1f0s9pvns4gq6xzp4vp74xxxbmzp06vdv0jgh0x1xy0mfklgll8x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -7887,12 +7929,12 @@
     elpa-clone = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elpa-clone";
-        version = "0.0.3";
+        version = "0.0.4";
         src = fetchFromGitHub {
           owner = "dochang";
           repo = "elpa-clone";
-          rev = "77e45f3ac7de504ff65e17dfd52bfde7bdfc78f2";
-          sha256 = "09q54j0n52493smhdrngn2isnifvy0x3s6vlicllkm8qykr06z9v";
+          rev = "8d0827b03b08eb4844e2b8465c27d5aa0e12101d";
+          sha256 = "1ik2k6ngzg3znfp4a36f7m5ca6p3iivfb7w280w3gm5x1ja8as2a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/11861edd9c7f9deebd44fd1f8ef648e7a04caf2b/recipes/elpa-clone";
@@ -8644,12 +8686,12 @@
     epkg = callPackage ({ closql, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "epkg";
-        version = "2.0.0";
+        version = "2.1.0";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "epkg";
-          rev = "de33177656d8f48b65abbb71ab4d25b7bd799dee";
-          sha256 = "0lhb8b4i8r8a6pagwa0p3iqb1bk25as4nd4pjwbdjn0800ncv9nh";
+          rev = "6e1d989fbfa357a7c268ea30fe8b3e3cefafc36d";
+          sha256 = "0avlmqcbm07692ir5z04gy4klhyan3h25ni4l4k4p0dszjsqmdi0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/epkg";
@@ -8704,22 +8746,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    erc-crypt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    erc-crypt = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erc-crypt";
-        version = "1.0";
+        version = "1.6";
         src = fetchFromGitHub {
           owner = "atomontage";
           repo = "erc-crypt";
-          rev = "1573189240d8b58e65385414d9a9514238c77805";
-          sha256 = "1xw56sir6gkr0p9g4s6p4qc0rajnl6ifbzrky07j28y9vsa59nsz";
+          rev = "731f9264a5bf08a8fc0b5ce69e72058c86f873a5";
+          sha256 = "13jpq5ws5dm8fyjrskk4icxwz8k5wgh396cc8f8wxrjna4wb843w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a71b46c0370d2ed25aa3f39983048a04576ad5/recipes/erc-crypt";
           sha256 = "1mzzqcxjnll4d9r9n5z80zfb3ywkd8jx6b49g02vwf1iak9h7hv3";
           name = "erc-crypt";
         };
-        packageRequires = [];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://melpa.org/#/erc-crypt";
           license = lib.licenses.free;
@@ -8874,12 +8916,12 @@
     erlang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "19.1.6";
+        version = "19.2";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "2b41d8f318b7e5ec139d42fd2f01a132699be839";
-          sha256 = "120dqi8h2fwqfmh9g2nmkf153zlglzw9kkddz57xqvqq5arcs72y";
+          rev = "3473ecd83a7bbe7e0bebb865f25dddb93e3bf10f";
+          sha256 = "06pr4ydrqpp1skx85zjb1an4kvzv6vacb771vy71k54j7w6lh9hk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -9314,12 +9356,12 @@
     eval-in-repl = callPackage ({ ace-window, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, paredit }:
     melpaBuild {
         pname = "eval-in-repl";
-        version = "0.9.2";
+        version = "0.9.4";
         src = fetchFromGitHub {
           owner = "kaz-yos";
           repo = "eval-in-repl";
-          rev = "2b5d1bee767de4f21b14cefd7ce310f862226bd7";
-          sha256 = "077rj7yj6laxyhcsmrmlpg438962jv0fm2yiqx6i365fbgyx0hck";
+          rev = "674873139ebde439fbeecaf0fb217d54f470bc14";
+          sha256 = "1fzsq6fkkrsxg6mimrnls0kn59rq7w332b94gg04j0khl61s1v1s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0bee5fb7a7874dd20babd1de7f216c5bda3e0115/recipes/eval-in-repl";
@@ -10111,12 +10153,12 @@
     eyebrowse = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eyebrowse";
-        version = "0.7.2";
+        version = "0.7.4";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "eyebrowse";
-          rev = "a009536514409fdf0a1745504a7d7e0e376cc2c9";
-          sha256 = "0kw13w3q1q4gb3ql728bk9m0rymkp21rrjmy4hyx8im84xh093ls";
+          rev = "e7c3de9c8b3197f3a310d8d9259761fc70dfa3ef";
+          sha256 = "0d2vc50m2wr6f0fd04xm3bzca25im3ka57y7lg6p0bn5fp6a62vl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/90d052bfc0b94cf177e33b2ffc01a45d254fc1b1/recipes/eyebrowse";
@@ -10489,12 +10531,12 @@
     firestarter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "firestarter";
-        version = "0.2.4";
+        version = "0.2.5";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "firestarter";
-          rev = "4b7428477980e12578ebbbb121115696b352d6b2";
-          sha256 = "0s8rml5xbskvnjpi8qp7vqflxhh5yis6zr6ay2bxmd2chjlhli55";
+          rev = "4d6b106f325ac1802eabce3c8a7cd0a4c7a32864";
+          sha256 = "13daz15v0sshl7lxcg1xcbpl64gklgh50pzk0qxmn5ygw7nlifn0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b046eb3b63220b937e1b70f633cb5424dc782a1/recipes/firestarter";
@@ -10955,6 +10997,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-objc-clang = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-objc-clang";
+        version = "1.0.6";
+        src = fetchFromGitHub {
+          owner = "GyazSquare";
+          repo = "flycheck-objc-clang";
+          rev = "11805f1d420e297db0346a6657f144b08e2ca556";
+          sha256 = "1s9bk3k7ys79m2iww4yf1abfy01d08z9x9pfq8l045q0snsh64il";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang";
+          sha256 = "07mzwd04a69d7xpkjmhfmf95j69h6accnf9bb9br7jb1hi9vdalp";
+          name = "flycheck-objc-clang";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-objc-clang";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, merlin }:
     melpaBuild {
         pname = "flycheck-ocaml";
@@ -11102,6 +11165,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-swift3 = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-swift3";
+        version = "1.0.8";
+        src = fetchFromGitHub {
+          owner = "GyazSquare";
+          repo = "flycheck-swift3";
+          rev = "ae7b29111cb160774c317997902d7ef29cedd7d9";
+          sha256 = "17s34rqxkirb88y8jzl3ybs7j3ylp9ckdfx3sqwfn0cyspnj5f1d";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3";
+          sha256 = "05yfrn42svcvdkr8mx16ii8llhzn33lxdawksjqiqg671s6fgdpa";
+          name = "flycheck-swift3";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-swift3";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-tip = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "flycheck-tip";
@@ -11753,22 +11837,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    fontawesome = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
+    fontawesome = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "fontawesome";
-        version = "0.3";
+        version = "0.4";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-fontawesome";
-          rev = "ccb03b8329daa3130491c9c4d285b325dbeb5cc7";
-          sha256 = "0qq13jhn9i2ls6n3fbay4i2r0hfs426pkmmif43b87gjxb510irc";
+          rev = "72b4f2f83c7fdacd225aee58f93acefc53166626";
+          sha256 = "1icwjd1rbyr1g8ifyhvpi21wjff2qrddq2rmp5lmiajnwrlfli0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/93b92f10802ceffc353db3d220dccfd47ea7fa41/recipes/fontawesome";
           sha256 = "07hn4s929xklc74j8s6pd61rxmxw3911dq47wql77vb5pijv6dr3";
           name = "fontawesome";
         };
-        packageRequires = [ cl-lib helm-core ];
+        packageRequires = [ emacs helm-core ];
         meta = {
           homepage = "https://melpa.org/#/fontawesome";
           license = lib.licenses.free;
@@ -11777,12 +11861,12 @@
     forecast = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "forecast";
-        version = "0.4.1";
+        version = "0.5.0";
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "forecast.el";
-          rev = "ff307fd24c64577d204d0c1b7b245f190f70bd61";
-          sha256 = "1x4l24cbgc4apv9cfzf6phmj5pm32hfdgv37wpbh7ml8v3p8xm0w";
+          rev = "8fdd0d4532b81e4bfe114fad548aeb049cd512cf";
+          sha256 = "0ia4k7jxx35g0kdm9z75i3sr1h91nh8fkhbllxpd9za29dw5fs7c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e6ff6a4ee29b96bccb2e4bc0644f2bd2e51971ee/recipes/forecast";
@@ -12662,22 +12746,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    git-messenger = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
+    git-messenger = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "git-messenger";
-        version = "0.17";
+        version = "0.18";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-git-messenger";
-          rev = "9412a975f4723e9bc9c9feb4ec064b2e8c0c659d";
-          sha256 = "1hh99ippc1bpqpnchvhbh7yzcsjx9v7bbpy5r9hx82kx0xqih0sc";
+          rev = "9297464c010dd8a2d584ac8e012876856655a8b5";
+          sha256 = "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e791293133f30e5d96c4b29e972f9016c06c476d/recipes/git-messenger";
           sha256 = "1rnqsv389why13cy6462vyq12qc2zk58p01m3hsazp1gpfw2hfzn";
           name = "git-messenger";
         };
-        packageRequires = [ cl-lib popup ];
+        packageRequires = [ emacs popup ];
         meta = {
           homepage = "https://melpa.org/#/git-messenger";
           license = lib.licenses.free;
@@ -13274,12 +13358,12 @@
     go-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, gotest, lib, melpaBuild }:
     melpaBuild {
         pname = "go-playground";
-        version = "1.0";
+        version = "1.2";
         src = fetchFromGitHub {
           owner = "grafov";
           repo = "go-playground";
-          rev = "2e1497517d13d813768b3f8e25bb3cce7a449acd";
-          sha256 = "08ka2wlwq5v13ni8n5zd5vp4iynwcirsqdw0an20gqg0hrcvs1ba";
+          rev = "97be0b3a19d7b8476663c9b16148c4dfd9783cfe";
+          sha256 = "0wz79iwcfql8kfq5q9b0fccj9590giqlzd2kzjaj0fl89n0sx9gq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/900aabb7bc2350698f8740d72a5fad69c9219c33/recipes/go-playground";
@@ -13505,12 +13589,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "0.12.0";
+        version = "0.12.1";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "ab40ac7324b5d45b8f1677d87ec0d26349448d41";
-          sha256 = "0rb55f4yx8wpqs93xy80wn6k8pyrhj8zh3q5lbi78afgscjrgjlr";
+          rev = "6103db21b38cbdfda3100fed08b988fc2d83aa1a";
+          sha256 = "0hlqrqi1s94cr828qyfbr95np5xwr3bn98l4gv59rnqa1vmx49gy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -13910,22 +13994,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    gruvbox-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    gruvbox-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gruvbox-theme";
-        version = "0.17";
+        version = "1.12.0";
         src = fetchFromGitHub {
           owner = "Greduan";
           repo = "emacs-theme-gruvbox";
-          rev = "89b060abf49791cad2639f234b230dc4882bdc39";
-          sha256 = "0bhg2za2a67r6hkb0628zvzxx65rcj7cm3kq3m44wls8q8cr2jxj";
+          rev = "e57f494fd94e49321a6396f530b8a13bae8b57df";
+          sha256 = "16f9vszl0f1dkjvqk5hxi570gf4l8p6fk27p0d7j11grsck0yzly";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme";
           sha256 = "042mnwlmixygk2mf24ygk7rkv1rfavc5a36hs9x8b68jnf3khj32";
           name = "gruvbox-theme";
         };
-        packageRequires = [];
+        packageRequires = [ autothemer ];
         meta = {
           homepage = "https://melpa.org/#/gruvbox-theme";
           license = lib.licenses.free;
@@ -14350,22 +14434,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    hcl-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    hcl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hcl-mode";
-        version = "0.2";
+        version = "0.3";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-hcl-mode";
-          rev = "cc13180e3af748d53c4a1d433ce2edf99bf68a7d";
-          sha256 = "0hiw226gv73jh7s3jg4p1c15p4km4rs7i9ab4wgpkl5lg4vrz5i6";
+          rev = "6a6daf37522188a2f2fcdebc60949fc3bdabbc06";
+          sha256 = "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66b441525dc300b364d9be0358ae1e0fa2a8b4fe/recipes/hcl-mode";
           sha256 = "1wrs9kj6ahsdnbn3fdaqhclq1ia6w4x726hjvl6pyk01sb0spnin";
           name = "hcl-mode";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/hcl-mode";
           license = lib.licenses.free;
@@ -14374,12 +14458,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "2.3.3";
+        version = "2.3.4";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "2fca3400574e5f2666c942c674ce0f8e6ca6b232";
-          sha256 = "1qbvgp2pca0n5ahpc1gss8ldn07mgs96xxgb5dg62b08ch8ry2jf";
+          rev = "26415fdb3ebc66fa721b94aa1eaeba1693eae624";
+          sha256 = "12jy8448gj8a1mw2njzxyvrrc2q059xrq65my1zqx1k1lcrknhp8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -14626,12 +14710,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "2.3.3";
+        version = "2.3.4";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "2fca3400574e5f2666c942c674ce0f8e6ca6b232";
-          sha256 = "1qbvgp2pca0n5ahpc1gss8ldn07mgs96xxgb5dg62b08ch8ry2jf";
+          rev = "26415fdb3ebc66fa721b94aa1eaeba1693eae624";
+          sha256 = "12jy8448gj8a1mw2njzxyvrrc2q059xrq65my1zqx1k1lcrknhp8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -16201,12 +16285,12 @@
     htmlize = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "htmlize";
-        version = "1.50";
+        version = "1.51";
         src = fetchFromGitHub {
           owner = "hniksic";
           repo = "emacs-htmlize";
-          rev = "f74ea313ad364ffd648e330b2e6ddabb89f6e797";
-          sha256 = "16jxd5nfpqlg46zzp0yvvn5aynprd5xv655fcql8cvxkkg111d5z";
+          rev = "88e2cb6588827893d7bc619529393887c264d15a";
+          sha256 = "09xpv8dsc39a7w9s6xnilc5kh1krs2jw8cklizxzz4gp36hrsj2n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/075aa00a0757c6cd1ad392f0300bf5f1b937648d/recipes/htmlize";
@@ -18064,27 +18148,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    judge-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "judge-indent";
-        version = "1.1.2";
-        src = fetchFromGitHub {
-          owner = "yascentur";
-          repo = "judge-indent-el";
-          rev = "4cf8c8d3375f4d655b909a415cc4fa8d235a657a";
-          sha256 = "11wybxrl2lny6vbf7qrxyf9wxw88ppvbrlfcd65paalrna2hn46h";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/73fb2c31f6af63145aae7c449bfde1bbb00e1100/recipes/judge-indent";
-          sha256 = "1gakdhnlxfq8knnykqdw4bizb5y67m8xhi07zannd7bsfwi4k6rh";
-          name = "judge-indent";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/judge-indent";
-          license = lib.licenses.free;
-        };
-      }) {};
     jump = callPackage ({ fetchFromGitHub, fetchurl, findr, inflections, lib, melpaBuild }:
     melpaBuild {
         pname = "jump";
@@ -18361,12 +18424,12 @@
     keymap-utils = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "keymap-utils";
-        version = "2.0.0";
+        version = "2.1.0";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "keymap-utils";
-          rev = "14c86914b708081299cf6a290570ff8e11853cab";
-          sha256 = "15zsx296cqzmwivrkkknr8lmdsr6dkggxbwp2yggr20278vsvbhv";
+          rev = "a4f6ff724eeade5612c01c6f6bf401f264687793";
+          sha256 = "0jgmw8798g3ikhwnic3fbbjld0hj8fvg50q6x78pngf78ws92mkl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03acebf1462dea36c81d4b9ab41e2e5739be3c3/recipes/keymap-utils";
@@ -19376,12 +19439,12 @@
     magic-filetype = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "magic-filetype";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchFromGitHub {
           owner = "zonuexe";
           repo = "magic-filetype.el";
-          rev = "9a2f069e9b3dfff8e9a5fe3cbd4bc8abe1dc86a0";
-          sha256 = "1dzrj4xyrr5d9kisq8khzr2yvrhwff0l676g237sc3v4hg3ch8sr";
+          rev = "0dfe3d9e0e22c7b06e34c8338f110e337306e3fd";
+          sha256 = "1yjn2w0ykczhlj4q3dnfw2z4q66201dn3jz31yw7hh8bxjlsvwfh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0d6027c5a66386f7140305a4cde12d66da4dfa09/recipes/magic-filetype";
@@ -20076,12 +20139,12 @@
     mb-url = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mb-url";
-        version = "0.0.9";
+        version = "0.1.0";
         src = fetchFromGitHub {
           owner = "dochang";
           repo = "mb-url";
-          rev = "178b03d2cbc31e889c095a6c25426c297e5fe6fc";
-          sha256 = "0y22bn4zvyw2qivjrvwkhx96mwvfpx74901r0m4l31nvyh559aq0";
+          rev = "129a0bb6a684be76fb9f09010e710065d0e5baaa";
+          sha256 = "1apy7abjhdbgh8001rzv41q40bfl444rcz62lvgdwj3lg45zb8xc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dd9a8ff6e094b061a7b9d790df1fd4086c5d0a9d/recipes/mb-url";
@@ -20199,22 +20262,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    mentor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, xml-rpc }:
+    mentor = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, seq, xml-rpc }:
     melpaBuild {
         pname = "mentor";
-        version = "0.1.1";
+        version = "0.3";
         src = fetchFromGitHub {
           owner = "skangas";
           repo = "mentor";
-          rev = "f53dac51a29f67e31f1fb82702b19d158cc6fa22";
-          sha256 = "0qqapsp4gpkrj3faii7qbfssddl3vqfmwqcy259s7f896kzwaaky";
+          rev = "074bd57a1e19d7807d682552fee63f326d1ad05c";
+          sha256 = "1p2wlwl8771w8m0i8f6qx11n1f13kkf681v0v4zcd161jgmklp5q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/083de4bd25b6b013a31b9d5ecdffad139a4ba91e/recipes/mentor";
           sha256 = "0nkf7f90m2qf11l97zwvb114yrpbqk1xxr2bh2nvbx8m1c8nad9s";
           name = "mentor";
         };
-        packageRequires = [ xml-rpc ];
+        packageRequires = [ cl-lib seq xml-rpc ];
         meta = {
           homepage = "https://melpa.org/#/mentor";
           license = lib.licenses.free;
@@ -20726,12 +20789,12 @@
     monokai-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "monokai-theme";
-        version = "3.2.0";
+        version = "3.2.1";
         src = fetchFromGitHub {
           owner = "oneKelvinSmith";
           repo = "monokai-emacs";
-          rev = "47afc7419ddd26462ad6e66e122b244c334da0b9";
-          sha256 = "1bkfqlfag62mixd933d1ryvnbaq3ny2bgbqbagqbrgprl7558577";
+          rev = "fc5822fcb11c3c6af67b5fb152f92c3e6e3c49d3";
+          sha256 = "0r81jdwfmgzivfpkxqr425qajgw3dzzs8y2v5lsiwl1d5z8rz52a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bc9ce95a02fc4bcf7bc7547849c1c15d6db5089/recipes/monokai-theme";
@@ -20957,12 +21020,12 @@
     msvc = callPackage ({ ac-clang, cedet ? null, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "msvc";
-        version = "1.2.2";
+        version = "1.3.0";
         src = fetchFromGitHub {
           owner = "yaruopooner";
           repo = "msvc";
-          rev = "e7a61fa5b98a129637f970ac6db9163e330b3d02";
-          sha256 = "1draiwbwb8zfi6rdr5irv8091xv2pmnifq7pzi3rrvjb8swb28z3";
+          rev = "71c38323187c98b32250b89088768599bb216ddb";
+          sha256 = "1wwa861a8bnrqv59bx6l5k3qi98wqv6cicvg5gjyx8rdvpcq28dg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc";
@@ -21272,12 +21335,12 @@
     nasm-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nasm-mode";
-        version = "1.1.0";
+        version = "1.1.1";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "nasm-mode";
-          rev = "c3f5475c2f4bd930411b6d716765d094b36ce219";
-          sha256 = "0d8bfz41ry5bvkz2894dqkk3244n7xcjk3pf58fcsagvmmkkln7b";
+          rev = "d990ed94d902b74a5c834fb567e03307607cee45";
+          sha256 = "1dyc50a1zskx9fqxl2iy2x74f3bkb2ccz908v0aj13rqfqqnns9j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a832b3bd7c2f2d3cee8bcfb5421d22acf5523e/recipes/nasm-mode";
@@ -21524,12 +21587,12 @@
     nix-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nix-mode";
-        version = "1.11.4";
+        version = "1.11.5";
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix";
-          rev = "fb577a431f5ef1a29fdf3b818dceb4f6b4e8fa52";
-          sha256 = "1vzs5y0ib9bqvcyap7f6v75pf8z0xpdwgq554zxci4dlwp68fp2p";
+          rev = "d39f51fa3472ccc30f1b2896f5538d0b2dbce916";
+          sha256 = "0ms42pmnmzhn0b74s3b441m0nqbckgm64bc00qdlvb1s644j32i6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2b542189cfde5b9b1ebee4625684949b6704ded/recipes/nix-mode";
@@ -21566,12 +21629,12 @@
     no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "no-littering";
-        version = "0.5.0";
+        version = "0.5.2";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "no-littering";
-          rev = "12a4cc1155b938da947cce5b3dff7ffb91f2203c";
-          sha256 = "1x7xmqvmna5h5dg352v6pzm9ijdivaz7wcc2nhnshxc5pywpc1cg";
+          rev = "e7d3ebbd12f176707e63766a7a19bcaa08e01331";
+          sha256 = "0y8wvagn4yf7fwvwzqcrx46wigmvyl25fa94kzvkanjl04zid3i1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf5d2152c91b7c5c38181b551db3287981657ce3/recipes/no-littering";
@@ -21647,11 +21710,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "0.23.3";
+        version = "0.23.4";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "fd7f3d0829725bf9ce209cf597dfb0acd4d59b10";
-          sha256 = "0w1nwr7brgapnzsbp9cjcx30lk90ir5hscllpxzw44sq25ir85g5";
+          rev = "4dde1e677473faa6588909396820f9948e28923f";
+          sha256 = "14675mrlqbp2s5wdj8rs96kz7vdzv3j80d259cybp1ijvncgh1ds";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -21895,6 +21958,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ob-prolog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ob-prolog";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "ljos";
+          repo = "ob-prolog";
+          rev = "7e94309d3a21d7e265f3a85b41801397f286af00";
+          sha256 = "0qxpgnjrx04dl43i949vcwv70sc7i23ivyvfk82hdvl8c2lwfd7w";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fb87868cd74325f0a4a38c5542c264501000951d/recipes/ob-prolog";
+          sha256 = "0ki8yd20yk5xwn0zpk06zjxzgrsf8paydif9n98svb9s2l9wrh1s";
+          name = "ob-prolog";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/ob-prolog";
+          license = lib.licenses.free;
+        };
+      }) {};
     ob-sagemath = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, sage-shell-mode }:
     melpaBuild {
         pname = "ob-sagemath";
@@ -22175,8 +22259,8 @@
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "f956929891e77ba4ce2fb1361129d5d3ebc7bb55";
-          sha256 = "1xds6fqs1l6q9vak3v4xlzl1w084mhz86xrnycibcwm8q3q9hmb3";
+          rev = "e7eaa1202486f996121cc0ef17a8d72b915c8165";
+          sha256 = "1f66k2l996vzf5rm2scyz4bv1cyn365a8yfh1cfq13vrmvah57xb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bdb7e0100e120b95e9416398127d83530a221d/recipes/omnisharp";
@@ -22597,22 +22681,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-jira = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
+    org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "org-jira";
-        version = "2.2.0";
+        version = "2.5.0";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "org-jira";
-          rev = "d2db2827ff030a8c11b52402adcd3a4b3050f3c1";
-          sha256 = "16wzrq2syk03710iklrayf4s9ap4brvlzyd4b0rya0rxy2q2rck7";
+          rev = "6330511011b7fe8ee04300e82f090ce3efd3b100";
+          sha256 = "18kwiwmq95pf8w07xl3vh2xhlkwnv53b4n6h0xq2fqprkh8n6f0l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira";
           sha256 = "0dvh9k0i75jxyy3v01c4cfyws8ij6718hsivi2xyrgig7pwp16ib";
           name = "org-jira";
         };
-        packageRequires = [ cl-lib request ];
+        packageRequires = [ cl-lib emacs request ];
         meta = {
           homepage = "https://melpa.org/#/org-jira";
           license = lib.licenses.free;
@@ -22764,6 +22848,26 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-password-manager = callPackage ({ fetchgit, fetchurl, lib, melpaBuild, org, s }:
+    melpaBuild {
+        pname = "org-password-manager";
+        version = "0.0.1";
+        src = fetchgit {
+          url = "https://git.leafac.com/org-password-manager";
+          rev = "d3a33ddfe583180bdb76cfb8bbd772e0078b24a3";
+          sha256 = "0pqmnhd3qdg06agj6h8v8lm4m5q8px0qmd7a1bfn6i5g2bq9zrck";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/02ef86ffe6923921cc1246e51ad8db87faa00ecb/recipes/org-password-manager";
+          sha256 = "0n07k2nng3zkrcif85f1r2g2l4vha78lmrdnj590axn7l5q5fidm";
+          name = "org-password-manager";
+        };
+        packageRequires = [ org s ];
+        meta = {
+          homepage = "https://melpa.org/#/org-password-manager";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-pdfview = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org, pdf-tools }:
     melpaBuild {
         pname = "org-pdfview";
@@ -23979,12 +24083,12 @@
     parinfer = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "parinfer";
-        version = "0.4.5";
+        version = "0.4.6";
         src = fetchFromGitHub {
           owner = "DogLooksGood";
           repo = "parinfer-mode";
-          rev = "a1a5bce179fe694f07d28a75339bf8e4f5b285db";
-          sha256 = "0m0k4lb79qy61j0n2a9amx6zz36vgxhadlvyjg9kqg9xwlks5yxc";
+          rev = "3d5b8d4a3f7e73f15f816f7555abed09c5516338";
+          sha256 = "1w3j0dzi19h1k94gnj1zxx4s1aji91wq4sjwkf813zs7q769mfsp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/470ab2b5cceef23692523b4668b15a0775a0a5ba/recipes/parinfer";
@@ -24565,12 +24669,12 @@
     phpunit = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, s }:
     melpaBuild {
         pname = "phpunit";
-        version = "0.13.0";
+        version = "0.14.0";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "phpunit.el";
-          rev = "165ca257d4840c266e1e79e806b4b943b5785fe6";
-          sha256 = "1xgjhq1nxj4zfcns0q8a1kdlmqcjrxlblyj9vrspv1qck3akrp3z";
+          rev = "791d1b33b63887cdeaf287fa657b8109f9d1dd18";
+          sha256 = "0j9ym19pz17wsjh1ky65x9mz8aiiryxbw1nsygvy9isbdzjx591k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/phpunit";
@@ -24754,12 +24858,12 @@
     plantuml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "plantuml-mode";
-        version = "1.2.2";
+        version = "1.2.3";
         src = fetchFromGitHub {
           owner = "skuro";
           repo = "plantuml-mode";
-          rev = "87417ad75b215ababf153cba533575ac0273a5db";
-          sha256 = "1jrck9wybpm2p2imjn0x6g3ybasiqkfzxc1halm3rq6xvc4zvrsm";
+          rev = "eb380bac5663ec8e73482db6c6ba9d1394766eb3";
+          sha256 = "19zxwmn5mjbzqgk7l444h57ninrlhi22l85l9zphryx2992plf0k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a658eb8085f2bf413c276af19c77597132cf569b/recipes/plantuml-mode";
@@ -26200,12 +26304,12 @@
     ranger = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ranger";
-        version = "0.9.8.4";
+        version = "0.9.8.5";
         src = fetchFromGitHub {
           owner = "ralesi";
           repo = "ranger.el";
-          rev = "cbde94a417d9d93fcee74de119aae867cbe772d7";
-          sha256 = "0v3y77z8l5lg1ppl4szp9k80wjjnmlyxqjmmakc5l2vkq98gzcpq";
+          rev = "584e4ae8cce1c54a44b40dd4c77fbb2f06d73ecb";
+          sha256 = "01rphv92g1r0cw5bwkbrh02s0na7fjrddxx1dckk2y7qr97s7l8j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0207e754f424823fb48e9c065c3ed9112a0c445b/recipes/ranger";
@@ -26386,6 +26490,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    rebecca-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "rebecca-theme";
+        version = "1.2.1";
+        src = fetchFromGitHub {
+          owner = "vic";
+          repo = "rebecca-theme";
+          rev = "239115183e0a354ccd5c2cb299893b558fbde05c";
+          sha256 = "0n6xf9s39frnyvchk40zzxbkn0hyga5ridkxbf50n7hr5j19yrmb";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/19f40f30113c7dabd76a2d0e52898e6d6be69a35/recipes/rebecca-theme";
+          sha256 = "1m72jqyqx18i1vpj07v3vkbi0di9dks5sz46wb2h0f23xqyx00md";
+          name = "rebecca-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/rebecca-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     recover-buffers = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "recover-buffers";
@@ -27082,12 +27207,12 @@
     rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtags";
-        version = "2.7";
+        version = "2.8";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "8b6d0cdf57c951769ead8aad1d8538308e1b6861";
-          sha256 = "07qjpvkhv556p3pfm1hxswky4irp7f4wxb2blcvk3s7qmqirqshj";
+          rev = "6ac7740eaf05cdd9b699185f71cc2d1f634a761b";
+          sha256 = "1w506qaklrly1lnq1i5kshl8m9aki8h2ba1y7h578gwx6lph3vhi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac3b84fe84a7f57d09f1a303d8947ef19aaf02fb/recipes/rtags";
@@ -27268,6 +27393,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    rust-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }:
+    melpaBuild {
+        pname = "rust-playground";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "grafov";
+          repo = "rust-playground";
+          rev = "6a23f8956bce1deaa38f52c01f5571c5cff77445";
+          sha256 = "1aqcpmzzww4fd63l65rfyj0f8skdqh7j1vznwqnj71x65xlda0ys";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a5ebbcca659bb6d79ca37dc347894fac7bafd9dd/recipes/rust-playground";
+          sha256 = "1w29plj06ld3iq8xhjnfh8hphcp7aji15y1xqp8bb9m1k07wza7l";
+          name = "rust-playground";
+        };
+        packageRequires = [ emacs rust-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/rust-playground";
+          license = lib.licenses.free;
+        };
+      }) {};
     rvm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rvm";
@@ -27331,22 +27477,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "sage-shell-mode";
-        version = "0.2.1";
+        version = "0.3";
         src = fetchFromGitHub {
           owner = "sagemath";
           repo = "sage-shell-mode";
-          rev = "2cfc3b712796d1ed22e9c8a39d24e11316aab065";
-          sha256 = "14wcnv78dwkxaq4g45kw0p34y5c5snscix0ar22bbryclqr929qy";
+          rev = "e8bc089e8dfd76f688160e2ac77aee985afeade7";
+          sha256 = "166plwg9ggivr3im0yfxw8k6m9ral37jzznnb06kb6g0zycb4aps";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eb875c50c2f97919fd0027869c5d9970e1eaf373/recipes/sage-shell-mode";
           sha256 = "0ivqiigmp9cf88j4xapzanjpbx692r70wb4i25mnppqsi3jlwxdv";
           name = "sage-shell-mode";
         };
-        packageRequires = [ cl-lib deferred emacs ];
+        packageRequires = [ cl-lib deferred emacs let-alist ];
         meta = {
           homepage = "https://melpa.org/#/sage-shell-mode";
           license = lib.licenses.free;
@@ -27443,8 +27589,8 @@
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-scala-mode";
-          rev = "4b492b9fa5f97521426f50c8dcfb6c0a251840ea";
-          sha256 = "01d907ph36yzfxgchqvk102ld1mvlb84sjxhmmq5xrzj4zbb0khm";
+          rev = "9b8db623b13fcb0aad9271d1fae73e1257dda13c";
+          sha256 = "0q41dqlhp0cds16inmh7jrvhqrnjsdiv2in6pq3f0srhwms81ff3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode";
@@ -28211,22 +28357,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sl = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sl";
-        version = "0.1.1";
+        version = "0.2";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "sl.el";
-          rev = "76a8eae2b3fc449ed81b2a577c53939434851635";
-          sha256 = "1nkgqva4l4nwpixavky8gm38371z7mrkpqdkgrya4j5mrx4kiw86";
+          rev = "51d92f820f3e93776fff6cdb9690458816888bdc";
+          sha256 = "1faklr7jz1s6hs1xrzhvddlibhbjbqwxsb8iz6i5c8dg9sj3hw45";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7188a93d33e38f360930b5090c6ef872116f8a7c/recipes/sl";
           sha256 = "0h90ajikr6kclsy73vs9f50jg8z3d6kqbpanm9ryh2pw3sd4rnii";
           name = "sl";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://melpa.org/#/sl";
           license = lib.licenses.free;
@@ -28319,12 +28465,12 @@
     slime-company = callPackage ({ company, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }:
     melpaBuild {
         pname = "slime-company";
-        version = "0.9.1";
+        version = "1.1";
         src = fetchFromGitHub {
           owner = "anwyn";
           repo = "slime-company";
-          rev = "b4a770b1c1e9638f13e339e7debbdb3b25217e39";
-          sha256 = "0rdhd6kymbzhkc96dxy3nr21ajrkc7iy6zvq1va22r90f96jj9x4";
+          rev = "6c244690c80387a32b0cb984843e00c8b75ad6bb";
+          sha256 = "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/abe5036c6de996a723bc800e0f031314e1188660/recipes/slime-company";
@@ -28589,22 +28735,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    smeargle = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    smeargle = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smeargle";
-        version = "0.2";
+        version = "0.3";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-smeargle";
-          rev = "fe0494bb859ea51800d6e7ae7d9eda2fe98e0097";
-          sha256 = "1pcpg3lalbrc24z3vwcaysps8dbdzmncdgqdd5ig6yk2a9wyj9ng";
+          rev = "0665b1ff5109731898bc4a0ca6d939933b804777";
+          sha256 = "0p0kxmjdr02l9injlyyrnnzqdbb7mirz1xx79c3lw1rgpalf0jnf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c5b985b24a23499454dc61bf071073df325de571/recipes/smeargle";
           sha256 = "1dy87ah1w21csvrkq5icnx7g7g7nxqkcyggxyazqwwxvh2silibd";
           name = "smeargle";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/smeargle";
           license = lib.licenses.free;
@@ -28862,22 +29008,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sourcemap = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sourcemap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sourcemap";
-        version = "0.2";
+        version = "0.3";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-sourcemap";
-          rev = "065a0c3bd8ca5fe6a45e8f983f932c3c9fac5db9";
-          sha256 = "1k2gfw4dydzqxbfdmcghajbb2lyg1j4wgdhp8chlql3dax1f503d";
+          rev = "64c89d296186f48d9135fb8aad501de19f64bceb";
+          sha256 = "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/557d18259543263932fccdbaf44c4e7986bd277b/recipes/sourcemap";
           sha256 = "0cjg90y6a0l59a9v7d7p12pgmr21gwd7x5msil3h6xkm15f0qcc5";
           name = "sourcemap";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/sourcemap";
           license = lib.licenses.free;
@@ -28988,6 +29134,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    speed-type = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "speed-type";
+        version = "1.0";
+        src = fetchFromGitHub {
+          owner = "parkouss";
+          repo = "speed-type";
+          rev = "d9d98b9744e21d5e12a695096efcde288bdb5c18";
+          sha256 = "043ydcik23ykphbh89haagxbdn11s1b44wkziwibnb7d3r9hd8p7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d6c33b5bd15875baea0fd2f24ee8ec9414a6f7aa/recipes/speed-type";
+          sha256 = "0lsbi3b6v7fiwpvydgwcqx3y5i7bysfjammly22qpz3kcjmlvi06";
+          name = "speed-type";
+        };
+        packageRequires = [ cl-lib ];
+        meta = {
+          homepage = "https://melpa.org/#/speed-type";
+          license = lib.licenses.free;
+        };
+      }) {};
     sphinx-doc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "sphinx-doc";
@@ -29180,12 +29347,12 @@
     ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-deploy";
-        version = "1.0.0";
+        version = "1.1";
         src = fetchFromGitHub {
           owner = "cjohansson";
           repo = "emacs-ssh-deploy";
-          rev = "94fc9e677c864bd2c302c4842b95f7580cda6cef";
-          sha256 = "1zxgqlfipbympgg8i58r1pwn50fq6vb42y8fmipxy25s0j3x53k7";
+          rev = "3569e5ea6892d6d7f4ef36bf41462af011e1a114";
+          sha256 = "0l3h6w13xc81i6vavfsg617ly8m2y8yjzbwa6zwwkfqi301kgpij";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4547f86e9a022468524b0d3818b24e1457797e/recipes/ssh-deploy";
@@ -29322,6 +29489,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    string-inflection = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "string-inflection";
+        version = "1.0.5";
+        src = fetchFromGitHub {
+          owner = "akicho8";
+          repo = "string-inflection";
+          rev = "f11e732a582419e14a36c53130dd3a7b2c9da8c5";
+          sha256 = "1sq7h58v61cdyca5kfhf9rf3ybj25zgbhfdvb29qd7b2b33px7a5";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection";
+          sha256 = "1vrjcg1fa5adw16s4v9dq0fid0gfazxk15z9cawz0kmnpyzz3fg2";
+          name = "string-inflection";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/string-inflection";
+          license = lib.licenses.free;
+        };
+      }) {};
     string-utils = callPackage ({ fetchFromGitHub, fetchurl, lib, list-utils, melpaBuild }:
     melpaBuild {
         pname = "string-utils";
@@ -30310,12 +30498,12 @@
     tern-context-coloring = callPackage ({ context-coloring, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, tern }:
     melpaBuild {
         pname = "tern-context-coloring";
-        version = "1.0.0";
+        version = "1.0.1";
         src = fetchFromGitHub {
           owner = "jacksonrayhamilton";
           repo = "tern-context-coloring";
-          rev = "42e2f0177e8d3017c07826361cc981b2883d34dc";
-          sha256 = "0jdm1s8pqs40xligbhmqgk4vaxkqyb2i5wkx1zgjazq8fhcql9jv";
+          rev = "3a8e979d6cc83aabcb3dda3f5f31a6422532efba";
+          sha256 = "1rq5aqmsd7jqvwypafad9gmfcwjqjah00j7cws46k5f0dirjaa1y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/db2119d2c2d167d771ee02c2735b435d59991b93/recipes/tern-context-coloring";
@@ -30349,22 +30537,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    terraform-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, hcl-mode, lib, melpaBuild }:
+    terraform-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, hcl-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "terraform-mode";
-        version = "0.5";
+        version = "0.6";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-terraform-mode";
-          rev = "3458515359c1f3c82b40e72317b7dd49c05ea873";
-          sha256 = "1k0v56v7mwpb5p228c0g252szpxvpqswrmjfpk75kh32v56wp5xi";
+          rev = "6286aa42132a7fcad49271d63be33deeeb8d4efc";
+          sha256 = "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/93e06adf34bc613edf95feaca64c69a0a2a4b567/recipes/terraform-mode";
           sha256 = "1m3s390mn4pba7zk17xfk045dqr4rrpv5gw63jm18fyqipsi6scn";
           name = "terraform-mode";
         };
-        packageRequires = [ cl-lib hcl-mode ];
+        packageRequires = [ emacs hcl-mode ];
         meta = {
           homepage = "https://melpa.org/#/terraform-mode";
           license = lib.licenses.free;
@@ -32334,8 +32522,8 @@
         version = "0.9.1";
         src = fetchhg {
           url = "https://bitbucket.com/ArneBab/wisp";
-          rev = "a67adbf5fc75";
-          sha256 = "1av071s0s6x0idbklfnps8j7vgjqxapk9y23prk6jrdbbwhfzb8n";
+          rev = "ab6afca9ee2e";
+          sha256 = "19yy6z12pqaz9l0gj4hm73m7z2gcyivwymf6732vk8im77i8agyl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
@@ -32372,12 +32560,12 @@
     with-editor = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "with-editor";
-        version = "2.5.8";
+        version = "2.5.9";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "with-editor";
-          rev = "ab73c028e8dbe088d7545406efc5c5c7b8fd503a";
-          sha256 = "1hf2py6dby3wnvzv027x0555532aapn20bkhb7x8k020c6yr59s9";
+          rev = "2248a63f6eb6e7720881b508639d9a00d2db9ea0";
+          sha256 = "0g5ch1a5myrmazxcbbak01q4k3x8yp3kbn73d2h26j2jmsqvdy1n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor";
@@ -32768,22 +32956,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    xterm-color = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    xterm-color = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xterm-color";
-        version = "1.0";
+        version = "1.6";
         src = fetchFromGitHub {
           owner = "atomontage";
           repo = "xterm-color";
-          rev = "380cc8c6c6969f8a262ad4ddc61117691db7f4d1";
-          sha256 = "1zdj4664gvwc4kyx7fx5232l3c5anm0xyrrnrw596q604q6xxj2x";
+          rev = "ed3d0f4ccb2b28ff034192c50f244a97197d3911";
+          sha256 = "0djh18lm3xn9h4fa5ra0jrlzdzwhvhcalipj73j5gmmfaif4ya9q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b34a42f1bf5641871da8ce2b688325023262b643/recipes/xterm-color";
           sha256 = "0bvzi1mkxgm4vbq2va1sr0k9h3fdmppq79hkvbizc2xgk72sazpj";
           name = "xterm-color";
         };
-        packageRequires = [];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://melpa.org/#/xterm-color";
           license = lib.licenses.free;
@@ -32876,12 +33064,12 @@
     yang-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yang-mode";
-        version = "0.9.1";
+        version = "0.9.4";
         src = fetchFromGitHub {
           owner = "mbj4668";
           repo = "yang-mode";
-          rev = "f37745cda52d161761fcfe2fed792faa909b6fce";
-          sha256 = "1c6l8kbd01mlzkjwri0ma81ldz68fjgn1rb5ibi67r8kcisfzb50";
+          rev = "bcf698acbdb4df91f587942348739b407a8b0807";
+          sha256 = "1rrmailvhxvivmdjamm2vvciym484cw0lqn1hgdw1lz999g5a5vs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb42ab9b5f118baaf6766c478046552b686981a1/recipes/yang-mode";
@@ -32962,8 +33150,8 @@
         version = "1.78";
         src = fetchhg {
           url = "https://www.yatex.org/hgrepos/yatex/";
-          rev = "564510b9caca";
-          sha256 = "1k5q65di0b4mlhmjxi7vfn369lh02vybm0dmb5sir7j3vg8c5347";
+          rev = "5428250c886a";
+          sha256 = "0q1b0wpdfdghp6hchc59jgkyra5qqqdam47q7g2ni4ym8nlhwd3c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex";
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index 0b2ec7c2fd86..8de489549b85 100644
--- a/pkgs/applications/editors/emacs-modes/org-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/org-generated.nix
@@ -1,10 +1,10 @@
 { callPackage }: {
     org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org";
-        version = "20161118";
+        version = "20161224";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-20161118.tar";
-          sha256 = "1lk2j93zcaamj2m2720nxsza7j35054kg72w35w9z1bbiqmv2haj";
+          url = "http://orgmode.org/elpa/org-20161224.tar";
+          sha256 = "15fnc65k5mn5ssl53z4f9nlkz5m8a59zkaripcapdcq87ys5imqm";
         };
         packageRequires = [];
         meta = {
@@ -14,10 +14,10 @@
       }) {};
     org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org-plus-contrib";
-        version = "20161118";
+        version = "20161224";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-plus-contrib-20161118.tar";
-          sha256 = "1la8qw18akqc4p7p0qi675xm3r149vwazzjc2gkik97p12ip83z7";
+          url = "http://orgmode.org/elpa/org-plus-contrib-20161224.tar";
+          sha256 = "1pj3h5qllhcqyqvm2kln7056m34k5flipvslnn1rvsk4iwwjlv1a";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/fte/default.nix b/pkgs/applications/editors/fte/default.nix
new file mode 100644
index 000000000000..d32a3fb5f1b5
--- /dev/null
+++ b/pkgs/applications/editors/fte/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, unzip, perl, libX11, libXpm, gpm, ncurses, slang }:
+
+stdenv.mkDerivation rec {
+  name = "fte-0.50.02";
+
+  buildInputs = [ unzip perl libX11 libXpm gpm ncurses slang ];
+
+  ftesrc = fetchurl {
+    url = "mirror://sourceforge/fte/fte-20110708-src.zip";
+    sha256 = "17j9akr19w19myglw5mljjw2g3i2cwxiqrjaln82h3rz5ma1qcfn";
+  };
+  ftecommon = fetchurl {
+    url = "mirror://sourceforge/fte/fte-20110708-common.zip";
+    sha256 = "1xva4kh0674sj2b9rhf2amlr37yxmsvjkgyj89gpcn0rndw1ahaq";
+  };
+  src = [ ftesrc ftecommon ];
+
+  buildFlags = "PREFIX=$(out)";
+
+  installFlags = "PREFIX=$(out) INSTALL_NONROOT=1";
+
+  meta = with stdenv.lib; {
+    description = "A free text editor for developers";
+    homepage = http://fte.sourceforge.net/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.volth ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index dc85b5402bd1..cef1ab8e19bf 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -172,12 +172,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2016.3";
+    version = "2016.3.2";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "1bp2a1x8nl5flklf160n7ka5clnb0xx9gwv5zd9li2bsf04zlzf3";
+      sha256 = "0ngign34gq7i121ss2s9wfziy3vkv1jb79pw8nf1qp7rb15xn4vc";
     };
     wmClass = "jetbrains-idea-ce";
   };
@@ -208,12 +208,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2016.3.1";
+    version = "2016.3.2";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "1696gfmqi76ybgi5r84kisjx9mv0hd70hsn16banw61zy4rfllhw";
+      sha256 = "13pd95zad29c3i9qpwhjii601ixb4dgcld0kxk3liq4zmnv6wqxa";
     };
     wmClass = "jetbrains-idea";
   };
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index 73ee7ed64cd5..14b13c394f31 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -4,17 +4,18 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "kakoune-nightly-${version}";
-  version = "2016-12-10";
+  version = "2016-12-30";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
-    rev = "e44129577a010ebb4dc609b806104d3175659074";
-    sha256 = "1jkpbk6wa9x5nlv002y1whv6ddhqawxzbp3jcbzcb51cg8bz0b1l";
+    rev = "76c58aa022a896dc170c207ff821992ee354d934";
+    sha256 = "0hgpcp6444cyg4bm0a9ypywjwfh19qpqpfr5w0wcd2y3clnsvsdz";
   };
   buildInputs = [ ncurses boost asciidoc docbook_xsl libxslt ];
 
   buildPhase = ''
     sed -ie 's#--no-xmllint#--no-xmllint --xsltproc-opts="--nonet"#g' src/Makefile
+    substituteInPlace src/Makefile --replace "boost_regex-mt" "boost_regex"
     export PREFIX=$out
     (cd src && make )
   '';
@@ -28,6 +29,6 @@ stdenv.mkDerivation rec {
     description = "A vim inspired text editor";
     license = licenses.publicDomain;
     maintainers = with maintainers; [ vrthra ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/editors/kile/frameworks.nix b/pkgs/applications/editors/kile/frameworks.nix
index 7a02c3d3f8c6..34ea76478937 100644
--- a/pkgs/applications/editors/kile/frameworks.nix
+++ b/pkgs/applications/editors/kile/frameworks.nix
@@ -60,8 +60,9 @@ let
       };
     };
 in
-kdeWrapper unwrapped
+kdeWrapper
 {
+  inherit unwrapped;
   targets = [ "bin/kile" ];
   paths = [ konsole.unwrapped ];
 }
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 341b8063f66f..0b45f9502fad 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.7.1";
+  version = "2.7.3";
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.xz";
-    sha256 = "1kapx0fyp0a0pvsdd1n59pm3acrimdrp7ciglg098wqxhdlvwp6z";
+    sha256 = "1z0bfyc5cvv83l3bjmlcwl49mpxrp65k5ffsfpnayfyjc18fy9nr";
   };
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
   buildInputs = [ ncurses ];
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index e76683aa1807..cbaf14cee603 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
-, libtool, libuv, luajit, luaPackages, man, ncurses, perl, pkgconfig
+, libtool, libuv, luajit, luaPackages, ncurses, perl, pkgconfig
 , unibilium, makeWrapper, vimUtils, xsel, gperf
 
 , withPython ? true, pythonPackages, extraPythonPackages ? []
 , withPython3 ? true, python3Packages, extraPython3Packages ? []
 , withJemalloc ? true, jemalloc
+, withRuby ? true, bundlerEnv
 
 , withPyGUI ? false
 , vimAlias ? false
@@ -44,6 +45,14 @@ let
     };
   };
 
+  rubyEnv = bundlerEnv {
+    name = "neovim-ruby-env";
+    gemdir = ./ruby_provider;
+  };
+
+  rubyWrapper = ''--suffix PATH : \"${rubyEnv}/bin\" '' +
+                ''--suffix GEM_HOME : \"${rubyEnv}/${rubyEnv.ruby.gemPath}\" '';
+
   pythonEnv = pythonPackages.python.buildEnv.override {
     extraLibs = (
         if withPyGUI
@@ -52,11 +61,17 @@ let
       ) ++ extraPythonPackages;
     ignoreCollisions = true;
   };
+  pythonWrapper = ''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" '';
 
   python3Env = python3Packages.python.buildEnv.override {
     extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages;
     ignoreCollisions = true;
   };
+  python3Wrapper = ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '';
+  pythonFlags = optionalString (withPython || withPython3) ''--add-flags "${
+    (optionalString withPython pythonWrapper) +
+    (optionalString withPython3 python3Wrapper)
+  }"'';
 
   neovim = stdenv.mkDerivation rec {
     name = "neovim-${version}";
@@ -103,10 +118,7 @@ let
     # triggers on buffer overflow bug while running tests
     hardeningDisable = [ "fortify" ];
 
-    preConfigure = ''
-      substituteInPlace runtime/autoload/man.vim \
-        --replace /usr/bin/man ${man}/bin/man
-    '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
       export DYLD_LIBRARY_PATH=${jemalloc}/lib
       substituteInPlace src/nvim/CMakeLists.txt --replace "    util" ""
     '';
@@ -124,13 +136,8 @@ let
         --prefix PATH : "$out/bin"
     '' + optionalString withPython3 ''
       ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
-    '' + optionalString (withPython || withPython3) ''
-        wrapProgram $out/bin/nvim --add-flags "${
-          (optionalString withPython
-            ''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" '') +
-          (optionalString withPython3
-            ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '')
-        }"
+    '' + optionalString (withPython || withPython3 || withRuby) ''
+      wrapProgram $out/bin/nvim ${rubyWrapper + pythonFlags}
     '';
 
     meta = {
@@ -157,7 +164,7 @@ let
 
 in if (vimAlias == false && configure == null) then neovim else stdenv.mkDerivation {
   name = "neovim-${neovim.version}-configured";
-  inherit (neovim) version;
+  inherit (neovim) version meta;
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile b/pkgs/applications/editors/neovim/ruby_provider/Gemfile
new file mode 100644
index 000000000000..eebecf2906fb
--- /dev/null
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+
+gem 'neovim'
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
new file mode 100644
index 000000000000..88100b2e8f87
--- /dev/null
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    msgpack (1.0.2)
+    neovim (0.3.1)
+      msgpack (~> 1.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  neovim
+
+BUNDLED WITH
+   1.12.5
diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
new file mode 100644
index 000000000000..c3ed45a78481
--- /dev/null
+++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
@@ -0,0 +1,19 @@
+{
+  msgpack = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fb2my91j08plsbbry5kilsrh7slmzgbbf6f55zy6xk28p9036lg";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
+  neovim = {
+    dependencies = ["msgpack"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "018mk4vqaxzbk4anq558h2rgj8prbn2rmi777iwrg3n0v8k5nxqw";
+      type = "gem";
+    };
+    version = "0.3.1";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index 0749f58ecea2..82bcc485da3c 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, cmake, boost155, zlib, openssl, R, qt4, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper }:
+{ stdenv, fetchurl, makeDesktopItem, cmake, boost155, zlib, openssl, R, qt4, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper }:
 
 let
   version = "0.98.110";
   ginVer = "1.5";
   gwtVer = "2.5.1";
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "RStudio-${version}";
 
   buildInputs = [ cmake boost155 zlib openssl R qt4 libuuid unzip ant jdk makeWrapper ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     sha256 = "0fjr2rcr8lnywj54mzhg9i4xz1b6fh8yv12p5i2q5mgfld2xymy4";
   };
 
-  hunspellDicts = builtins.attrValues hunspellDicts;
+  hunspellDictionaries = builtins.attrValues hunspellDicts;
 
   mathJaxSrc = fetchurl {
     url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-20.zip;
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
       mv gwt-$gwtVer $GWT_LIB_DIR/gwt/$gwtVer
 
       mkdir dependencies/common/dictionaries
-      for dict in $hunspellDicts; do
+      for dict in $hunspellDictionaries; do
           for i in "$dict/share/hunspell/"*
 	  do ln -sv $i dependencies/common/dictionaries/
 	  done
@@ -61,8 +61,23 @@ stdenv.mkDerivation {
 
   cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" ];
 
+  desktopItem = makeDesktopItem {
+    name = name;
+    exec = "rstudio %F";
+    icon = "rstudio";
+    desktopName = "RStudio";
+    genericName = "IDE";
+    comment = meta.description;
+    categories = "Development;";
+    mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;";
+  };
+
   postInstall = ''
       wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin
+      mkdir $out/share
+      cp -r ${desktopItem}/share/applications $out/share
+      mkdir $out/share/icons
+      ln $out/rstudio.png $out/share/icons
   '';
 
   meta = with stdenv.lib;
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index 44e07cc22c0b..7d2828115f77 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -60,6 +60,7 @@ stdenv.mkDerivation {
     wrapProgram $out/bin/grass70 \
     --set PYTHONPATH $PYTHONPATH \
     --set GRASS_PYTHON ${python2Packages.python}/bin/${python2Packages.python.executable}
+    --suffix LD_LIBRARY_PATH ':' '${gdal}/lib'
     ln -s $out/grass-*/lib $out/lib
   '';
 
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
new file mode 100644
index 000000000000..f5c475ef93a9
--- /dev/null
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -0,0 +1,90 @@
+{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
+, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
+, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
+, ApplicationServices
+}:
+
+let
+  arch =
+    if stdenv.system == "i686-linux" then "i686"
+    else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
+    else if stdenv.system == "armv7l-linux" then "armv7l"
+    else throw "ImageMagick is not supported on this platform.";
+
+  cfg = {
+    version = "7.0.4-0";
+    sha256 = "0hfkdvfl60f9ksh07c06cpq8ib05apczl767yyvc671gd90n11ds";
+    patches = [];
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "imagemagick-${version}";
+  inherit (cfg) version;
+
+  src = fetchurl {
+    urls = [
+      "mirror://imagemagick/releases/ImageMagick-${version}.tar.xz"
+      # the original source above removes tarballs quickly
+      "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
+      "https://bintray.com/homebrew/mirror/download_file?file_path=imagemagick-${version}.tar.xz"
+    ];
+    inherit (cfg) sha256;
+  };
+
+  patches = [ ./imagetragick.patch ] ++ cfg.patches;
+
+  outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
+  outputMan = "out"; # it's tiny
+
+  enableParallelBuilding = true;
+
+  configureFlags =
+    [ "--with-frozenpaths" ]
+    ++ [ "--with-gcc-arch=${arch}" ]
+    ++ lib.optional (librsvg != null) "--with-rsvg"
+    ++ lib.optionals (ghostscript != null)
+      [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
+        "--with-gslib"
+      ]
+    ++ lib.optionals (stdenv.cross.libc or null == "msvcrt")
+      [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
+    ;
+
+  nativeBuildInputs = [ pkgconfig libtool ];
+
+  buildInputs =
+    [ zlib fontconfig freetype ghostscript
+      libpng libtiff libxml2
+    ]
+    ++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
+      [ openexr librsvg openjpeg ]
+    ++ lib.optional stdenv.isDarwin ApplicationServices;
+
+  propagatedBuildInputs =
+    [ bzip2 freetype libjpeg lcms2 ]
+    ++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
+      [ libX11 libXext libXt libwebp ]
+    ;
+
+  postInstall = ''
+    (cd "$dev/include" && ln -s ImageMagick* ImageMagick)
+    moveToOutput "bin/*-config" "$dev"
+    moveToOutput "lib/ImageMagick-*/config-Q16HDRI" "$dev" # includes configure params
+    for file in "$dev"/bin/*-config; do
+      substituteInPlace "$file" --replace pkg-config \
+        "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkgconfig}/bin/pkg-config'"
+    done
+  '' + lib.optionalString (ghostscript != null) ''
+    for la in $out/lib/*.la; do
+      sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.imagemagick.org/;
+    description = "A software suite to create, edit, compose, or convert bitmap images";
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ the-kenny wkennington ];
+  };
+}
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 8030302cdcf2..3364a661e0c5 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
 , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
+, ApplicationServices
 }:
 
 let
@@ -11,8 +12,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "6.9.6-7";
-    sha256 = "1ls3g4gpdh094n03szr9arpr0rfwd1krv2s9gnck8j0ab10ccgs5";
+    version = "6.9.7-0";
+    sha256 = "0c6ff1am2mhc0dc26h50l78yx6acwqymwpwgkxgx69cb6jfpwrdx";
     patches = [];
   }
     # Freeze version on mingw so we don't need to port the patch too often.
@@ -70,7 +71,7 @@ stdenv.mkDerivation rec {
     ]
     ++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
       [ openexr librsvg openjpeg ]
-    ;
+    ++ lib.optional stdenv.isDarwin ApplicationServices;
 
   propagatedBuildInputs =
     [ bzip2 freetype libjpeg lcms2 ]
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index a9ad0210baa1..7213ddcc366c 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -11,12 +11,12 @@
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  version = "2.0.7";
+  version = "2.2.1";
   name = "darktable-${version}";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "1aqxiaw89xdx0s0h3gb9nvdzw4690y3kp7h794sihf2581bn28m9";
+    sha256 = "da843190f08e02df19ccbc02b9d1bef6bd242b81499494c7da2cccdc520e24fc";
   };
 
   buildInputs =
@@ -34,6 +34,16 @@ stdenv.mkDerivation rec {
     "-DBUILD_USERMANUAL=False"
   ];
 
+  # darktable changed its rpath handling in commit
+  # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the
+  # binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in
+  # the wrappers:
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH ":" "$out/lib/darktable"
+    )
+  '';
+
   meta = with stdenv.lib; {
     description = "Virtual lighttable and darkroom for photographers";
     homepage = https://www.darktable.org;
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 06b2fa63c7fa..2f72d00bd15f 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -2,45 +2,24 @@
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
 , gsl, python2, poppler, imagemagick, libwpg, librevenge
-, libvisio, libcdr, libexif, unzip, automake114x, autoconf
-, boxMakerPlugin ? false # boxmaker plugin
+, libvisio, libcdr, libexif, automake114x, cmake
 }:
 
 let 
   python2Env = python2.withPackages(ps: with ps; [ numpy lxml ]);
-
-boxmaker = fetchurl {
-  # http://www.inkscapeforum.com/viewtopic.php?f=11&t=10403
-  url = "http://www.keppel.demon.co.uk/111000/files/BoxMaker0.91.zip";
-  sha256 = "5c5697f43dc3a95468f61f479cb50b7e2b93379a1729abf19e4040ac9f43a1a8";
-};
-
-stdcxx-patch = fetchpatch {
-  url = http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/diff/14542?context=3;
-  sha256 = "15h831lsh61ichgdygkdkbdm1dlb9mhprldq27hkx2472lcnyx6y";
-};
-
 in
 
 stdenv.mkDerivation rec {
-  name = "inkscape-0.91";
+  name = "inkscape-0.92.0";
 
   src = fetchurl {
-    url = "https://inkscape.global.ssl.fastly.net/media/resources/file/"
-        + "${name}.tar.bz2";
-    sha256 = "06ql3x732x2rlnanv0a8aharsnj91j5kplksg574090rks51z42d";
+    url = "https://inkscape.org/gallery/item/10552/${name}.tar.bz2";
+    sha256 = "0mmssxnxsvb3bpm7ck5pqvwyacrz1nkyacs571jx8j04l1cw3d5q";
   };
 
-  patches = [ ./deprecated-scopedptr.patch ];
-
   postPatch = ''
-    patch -i ${stdcxx-patch} -p 0
     patchShebangs share/extensions
-  ''
-  # Clang gets misdetected, so hardcode the right answer
-  + stdenv.lib.optionalString stdenv.cc.isClang ''
-    substituteInPlace src/ui/tool/node.h \
-      --replace "#if __cplusplus >= 201103L" "#if true"
+    patchShebangs fix-roff-punct
   '';
 
   # Python is used at run-time to execute scripts, e.g., those from
@@ -51,24 +30,12 @@ stdenv.mkDerivation rec {
     pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
     makeWrapper intltool gsl poppler imagemagick libwpg librevenge
-    libvisio libcdr libexif automake114x autoconf
-  ] ++ stdenv.lib.optional boxMakerPlugin unzip;
+    libvisio libcdr libexif automake114x cmake
+  ];
 
   enableParallelBuilding = true;
-  doCheck = true;
 
   postInstall = ''
-    ${if boxMakerPlugin then "
-      mkdir -p $out/share/inkscape/extensions/
-      # boxmaker packaged version 0.91 in a directory called 0.85 ?!??
-      unzip ${boxmaker};
-      cp boxmake-upd-0.85/* $out/share/inkscape/extensions/
-      rm -Rf boxmake-upd-0.85
-      "
-    else 
-      ""
-    }
-
     # Make sure PyXML modules can be found at run-time.
     rm "$out/share/icons/hicolor/icon-theme.cache"
   '';
diff --git a/pkgs/applications/graphics/inkscape/deprecated-scopedptr.patch b/pkgs/applications/graphics/inkscape/deprecated-scopedptr.patch
deleted file mode 100644
index 94ae901394fa..000000000000
--- a/pkgs/applications/graphics/inkscape/deprecated-scopedptr.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-glibmm deprecated ScopedPtr
----
-diff -u src/ui/clipboard.cpp src/ui/clipboard.cpp
---- a/src/ui/clipboard.cpp	2015-01-28 04:32:28.162676000 +0100
-+++ b/src/ui/clipboard.cpp	2016-04-03 09:13:12.360980533 +0200
-@@ -1402,7 +1402,7 @@
- 
-         Glib::ustring target;
-         if (atom_name) {
--            target = Glib::ScopedPtr<char>(atom_name).get(); //This frees the gchar*.
-+            target = Glib::make_unique_ptr_gfree(atom_name).get(); //This frees the gchar*.
-         }
- 
-         listTargets.push_back(target);
-
-Diff finished.  Sun Apr  3 09:13:51 2016
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index 3f9fd132c09e..ca74cd1a4aa3 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   version = "${major}.${minor}";
-  major = "0.23";
-  minor = "5";
+  major = "0.25";
+  minor = "2";
   name = "shotwell-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/shotwell/${major}/${name}.tar.xz";
-    sha256 = "0fgs1rgvkmy79bmpxrsvm5w8rvqml4l1vnwma0xqx5zzm02p8a07";
+    sha256 = "1bih5hr3pvpkx3fck55bnhngn4fl92ryjizc34wb8pwigbkxnaj1";
   };
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
                   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
-                  wrapGAppsHook gnome_doc_utils gnome3.rest
+                  wrapGAppsHook gnome_doc_utils gnome3.rest gnome3.gcr
                   gnome3.defaultIconTheme itstool ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix
index 375b09995488..1f1da9a389f2 100644
--- a/pkgs/applications/graphics/tesseract/default.nix
+++ b/pkgs/applications/graphics/tesseract/default.nix
@@ -1,53 +1,31 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, leptonica, libpng, libtiff
-, enableLanguages ? null
+{ stdenv, fetchFromGitHub, pkgconfig, leptonica, libpng, libtiff
+, icu, pango, opencl-headers
 }:
 
-with stdenv.lib;
-
-let
-  majVersion = "3.02";
-  version = "${majVersion}.02";
-
-  mkLang = lang: sha256: let
-    src = fetchurl {
-      url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${majVersion}.${lang}.tar.gz";
-      inherit sha256;
-    };
-  in "tar xfvz ${src} -C $out/share/ --strip=1";
-
-  wantLang = name: const (enableLanguages == null || elem name enableLanguages);
-
-  extraLanguages = mapAttrsToList mkLang (filterAttrs wantLang {
-    cat = "0d1smiv1b3k9ay2s05sl7q08mb3ln4w5iiiymv2cs8g8333z8jl9";
-    rus = "059336mkhsj9m3hwfb818xjlxkcdpy7wfgr62qwz65cx914xl709";
-    spa = "1c9iza5mbahd9pa7znnq8yv09v5kz3gbd2sarcgcgc1ps1jc437l";
-    nld = "162acxp1yb6gyki2is3ay2msalmfcsnrlsd9wml2ja05k94m6bjy";
-    eng = "1y5xf794n832s3lymzlsdm2s9nlrd2v27jjjp0fd9xp7c2ah4461";
-    slv = "0rqng43435cly32idxm1lvxkcippvc3xpxbfizwq5j0155ym00dr";
-    jpn = "07v8pymd0iwyzh946lxylybda20gsw7p4fsb09jw147955x49gq9";
-  });
-in
-
 stdenv.mkDerivation rec {
   name = "tesseract-${version}";
+  version = "3.04.01";
 
-  src = fetchurl {
-    url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${version}.tar.gz";
-    sha256 = "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96";
+  src = fetchFromGitHub {
+    owner = "tesseract-ocr";
+    repo = "tesseract";
+    rev = version;
+    sha256 = "0h1x4z1h86n2gwknd0wck6gykkp99bmm02lg4a47a698g4az6ybv";
   };
 
-  buildInputs = [ autoconf automake libtool leptonica libpng libtiff ];
+  tessdata = fetchFromGitHub {
+    owner = "tesseract-ocr";
+    repo = "tessdata";
+    rev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d";
+    sha256 = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7";
+  };
 
-  hardeningDisable = [ "format" ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ];
 
-  preConfigure = ''
-      ./autogen.sh
-      substituteInPlace "configure" \
-        --replace 'LIBLEPT_HEADERSDIR="/usr/local/include /usr/include"' \
-                  'LIBLEPT_HEADERSDIR=${leptonica}/include'
-  '';
+  LIBLEPT_HEADERSDIR = "${leptonica}/include";
 
-  postInstall = concatStringsSep "; " extraLanguages;
+  postInstall = "cp -Rt \"$out/share/tessdata\" \"$tessdata/\"*";
 
   meta = {
     description = "OCR engine";
diff --git a/pkgs/applications/graphics/vimiv/default.nix b/pkgs/applications/graphics/vimiv/default.nix
index bb8437153cad..39db1dd1f6d8 100644
--- a/pkgs/applications/graphics/vimiv/default.nix
+++ b/pkgs/applications/graphics/vimiv/default.nix
@@ -7,13 +7,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "vimiv";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "karlch";
     repo = "vimiv";
     rev = "v${version}";
-    sha256 = "1g97ms84xk4ci4crq9wdc3744jnrqkq2qz9sg69lhm9sr5f68bw4";
+    sha256 = "18dn81n8hcrqhrqfida34qz7a0ar9rz2rrmzsvyp54zc6nyvv1cn";
   };
 
   testimages = fetchFromGitHub {
@@ -23,8 +23,6 @@ python3Packages.buildPythonApplication rec {
     sha256 = "0a3aybzpms0381dz9japhm4c7j5klhmw91prcac6zaww6x34nmxb";
   };
 
-  patches = [ ./fixes.patch ];
-
   postPatch = ''
     patchShebangs scripts/install_icons.sh
     sed -i -e 's,/usr,,g' -e '/setup\.py/d' Makefile scripts/install_icons.sh
diff --git a/pkgs/applications/graphics/vimiv/fixes.patch b/pkgs/applications/graphics/vimiv/fixes.patch
deleted file mode 100644
index 09c06e43058a..000000000000
--- a/pkgs/applications/graphics/vimiv/fixes.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-Patch submitted upstream at https://github.com/karlch/vimiv/pull/32
-
-diff --git a/tests/main_test.py b/tests/main_test.py
-index a1870e7..2edc86d 100644
---- a/tests/main_test.py
-+++ b/tests/main_test.py
-@@ -15,7 +15,7 @@ class MainTest(TestCase):
- 
-     def test_main_until_quit(self):
-         """Run through vimiv main once."""
--        v_main.main(True)
-+        v_main.main([], True)
- 
- 
- if __name__ == '__main__':
-diff --git a/vimiv/helpers.py b/vimiv/helpers.py
-index 22f0115..bfaf016 100644
---- a/vimiv/helpers.py
-+++ b/vimiv/helpers.py
-@@ -3,7 +3,6 @@
- """Wrappers around standard library functions used in vimiv."""
- 
- import os
--from subprocess import Popen, PIPE
- from gi import require_version
- require_version('Gtk', '3.0')
- from gi.repository import Gtk
-@@ -20,17 +19,17 @@ scrolltypes["K"] = (Gtk.ScrollType.START, False)
- scrolltypes["L"] = (Gtk.ScrollType.END, True)
- 
- # A list of all external commands
--external_commands = []
--try:
--    p = Popen('echo $PATH | tr \':\' \'\n\' | xargs -n 1 ls -1',
--              stdout=PIPE, stderr=PIPE, shell=True)
--    out, err = p.communicate()
--    out = out.decode('utf-8').split()
--    for cmd in sorted(list(set(out))):
--        external_commands.append("!" + cmd)
--except:
--    external_commands = []
--external_commands = tuple(external_commands)
-+pathenv = os.environ.get('PATH')
-+if pathenv is not None:
-+    executables = set()
-+    for path in pathenv.split(':'):
-+        try:
-+            executables |= set(["!" + e for e in os.listdir(path)])
-+        except OSError:
-+            continue
-+    external_commands = tuple(sorted(list(executables)))
-+else:
-+    external_commands = ()
- 
- 
- def listdir_wrapper(path, show_hidden=False):
-diff --git a/vimiv/imageactions.py b/vimiv/imageactions.py
-index d92eb73..b9bc986 100644
---- a/vimiv/imageactions.py
-+++ b/vimiv/imageactions.py
-@@ -157,8 +157,8 @@ class Thumbnails:
-             # Correct name
-             thumb_ext = ".thumbnail_%dx%d" % (self.thumbsize[0],
-                                               self.thumbsize[1])
--            outfile_ext = infile.split(".")[0] + thumb_ext + ".png"
--            outfile_base = os.path.basename(outfile_ext)
-+            infile_base = os.path.basename(infile)
-+            outfile_base = infile_base.split(".")[0] + thumb_ext + ".png"
-             outfile = os.path.join(self.directory, outfile_base)
-             # Only if they aren't cached already
-             if outfile_base not in self.thumbnails:
-diff --git a/vimiv/main.py b/vimiv/main.py
-index a0e38cf..39f7407 100644
---- a/vimiv/main.py
-+++ b/vimiv/main.py
-@@ -27,7 +27,7 @@ from vimiv.mark import Mark
- from vimiv.information import Information
- 
- 
--def main(running_tests=False):
-+def main(arguments, running_tests=False):
-     """Starting point for vimiv.
- 
-     Args:
-@@ -36,7 +36,7 @@ def main(running_tests=False):
-     parser = get_args()
-     parse_dirs()
-     settings = parse_config()
--    settings = parse_args(parser, settings)
-+    settings = parse_args(parser, settings, arguments)
- 
-     args = settings["GENERAL"]["paths"]
- 
-diff --git a/vimiv/parser.py b/vimiv/parser.py
-index 874a538..9d5afce 100644
---- a/vimiv/parser.py
-+++ b/vimiv/parser.py
-@@ -56,7 +56,7 @@ def get_args():
-     return parser
- 
- 
--def parse_args(parser, settings, arguments=None):
-+def parse_args(parser, settings, arguments):
-     """Parse the arguments and return the modified settings.
- 
-     Args:
-@@ -66,10 +66,7 @@ def parse_args(parser, settings, arguments=None):
- 
-     Return: Modified settings after parsing the arguments.
-     """
--    if arguments:
--        args = parser.parse_args(arguments)
--    else:
--        args = parser.parse_args()
-+    args = parser.parse_args(arguments)
-     if args.show_version:
-         information = Information()
-         print(information.get_version())
-diff --git a/vimiv/vimiv b/vimiv/vimiv
-index 5497e08..57f34f1 100755
---- a/vimiv/vimiv
-+++ b/vimiv/vimiv
-@@ -5,4 +5,4 @@ import sys
- import vimiv
- 
- if __name__ == '__main__':
--    sys.exit(vimiv.main.main())
-+    sys.exit(vimiv.main.main(sys.argv))
diff --git a/pkgs/applications/graphics/xfractint/default.nix b/pkgs/applications/graphics/xfractint/default.nix
new file mode 100644
index 000000000000..4b1040ce7657
--- /dev/null
+++ b/pkgs/applications/graphics/xfractint/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, libX11, libXft}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "xfractint";
+  version = "20.04p14";
+  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
+  src = fetchurl {
+    url = "https://www.fractint.net/ftp/current/linux/xfractint-${version}.tar.gz";
+    sha256 = "0jdqr639z862qrswwk5srmv4fj5d7rl8kcscpn6mlkx4jvjmca0f";
+  };
+
+  buildInputs = [libX11 libXft];
+
+  configurePhase = ''
+    sed -e 's@/usr/bin/@@' -i Makefile
+  '';
+
+  makeFlags = ["PREFIX=$(out)"];
+
+  meta = {
+    inherit version;
+    description = "";
+    # Code cannot be used in commercial programs
+    # Looks like the definition hinges on the price, not license
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://www.fractint.net/";
+  };
+}
diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix
index 669fc5a28a73..97b418f08c10 100644
--- a/pkgs/applications/graphics/xournal/default.nix
+++ b/pkgs/applications/graphics/xournal/default.nix
@@ -13,8 +13,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     ghostscript atk gtk2 glib fontconfig freetype
-    libgnomecanvas libgnomeprint libgnomeprintui
+    libgnomecanvas
     pango libX11 xproto zlib poppler
+  ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
+    libgnomeprint libgnomeprintui
   ];
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
@@ -47,11 +49,11 @@ stdenv.mkDerivation rec {
       cp $out/share/xournal/pixmaps/xournal.png $out/share/icons
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://xournal.sourceforge.net/;
     description = "Note-taking application (supposes stylus)";
-    maintainers = [ stdenv.lib.maintainers.guibert ];
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.guibert ];
+    license = licenses.gpl2;
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix
index 85d3c4e49f96..a0414786ba42 100644
--- a/pkgs/applications/misc/buku/default.nix
+++ b/pkgs/applications/misc/buku/default.nix
@@ -2,14 +2,14 @@
 }:
 
 with pythonPackages; buildPythonApplication rec {
-  version = "2.5";
+  version = "2.7";
   name = "buku-${version}";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "buku";
     rev = "v${version}";
-    sha256 = "0m6km37zylinsblwm2p8pm760xlsf9m82xyws3762xs8zxbnfmsd";
+    sha256 = "1hb5283xaz1ll3iv5542i6f9qshrdgg33dg7gvghz0fwdh8i0jbk";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index b98d327d3b8a..5c05d1e17873 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.73.0";
+  version = "2.76.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "17qs7dakzd25wbshsny2x82ppdqa6kwwfbp2vp1i8qmfc1nq61gc";
+    sha256 = "1xfm586n6gm44mkyn25mbiyhj6w9ji9yl6fvmnr4zk1q6qcga3v8";
   };
 
   patches = [
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     apsw beautifulsoup cssselect cssutils dateutil lxml mechanize netifaces pillow
     python pyqt5 sip
     # the following are distributed with calibre, but we use upstream instead
-    chardet cherrypy html5lib odfpy routes
+    chardet cherrypy html5lib_0_9999999 odfpy routes
   ]);
 
   installPhase = ''
diff --git a/pkgs/applications/misc/cli-visualizer/default.nix b/pkgs/applications/misc/cli-visualizer/default.nix
index 1c7fd62f8ecc..cdde212275d7 100644
--- a/pkgs/applications/misc/cli-visualizer/default.nix
+++ b/pkgs/applications/misc/cli-visualizer/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchgit, fftw, ncurses, libpulseaudio }:
+{ stdenv, fetchFromGitHub, fftw, ncurses, libpulseaudio }:
 
 stdenv.mkDerivation rec {
-  version = "2016-06-02";
+  version = "1.5";
   name = "cli-visualizer-${version}";
 
-  src = fetchgit {
-    url = "https://github.com/dpayne/cli-visualizer.git";
-    rev = "bc0104eb57e7a0b3821510bc8f93cf5d1154fa8e";
-    sha256 = "16768gyi85mkizfn874q2q9xf32knw08z27si3k5bk99492dxwzw";
+  src = fetchFromGitHub {
+    owner = "dpayne";
+    repo = "cli-visualizer";
+    rev = version;
+    sha256 = "18qv4ya64qmczq94dnynrnzn7pwhmzbn14r05qcvbbwv7r8gclzs";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/confclerk/default.nix b/pkgs/applications/misc/confclerk/default.nix
new file mode 100644
index 000000000000..08f654cdec4f
--- /dev/null
+++ b/pkgs/applications/misc/confclerk/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, qt4, qmake4Hook }:
+
+let version = "0.6.1"; in
+stdenv.mkDerivation {
+  name = "confclerk-${version}";
+
+  src = fetchurl {
+    url = "http://www.toastfreeware.priv.at/tarballs/confclerk/confclerk-${version}.tar.gz";
+    sha256 = "1wprndshmc7k1919n7k93c4ha2jp171q31gx7xsbzx7g4sw6432g";
+  };
+
+  buildInputs = [ qt4 ];
+
+  nativeBuildInputs = [ qmake4Hook ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/bin/confclerk $out/bin
+  '';
+
+  meta = {
+    description = "Offline conference schedule viewer";
+    homepage = "http://www.toastfreeware.priv.at/confclerk";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ ehmry ];
+    inherit (qt4.meta) platforms;
+  };
+}
diff --git a/pkgs/applications/misc/cortex/default.nix b/pkgs/applications/misc/cortex/default.nix
index 777a759177c8..42565ae7fa8c 100644
--- a/pkgs/applications/misc/cortex/default.nix
+++ b/pkgs/applications/misc/cortex/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, python3 }:
 
 stdenv.mkDerivation {
-  name = "cortex-2014-08-01";
+  name = "cortex-2015-08-23";
 
   src = fetchgit {
     url = "https://github.com/gglucas/cortex";
-    rev = "e749de6c21aae02386f006fd0401d22b9dcca424";
-    sha256 = "d5d59c5257107344122c701eb370f3740f9957b6b898ac798d797a4f152f614c";
+    rev = "ff10ff860479fe2f50590c0f8fcfc6dc34446639";
+    sha256 = "0pa2kkkcnmf56d5d5kknv0gfahddym75xripd4kgszaj6hsib3zg";
   };
 
   buildInputs = [ stdenv python3 ];
diff --git a/pkgs/applications/misc/cpp-ethereum/default.nix b/pkgs/applications/misc/cpp-ethereum/default.nix
index 3cc334c6765b..150c900ba9fb 100644
--- a/pkgs/applications/misc/cpp-ethereum/default.nix
+++ b/pkgs/applications/misc/cpp-ethereum/default.nix
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = with stdenv.lib; {
-    decription = "Ethereum C++ client";
+    description = "Ethereum C++ client";
     homepage = https://github.com/ethereum/cpp-ethereum;
     license = licenses.gpl3;
     maintainers = with maintainers; [ artuuge ];
diff --git a/pkgs/applications/misc/ding/default.nix b/pkgs/applications/misc/ding/default.nix
index 38cd9dbcc37a..e76f95b6a50d 100644
--- a/pkgs/applications/misc/ding/default.nix
+++ b/pkgs/applications/misc/ding/default.nix
@@ -10,11 +10,11 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "ding-1.8";
+  name = "ding-1.8.1";
 
   src = fetchurl {
     url = "http://ftp.tu-chemnitz.de/pub/Local/urz/ding/${name}.tar.gz";
-    sha256 = "00z97ndwmzsgig9q6y98y8nbxy76pyi9qyj5qfpbbck24gakpz5l";
+    sha256 = "0chjqs3z9zs1w3l7b5lsaj682rgnkf9kibcbzhggqqcn1pbvl5sq";
   };
 
   buildInputs = [ aspellEnv fortune gnugrep makeWrapper tk tre ];
@@ -36,11 +36,11 @@ stdenv.mkDerivation rec {
 
     sed -i "s@/usr/bin/ding@$out/bin/ding@g" ding.desktop
 
-    cp ding $out/bin/
-    cp de-en.txt $out/share/dict/
-    cp ding.1 $out/share/man/man1/
-    cp ding.png $out/share/pixmaps/
-    cp ding.desktop $out/share/applications/
+    cp -v ding $out/bin/
+    cp -v de-en.txt $out/share/dict/
+    cp -v ding.1 $out/share/man/man1/
+    cp -v ding.png $out/share/pixmaps/
+    cp -v ding.desktop $out/share/applications/
 
     wrapProgram $out/bin/ding --prefix PATH : ${stdenv.lib.makeBinPath [ gnugrep aspellEnv tk fortune ]} --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
   '';
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 2ec212d493b8..e0d426e99b62 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -36,6 +36,15 @@ python2Packages.buildPythonApplication rec {
   preBuild = ''
     sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
     pyrcc4 icons.qrc -o gui/qt/icons_rc.py
+    # Recording the creation timestamps introduces indeterminism to the build
+    sed -i '/Created: .*/d' gui/qt/icons_rc.py
+  '';
+
+  postInstall = ''
+    # Despite setting usr_share above, these files are installed under
+    # $out/nix ...
+    mv $out/lib/python2.7/site-packages/nix/store/*/share $out
+    rm -rf $out/lib/python2.7/site-packages/nix
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index 5f8d00ce996a..6d67d3a340f5 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     gnome3.gucharmap
     gnome3.libgee
     gnome3.file-roller
+    gnome3.defaultIconTheme
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/gnome15/default.nix b/pkgs/applications/misc/gnome15/default.nix
new file mode 100644
index 000000000000..c4f8be88bb51
--- /dev/null
+++ b/pkgs/applications/misc/gnome15/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python2, gnome_python, gnome_python_desktop }:
+
+stdenv.mkDerivation rec {
+  name = "gnome15-2016-06-10";
+
+  src = fetchFromGitHub {
+    owner = "achilleas-k";
+    repo = "gnome15";
+    rev = "1077c890d9ba8ef7a5e448e70a792de5c7443c84";
+    sha256 = "0z5k2rgvv5zyi3lbbk6svncypidj44qzfchivb4vlr7clmh16m95";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig python2.pkgs.wrapPython ];
+  buildInputs = [ python2 ];
+  propagatedBuildInputs = with python2.pkgs; [
+    pygtk keyring virtkey pillow dbus-python pyinotify lxml pyxdg pyusb gnome_python gnome_python_desktop
+    python-uinput xlib pyudev pyinputevent
+  ];
+
+  postPatch = ''
+    touch README
+    export UDEV_RULES_PATH="$out/lib/udev/rules.d"
+  '';
+
+  postFixup = ''
+    wrapPythonPrograms
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A set of tools for configuring the Logitech G15 keyboard";
+    license = licenses.gpl3;
+    homepage = "https://gnome15.org/";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix
index e4074547d781..e925885f05f2 100644
--- a/pkgs/applications/misc/haxor-news/default.nix
+++ b/pkgs/applications/misc/haxor-news/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "0.3.1";
+  version = "0.4.1";
   name = "haxor-news-${version}";
 
   src = fetchurl {
-    url = "https://github.com/donnemartin/haxor-news/archive/0.3.1.tar.gz";
-    sha256 = "0jglx8fy38sjyszvvg7mvmyk66l53kyq4i09hmgdz7hb1hrm9m2m";
+    url = "https://github.com/donnemartin/haxor-news/archive/${version}.tar.gz";
+    sha256 = "0d3an7by33hjl8zg48y7ig6r258ghgbdkpp1psa9jr6n2nk2w9mr";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index cc4f0d2e773e..05a4db7a2500 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "hugo-${version}";
-  version = "0.17";
+  version = "0.18.1";
 
   goPackagePath = "github.com/spf13/hugo";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "spf13";
     repo = "hugo";
     rev = "v${version}";
-    sha256 = "1h5d7m019r4zhk7xlcdbn4z3w6x7jq2lcdgq7w377688rk58wbgp";
+    sha256 = "1nmabcrq96b339in2yr2zwcd41nadr4bha3rlpyaxlzbyyhz2f81";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/misc/hugo/deps.nix b/pkgs/applications/misc/hugo/deps.nix
index 70781708f6eb..0a95b083c0b8 100644
--- a/pkgs/applications/misc/hugo/deps.nix
+++ b/pkgs/applications/misc/hugo/deps.nix
@@ -229,8 +229,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/fsync";
-      rev = "eefee59ad7de621617d4ff085cf768aab4b919b1";
-      sha256 = "0d56xdczawikyczc12i661qc79dbv4q8ihlj4p20zsjkyxxym59p";
+      rev = "cb2da332d00cbc04e4f3f677520dc3e7cc11874b";
+      sha256 = "03ib2xj80cbz77hx2baanyi50qr40akrybg49fzdvdm3lv9x100z";
     };
   }
   {
@@ -341,4 +341,13 @@
       sha256 = "0jwn2g4jfdb3wvpqisd8h055099pwx6c5i3bb4zxk5l9vybg1c5f";
     };
   }
+  {
+    goPackagePath = "github.com/bep/gitmap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bep/gitmap";
+      rev = "a1a71abe12823e27ae7507189fe2e914ba9626ac";
+      sha256 = "0qfhb72y6wbypaqv6dkl42syifnhps3qcy1karpd6ziw4pxak18g";
+    };
+  }
 ]
diff --git a/pkgs/applications/misc/keepass-plugins/keefox/default.nix b/pkgs/applications/misc/keepass-plugins/keefox/default.nix
index cb48ff22bef0..0215c5a71c2f 100644
--- a/pkgs/applications/misc/keepass-plugins/keefox/default.nix
+++ b/pkgs/applications/misc/keepass-plugins/keefox/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildEnv, fetchurl, mono, unzip }:
 
 let
-  version = "1.6.3";
+  version = "1.6.4";
   drv = stdenv.mkDerivation {
     name = "keefox-${version}";
     src = fetchurl {
       url    = "https://github.com/luckyrat/KeeFox/releases/download/v${version}/${version}.xpi";
-      sha256 = "dc26c51a6b3690d4bec527c3732a72f67a85b804c60db5e699260552e2dd2bd9";
+      sha256 = "0nj4l9ssyfwbl1pxgxvd2h9q0mqhx7i0yzm4a2xjqlqwam534d1w";
     };
 
     meta = {
@@ -14,6 +14,7 @@ let
       homepage    = http://keefox.org;
       platforms   = with stdenv.lib.platforms; linux;
       license     = stdenv.lib.licenses.gpl2;
+      maintainers = [ stdenv.lib.maintainers.mjanczyk ];
     };
 
     buildInputs = [ unzip ];
diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix
index a44f4bff83eb..5206feb215c9 100644
--- a/pkgs/applications/misc/mdp/default.nix
+++ b/pkgs/applications/misc/mdp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.7";
+  version = "1.0.9";
   name = "mdp-${version}";
 
   src = fetchFromGitHub {
     owner = "visit1985";
     repo = "mdp";
     rev = version;
-    sha256 = "10jkv8g04vvhik42y0qqcbn05hlnfsgbljhx69hx1sfn7js2d8g4";
+    sha256 = "183flp52zfady4f8f3vgapr5f5k6cvanmj2hw293v6pw71qnafmd";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index 2fe806649c24..e60d1619685a 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -2,11 +2,11 @@
 , desktop_file_utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.87";
+  version = "0.7.91";
   name = "mediainfo-gui-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "1ws4hyfcw289hax0bq8y3bbw5y321xmh0va1x4zv5rjwfzcd51pv";
+    sha256 = "15jrph9hjza4c87m739s7c9v27gji94ha7rpchb8li0rcdvy40dm";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index 77c1badbf401..0ddee228e9d0 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.87";
+  version = "0.7.91";
   name = "mediainfo-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "1ws4hyfcw289hax0bq8y3bbw5y321xmh0va1x4zv5rjwfzcd51pv";
+    sha256 = "15jrph9hjza4c87m739s7c9v27gji94ha7rpchb8li0rcdvy40dm";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 71705b005453..aecea732a23e 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -70,6 +70,7 @@ in pythonPackages.buildPythonApplication rec {
       -e 's,Flask-Login>=[^"]*,Flask-Login,g' \
       -e 's,rsa>=[^"]*,rsa,g' \
       -e 's,PyYAML>=[^"]*,PyYAML,g' \
+      -e 's,flask>=[^"]*,flask,g' \
       setup.py
   '';
 
diff --git a/pkgs/applications/misc/pcmanx-gtk2/default.nix b/pkgs/applications/misc/pcmanx-gtk2/default.nix
index fb655ceba5dc..87c4df3446ed 100644
--- a/pkgs/applications/misc/pcmanx-gtk2/default.nix
+++ b/pkgs/applications/misc/pcmanx-gtk2/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ gtk2 libXft intltool automake115x autoconf libtool pkgconfig ];
 
-  preConfigurePhases = ''
+  preConfigure = ''
     ./autogen.sh
   '';
 
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index 848b39eeb07f..2f023412faf5 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -4,17 +4,17 @@
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "pdfpc";
-  version = "4.0.4";
+  version = "4.0.5";
 
   src = fetchFromGitHub {
     repo = "pdfpc";
     owner = "pdfpc";
     rev = "v${version}";
-    sha256 = "07wpf3gkgiq7dpgsrv7whk0pzm18cni4s53hd7zz40319jmlaf4q";
+    sha256 = "13spngkp0lq2qlw4mxsngx4ckr201axzn5ppjax0bhlckirvzr2s";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ gstreamer gst-plugins-base vala gtk3 libgee poppler
+  nativeBuildInputs = [ cmake pkgconfig vala ];
+  buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler
     libpthreadstubs makeWrapper librsvg ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/procmail/default.nix b/pkgs/applications/misc/procmail/default.nix
index 0bdc771e2bdd..b62c6b77cac3 100644
--- a/pkgs/applications/misc/procmail/default.nix
+++ b/pkgs/applications/misc/procmail/default.nix
@@ -6,11 +6,15 @@ stdenv.mkDerivation {
   patches = [ ./CVE-2014-3618.patch ];
 
   # getline is defined differently in glibc now. So rename it.
+  # Without the .PHONY target "make install" won't install anything on Darwin.
   postPatch = ''
     sed -e "s%^RM.*$%#%" -i Makefile
     sed -e "s%^BASENAME.*%\BASENAME=$out%" -i Makefile
     sed -e "s%^LIBS=.*%LIBS=-lm%" -i Makefile
     sed -e "s%getline%thisgetline%g" -i src/*.c src/*.h
+    sed -e "3i\
+.PHONY: install
+" -i Makefile
   '';
 
   src = fetchurl {
diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix
new file mode 100644
index 000000000000..96d2aa0c85b7
--- /dev/null
+++ b/pkgs/applications/misc/qsyncthingtray/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub
+, qtbase, qtwebengine
+, qmakeHook }:
+
+stdenv.mkDerivation rec {
+  version = "0.5.5rc2";
+  name = "qsyncthingtray-${version}";
+
+  src = fetchFromGitHub {
+    owner = "sieren";
+    repo = "QSyncthingTray";
+    rev = "${version}";
+    sha256 = "1x7j7ylgm4ih06m7gb5ls3c9bdjwbra675489caq2f04kgw4yxq2";
+  };
+
+  buildInputs = [ qtbase qtwebengine ];
+  nativeBuildInputs = [ qmakeHook ];
+  enableParallelBuilding = true;
+  
+  postInstall = ''
+    mkdir -p $out/bin
+    cp binary/QSyncthingTray $out/bin
+    cat > $out/bin/qt.conf <<EOF
+    [Paths]
+    Prefix = ${qtwebengine.out}
+    EOF
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sieren/QSyncthingTray/;
+    description = "A Traybar Application for Syncthing written in C++";
+    longDescription = ''
+        A cross-platform status bar for Syncthing.
+        Currently supports OS X, Windows and Linux.
+        Written in C++ with Qt.
+    '';
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ zraexy ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix
index eee2dffb0e1c..4cdb6591465e 100644
--- a/pkgs/applications/misc/qtpass/default.nix
+++ b/pkgs/applications/misc/qtpass/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "qtpass-${version}";
-  version = "1.1.4";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner  = "IJHack";
     repo   = "QtPass";
     rev    = "v${version}";
-    sha256 = "0jxb15jn6vv54wb2z52wv9b2mq38xff8akyzwj5xx2332bc9xra2";
+    sha256 = "0jq5a1cvqvsjwld0nldl6kmcz9g59hiccmbg98xwji04n8174y7j";
   };
 
   buildInputs = [ git gnupg pass qtbase qtsvg qttools ];
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 048a7877362b..673e4b020852 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pythonPackages, w3m, file, less }:
 
 pythonPackages.buildPythonApplication rec {
-  name = "ranger-1.7.2";
+  name = "ranger-1.8.0";
 
   meta = {
     description = "File manager with minimalistic curses interface";
@@ -12,7 +12,7 @@ pythonPackages.buildPythonApplication rec {
 
   src = fetchurl {
     url = "http://ranger.nongnu.org/${name}.tar.gz";
-    sha256 = "0yaviybviwdvfg2a0pf2kk28g10k245499xmbpqlai7fv91f7xll";
+    sha256 = "14j067n1azk6vc6cxlhi5w5bsn2wcz4hypvgxc0vjl9xp5n4f0nf";
   };
 
   propagatedBuildInputs = [ file ];
diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
index 974c593d37c4..03d058783b23 100644
--- a/pkgs/applications/misc/rescuetime/default.nix
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -5,18 +5,18 @@ let
     if stdenv.system == "i686-linux" then fetchurl {
       name = "rescuetime-installer.deb";
       url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb";
-      sha256 = "1wi9ikwmc9jfilj8adad3rcb7rmmxkpkfcp2gkfxvdyw6n0mzcnf";
+      sha256 = "0nkbi05pr5kznj4vjqhsrxcqdmjdf2zsbirslxgm4jbh87skl6fm";
     } else fetchurl {
       name = "rescuetime-installer.deb";
       url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
-      sha256 = "074yivz7rz1ac1962dix0aahpyqvsrkizh32kk5hyw5az0vqpcjs";
+      sha256 = "161f71kvcrilv9qxldwn8xsqs2g9c2f2g9wb5brbfc0lqbbc8n89";
     };
 
 in
 
 stdenv.mkDerivation {
   # https://www.rescuetime.com/updates/linux_release_notes.html
-  name = "rescuetime-2.9.10.1255";
+  name = "rescuetime-2.9.11.1285";
   inherit src;
   buildInputs = [ dpkg makeWrapper ];
   unpackPhase = ''
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index d6ff999b23d4..3c4cf27308bb 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, libxkbcommon, pango
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libxkbcommon, pango, which, git
 , cairo, glib, libxcb, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.0";
+  version = "1.3.1";
   name = "rofi-${version}";
 
   src = fetchurl {
-    url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.xz";
-    sha256 = "0xxx0xpxhrhlhi2axq9867zqrhwqavc1qrr833k1xr0pvm5m0aqc";
+    url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.gz";
+    sha256 = "09i3vd8k6zqphrm382fglsmxc4q6dg00xddzl96kakszgvdd4qfs";
   };
 
   preConfigure = ''
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
     sed -i 's/~root/~nobody/g' test/helper-expand.c
   '';
 
-  buildInputs = [ autoreconfHook pkgconfig libxkbcommon pango cairo
-    libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm
+  buildInputs = [ autoreconfHook pkgconfig libxkbcommon pango cairo git
+    libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm which
   ];
   doCheck = true;
 
diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix
index 8488a8e6842c..e2af415e60a3 100644
--- a/pkgs/applications/misc/rtv/default.nix
+++ b/pkgs/applications/misc/rtv/default.nix
@@ -1,17 +1,19 @@
 { stdenv, fetchFromGitHub, pkgs, lib, python, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "1.10.0";
+  version = "1.13.0";
   name = "rtv-${version}";
 
   src = fetchFromGitHub {
     owner = "michael-lazar";
     repo = "rtv";
     rev = "v${version}";
-    sha256 = "1gm5jyqqssf69lfx0svhzsb9m0dffm6zsf9jqnwh6gjihfz25a45";
+    sha256 = "0rxncbzb4a7zlfxmnn5jm6yvwviaaj0v220vwv82hkjiwcdjj8jf";
   };
 
   propagatedBuildInputs = with pythonPackages; [
+    beautifulsoup4
+    mailcap-fix
     tornado
     requests2
     six
diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix
index 75866cbb971b..66e40befe7c0 100644
--- a/pkgs/applications/misc/sakura/default.nix
+++ b/pkgs/applications/misc/sakura/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte, pcre, glib }:
+{ stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte, pcre, glib , makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "sakura-${version}";
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake perl pkgconfig ];
 
-  buildInputs = [ gtk3 vte pcre glib ];
+  buildInputs = [ makeWrapper gtk3 vte pcre glib ];
+
+  # Wrapper sets path to gsettings-schemata so sakura knows where to find colorchooser, fontchooser ...
+  postInstall = "wrapProgram $out/bin/sakura --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/";
 
   meta = with stdenv.lib; {
     description = "A terminal emulator based on GTK and VTE";
diff --git a/pkgs/applications/misc/sc-im/default.nix b/pkgs/applications/misc/sc-im/default.nix
index cb18278d1ed4..75d08ec81883 100644
--- a/pkgs/applications/misc/sc-im/default.nix
+++ b/pkgs/applications/misc/sc-im/default.nix
@@ -1,26 +1,23 @@
-{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2 }:
+{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2, pkgconfig }:
 
-let
-  version = "0.2.1";
-in
 stdenv.mkDerivation rec {
-
+  version = "0.4.0";
   name = "sc-im-${version}";
 
   src = fetchFromGitHub {
     owner = "andmarti1424";
     repo = "sc-im";
     rev = "v${version}";
-    sha256 = "0v6b8xksvd12vmz198vik2ranyr5mhnp85hl9yxh9svibs7jxsbb";
+    sha256 = "1v1cfmfqs5997bqlirp6p7smc3qrinq8dvsi33sk09r33zkzyar0";
   };
 
-  buildInputs = [ yacc ncurses libxml2 ];
+  buildInputs = [ yacc ncurses libxml2 pkgconfig ];
 
   buildPhase = ''
     cd src
 
-    sed "s,prefix=/usr,prefix=$out," Makefile
-    sed "s,-I/usr/include/libxml2,-I$libxml2," Makefile
+    sed -i "s,prefix=/usr,prefix=$out," Makefile
+    sed -i "s,-I/usr/include/libxml2,-I$libxml2," Makefile
 
     make
     export DESTDIR=$out
diff --git a/pkgs/applications/misc/slade/default.nix b/pkgs/applications/misc/slade/default.nix
new file mode 100644
index 000000000000..b50c2f18690e
--- /dev/null
+++ b/pkgs/applications/misc/slade/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, wxGTK, gtk2, sfml, fluidsynth, curl, freeimage, ftgl, glew, zip }:
+
+stdenv.mkDerivation rec {
+  name = "slade-${version}";
+  version = "3.1.1.4";
+
+  src = fetchFromGitHub {
+    owner = "sirjuddington";
+    repo = "SLADE";
+    rev = version;
+    sha256 = "0c2yjkpcwxkid1wczmc9f16x1p40my8jv61jc93ldgjzcprmrpn8";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig zip ];
+  buildInputs = [ wxGTK gtk2 sfml fluidsynth curl freeimage ftgl glew ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Doom editor";
+    homepage = "http://slade.mancubus.net/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
index be4a004fb8ba..06b367fa6e78 100644
--- a/pkgs/applications/misc/subsurface/default.nix
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -20,15 +20,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.5.6";
+  version = "4.5.97";
   name = "subsurface-${version}";
 
-  # use fetchgit instead of the official tgz is not complete
   src = fetchgit {
-    sha256 = "156rqcszy0c4plk2mv7wdd4h7s7mygpq5sdc64pjfs4qvvsdj10f";
+    sha256 = "035ywhicadmr9sh7zhfxsvpchwa9sywccacbspfam39n2hpyqnmm";
     url = "git://git.subsurface-divelog.org/subsurface";
-    rev = "4d8d7c2a0fa1b4b0e6953d92287c75b6f97472d0";
-    branchName = "v4.5-branch";
+    rev = "72bcb6481f3b935444d7868a74599dda133f9b43";
+    branchName = "master";
   };
 
   buildInputs = [ qtbase libdivecomputer libmarble-ssrf libxslt
@@ -36,15 +35,14 @@ stdenv.mkDerivation rec {
                   qtconnectivity libgit2 libssh2 curl ];
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  enableParallelBuilding = true;
+  #enableParallelBuilding = true; # fatal error: ui_mainwindow.h: No such file or directory
 
   # hack incoming...
   preConfigure = ''
     marble_libs=$(echo $(echo $CMAKE_LIBRARY_PATH | grep -o "/nix/store/[[:alnum:]]*-libmarble-ssrf-[a-zA-Z0-9\-]*/lib")/libssrfmarblewidget.so)
     cmakeFlags="$cmakeFlags -DCMAKE_BUILD_TYPE=Debug \
                             -DMARBLE_LIBRARIES=$marble_libs \
-                            -DNO_PRINTING=OFF \
-                            -DUSE_LIBGIT23_API=1"
+                            -DNO_PRINTING=OFF"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix
index 21c0c0f5ea31..e7d2a595684b 100644
--- a/pkgs/applications/misc/synapse/default.nix
+++ b/pkgs/applications/misc/synapse/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       '';
       homepage = https://launchpad.net/synapse-project;
       license = stdenv.lib.licenses.gpl3;
-      maintainers = with stdenv.lib.maintainers; mahe;
+      maintainers = with stdenv.lib.maintainers; [ mahe ];
       platforms = with stdenv.lib.platforms; all;
   };
 }
diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix
index 29befb7f25a8..3959ad88ece9 100644
--- a/pkgs/applications/misc/terminator/default.nix
+++ b/pkgs/applications/misc/terminator/default.nix
@@ -1,19 +1,28 @@
-{ stdenv, fetchurl, pythonPackages, keybinder, vte, gettext, intltool }:
+{ stdenv, fetchurl, pythonPackages, pango, keybinder, vte, gettext, intltool, file
+}:
 
 pythonPackages.buildPythonApplication rec {
   name = "terminator-${version}";
-  version = "0.98";
-  
+  version = "1.0";
+
   src = fetchurl {
     url = "https://launchpad.net/terminator/trunk/${version}/+download/${name}.tar.gz";
-    sha256 = "1h965z06dsfk38byyhnsrscd9r91qm92ggwgjrh7xminzsgqqv8a";
+    sha256 = "1pfspcxsbax8a835kcld32fax6vcxsn1fmkny9zzvi4icplhkal8";
   };
-  
-  propagatedBuildInputs = with pythonPackages; [ pygtk notify keybinder vte gettext intltool ];
 
-  #setupPyBuildFlags = [ "--without-icon-cache" ];
+  nativeBuildInputs = [ file intltool ];
+
+  pythonPath = with pythonPackages; [
+    pygtk pygobject2 vte keybinder notify gettext pango psutil
+  ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
 
-  doCheck = false;
+  checkPhase = ''
+    ./run_tests
+  '';
 
   meta = with stdenv.lib; {
     description = "Terminal emulator with support for tiling and tabs";
@@ -25,7 +34,7 @@ pythonPackages.buildPythonApplication rec {
     '';
     homepage = http://gnometerminator.blogspot.no/p/introduction.html;
     license = licenses.gpl2;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix
new file mode 100644
index 000000000000..dc9cb3189d5b
--- /dev/null
+++ b/pkgs/applications/misc/urlscan/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, urwid, pythonOlder }:
+
+buildPythonPackage rec {
+  name = "urlscan-${version}";
+  version = "0.8.3";
+
+  src = fetchFromGitHub {
+    owner = "firecat53";
+    repo = "urlscan";
+    rev = version;
+    # (equivalent but less nice(?): rev = "00333f6d03bf3151c9884ec778715fc605f58cc5")
+    sha256 = "0l40anfznam4d3q0q0jp2wwfrvfypz9ppbpjyzjdrhb3r2nizb0y";
+  };
+
+  propagatedBuildInputs = [ urwid ];
+
+  # FIXME doesn't work with 2.7; others than 2.7 and 3.5 were not tested (yet)
+  disabled = !pythonOlder "3.5";
+
+  meta = with stdenv.lib; {
+    description = "Mutt and terminal url selector (similar to urlview)";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.dpaetzel ];
+  };
+}
diff --git a/pkgs/applications/misc/weather/default.nix b/pkgs/applications/misc/weather/default.nix
index 192e4406b6d8..a184d31233c4 100644
--- a/pkgs/applications/misc/weather/default.nix
+++ b/pkgs/applications/misc/weather/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pythonPackages }:
 
 stdenv.mkDerivation rec {
-    version = "2.0";
+    version = "2.3";
     name = "weather-${version}";
 
     src = fetchurl {
         url = "http://fungi.yuggoth.org/weather/src/${name}.tar.xz";
-        sha256 = "0yil363y9iyr4mkd7xxq0p2260wh50f9i5p0map83k9i5l0gyyl0";
+        sha256 = "0inij30prqqcmzjwcmfzjjn0ya5klv18qmajgxipz1jr3lpqs546";
     };
 
     nativeBuildInputs = [ pythonPackages.wrapPython ];
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index e861973b13cc..8515efc56bce 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool, gcc, makeWrapper }:
+{ stdenv, fetchurl, pkgconfig, which, makeQtWrapper,
+  libtool, openssl, qtbase, qttools }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "xca-${version}";
@@ -9,19 +12,28 @@ stdenv.mkDerivation rec {
     sha256 = "1r2w9gpahjv221j963bd4vn0gj4cxmb9j42f3cd9qdn890hizw84";
   };
 
-  postInstall = ''
-    wrapProgram "$out/bin/xca" \
-      --prefix LD_LIBRARY_PATH : \
-        "${gcc.cc.lib}/lib64:${stdenv.lib.makeLibraryPath [ qt4 gcc.cc openssl libtool ]}"
+  enableParallelBuilding = false;
+
+  buildInputs = [ libtool openssl qtbase qttools ];
+
+  nativeBuildInputs = [ makeQtWrapper pkgconfig which ];
+
+  preBuild = ''
+    substituteInPlace Local.mak \
+      --replace ${qtbase}/bin/moc ${qtbase.dev}/bin/moc \
+      --replace ${qtbase}/bin/uic ${qtbase.dev}/bin/uic
   '';
 
-  buildInputs = [ openssl qt4 libtool gcc makeWrapper ];
-  nativeBuildInputs = [ pkgconfig ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/xca"
+    wrapQtProgram "$out/bin/xca_db_stat"
+  '';
 
   meta = with stdenv.lib; {
     description = "Interface for managing asymetric keys like RSA or DSA";
     homepage = http://xca.sourceforge.net/;
     platforms = platforms.all;
     license = licenses.bsd3;
+    maintainers = with maintainers; [ offline peterhoeg ];
   };
 }
diff --git a/pkgs/applications/misc/yakuake/3.0.nix b/pkgs/applications/misc/yakuake/3.0.nix
index 4ccef7f435a4..8bce26deefc3 100644
--- a/pkgs/applications/misc/yakuake/3.0.nix
+++ b/pkgs/applications/misc/yakuake/3.0.nix
@@ -55,9 +55,9 @@ let
 
 
 in
-kdeWrapper unwrapped
+kdeWrapper
 {
+  inherit unwrapped;
   targets = [ "bin/yakuake" ];
   paths = [ konsole.unwrapped ];
 }
-
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index 58e5ab98c168..75f2dcda6a62 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -42,6 +42,8 @@ mkChromiumDerivation (base: rec {
 
   passthru = { inherit sandboxExecutableName; };
 
+  requiredSystemFeatures = [ "big-parallel" ];
+
   meta = {
     description = "An open source web browser from Google";
     homepage = http://www.chromium.org/;
@@ -49,6 +51,5 @@ mkChromiumDerivation (base: rec {
     license = licenses.bsd3;
     platforms = platforms.linux;
     hydraPlatforms = if channel == "stable" then ["x86_64-linux"] else [];
-    requiredSystemFeatures = [ "big-parallel" ];
   };
 })
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 1556603db2cf..d014999a667c 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -12,6 +12,7 @@
 , enableWideVine ? false
 , cupsSupport ? true
 , pulseSupport ? false
+, commandLineArgs ? ""
 }:
 
 let
@@ -76,6 +77,7 @@ in stdenv.mkDerivation {
     mkdir -p "$out/bin"
 
     eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
+      ${commandLineArgs} \
       ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
 
     ed -v -s "$out/bin/chromium" << EOF
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index fa24ed9146f5..2337cd51cbb7 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "0mafk3cxwc16qbd7jzqj8rw1ys6s2bv7f9byixjcgssvjf073ksv";
-    sha256bin64 = "0sb2d7vyrckkbg823rnl7y3k6q3kvmxp13lpm0ncy821cx89m89a";
-    version = "55.0.2883.75";
+    sha256 = "00mq90h5kjj3x7asclp97x5mqy6pvcj0vqxcf77djlyjmsy1q10i";
+    sha256bin64 = "1prmj546sp627crnjfj2sxprr6ahb59ajgqp8jwy4wiy1x5c3j88";
+    version = "56.0.2924.28";
   };
   dev = {
-    sha256 = "1g4jy8zpmgqh9br2jcvbrnnr8fc5i4s5hvv01bs433rlcgaqk066";
-    sha256bin64 = "08vzar0zshf39390xhr8l7gvzai9pxcqzwqzrmizaaqi9m5pijdr";
-    version = "56.0.2924.18";
+    sha256 = "1dnqqlhdxawwy4zdk2p8zn6vg0cpi3hqpl9rf3j0xylvm3knr9a1";
+    sha256bin64 = "1hnmca8jqvammsb3y847p2n9hm93129li5zfi5pacqizqlakmv3z";
+    version = "57.0.2950.4";
   };
   stable = {
-    sha256 = "0mafk3cxwc16qbd7jzqj8rw1ys6s2bv7f9byixjcgssvjf073ksv";
-    sha256bin64 = "0qfqj8067vjqklg1zm203dh6c29sbhk6w7flvi8h3z28y1pws2qw";
-    version = "55.0.2883.75";
+    sha256 = "0n0sp3f3cmac2lblzn3mjkkhm8p6vy34dafr0kpdz14w1lad66z8";
+    sha256bin64 = "1cvp9fvdpd8qrl48lzs7f6k43bqd43gp0sbzz6h7yrpzw1c49r0m";
+    version = "55.0.2883.87";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index bf45e30eb455..fec1665f8b7c 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,194 +1,925 @@
-# This file is generated from generate_sources.rb. DO NOT EDIT.
-# Execute the following command to update the file.
-#
-# ruby generate_sources.rb 46.0.1 > sources.nix
-
 {
-  version = "51.0b6";
+  version = "51.0b8";
   sources = [
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ach/firefox-51.0b6.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "9922d61aca30e0b95209010be736dd144c3c65986c08852798997cf3cf8e4969f815565bcdf1f0d82a81bbaecf3f4cf478cda66a2cd757f36043717ddce3385d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ach/firefox-51.0b6.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "de99e6e07ea084406927551ccbb549bfe583e21e16873707124d897c38dc04b183476eb620f5d457e19375df51a19d3b57bc3afe344efa07d7832ac973ea30eb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/af/firefox-51.0b6.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "cbd0e1e659c0568ee66004664cb5277b1df291747fa22d5dd2b0c68edc59ee9efd3bdb14c6ad60509dc613e80e955314c50b589a5aa9ab52dcfb7efeb8a0772b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/af/firefox-51.0b6.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "e4a653eec075b975f3a3d6f73874909f61a82bfded01935ea152d56b7249e726099ae873a347adff4d6fa82f73a267415711483a56845980d199fbebe57a9c23"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/an/firefox-51.0b6.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "c6705fbd66a251d3427da98d1efa67d7a3f8683f166b7daab8902480c009b4ab183ff1d4f2242628ce3c11a828b74c605d5c17322234cb7972930174a070bd41"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/an/firefox-51.0b6.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "cf5df1e60d2ee8387c173e5ea73699b29ba80251d2497b4e3cb25cfb37fe2bf8967f8d39be091ae5adea2d30cb8c911124bd4272c92e9d0ee811f36d13c62efe"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ar/firefox-51.0b6.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "d6c91653320898857096b209f2572454351edd4aa4778e8bc91a6628870ca476f80ed48bd17b651e4dcbdd75013dac2b325cfe4e9aab6e62fbeec16f7013e8c8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ar/firefox-51.0b6.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "0e128e4c2edde6b9090e1278b5da9bfcf6fc6cd57c739fdad86084bc0e64637b6d9ce1fd31b1da53b85f460f26d9a02b7c95bd427de08dc46415e35dfa381b1c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/as/firefox-51.0b6.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "1fcd00eaf90603969e1e57ab486c088d7ca769c67382398caf1d0217134d6a814200f4c64a6ef8a5a58647e3cb0d45cacb6cf2cf64d7139443077905e4ceca72"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/as/firefox-51.0b6.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "fa223a00223abe964d6515e195dc4bef25a420ffbdc3131d13210ff70c584707757dfd44e53d2a3ca062cbe860ff3df590cf423fad5dff5dfdb1721f321a5b98"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ast/firefox-51.0b6.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "0314d493a15bd8069a6fcd4c86036e300ca7391f9b881d355065ebc248f9a4242787cfed6f5d13c7de828340c9013a325f011995b9544610aa93ade607334e99"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ast/firefox-51.0b6.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "835c02a80228fc317d8bc81429fa6331a5381e5ce26b7cf315c30d05e7bf8a29197d4105335bf8b32b0a9e2b65acd8c9c617afee5af3339777a0e23558dd92c9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/az/firefox-51.0b6.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "a63c05959fc74bca79f6760a31ce0be0ab19ebf372a83fcfb5b2e1807e025462f4fd6236f8848bc2f6066048862cdf6b68fa66de0aa3a0b0d7c65ccca097d9d6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/az/firefox-51.0b6.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "dbf48a762de944e8ffd39d65d4b94f67e4b2d3bf91ed0763e44f32343af0dc1183087421d0c6f737c6826e94fb205772cd6d484bfb45b19755948d602d02ae91"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/bg/firefox-51.0b6.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "a514ee7d9acdb0dcb95a5c02c8d786481b1d66b8d7de2c8c05793a330d711dc5b0136a822dacc6cf81e338a9e3eca93ff9a25fef457739c5767bd01ec10458f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/bg/firefox-51.0b6.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "6bac773ce99d25062f188a01c3006689ff7441af29a80da323e7ebe09c678a426cc3938f0a1a83051bb0efe791e4779a92b6cd09a23c676ee3629ca2d8a43da7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/bn-BD/firefox-51.0b6.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "2738e2e97d52003b4f9b55e8912bceecc86a23c4e1db432db9e9d552e91c33bf0e523a924fc1011e45887b9432af801fab93574d808cfa1dbe77a0ae6056a2cc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/bn-BD/firefox-51.0b6.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "2648c10bddde134ee699c0b26be5520a8a47d2cd0ebe99fa114b2ed7f19ba7fddd0696585732d154db67099795e6aec922d49f9871a24eda571bd6e0c24dea35"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/bn-IN/firefox-51.0b6.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "c88648df222958a1c3c9ac71e54f2b248625a6637e46c2f39419ca3c57215f5af8ce16f4662326d24712f4cdf0b5f533e48a4bfd903e5cba66b579384d3bc7c0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/bn-IN/firefox-51.0b6.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "b97ba8c5bf7f282a323ad3a4e423e85cb9122b470a94eeca91df3c00c6ab3331e02bf36ad7e87684ae3f73770c213ba19ae7179117228ac7808ad2fbe5d99145"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/br/firefox-51.0b6.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "a5b160f8776b396dd837cc574cb4ae625e58afa0443ae12ccf857d52b5d5e16d21bea6dcfe7a77e52db6c038541f01efc78d4da0de74625992e3d833f84f0b94"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/br/firefox-51.0b6.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "a03eb659b54067721861a89d578b3fca086b02c8013e7e05b724caaa020f301a4015d81e4d9f2dcd69223930c94b4e0e7f12d4e0de4b2fe271bf903b75ba9ca2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/bs/firefox-51.0b6.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "18cb9436347d690aa1c7900f8eeaaccfcdc585c3ffe921cd77860596cb8cde01174d709d03489483b5867fb9d647baa9885673b983037656f020d245f4159da2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/bs/firefox-51.0b6.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "c64e5146ea1bdcd65b46dca33c8ac772d4c82ad49dc01fb4f1e51a56595e68167f7e4c8ecbe0fa3df258eb6f1ad6c2d9d0eb281e5c7b92831a03f7fbf8e2ddd0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ca/firefox-51.0b6.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "db8c8aaebf6679bd28d615e1e2304285ed0848906f93425a255171f48d6c75aa40fb2d88f71cf85eff3410d199032ff152585e277efe78c69440778705ef3b26"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ca/firefox-51.0b6.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "8c27b06059b07d2c915fa11ec7d57c7519093a9480dac97cd6c4a024777a79d64687cd3d0c48d0c723aa10ee533164c4f67be9ad6d1379bffac98755a4a3a980"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/cak/firefox-51.0b6.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "47cbf1f054fa5820ce1f8f769ce90ac26758f99ad300069e3a6c029e01115c3b12b08c812ebe1309667c17c1640d6cb2e7174fc6e050db8f013003436b7845aa"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/cak/firefox-51.0b6.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "94ffb85f667d4a39c0de3d4b0853e72e9ad2d60822e7224110aefb187aea5ece6c0be0e82ec4d4f686c6ad710b73c54c70cae10282ec0b48ca6623d3d7558444"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/cs/firefox-51.0b6.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "8c5f82a831e31c42629f5e6c6406d5a1ecee37506b89cad845abb110b0f2b5a809ce3e81e8a70915f993fa96891fca4a5e36ff778bd45d23d2671ab55da9f874"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/cs/firefox-51.0b6.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "2523492cbcd990a0204dca79f393b7e034d1337e9ff81398de78575d2a98c806680cc363f7339514d9f57308bfe4cd863c8710f6bb6373487b584aa1e8de4077"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/cy/firefox-51.0b6.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "77080af629015197663e1e3de1feb76da0ccba3ce1341cf7592ef8d6d0b477f1349d944762d1e810d1cc3c8a0eb23bf44f73e7c00d07d1e9c2a0bc2e2c1692eb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/cy/firefox-51.0b6.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "3c4f972e53540ba28be94bdc1e0b67b6c744a20f0ce2c6bfa7a1a92ab20ba806a73f39c5c0afb0e83ed5c822dfb42ea7c0c2806b91cd889070e148de8e5d47a0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/da/firefox-51.0b6.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "d082549257e17392f75485548b1ed8062e155687c3d2f0a3287ec5139e6ad1db9cb4a8a449ed2ce18650e07719b03a3dbe1ac25589102c322727767a6d663dd9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/da/firefox-51.0b6.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "8b268c1d9e35a91e2a71623404fead75966d39d893944c311ceb572e02673a06c61ef0e08b9c0ba246e6fcd23772e94e7531be535b69c27840478ee1ce3cbe6f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/de/firefox-51.0b6.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "0b58e025fc3490c6b94df2f60c722edf909bccec3264bb9f618e54391cfbee8800a6ae1a2c625f68b975daae73596464bb53ffebbedd545bd4a79e77c1d9ca33"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/de/firefox-51.0b6.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "c2fb608c2c71412f192b1b910ffc7b270fb8d02b52c76af26fafe362c0cdb282086e902fe1e9eb3bc9d2d022e474816c45092480d199fe3b039083f0de94a3e0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/dsb/firefox-51.0b6.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "4f0633677c15ce3b9a4d3bade50c5d4e18c76b898cf82a6169213674220d4b82132912947aefdc2ff90e6e639224d76f3508242d664d051475366efeb4adf84d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/dsb/firefox-51.0b6.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "d7d7ec0004bf4712082c57f30e069cbcde9c70cd10d412979228f18fe2056cbab9c741cfda76c8cf5ffaa3086320dd4fede0e140fcc88fe200944e2f407f7606"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/el/firefox-51.0b6.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "089054405ee749b30895a8c6cd83a630399ef9cc493dd4f50d0654241ab35ee63c989ce03996f0921820ae701e90bd7af7b6a0058ecba25aa5272ba151da9f02"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/el/firefox-51.0b6.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "2fc754b1d951b4d008d9d7a0cfd2555e394e09f8a28adf00334fa780532d8694a78c19831500fda3aa1e85bbc649b7156400d659de45ac4d4ecc3dac3c642124"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/en-GB/firefox-51.0b6.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "4c4ec11a0642efe15b82991e8e3d614a239dab86866773b2ad966c45d928a0b6cba73c65bddbd0233cce0bcec7489ee2899115a8e38f02db1490a5a9814a5c30"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/en-GB/firefox-51.0b6.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "6dcc54ba099ea5c6845b109eb98cee58dff6bf2dbf442723a3369bd673d43ffa01c7656011d6280f5588e4ee49e8214de327ac3d7fd92ea0cf10fc9a00a3ccd6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/en-US/firefox-51.0b6.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "7c53368377d6b4258ba5a64fe16af394b514abcf516d04551c7fb22ff09ccd4fa37b0e16a21af179329f78c8970179b4d66b2882ede54960e9a7524403f7e7ab"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/en-US/firefox-51.0b6.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "d3c8f949401e6b9ade7e620e0c0f9324d1440a313521d385d7ed038d16628c70762a90a46c45eb74c6880ff35c3ac856e3a083317c016ece2d4bc8e740fd6aec"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/en-ZA/firefox-51.0b6.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "f774c2c8803789dfd335dd6bdcab442eaffb2b7bdc1a3a59509060af8e1baf57e56bbca17224038fbadef1168ae20063cae8e6f98912ee35f031870ab65155b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/en-ZA/firefox-51.0b6.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "802e89998c068af3712daebe727d7e865446189b436823175dceb325ea4c3aad8a0b4786961cd28013fa892d9b94d3bafd967bc8d3ebb40bd7d97a76a7c5bcef"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/eo/firefox-51.0b6.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "103dc2a263d1eeb0bea61e3ddff6d16e399501c59a61045b5821654af7804bac571ce6fceb1e6616da44384d910005cacf44e515028e5da8ad58f1804298c0be"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/eo/firefox-51.0b6.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "0204acc897416b13938127b4fcf57eae2abd50f4cead0124f3422efd4e9122c8d3861be6fc5da0d996260205b938e36cbd064d4f2fde48b1e6afcb2dc3f92f1e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/es-AR/firefox-51.0b6.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "dc3f7f830ede78340d323f5062edc564fec3bca2eee32bd88d729227e8b7cda4739e56dca54fd7d8a7856778843012b3c52acf4d773ab53249ea8c186896b7ab"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/es-AR/firefox-51.0b6.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "1a35ab3546f2358d8c3dcfe85528bb42142fa44a565b0d6dedbbff95d230e25ee5627753de50d7868617de5086e8ff0d668626b17cf8f47c320865e1c5a4a3f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/es-CL/firefox-51.0b6.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "ae16ef4d94c2b75bf57f425aa670ab71525655a1a092d7151a513c783c7b4967f5b7e0726e4aad676615165d84551f8ec59b7cc8ad18570834e9abb1089fca6a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/es-CL/firefox-51.0b6.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "9f389f9e5bbc30be888942f62dc35360d01d195cba416066321c5f2153f9aa8c7d02f52452ecf1f5d0d290c246066b9fb19f93141ffa0dbced4624495ac3c515"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/es-ES/firefox-51.0b6.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "cebede3a4d5750f5b7160dfb8609faf7c73892689da08c7b93b87b6cf159184e04016b3ae92a49bfb8d40c50ac45a8806ac45c30b436a466875cedf4a0270994"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/es-ES/firefox-51.0b6.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "b58dc439dc2186bb23e5e401db162717fa0adb90517660516cda553f00100120da2db07e5de8aefea2159537408217825efe1e8d843b75175848f1cfc88f6151"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/es-MX/firefox-51.0b6.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "3a263de75799e50ec08961b0f25c3e5366129aff7e466f9dcd8820f1f455cf1ec959ac9a4388ae8edd92f3f5a1647068cd699b809f1e4de9ea9f3dd25b4a4e4c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/es-MX/firefox-51.0b6.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "1d466f5c2c2f557fee8b9997fb9f17bedcdc3287a3cf972cb963e47cbf6cd3a440296ffe60d93a45394f83603445a31338f055835f965a09fe4f32839b628ada"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/et/firefox-51.0b6.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "70f2d3009b715e27b350bcedd6503a311db8a2c6c75fa29eacdf13a8ea7fcc674680f59dfd18bc2b0440dd528d8e63bd885ee5ff3dfc88361efd3fb137ff3903"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/et/firefox-51.0b6.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "c9c51ca82cfc0062576a230a0f78900a62a188724f7eecd3786e78e37c4ba410dcef2953cbb5ffb4eb4c9f750bfc70ea0aeafdd75378b51bdaa825521db0f862"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/eu/firefox-51.0b6.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "8cfcd9b768bb83978697db322ead6afe39b6dfee7c05b1b4291f2acc9f84e450c79f419b3a158e3e9757c36d739ecb4325ac51d129015309999b5b0cf8f53df0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/eu/firefox-51.0b6.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "cda51c8a34b72ee822542da864f9de3d43a7448d5db77ca775eb7cdbbbc99c432918bd397f53a284cc30257793f1cf50d80de4621e53af99f61b2e6542a27751"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/fa/firefox-51.0b6.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "470b4d9545479ed1f97059d4af318c7f38aca6bd80754c0e56c78912164244b4ebcb9aa697a653d608bd26919f76fe0a12dcd02423315570d91aa4b822ef2e76"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/fa/firefox-51.0b6.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "dbe302146776542e63f0b98149ad72f514195f7c3f7589a14d9bd96b36d60710bfb2df8a8a931122e58ff75909832a6d26366b171bcb2c78c08c17073726d8fe"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ff/firefox-51.0b6.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "725c8f4e6ee92877635993bdc83b5d6098531274239e74399cf94c156dd0193b900564a6a1c99b2b57c896f43b9769ccac1d6f280f5338e407a07a740ee4ed2e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ff/firefox-51.0b6.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "7e5c390195258b50f5e9a43def66550b11c1f410b21e69e141bc5903ff0cd6b9329a5927249078d64de31edfc8f711f6616f8d9e2432e5e1a03d4472ead43bc6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/fi/firefox-51.0b6.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "8ce26856aafb9b496b703c5446a9aced0edafd21c321496021da83efb57514c38ec4065e0f3bbc79342eaab524a4592fe7d5757867bc7af778717857d1701b45"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/fi/firefox-51.0b6.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "152c5c7721c373a1d618adb8b89e47365a5e45d621c1dde7070c57ba34091a31c712920d465dbfe3b4fa4c92547249ea4cd296b1524e774d151d512b8931ccbb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/fr/firefox-51.0b6.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "3b5a92eb7c1871551b16a4374713df0db4d9af2d288e4a1b4851ad805076c7f4359d164ea1079ea6a48dd42f6496bab748037c7fa2f3be338823279552726f87"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/fr/firefox-51.0b6.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "cad55002d699a0791496f4b839899d1c3ed312765e62f4c02fd9886b349f7b2bc9a531003c97be3ff75838d011cef2b82b7ff3a2d41f84a2189d098a8557577e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/fy-NL/firefox-51.0b6.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "807180c0e71c13ed5e9081c135b9de19b0f9ce60998b43d6c22364a6f07d9b8e835993e5a12d8c81f3090d48e53bdf84d43f0a1c5829e0e88b273e4e1eb92f1c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/fy-NL/firefox-51.0b6.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "6e6e2efa9b4a5b9ddb745a2a037ac83838a6038f4f97a4784cdc9421cf8b673b51d1c814ab0b5e6114b27bb19ac3b32a42f15e9b0db052025246de53268b40b1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ga-IE/firefox-51.0b6.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "a7e2fa69e0a9eddb019874c450a9874c9b302084872c536f04012990898e7a9fabe0eeaa1052a1888dc21bff54bb0872c3bce9c4df6c0026caaf93e1ee8fa533"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ga-IE/firefox-51.0b6.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "da861b0bbfabc6dfaf46f9b45038794da940023d0428b97957f220f8287d081972e2e97383c7e3d31e4af53ad769ef23490f451929c9ab2bb58f3eddd1f02c5f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/gd/firefox-51.0b6.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "9d61356a39ca08c751668969268fd219ee35428d9353f2cb8862d9552403dbe8c05ef961e0694eadaa82de9207e90fe5b349dc27a4d50981c6eb83f59617af85"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/gd/firefox-51.0b6.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "54c1e3c396859376c7d95808f39b564380a875abda74ca7eed9ee96947f4afff3088b30d6b7c70de830bca81a8abca9c0379733130be4617e6e44218a96ea3e7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/gl/firefox-51.0b6.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "d72a791e014c7c5a6f6304f35c74f572de4ab68f514598fe076d6218b152bd12f2a764262888faeac397f802849920adfe5e97a3b7d4331e43e4ce2de75aa31f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/gl/firefox-51.0b6.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "38981f59e6499e1f0d7cfb88a0a62ea0b3874a5b956442da0c9a2852a8c35e6885ba467084c74b482b1bec80513c37835a9dbc5372898ec4500f4de9afb5a71b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/gn/firefox-51.0b6.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "c44d87a70e45d31412f38d0ba0a25a1b58d661d91c7a9b6deae19ec40c88da4a480933ba257cb83fea4120d31c3f959ce9c5ad0da4c10247b5fa2c68fdee6aca"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/gn/firefox-51.0b6.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "fcc6c0432e61b90c7cf8983846d89fcd89c7b9a87eae2c6421194a8c26a4210e2dd7ec87be25e3ee291163fc70ea7703f26adc73137d4adc7ec09b09c152b071"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/gu-IN/firefox-51.0b6.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "a782a9bc8a2008a37feb74b4acbbb679eb406fa04745d38196f16304275727cf2215e301f3f25df443430684dffe800534e6f7bd7d35effb2f051895b8426825"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/gu-IN/firefox-51.0b6.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "eb59334967705f215d5ab445e829ed1d1c53859589b08610d349cf2bdf28a36bc1ebb1bb18afcb8279790ebcbc6dab032bbc0389020959709d46e3e23eae08c2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/he/firefox-51.0b6.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "e0cbf0607d45cf2f079ca2d138d26866bc2d0a65be9e64514417f77ecb89a0228ae228b876af56fce712d9e47aaa41f93c3c908ded27e2a8a1224b2100919f92"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/he/firefox-51.0b6.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "1202568d873164c3bd104ccccdde7e201a7e15b88aed1ea6f1fc76099df98fb074a99f3f3fddcbd46992c603a7009ce6dc769641737cac82755c0d2e5c410a38"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hi-IN/firefox-51.0b6.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "9d05eff13dfecee6f488d7748c3d109ae6d441760a5fe385011fe1a9d7cea2e4c1a8e3fad8fa8216a45af2d8f99ec8467d588f8fae410eb52f71d408dbbd03b6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hi-IN/firefox-51.0b6.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "a35c3679d390ee6bc1ace19a07dd3e96b4bac7147d698ebec42f1fb800c9f9f259c194140ff821a8fd84c0ba8171c5aea01257987b051a07a705c82b60ac1f34"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hr/firefox-51.0b6.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "fe1a5472ce390b5f6825a40176e3e3e13d79931cf44447da06bf08fa8c483368f95877b848302e7e9cb0c4a8b7e13db03fb7bf895c78b8b5ac6e707dc2ac5979"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hr/firefox-51.0b6.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "f3ee08747a0b209681d53fcb82b139bc75797f0c7b60bf35e55c2b702213fc99e99133d9be0df74a4b925d706583f545bd33d99b96ad5eba2e7d7308c4bec318"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hsb/firefox-51.0b6.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "a2d170a74de204d24a883cb0be93f9c55eaec4d8872a85e59be3005df7b6f78f02d95bcc0cf24e9b9ee6f6b9e301acec7e692d259b98718b4088b84c56ae0347"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hsb/firefox-51.0b6.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "22ae95d23ac80add17200e042e03830cd1e9e709d34e5906217abacdd626533e1e1c359e1312b2dcf44d0dc184e0d9c523dc870c04a759c7c8d7f42abc05391b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hu/firefox-51.0b6.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "dede1498aae89a5cf2e78ce927efd801d058fa0a7cfcda6d2aca816b913206e39b78581f48100b2ecde4d9408be30f221e66cdb7d1d1b4e9a86d5a8beed372b5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hu/firefox-51.0b6.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "552c6398313ac5e8d49373ac8959b3e39281a067ecceceef8d3d26c53ec276a8fcde181dc96072cd82aac8e952f81a821f87349a58a9f43c4ee41410bfc955c8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hy-AM/firefox-51.0b6.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "2d3b69d793ae4483dd73bd205f6692f86254735a885609033994e697b6df0b843612a10df0c227af280b94d1435555b3caebaa7ce0d229e3960f1d219d1ba180"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hy-AM/firefox-51.0b6.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "760b31298a9f7ee58035089581742e3a855aeffa4ba7a2b34d927e52834a684329f8849201f348395f3224e60aed6540cdb76ca3c5a8fcb0d34c343317423917"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/id/firefox-51.0b6.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "be01e48d71ffcfd99973e1d34d3c8779cd79c13a16f325f9e760ca282d7ccf1582e3ee33eecec2f4146ad4001ecf9d8c91a6dd433918c4993e5920fd743ad50f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/id/firefox-51.0b6.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "98bda73d7c1cbcccd64b186747e5cbd9a798704c731bf76f05710be945be08a0f6538d1cbf9a839d939371e57428a3be66feabf06cc6166aba27541599748dcc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/is/firefox-51.0b6.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "45c337a8c734778f20ed5199911c24b92dcd24d27d4213b9932be675b215fcca39953e914c0ad4ffd35b4401f8debc89cd0d28e5c3b980c94e9f6d1d59f8b105"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/is/firefox-51.0b6.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "f28cc5822333bd4497a7d5f5e494e551baba9b7c73f7eb303bc7fc3b907333ebf759ad7e05c0e1b85eec178795ecad4803d0dd872470ac6a55ec4f3856e6596e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/it/firefox-51.0b6.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "62e5bc1312904866c09a82ac1a237e0c6b58ddb43f5ba154162ba5d4f51b0df5c54b92f4d6cb0be76f6d5aa5308ad2cca079bdfdcf1893d03f470898d4524015"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/it/firefox-51.0b6.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "fa7c0cee7be57b9dbc48785a9320597d03a68508578be7dc0e0d465d30c0d6fc54f330b2f65bf21be0c99c9355daf93f53a7a3b0dc25eda2dd109ef7fd04368e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ja/firefox-51.0b6.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "14d190cd8b483af4d9d7c97441e9fb198c1f675e4cc8878e692d940366ad83a48a279957270a4022ca056e0bc28b0c8de625bc81025bef4db1d5e39942376747"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ja/firefox-51.0b6.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "d62906737f20a0e886800f883fb671ac798b3cfa04303d364ce513040be3decac3da828578c8fb971908e14cfe07b82021d33f9c24216dc2869524fa2923955b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ka/firefox-51.0b6.tar.bz2"; locale = "ka"; arch = "linux-i686"; sha512 = "417ae8fca27325c1a1f20b3ee88845db8f03350287869986c6665bd64970bb3f828ebbb516d36c5b9048d848c65f767c539198ee5aa29047cf145851b3a1148c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ka/firefox-51.0b6.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; sha512 = "c4d445c52a0579bb6e38e1919a47e7cb26667a1e9b7c54a3d581d56cb55e810fc44cfaba17a89e65aff214d1ad22bb43141a2a776f86a9e068ccc0743c9dc202"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/kab/firefox-51.0b6.tar.bz2"; locale = "kab"; arch = "linux-i686"; sha512 = "64b677faaf6550dedc968116a86342facc92d7b2aaff8e2f47256a9151bb834e79fc08597808f37541b303eda283d9b8138972547db614a07ab87ea339f44df7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/kab/firefox-51.0b6.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; sha512 = "51971dab1d818c0360e351738f96083ebfc493397eb48e39ea2ff129c155bbabe50b591180f32ff6464c66fecaa8fd8b872e206846450ae8e6c76da21c538f8e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/kk/firefox-51.0b6.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "3674f209fd4b80daf47319a5ae6014490a9cfc3a64c548d84439dfdb14a3f2053c94cc5e47285924e21409fbaae03cd1f2fbcec02bf5fadf1567379d172cae2c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/kk/firefox-51.0b6.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "a7621c7f77f3315bbfac9c3587f05f726a65ba8711071f4f48bdb0e7cfa866f08f7c8bdc71b02a35ef47ed6572d899ad8c5a81977361c9e3845c4ccb84fe4f89"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/km/firefox-51.0b6.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "e9358288bd40d66ed2f27676cf92974e1c54f098f8a7978bc8d914a5e045bf94c68efa25674e42f4d976dfbdc1ad23b44d1174f0310e798f1cb1c7c8c1b93349"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/km/firefox-51.0b6.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "f5748497701c5c66fcf9fd508664c6846eda0c353782a259c58ddb0852f49dee6bf1b067ea87be53047d31debcc3cd242692bfc831a8b30b6aa01303d9b0a243"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/kn/firefox-51.0b6.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "e8f8331ff3d638955d087d2b75ffe7fa04426b6f72a35e1b0e194c92948793fc25e25ae927f03f119dac01a6cbd30f944f5022c32ff933b15a8dbe67245f310c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/kn/firefox-51.0b6.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "bc82153cc0a490be1c0e8197c3bb5d69bfb3799cabf4ef55650ea9164ce68c94e846b129fe8988c5cfc9699141b6313add4caff4bba2dff48dc17af2e173cedc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ko/firefox-51.0b6.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "58437f794e59333093bbd5a4d673d1a3149ca3468ef9a31bb0fdb4c40773faa6ed688b7636191223021e9bc7bfc09726dc45ad627e4f731f19ee78cd782ecc08"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ko/firefox-51.0b6.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "e3528d611eaab0313edd3def0753ddad32a624136c32ea181807b0efd63f5205002a689d5b9ebadc4dfca8059dc4ecb236709b9c64d4743989c9a590a326698b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/lij/firefox-51.0b6.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "80c30dc8064a0a075613c6720b976379b3a9fc4ca05db2c727a4bf1e4abbd4f6f44b45eba42bc3633c164cc3c15ef756b85d638d3ab857bd0e6d21d9e6f640fd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/lij/firefox-51.0b6.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "22daba4493e91d7ee15e7f9a0849f73dcde985ad909d3a8502b30a6e350cf04dc98fe2728068d2f3d8b7b5106d57caaaadb2fae70d49d50d893854b99a926485"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/lt/firefox-51.0b6.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "fd4ce4207ea3eebda966881ab9f113688122322d16a2c9a205b17d7c73ae0de4fd5a48789e01c96392ac5c84a59a790269329ddd9686b9cfa64c787a817101bd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/lt/firefox-51.0b6.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "8dc6e28946a238db81695080f73b3502e0f88bdb2d835c88574f79ab25896162c84b9184a37142c8ca1fe3b28f42d87be9e88b59233dde36287d5b05371824eb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/lv/firefox-51.0b6.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "57877344c135ad47073e992a06e5568a4564209f2a79c2b1851d69b2fff6c9c32d96cf3278e1bba4d91fc001765f4d65d6d4b730603ac0a5cc28d2520fac2d60"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/lv/firefox-51.0b6.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "f289cda83f46ae3d2343f66bcd007d99862768ee48220a92e79f2b7941a2b2a56ea000cfa1986283e2fc9ceac749f264f122503f1bf71676888473bac9841d47"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/mai/firefox-51.0b6.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "07a87e16e68b9089c7aa58048ae4b41e15bc267d9810a218c9473f0d1082ac935fa5adb759a9ac43c0bf2a6e79e830c6344943cb7b61b73746911dbd66a7fdaf"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/mai/firefox-51.0b6.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "34aec0414161df6ab435b7518f1d522c4bce6eff415f3ff103d31e9ae6099ff6b3be03099a0f5a21754daebdfff852193e2bb93ee52d622d26644aea94d72aee"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/mk/firefox-51.0b6.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "8e4a61d4f20c17f1dc2748568d731f8e9f9050741896f98ec761d551a0c9bf0836731ba9049684819d71f6eabae7f2d1e93e0add593661d882d619783fb996ce"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/mk/firefox-51.0b6.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "10696ef0643af2ed0a7681f6679c6eaef375ef1e193b0b0e315d0ff4aeedb373235ec4e8d26fc562887361ce659a85163c276ed1fd4d4563dc945c7281786298"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ml/firefox-51.0b6.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "f2300cfbce84cf49b434f56b262c34e734eb2ed47abd5b318b9ac9197252869c80b77a7e0617a61f8a1d06a7e6c083479833865b5f1a0e3172102c07d8b9d878"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ml/firefox-51.0b6.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "ac0a334c3beb163351b4fc7eb42ea8363ba9667a52cb14c59f32c404bc362da957f22a44d49f09299c73971a737685d8a93c1fe4eb456489fcab2eab1be1b6b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/mr/firefox-51.0b6.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "e8536f0786bf5a49536f7703ac50fbaf31db932c1c855988c192d495365e677f674f1d84bdd5b5d07ae0b04c6498262a29d11949f4ee172d1ed97c3708e2e0e9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/mr/firefox-51.0b6.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "b7d89ca6b79661098ee64cbf945a7080b76a8557f9a2b33fb18b8166bd9cab9cf4c775e3460bb4637121c6ae2159786e185c33cd8eb819410edf71d8d962ae6b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ms/firefox-51.0b6.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "c3d6c1772f2d53e6e3928d9c680e737a03cba9fb22fcfe051c49afe147502c6b458832c735ecefd29a06a22fd91ec13f98f0590f386c5331d6faefb83afc64a7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ms/firefox-51.0b6.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "8f44e7510675d691a4735d13169c529414942b8a18c8106dc220b53f4d85f9c1284314279ef5cd1d59543baa60803f117796f2fd2d55ecc01a6b67314b1e23a9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/nb-NO/firefox-51.0b6.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "2d42ede2a1232c48068bbde4c9401e495b82ebc356cee2490e8282e7a50e7ebdaf235e5d109a6ad1e30bb4773b81a75dd8d8f338738db499a8bc910a435fcde9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/nb-NO/firefox-51.0b6.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "05ff88244ec7c715e642c62a2f71980e94346624db05b35fe35a605f8c9bf0fb661cd0aad8ffc7a290a3507711053f7d31573d4e7e82482de63db3492197a7b1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/nl/firefox-51.0b6.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "3f7d57fd1a64f4c99a573c6c2272999bb9bed78648a1476ae3d1d843ae7407612a750b07b6730c0c326b57e16c87df374049c49f8e9e2fe9ca7d14860af983a3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/nl/firefox-51.0b6.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "26ba18dee36247d64447b7aaed71795e582e86e333e0feb95f1085b26508299044a970fd535bf57f38e0caedd116e10a3eceba05c5f1cf92649553d6ad95d1d5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/nn-NO/firefox-51.0b6.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "649a79569ca51e418101d013061bb7ae977d80e0ca4854c03e256e214e4a0c2373caf994fb1d41db6beb4816524e4ba76d434b7a2942b20cd628b42f409792b2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/nn-NO/firefox-51.0b6.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "61a99b54b807e518e62813e76606111737904c20afb73c12e5ae866476f829a177365a4c8c9d36bd5fa2a355f512f556fbc9bbc7d1fdb962535dbd6340907b04"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/or/firefox-51.0b6.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "68a761c18b24f5ab5ee511f635653d1c3e798239f82a120c2bce73d5f0e706b5b8dad2540ece11361c0652f34b00f767c6be2c700c69a0d0eb08c35bfec29fcc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/or/firefox-51.0b6.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "4640280e8645f2ac9ec96a5b02a2705bcc96f2bd3d25c6456a5d4b0a45100f264afbf618dcd8e5b211b2c8186a2ed8bd0e306d95b118e52bd6548caf5f32d58d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/pa-IN/firefox-51.0b6.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "2d57687e8fbf53cf2bd8b0bc6780dffdfe1284b47fbef20ab9fa591e2eefec00e097bdd24159a28700d47f02273395f32fcabb401d0f5f3e13cce75481b9cd7c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/pa-IN/firefox-51.0b6.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "0898c9577c92d92e51026948fdd1b201e989ca1b0ef0515f3a22a9ab2fc0932b99d859c90ca0137a8bbd913c2d5f873a77b75fdbf01c330064ed2f854fc58dcb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/pl/firefox-51.0b6.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "afaef3a9d125774454adf37f83447600536db9abd7bf388a2a9e9024ee46f67269f122c39041b5537be23b19af39e8efc27cf142064fdfcb5cd3f404792b1383"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/pl/firefox-51.0b6.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "350c67a48d318bb19cf4885718d336f3242a648b40e0f79096214f4fd6254882ff1af2a50111424a00d2396fd1c481a9ba1125f098794296899cf306269993cd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/pt-BR/firefox-51.0b6.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "c3a34e85cde018ef1323786e373e8842cb6c590cc8db64441e99d5a092d87ca7cd935dd238b30a2752393515fd5455100e97a98e08b395b4082d09e800e25846"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/pt-BR/firefox-51.0b6.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "3d986e9e932156db8db994484f19519dd5dad00e4edd04d5d2510e1aa1c9360e0cb01f9369705861e806796cbe246c1c79882320caf91a59fd400b439bb4db8a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/pt-PT/firefox-51.0b6.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "2aa6b07f64b83287aeee048edf436632737da32188ce650ea2e323fa5587457cbceb05356b3917b75bcd1927bb9cf1da89e23fdebc3db2096bd4598ce8cc714d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/pt-PT/firefox-51.0b6.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "87614bfa16f6bc89180775331a52054a597ab54232a92af0062ea47b8a1c348d9f20b5802e2cb74f1619120eed56ed02bdc705e81f5944798ea2261384764d1c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/rm/firefox-51.0b6.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "1e774ec46f28bc561bc5dbc9af3c0c5a198485f5da7a7fc7d5d1ef920b54227ddc9b0168b7cce30cc30cd606513aaec317369335deb945bcf94fb49bf29367dd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/rm/firefox-51.0b6.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "24239e55efc9ec3979a0ae64cc977ebf853817b358c39266099bf892fc6cff7bc4e3adbc927684a95b4abb9ffd08877c5f25b2e579884ca93e0dad8a717a79d8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ro/firefox-51.0b6.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "3d449880c97442f60aee98be29abd097330b95acd9f121a57744d5694f5471afffc337239b2d3e527b2dc709daf0607b73ba664ddd466eab6236f3d842ee93f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ro/firefox-51.0b6.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "90c0cdc6d9fae3620770455b80db01920685abe7514b2b112af32ee7554d0896e4877f2f9ad38f827ad8cea9fc8f9f0c6b97c049d7e98cdf20612a50018bbcc8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ru/firefox-51.0b6.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "42d9d4e4f2fe48e1c7db8395eb22737bd42b7a771bf8bb0f69b210fc4a2fafed421e22f498d68d1ab3e1661a3e828c1e21e096d655f47d6c6216c6c8bf4a38e8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ru/firefox-51.0b6.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "8456ce7fe9ec9ae2c8e4ee74ceaa75417d33559e84277350ae058a109f3b8cb7bcc52e35684bb343f8cd3f020df31c26ff15d4e6bfbe4d89733bbd4cefb307ab"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/si/firefox-51.0b6.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "4d0132f95f13076df9cc4fc6e6fe6912d16aa3c71fd18a6dc81f4ba9dc53842b7cb4a3fb4da62436fe6d9e4061e90b8c02ec686644020437b7da78ea5ab09479"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/si/firefox-51.0b6.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "5947c45892fcb7f1d0beb429ef12448242631c14e568495d6c3a1e21d01cc44e316ada5c9d9099e8835e2abfd286589622b25eb8730ef2fce9ac18c6b854dd01"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sk/firefox-51.0b6.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "93eabc3dfdff6089ba9ca7ec7210ebf174fd548d4c5e3076551470a27b0b7f19ab8d4b6813aeaf7206ea8bde863cccc2e34f447e4f09a3b0b0f632dfe5c1bf05"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sk/firefox-51.0b6.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "8b4a24c9eecfc02ef1dd297e98590471ec3a9ee37abc248f06ee69e0b822537765fa1d6dc255c9424e996af27f1cf6f45f50728d2c2be52b8e58ed3e8c1cef7d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sl/firefox-51.0b6.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "ee064cabe643fce46242fed3292e3067159ce0dc57f08d8af67658f37b7cefe80082609be57e024b939054cda80f7573ca6715bdd4f084bb847e32776267394f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sl/firefox-51.0b6.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "a8207ba7d7606e93f6f39ca9e05320181353d8bd05f519196a20cbe335aba825edaa1403488c539ae9c622949d6b9c81bf5a711cc1118963e8a66a12e2bc5133"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/son/firefox-51.0b6.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "3a5c3ac7b1482fac457a5e537d743f14eb99b6d139ed840cc5c1fa4020e7c4950957b9cafc19dda8ec21741b48698a91dbe3dd455c9b002af407eb68a29cc8e6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/son/firefox-51.0b6.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "c3b34c6e958344acb66101712d4ddddf4041e060e45037aed5e35b8006d37bc92d88c9478538a2e3ba0dd14f78ef0027a3a4f569038ba3fd06ce3c2438c48a34"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sq/firefox-51.0b6.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "00782a5b28cc04a1fe58309503bb984b29c6842e4ebd9c8e43d8965d9041b3a676208134307d3b8f04637458e052dce8c3d5fcb593d48ef93a71fe3bccffb684"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sq/firefox-51.0b6.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "27ea36701359e9baf447434d34cd4e4615f4e4d1d1a82cf93e79390320b0f76ced36784d66fda6354fe5bd5eed8bb6c74306c922880b8d42097abbb34bb0b6f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sr/firefox-51.0b6.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "b32b88641024c0f263bf8e190ab0bd8e3d2d6091aa38733971cb8f00ad1c776859d5b037ef6f2b6d220f93629b39c8730f99bba654bc3791e767b3f7182ca758"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sr/firefox-51.0b6.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "06b188b1dd9113a51d2cd369721919ff6132cceb108304b485c9d42898cc7b20d821ac201102af4652f157ea56cd7e17b5bd09ec645243df7ef8e2030b003d2a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sv-SE/firefox-51.0b6.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "08a713dda121e0df1131dfb50c5196c2b2e4ca58823a56453c23955d94f53b877f737c5f5d805f1203a4c9361f25d0f8e8327cfbefe9fdc32d2ddd5dda359e14"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sv-SE/firefox-51.0b6.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "b1d35953186b4fe3a1a823cec5a399f81ffcbbb2379e488805de10751614300994e4ae6f5e68396d2d45b72ba2cde0874690a8c7d47ab224d1e653a3ff380294"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ta/firefox-51.0b6.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "b8986fe3919db0386ed411c1269aba0f38fa6c01a36b24544e91e382e3f22a72b5cccebcbd59e21a1573910b9f4b838cd482e588a92153b3932835bbb87b8061"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ta/firefox-51.0b6.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "a98aa3c2ef28ece7ef2866af5f0044f195ddf56152131d608320dc211f5eb4d5f5be0a95e138598e32d4160baf29281219e6bbc38349ca374289144dbfbf94a5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/te/firefox-51.0b6.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "4f040903bf00eb129adb0aa431921bd39754815b8a789b9e8118ecd87bd6923ae02faff7791f17e326dfb844745b1b12ecdf8978c814be0964825dbdacad146f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/te/firefox-51.0b6.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "b2e54cb4ff6421923e20be26db7ef302715a29f49c4c0723191096aad9a910e3f68291d932bee6f5a26fb3f85252a2cb89434dbf8acc2ff19860123bb00ee18b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/th/firefox-51.0b6.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "b2868ea454d231e87e1389005d5ed7863865e708ac2b99075f08644875323427e4dc92a245be4de90f4d5e3791b352a27e26e3ab2c08e6f3dd8377225af70a00"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/th/firefox-51.0b6.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "e3682094081d4131e68a9fb4bab81a5430fe4bd8cc1903f24c48e110313d3489e338d58dcd6719a28d5363bb35c734144a695c3e81d1a805a0f20679a52ff645"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/tr/firefox-51.0b6.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "dfa63ee5ba94400175f1252c06bbc1070579a3fc9395f55528cfe6a0a99bc6a654708ffb930efa4153322c76532d201863206b14f07973bf6713c90b297898b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/tr/firefox-51.0b6.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "29c9efc3253770b953634e6f2d09cf82245c9b580a43103a28a14adc795ae307644edf3dee65ad4d7248efde6562485750f1d976eebd413f339044774b9660fc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/uk/firefox-51.0b6.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "43157bfb4bca885e830035e525ef2642795e9f22e582c486f28a99acf462dcb09142b9e1fc35f014f800e5f30365d6bc76b0c4b7caeebbd9e2e3fb4bfeb780c7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/uk/firefox-51.0b6.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "33790606f02644a0b99b43a3e7d9df77dfbea8404d8ea2ad34ab81090fba6fe4553fdce83425e27a5816f8af0725f598efa0cefba755af537f1d0a953eafe8af"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/uz/firefox-51.0b6.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "0ce3bcd1bd6c7aa9d363ca869d9f1638f930b5df7a7e22b88b12300dba8cc0ebb9e7e1b61318b49e9452f21f1855dd3e0b38448f4067d2a0683b6aaae39e90ae"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/uz/firefox-51.0b6.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "24ad9eb31144e51e69653c50501ad2c8e8a5c40d13464da3ab8af464cbeda9fc37a47401987f48157603f679ff281728ebb10e686659f1cce8db764a4c0b3216"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/vi/firefox-51.0b6.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "c68aae839b6438ef934953c419d99921378bd81aa08da9653299a3410d2e102ad9890870e99ff9541477a0dcf779d8e80905b6741b8f40faf4fa9b7fa8fcf86c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/vi/firefox-51.0b6.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "1b5263078040636fa3dda434ab9433c96e7ba4d10460174de5d5abc1f05de8faa930ee1fe24dd9f8dc05bc20d6087d7657bef390725d446a4ad292e2cd06ab7a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/xh/firefox-51.0b6.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "c4422a3f38d47cf9caea2ea93f5eb4c402461a76fbd8285f8894bbf3d4ae0bb484be20f0761425ac9139facb1fca12ca4122efef47391b988d4dc4118482d660"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/xh/firefox-51.0b6.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "97ecde3e48e7f3cabe8b80db7c74b34946407831aebecc87fe5913a8622b866914d2a6bcba8166c4d8e85b35eec43eec337a2389a9856d9ca48f4694d61838e3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/zh-CN/firefox-51.0b6.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "5cefa5a67a1d468c017294884b04d3ae412f1f3bce56fb96e72919266ba697b46430460334d3593608d08238921517b9972435bd76fdf012ff3fec51bc64de82"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/zh-CN/firefox-51.0b6.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "e37d07897665c195648c7b96ad47487bbe1671f9aedb06e9e5ca415dfc0484b7a13171b217866af1ab29b2e3376c45bf382e9d9bd804d57030ab401eb083560d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/zh-TW/firefox-51.0b6.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "485a9f5184722c59a4a60a8f02c0c10d4f8fed359083a70701462a311caf652170625f06eabd5baa9f8b5312ca978c48c4da01a4de49c35f52a8c8c6a2d738bd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/zh-TW/firefox-51.0b6.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "5c1a87b1a96149f67c3213315c13524cda3d29b47ae078e22c04685de4f961c3a9bfd77a79c48e3ae619cf2bee7f035c725e480337d7e3491d48abab1bff1aaf"; }
-  ];
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ach/firefox-51.0b8.tar.bz2";
+      locale = "ach";
+      arch = "linux-x86_64";
+      sha512 = "c251fe3e50d7bb85a46e86afb9d041b161061e6718cbfe6114172a098f35eedaa2f221a3f7bcdb2ebe210a5ebb5cc33fb50b1dd04da5256cb32646678d722b28";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/af/firefox-51.0b8.tar.bz2";
+      locale = "af";
+      arch = "linux-x86_64";
+      sha512 = "ff8af74fdf27e72169193a81e62b99ce831bc466e50ef2d843dda03894fe3cc764ba69021c839ee09ab48b7b3a6140f1ed01c045efb01f75342bcbc333158a49";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/an/firefox-51.0b8.tar.bz2";
+      locale = "an";
+      arch = "linux-x86_64";
+      sha512 = "20b5965b70cc773eb2226608fef18efdc24fe22f2feea43f39fe9d09afcb89db15caa8149a908bbca3f26e8d6b4f3651d164fb97f2dd2ee67e33b8e43635871e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ar/firefox-51.0b8.tar.bz2";
+      locale = "ar";
+      arch = "linux-x86_64";
+      sha512 = "b1816f401757634f618e1d9929c2a341adfdfad42bcefa8673c7d8c511c46267054352558f3a83d399c68e7f80faa1c2cea519ac24618479828c37b4067f8e78";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/as/firefox-51.0b8.tar.bz2";
+      locale = "as";
+      arch = "linux-x86_64";
+      sha512 = "049a8f3782a34d8432204ef6119a2909ca4e6eba83f760c8f35f1be86595483e47823088e508a1389d68ee366e14431686db7edc44d1fd5934f887aaed85bc4d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ast/firefox-51.0b8.tar.bz2";
+      locale = "ast";
+      arch = "linux-x86_64";
+      sha512 = "b2c48f6009e01924e75d7671a819b4af51b87a3a08576812bc7f89b2273d047a3ca914147b519dcc50f1deb21acebeeebb05fc306fbbe016f12e3fbaa885bf16";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/az/firefox-51.0b8.tar.bz2";
+      locale = "az";
+      arch = "linux-x86_64";
+      sha512 = "315e47d4e4d6d985f4390d8a40cb736ec871ecb30ab76db9235bb040eac9b73c3a1e709d783db2363c97f6ca91e3281c4c88e10c4d9fc62131fd8c105d7269ee";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bg/firefox-51.0b8.tar.bz2";
+      locale = "bg";
+      arch = "linux-x86_64";
+      sha512 = "b31bf59b6546741ab005c5ca11115f1557923f467e801f16049e83881deb8a8f6b775b425a8fc2a608b51170fa00a4b464c9e60e306267fb50b2144b23948613";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bn-BD/firefox-51.0b8.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-x86_64";
+      sha512 = "5683955a4d1e678d9893554d9cc534a61f2cb0242e2ac068424eba238f1ce89e58692cdb35e43d58cdd71c0c0683a5d61920089ffd100416e6a2448ce43f2004";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bn-IN/firefox-51.0b8.tar.bz2";
+      locale = "bn-IN";
+      arch = "linux-x86_64";
+      sha512 = "0220a226f53b7a99d123a1e72a6db88e726748c9d3e0ed46a51ab36b2ba5213dbf2cdef55b8a8892c97ee656905f01920563e344a412142993c719f15cb0bc43";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/br/firefox-51.0b8.tar.bz2";
+      locale = "br";
+      arch = "linux-x86_64";
+      sha512 = "046d7c42a294fe636cbdbd13da8fccb879595ebda6353ed91981ecae39f670f1650f33b1ce0d3705158a437a22a718d5d381bbc37583702253941abe25ebc477";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bs/firefox-51.0b8.tar.bz2";
+      locale = "bs";
+      arch = "linux-x86_64";
+      sha512 = "a2e0df77bdb46f501e2760df79589ebec8e1bfb85e07ddee1d89c797a34781efd57e1790127d6cb38199bbe01680e5b04208f2c06b22a9bc684c87042f825267";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ca/firefox-51.0b8.tar.bz2";
+      locale = "ca";
+      arch = "linux-x86_64";
+      sha512 = "e8a4a37a55a882ce638e51ad5d4a08ac815fb5cd556d0e8db3982501ee2f9c0ec141132ffb0eebbdae47be78f74dec7fba730638c8ebe38ce82ecdcfb570adb6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cak/firefox-51.0b8.tar.bz2";
+      locale = "cak";
+      arch = "linux-x86_64";
+      sha512 = "aefda93ce59fdf238c2b957e45463c6f75e511a4331596bafaa4e8a99139f17ad2facc22befcf2fbe105651e9b003447bb62c3c2c6ffe4681816baa400f68a6f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cs/firefox-51.0b8.tar.bz2";
+      locale = "cs";
+      arch = "linux-x86_64";
+      sha512 = "9eeeab75b2963959db947165f46443f686760f655dedae4de3d174a340c88830fbfcc0fd1df23740e6abe6d7f4552f06630c93f28246ff907fe6eebc1437d943";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cy/firefox-51.0b8.tar.bz2";
+      locale = "cy";
+      arch = "linux-x86_64";
+      sha512 = "659ea6606bb307893448b0352c175761e6bae90246ce157eb2cb9373b923ffede18eb8526330391396f9998fdade7db135a54f8aa14c4f52daeb9cddc44f344e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/da/firefox-51.0b8.tar.bz2";
+      locale = "da";
+      arch = "linux-x86_64";
+      sha512 = "22647561d07e92d82be5bcd2c5f2e7a08d6491ea582464f64a8ba686496b0267eab6c07db49ae189f996b8cac9d0c4c7789c3230003d05dbc5fa8319acabc4fb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/de/firefox-51.0b8.tar.bz2";
+      locale = "de";
+      arch = "linux-x86_64";
+      sha512 = "313446d8dd7764b98eba2284d71d8abb47568577f312718f02a73bdbee4938477ed407d3d638fee4dfacbb43d4125806c882e0c96cda43c9fc5b09e7fc6656d3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/dsb/firefox-51.0b8.tar.bz2";
+      locale = "dsb";
+      arch = "linux-x86_64";
+      sha512 = "4e0bec424f15dec37ed21a46c79f9672d380f9d59e3109afd4debbda2cfe58bf8b17f75d905babcbf7bce5cb8f7f3312bd938ad945e163d3e11be42b9dee2fca";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/el/firefox-51.0b8.tar.bz2";
+      locale = "el";
+      arch = "linux-x86_64";
+      sha512 = "c10b58b13a85bc1cee23ed23ab8f62dc79247d025ead6efbc4165895568c6d369574fed7cd2d294bbbdec56e7673928ffa4db77720d871011b7757aa90789e18";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-GB/firefox-51.0b8.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-x86_64";
+      sha512 = "1cfe32620ca3a3fc5cce03ba13c6acb174567f99879fac86705e10d0036eea35c912064827676fe5dd0ba3da5bbc624795c3f7bde7546f15246b1acc1cbfbcda";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-US/firefox-51.0b8.tar.bz2";
+      locale = "en-US";
+      arch = "linux-x86_64";
+      sha512 = "c8504535fc15bad6fdcf5aeb11a54ef26ef56d14076ac6fe06cfb530c1952118b957fc3cc6ea2c046af3a5ca90dc87655ae67d7baf66e46064382ba529045362";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-ZA/firefox-51.0b8.tar.bz2";
+      locale = "en-ZA";
+      arch = "linux-x86_64";
+      sha512 = "80b40ea103d5691cff9df8373231acb151e6bda0526d27d59bf226f24e8287eae335b1224429b61676c8c9f3021ba77a31cfd3bfc68948d6553978fc570ac6f0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/eo/firefox-51.0b8.tar.bz2";
+      locale = "eo";
+      arch = "linux-x86_64";
+      sha512 = "a9809ec0e031e7e127441c11003bc81d8dc701e3acc45f137e7e68bbf1ebdcb5cf40267e9f8e7431e62506678cac04f732e73978ad566cd51597a1cb45eb0ac7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-AR/firefox-51.0b8.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-x86_64";
+      sha512 = "18851295d00c2204b75c8e3d2d07a12ecdb9456d8ce41606178054b64ea5b7e9ebd3832db76412d2d5a26941494936c811084216525c56e4f017063734d7ca44";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-CL/firefox-51.0b8.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-x86_64";
+      sha512 = "9a7dabef38bb5f0909f033950f4e0424fc2c0119f4bbc0de85bf76f29413b2984e0d56522f900055cd9e79916397791f0597229a19d2d6fe0f8850c09f9bf3f2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-ES/firefox-51.0b8.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-x86_64";
+      sha512 = "52b87c75267dc27aa9acb9a49ce9e59bf989f76827c078acb8d9166f60f0d86f6a0e937aba324e8e9e9ab5e0c721f75f0330199e16540809d0e8e9c068826406";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-MX/firefox-51.0b8.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-x86_64";
+      sha512 = "e57f22ee791acab3792cce3f52823d5fdcced5befb2808cc717d0da4a876a517d52b2e22f4558c33ecbbff01a799d70e2e67ead9140630a0111d73ffa5e54de9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/et/firefox-51.0b8.tar.bz2";
+      locale = "et";
+      arch = "linux-x86_64";
+      sha512 = "572a6f67b10f1a4981d7f0f131bfb9900a20a094f34cb3eee717d7694e3c1b2a949dbe262a10b6ed22cdc97c3a99ef885a4f34d15268c6aacdc7cd28ceb16f8a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/eu/firefox-51.0b8.tar.bz2";
+      locale = "eu";
+      arch = "linux-x86_64";
+      sha512 = "8ce7450a27a26954701585a2d55616d98658295c122071641209274a2555e0bd45e57e17be715cd69e00187169501f7c8fdf419a3e1626c4a1e5636f36be26b9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fa/firefox-51.0b8.tar.bz2";
+      locale = "fa";
+      arch = "linux-x86_64";
+      sha512 = "f42a0effb6ff4210707371f6693e2bb25119f7535581c488760c237a3019e58fa270543f6981348f609c776bee54e76a220c449b7169d7032b2817ea1255eacf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ff/firefox-51.0b8.tar.bz2";
+      locale = "ff";
+      arch = "linux-x86_64";
+      sha512 = "7718bb71ff031975bae785130c86c1fe007698177b04d55008a5175074f9ba33841e3939f80dd76034680d7409ba281162540757b4365c03e10fdc21317b3df4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fi/firefox-51.0b8.tar.bz2";
+      locale = "fi";
+      arch = "linux-x86_64";
+      sha512 = "9f5cb2d9ad20d788d715eae64406abc5fdf9229125f8a88f44de574c836af2943a7844ddbd96eb6770a5e011c5e239009aaf022ae6c0a14fc1c01dd2a9283b1f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fr/firefox-51.0b8.tar.bz2";
+      locale = "fr";
+      arch = "linux-x86_64";
+      sha512 = "d9098b1b61bdfa82db7acc0f24fdd8e248f9fc0ae1c044829a27c45ed99c933fe7e8eded84cce9d454dd544b0645b2e871a00f3677868aa4efc00bd82dbeaf5b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fy-NL/firefox-51.0b8.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-x86_64";
+      sha512 = "146b24d3670822394130e270b851beb3a4017818004ad5d6699b8424ca5d4dda16788668addb7f42b21980a6dd39a2c3546bc36d5bf2298b831fa83e957beefb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ga-IE/firefox-51.0b8.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-x86_64";
+      sha512 = "b1b38c876e9226abe24cc4379ae8a0d489db7f91f332560f922b3998d0c564f42730ab568277f4159bce95c1024634f20c918b97e84fa7915e4b841f9d0b760d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gd/firefox-51.0b8.tar.bz2";
+      locale = "gd";
+      arch = "linux-x86_64";
+      sha512 = "e3b3191298f2a08ff52314aaf9ff9689e8ea83128f43010fa90ad8a24caf340e24223c8f5109fec2286a68c699bcfa98fbdca0c10f62956dfd768a473e0a77a6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gl/firefox-51.0b8.tar.bz2";
+      locale = "gl";
+      arch = "linux-x86_64";
+      sha512 = "024747e36d569e323964b9e0c3a3922563c94c5679774a9cfade272d8378dfed987c291bc55554b0e0273938a3cf65f48b5924549f6962dfffb51caeb053b64c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gn/firefox-51.0b8.tar.bz2";
+      locale = "gn";
+      arch = "linux-x86_64";
+      sha512 = "e0487d5ac3730b09315f1b5b486fdd8359c78ed7a741ead18ab7d4951f9e079b80c1066a54f2b86988bcc8edab62971f0cc99e7d7cbaa97122d90e4fdc08298f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gu-IN/firefox-51.0b8.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-x86_64";
+      sha512 = "e9ceb5eea20eb9881c87e47700dddca0060628c28f7a8bee4df1be45d7b0f9f7ced122e7bd1b16468853512f759691072a455c13ab98e642c94f2f8794ca6b3c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/he/firefox-51.0b8.tar.bz2";
+      locale = "he";
+      arch = "linux-x86_64";
+      sha512 = "68ef5903758f59df5e3bad14903734d470ee19cf7e3f34f112ff5be5d11b28e19cbb55331552a7437ba3bfea1d03d527690d0efecf0ca9e824c12fd2c5992269";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hi-IN/firefox-51.0b8.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-x86_64";
+      sha512 = "c0bb9bab0b5ff7571af336febf1ecb07427400ef72d6a49fed3958a48fdb63a5cc8174b4365fbbecc11d4f7b646ef32d2204241d2c17290dda4b99bb971a1dc7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hr/firefox-51.0b8.tar.bz2";
+      locale = "hr";
+      arch = "linux-x86_64";
+      sha512 = "16e07aaaf4bcbe83dbe40ab688e4f40d02792e3793afa1fdbc90be6d7cce87ca3c8ebce27585eb24e899348f6bfcf3b471c73a0f09d0007c62e224710bbdf538";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hsb/firefox-51.0b8.tar.bz2";
+      locale = "hsb";
+      arch = "linux-x86_64";
+      sha512 = "6968bcc314f05af065a7a8dff0723579c760d979db7186e0c6dd7a1ddd5c5135673ff940ec471b57f2eee550e5c357342115a2799f1dd48c2120d3404c5e0510";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hu/firefox-51.0b8.tar.bz2";
+      locale = "hu";
+      arch = "linux-x86_64";
+      sha512 = "498823b2075e70459b71b60560ce7e458a8619e249fce237d91cdfa2a3992e279223586d82af35c2804eddb05544602f06925c8d24c76f9dc8aa37f8c5fa40b6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hy-AM/firefox-51.0b8.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-x86_64";
+      sha512 = "3b86b1efc5b958b999303de303df07967d4a51f5b8853663bf3e07c19762cc273cb26c073d8bfafb873f09399e6299472a210148d6dca2494580f727fcb7ce35";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/id/firefox-51.0b8.tar.bz2";
+      locale = "id";
+      arch = "linux-x86_64";
+      sha512 = "27a7574ff31cb8bafec7d2882b19d944829ff1508810118dc4053c602313c7f5ead2dc6328c14313c8b687fb5bc369be0aa5bef78193251ade7461f178ed466b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/is/firefox-51.0b8.tar.bz2";
+      locale = "is";
+      arch = "linux-x86_64";
+      sha512 = "d990e47ddbfda4c4a22a1c9f60b0aee13cad35de496c50c13d6f33fb6624e948a0c94a1f883a8f6ab94f0310fd3d3db1554b502c4faed8e05844c06f84d7bc23";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/it/firefox-51.0b8.tar.bz2";
+      locale = "it";
+      arch = "linux-x86_64";
+      sha512 = "faedb800d78be5cda15858df073099767d521bbd71915733cb8558deb2fe3a6e90a203ae946795ce6f55ad7a6d35fa0acd016c3466286548e3d198a499d24bd9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ja/firefox-51.0b8.tar.bz2";
+      locale = "ja";
+      arch = "linux-x86_64";
+      sha512 = "3063eb49a6076153cabf57d7006c6e41306c652573a4d037ccba721fc4069b9fe7a3ec1f65ac8b8f596a4b7493209b8b46f9338f4eb3141793caaa47dbf7e821";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ka/firefox-51.0b8.tar.bz2";
+      locale = "ka";
+      arch = "linux-x86_64";
+      sha512 = "24defb6af2daaeb42c850d876feff49504e3e93ef2e1a4c3d1b85a8a86c4e8cedbfdb86693bf7bf7e4bd2e096f6ad53ea877b6c1505842b731ff2cfe7a75c134";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kab/firefox-51.0b8.tar.bz2";
+      locale = "kab";
+      arch = "linux-x86_64";
+      sha512 = "0c41c51f725e02e1fae284723547911cac5958352bf36f2382a8f293001d086e2667722e06fe7aa3ddfcdb24f60e6307b9f050eb15d4d58b7a9e0ef9e7a89b37";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kk/firefox-51.0b8.tar.bz2";
+      locale = "kk";
+      arch = "linux-x86_64";
+      sha512 = "82cc8c6063359fa1a28d84a56500a0aea2fe7735dc695e0bb5c57445284e0d4a4b0cb76cd78e399023af83fbc00bfd20f0b17098a264aa6a230d925b5453112a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/km/firefox-51.0b8.tar.bz2";
+      locale = "km";
+      arch = "linux-x86_64";
+      sha512 = "a2a4d80aa6e9096cc8d11c101128e712079f3b6d3da9da3a9268e6e433274ebac4b0adb07da1fc63f57673dacf16ba91efce38bdfa3db9c4b4d1454fa4ecfb63";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kn/firefox-51.0b8.tar.bz2";
+      locale = "kn";
+      arch = "linux-x86_64";
+      sha512 = "5c202454bc5e221f14aa1ddcb04df9d489e1c036538a747315848b238ab8a8e569fa35b27e906bbbfa00b4502bb0f6a64d317744d5d3e82b430f2c0f28ee3d60";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ko/firefox-51.0b8.tar.bz2";
+      locale = "ko";
+      arch = "linux-x86_64";
+      sha512 = "88f96e25f721e005acd51512e5f5323eadaaeb0fed0bc5c0e919661109e8800c3b940ba131fc788a82a8e6a35be37f9c7111c189b2e9d1ed4ba1a5a3503748ad";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lij/firefox-51.0b8.tar.bz2";
+      locale = "lij";
+      arch = "linux-x86_64";
+      sha512 = "9b5bd55794df871bb7a622ded9bfe3b85d2edcff1a1a4bf5237f17dba98e3af53f70de48636c0bbcba68c5c19fac08873607094492d03bcfbd7550cbae9e4178";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lt/firefox-51.0b8.tar.bz2";
+      locale = "lt";
+      arch = "linux-x86_64";
+      sha512 = "be075ac4bda511c2bd81e726003f4ee680f35022e84365fccae090305c45dcc586162428dad944bd59b7e3c1f836e8b07a2a78e5a28d0eabb6aa44877398650c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lv/firefox-51.0b8.tar.bz2";
+      locale = "lv";
+      arch = "linux-x86_64";
+      sha512 = "0bd623b3203c1403ca187a3b25abe0e438ddda0c6f5d4f947c0643ae3f492c649cf830002f7211853050b15e179a482677898ef0d93d32c5afe34ad6e7040cff";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mai/firefox-51.0b8.tar.bz2";
+      locale = "mai";
+      arch = "linux-x86_64";
+      sha512 = "b406ea5ddf4169961cb11104186a809ca7c8a69b124e85e796703326a37ee18473e4f0b430d5da2dfbbc38f7ec370951a5dd0c73be4f9bf48da771bb603bf38d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mk/firefox-51.0b8.tar.bz2";
+      locale = "mk";
+      arch = "linux-x86_64";
+      sha512 = "ae182c6ffd7fcb3acd396e8d9f4b2baa65942d78498acf7a0f3efff69cce62812c2e60c937611c29116a45c5799625891f39e25ff499b7d3e4f453f790d8e8ce";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ml/firefox-51.0b8.tar.bz2";
+      locale = "ml";
+      arch = "linux-x86_64";
+      sha512 = "9dfe1593bdbedb6262e7cf50857036a624a3ae13bfcc853dd91fd800d74f831665d8c89832b5727a9bd2bae3b4123104dbaaae1bdd39918f2c06be2fdf0a5c0e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mr/firefox-51.0b8.tar.bz2";
+      locale = "mr";
+      arch = "linux-x86_64";
+      sha512 = "2744d4fb88f2713b956efdb6d56fa1ef7e003013cb9a526ab2f9e8cfeb915fa3651978a3d863cc3c4dd62a447bb8cdde402483701b38cb206b99eff5fe5272c8";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ms/firefox-51.0b8.tar.bz2";
+      locale = "ms";
+      arch = "linux-x86_64";
+      sha512 = "4a313418db320dff4f91f817cba054fb65b5e97a434a6150d4f3373bb788b18bc02b194fc8349e5f41e1b8ebee94f0874431759fe79ed32fe7f5645f25c4e297";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nb-NO/firefox-51.0b8.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-x86_64";
+      sha512 = "41085294ea372990b058e61942de5f2c972511bb22a1719e92275e4258d6c0c0a71ada6ab21475c1b32021fddf5b149f1dccb469a948050d901b2ddfb91886f2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nl/firefox-51.0b8.tar.bz2";
+      locale = "nl";
+      arch = "linux-x86_64";
+      sha512 = "45ed2265c4d6a66142bfe117794bd950e56821d377a5437c9d0cb8405e7605de617cad3e92ec6aa71129117690591fc95ba5c4d9e662fafa408c3e018845e40e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nn-NO/firefox-51.0b8.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-x86_64";
+      sha512 = "1c981c33bea1ecea733db9c278d92ef42809a4dcc0ce8f9064e08b303a56970099b4f3591103fe262a777c4ded9948d9cedcca6d2046512851544c8da774a250";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/or/firefox-51.0b8.tar.bz2";
+      locale = "or";
+      arch = "linux-x86_64";
+      sha512 = "3c67ad9f3ae800cd2e0665f35cbe92f17337c5f2568b057b9c9baa7aa8c91ba4f5b1e7718f288a2cc982ecfa43241e992e35c798e833fa56c636f8c7296d5a55";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pa-IN/firefox-51.0b8.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-x86_64";
+      sha512 = "9778843430f504faae4f8e138490a92c14f5f0f1c47c642f7f1f81c90a37c4cdf0660ad5b134429d6a86f61bbbed0f285a41ba315b9c318799a90f3208cc4a3e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pl/firefox-51.0b8.tar.bz2";
+      locale = "pl";
+      arch = "linux-x86_64";
+      sha512 = "336a3afddebd687f62753f0bfd6b7e57884cbcb4c536de2d2a85e9ab22a696bda55795d5511ce299d34eac20abe91032450ddac97fd2be9c4b8db6b4b0fe6c6e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pt-BR/firefox-51.0b8.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-x86_64";
+      sha512 = "1908080393d171ea86a05277a4a0d67c0c054fdbc60c5a9ba76fdc92071e45ffa57750bca8b1f56c65a4a45d296399c1cf3e9c0db8593ae57e7b8b53a6969171";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pt-PT/firefox-51.0b8.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-x86_64";
+      sha512 = "eaec79b2cf363f613cefb2cbbeb3a5b607ab608d7e82ac21aaf4b591475a85374f49f34c912b569ae3fb8224f19b93d753298ef8f6db820fdb84a70b306b16d2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/rm/firefox-51.0b8.tar.bz2";
+      locale = "rm";
+      arch = "linux-x86_64";
+      sha512 = "f6fa58d42c155552546b7500d6a0081b3c02c3cd300c0744e4a964b97970f1a87e9754e126de346880447b6af9853a91f157ef5285a2db1a8fd677c46cd0f347";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ro/firefox-51.0b8.tar.bz2";
+      locale = "ro";
+      arch = "linux-x86_64";
+      sha512 = "876be7fb744a6887890671e00d84387c71e5c77ece611646e721eda3659654760094e39544a2bd3b6e80b075e7d24acfe1d7e86dcb4003efd867b2e7b81e3366";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ru/firefox-51.0b8.tar.bz2";
+      locale = "ru";
+      arch = "linux-x86_64";
+      sha512 = "52f58ee2af336e18640b1edeb54f2c632104a1cd40952509b512af5dc838deda531e850e0b56d605bfad046af34db1158dbd69bb25380b80a178f32083d148dd";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/si/firefox-51.0b8.tar.bz2";
+      locale = "si";
+      arch = "linux-x86_64";
+      sha512 = "0b36230b9d214793cbd75f282f537e73e28ed37efc9f17e4aa0f5dbb3bdaee5b5569708d99f4cff772767e074a2b85a7079e48acf7aa31e955e6ae6658a779d6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sk/firefox-51.0b8.tar.bz2";
+      locale = "sk";
+      arch = "linux-x86_64";
+      sha512 = "6595aa0a2601005b0488e8ad02f0f5a8b96c4419beaf9a88660e111bb6e932cc98dfa16e511e0af2622360635e2139a8007bea5fd61708f4558576ad54da17dc";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sl/firefox-51.0b8.tar.bz2";
+      locale = "sl";
+      arch = "linux-x86_64";
+      sha512 = "56fd9bb355c5dfc680a7a91a1686285a32e147b1b0a72787106fca5244277238948ce9635f97b7c3ccd59d7999c794d4224bf4172384bcf2a02e0aa9d4716633";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/son/firefox-51.0b8.tar.bz2";
+      locale = "son";
+      arch = "linux-x86_64";
+      sha512 = "6475248c31a1d5199d6a4dcba9c98eb3a0c4bdd57ef37c5fb611ec68807658ff9de9056c0a5ad9e016e55d8ccc3ba7987948b2b2f47d6c3061e3f4d13051cf27";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sq/firefox-51.0b8.tar.bz2";
+      locale = "sq";
+      arch = "linux-x86_64";
+      sha512 = "41b602396bf33e36974c97ec25f120ee7452df5d26caed74a10835f0fa7a9302aa87d0fe09fafc2e6670d8ce859a8757a7e7c70657b29a7154b1501e478510a5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sr/firefox-51.0b8.tar.bz2";
+      locale = "sr";
+      arch = "linux-x86_64";
+      sha512 = "dbc7df70483246003f27acd833c881b3ae6ddaa9e93c7e612334923e63a1a4bcf35c082d355d67425fcb72123039ee4b33a5ce5f75909ea6cc3990d76dc21c41";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sv-SE/firefox-51.0b8.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-x86_64";
+      sha512 = "082f21155e8c68f8e1f786a3bfc3f832637813bda06881f1b6ebe8a1be85bfeff03100d4a9f311ea8bd6ec802e55bbb674eddcd9551db6a26ae32a6a97535bd4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ta/firefox-51.0b8.tar.bz2";
+      locale = "ta";
+      arch = "linux-x86_64";
+      sha512 = "51bf00c2014222e0d1b30d83a483882930d87d5f281d6b33712616769060dd4b1c5ffa92d30e0e61effe2392490dee43e1d49cd6e28c28bd3b94ef005b87846d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/te/firefox-51.0b8.tar.bz2";
+      locale = "te";
+      arch = "linux-x86_64";
+      sha512 = "83a879a6d9b96963e3370068961559cd530695cfd7db200fb8bff7d79ed01de0357e211454f9735b667a1c65ad7338da913646709d9c212704f2dad0486b3d24";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/th/firefox-51.0b8.tar.bz2";
+      locale = "th";
+      arch = "linux-x86_64";
+      sha512 = "d49d76980c091d354638a2c887cef68e762ddcf9d2a7c1ef74d1d735791949928a6fafa270711a0f776e51410b35c9b396015288ceb5992969af88dd3dea990b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/tr/firefox-51.0b8.tar.bz2";
+      locale = "tr";
+      arch = "linux-x86_64";
+      sha512 = "642a6be0577f16c0c4ede21a82cf6c3866011c3b663f7ce7c15961eec7f01133fca8bebd46dc2cb9b91116ab7cb1060f04e9b4e208eaf6a1ddb3e64219a2d5c0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/uk/firefox-51.0b8.tar.bz2";
+      locale = "uk";
+      arch = "linux-x86_64";
+      sha512 = "bd72d88ff7f82b195f6ce44ab8d9b7541e0564ae7b6cc6bb9676a38a9bb2a2e23561f07006749de5598da1c6aadc1e90d0ad2a5eb1be0f998b4d36534a075afb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/uz/firefox-51.0b8.tar.bz2";
+      locale = "uz";
+      arch = "linux-x86_64";
+      sha512 = "242b5367c7e78f0c753ebf4f8a4b1d1fd42e236f7417a3dc441a9e72c071fbb9488b226214cc14991f5d12c514e53b35de3c903ddbe5fd4aad31e53f1a6516cb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/vi/firefox-51.0b8.tar.bz2";
+      locale = "vi";
+      arch = "linux-x86_64";
+      sha512 = "d2cf85b0592b3116de4848665c5726f40d3ee2e7b92c808a7a41f0760041fb5aee1d61b626d9fc427a8b0bbf697828ed86741a1d319e27694b51dde630afff8d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/xh/firefox-51.0b8.tar.bz2";
+      locale = "xh";
+      arch = "linux-x86_64";
+      sha512 = "c865f0b18d427aa364f512b0e5cf02c126f156bffc4db2ab50f32fe9d28a949644fc672fae9a651a28ce6119191b6b0cbf7dfef3e102266b790fd0290d3ecdcf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/zh-CN/firefox-51.0b8.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-x86_64";
+      sha512 = "20fb7a5ed74e3badb56038ef16064b1fb92c6bf274341db0aed52427e313558846f34372cd019730ba0593439e6fb127241ec02906a76b5a7139c7ac45960783";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/zh-TW/firefox-51.0b8.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-x86_64";
+      sha512 = "955bc613dfe9a968bd298b6cf038bf7db615ce456de31da656fb54c7f3e8126391154b49b1948a95871ddec04d03a51b543b9248498b661a998d40249f6e8bd0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ach/firefox-51.0b8.tar.bz2";
+      locale = "ach";
+      arch = "linux-i686";
+      sha512 = "cbceeff2ef8fa20f18ae5106a6cec638bb064c7b32fdd9bca83776bd58f3a579babd2a6e933e0cee9d0ff2e553358e136ea478b629317a1892f62c4c52f47e22";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/af/firefox-51.0b8.tar.bz2";
+      locale = "af";
+      arch = "linux-i686";
+      sha512 = "76c6eff9a98743a64d387f3a58830b7583510444fff7bcec5daac6fbe56f068925491fb2c8114302f862ddee3d4bce7df4a1dfd1057a918f584de4774da7ebc5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/an/firefox-51.0b8.tar.bz2";
+      locale = "an";
+      arch = "linux-i686";
+      sha512 = "6152904cf2cb33e6fe63b3c573bfabed1915b538d028be9fcf7ad3c169c98899becee772bb803a2b6830457a0d93bbacd49e8c0b962fd1898e8225463387e092";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ar/firefox-51.0b8.tar.bz2";
+      locale = "ar";
+      arch = "linux-i686";
+      sha512 = "a83ab8633fa7658669daf271db339ed5812d0a85a9eaf313165671f11ae6d50ac92cdd8414945dc6b374a8a46b68df241812e8c8396e9256521ab81949969b6a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/as/firefox-51.0b8.tar.bz2";
+      locale = "as";
+      arch = "linux-i686";
+      sha512 = "2a76a7eb0b3015eced2a4a83965d314753e44232bc333cccdacc8a0c207b5113aeb7b97fa972dfdaf6e79eda03d8e18f4d8daa6ae3f8059d75e1245ff5618173";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ast/firefox-51.0b8.tar.bz2";
+      locale = "ast";
+      arch = "linux-i686";
+      sha512 = "91d8801a2fffaadee3635643a813d588650b318d9e074ce3284f97795408a9d513ccdc573fb083e523959470095ffabb8023f250e7b3abf7f94853f126ff42d7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/az/firefox-51.0b8.tar.bz2";
+      locale = "az";
+      arch = "linux-i686";
+      sha512 = "abdaf4dcaf3ed2813b389fb91adee89f796d30152374110bab10b6aa1b328a406cf9e572b2d41b5ad9827928f8d5249c9d6abaea5b0698ff2840f66ffb71b656";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bg/firefox-51.0b8.tar.bz2";
+      locale = "bg";
+      arch = "linux-i686";
+      sha512 = "65a76933c06f7d8bb71ab24e28f6e755090f8eef8cb7ac741d37c8532d20aa35eb119dcc0f7e28a97dec34a3720b79f869f8adda079b49dd270227bdc081d1ae";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bn-BD/firefox-51.0b8.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-i686";
+      sha512 = "e6cb0cf7469a125da031b2e9bb4d2dfa90df169e6a61f03d482e44e9beb19744a038eb1922ac31812732d0e72419211894bd5029e16091741aaf45c00e72c14b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bn-IN/firefox-51.0b8.tar.bz2";
+      locale = "bn-IN";
+      arch = "linux-i686";
+      sha512 = "4018dd322a92660780cd4e9ef9c8631593c34717d2d1ccee1a340e34c8465ea7a5fb196f39292c3f502f7458bd4790971a443cd9c16f28e1112417c8eed35bed";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/br/firefox-51.0b8.tar.bz2";
+      locale = "br";
+      arch = "linux-i686";
+      sha512 = "31f75272fa7a747031697505505f8362589f46986f840fc8325fb95c0009356d4fbeccd33e20e923c49df91d7af40c948ebdbf35e6d2d48b734055e33b1a19de";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bs/firefox-51.0b8.tar.bz2";
+      locale = "bs";
+      arch = "linux-i686";
+      sha512 = "888c6b2e2d79071710d580da39e33dbfa4392b9995bdfbe16a7c4377f54e7b9c81cdd4864fdd05d2f376e1d6650dcfb5dc94fe67e3bbbca55471ce2f62cc4589";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ca/firefox-51.0b8.tar.bz2";
+      locale = "ca";
+      arch = "linux-i686";
+      sha512 = "87971a8c4bcf96a67fc370778274e2c35356b6239db4104740c16b281a45d45b03e4c8627c14f1c6f3ac5702784134c743f07998f3db2b2a8d4a2e6cf9c0b97b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cak/firefox-51.0b8.tar.bz2";
+      locale = "cak";
+      arch = "linux-i686";
+      sha512 = "047e10a19ac8fae5474820ae26429711efff76e84d9f58b0f4b8a36d7f5c45fad6c46402448c454c32b3466de3618e2b2a392bd186361466f7e87717fcda4108";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cs/firefox-51.0b8.tar.bz2";
+      locale = "cs";
+      arch = "linux-i686";
+      sha512 = "7d7b4583e3c6c4e906cde2cea8cb7bda2ce4cd007640b3e681608651e6f414675b7039c1ff13678947d617607cef407382feefd44ec1fe1534b9abb0b1dd0d7e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cy/firefox-51.0b8.tar.bz2";
+      locale = "cy";
+      arch = "linux-i686";
+      sha512 = "768429d9772d8e39d4230fac01c4bc6fbe20c7c2efd326e78cdcdf74382e3a38bee9bda90a1d97b61035cb35b5be8f337fd80d15d4f185a6a668f68afd3b67af";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/da/firefox-51.0b8.tar.bz2";
+      locale = "da";
+      arch = "linux-i686";
+      sha512 = "a6e435be5ac73d683ade3dc29bd6d5e0c4ebea30f8521036650981b510d4df014891f8eb65a5a6a39855fcf5e45d1b393617d7c16071812952c635725bf206ee";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/de/firefox-51.0b8.tar.bz2";
+      locale = "de";
+      arch = "linux-i686";
+      sha512 = "7ea17df3c926546f1eb7ec0880f7b0b63cc8201044b444280b31d2646999ad36ac10ce74e19794ba7c1a026f860c79e83ce6ead339865fe31a021bccd85f04b9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/dsb/firefox-51.0b8.tar.bz2";
+      locale = "dsb";
+      arch = "linux-i686";
+      sha512 = "0e75929ba5879fbbc269d1fe8e18627ba54c5f74edd3179360998c9aefbf21d1f3c3cb0860990e7b1b0a5f5037ce9a4779c3edb64912f4f13c80501e579cfa3b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/el/firefox-51.0b8.tar.bz2";
+      locale = "el";
+      arch = "linux-i686";
+      sha512 = "b682e47f225a270ab421b3642f7c28085d9f2f1de1e68867ba09e69fed3d9b5908909be46bfaac6e9d0d1243eaad3cfe2bbeeeae6a5b9696b0ffb901a98db50b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-GB/firefox-51.0b8.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-i686";
+      sha512 = "aeac6a542c1a4f91ee6bf01d4c916f8da4628b36550d80a166dc46c5c9b1a010b5201c87613e4d59640bdf9d2f9d029d0112bf8b62c7707e99b928c4ec18babe";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-US/firefox-51.0b8.tar.bz2";
+      locale = "en-US";
+      arch = "linux-i686";
+      sha512 = "1315208cd55f48ee05fcfc98c92891307442dc0bb34bb636e14a88701a1fef2229a62a0e8eb00e8028f460518c95c1369a198666cf67c4b09a0e69c2b76c75b9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-ZA/firefox-51.0b8.tar.bz2";
+      locale = "en-ZA";
+      arch = "linux-i686";
+      sha512 = "891b4a076239132976a4cc51a3a374fe244b6a9119f76303253d6ec9d62b8230ac9c04b657bc741b13ca291a9b75a7b38a4aa25471e4faa6f34f06000a7f2fb8";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/eo/firefox-51.0b8.tar.bz2";
+      locale = "eo";
+      arch = "linux-i686";
+      sha512 = "f805e9bb3d2241a366026354433670c2792c16c74ab2f5d3691081f682639b23c4e6d1e91e5e81719601c571e74270d8b5bc4f24e7babfc77ee435c6a2125ba2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-AR/firefox-51.0b8.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-i686";
+      sha512 = "df78b4626f41afaba10331cc8921dc8f196aa2c8669366ae286a75e8850a647e7288964a8a323c742926d7661aa122072dcad592654dead9f57b8c008b61f7e6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-CL/firefox-51.0b8.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-i686";
+      sha512 = "71a340f8b004f3907eb763bcd817338be19955ef447241a6a680381823591324df9b9771425255693b49513a8f4475fa1ed8558e5a510bcd370bd225469a5f69";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-ES/firefox-51.0b8.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-i686";
+      sha512 = "a34dc5ceef8875bd5d15c61ed9ada2f62b52cbe42636675cfb6a3df694a0fcbbb3b0dd61c3a0ed5b18e7ec427dfbf58887b91a0ada596dca04b3d2cd066123a9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-MX/firefox-51.0b8.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-i686";
+      sha512 = "a178599eb6454eb9a463fea5704b49c720cd2f9df033bd6f271322c75a5f2f52e82661c82f9ff9097af28ba617e2393979b28209758df3710ecdf72d0304c5f9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/et/firefox-51.0b8.tar.bz2";
+      locale = "et";
+      arch = "linux-i686";
+      sha512 = "20e3af6d1f7fb7f154e366ee5e031889f3f24e04691a3d2915f4405f33e7220dae91e6e635ae98451048c254b7a08900851f013e7979c013f84b643635ecfebd";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/eu/firefox-51.0b8.tar.bz2";
+      locale = "eu";
+      arch = "linux-i686";
+      sha512 = "d13833a0eeb5b4c37baf6d1f85adcb3502b67219aef6ac5b5d25914fae90cf78284830acba0e8d6c76d8ceef7fbe3332d673be125325b9bf53f24d4b070e6998";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fa/firefox-51.0b8.tar.bz2";
+      locale = "fa";
+      arch = "linux-i686";
+      sha512 = "fc4a1d2c1e635de2094a8fdf3b082c0407bb937f089ae33c0f429e0c0bb41a7c0cc3158fdd1d01e81cbd01213b452301e2ba83a9dce1810c8d7c8adb035ba903";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ff/firefox-51.0b8.tar.bz2";
+      locale = "ff";
+      arch = "linux-i686";
+      sha512 = "1e4626d053e7abf236fc795f59e7dfd8053048fa1d0d8f4585efe7ea872a99511f9053e9bd6a1ae1af22cb3ff399d16d33c1b45a7b3c6557bda49062d1c672cf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fi/firefox-51.0b8.tar.bz2";
+      locale = "fi";
+      arch = "linux-i686";
+      sha512 = "dd8ea8dea6f76f3c5dee63abdc187f69e949e0b6b11126d4219b38d1314ba6ac77cc789e0923fe9efb26167200187cb236a783f7aadde64f20798d44839236ef";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fr/firefox-51.0b8.tar.bz2";
+      locale = "fr";
+      arch = "linux-i686";
+      sha512 = "9124a3c541879fa6f886555c93b1e07f431eef0d0b864cf414d2bf5d3cd749e30c65db4fb85a16072260f656598066cb8957d667aebf07f9067646e11fa09ad1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fy-NL/firefox-51.0b8.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-i686";
+      sha512 = "2ff6aed7c4b172b5dd801d180a7b7e945a4f39b8b8001e673bfb16b868a2079a2c741ea1a0b44c6588468546e883c6057fc4787eac64ca9b10860b7d538fd72f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ga-IE/firefox-51.0b8.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-i686";
+      sha512 = "163994a889e92bc84999e0c827f7ed0d162b43b1046a0391a851bd826730ce1199fa54a0e5dd549b3f30e197a8535ac5b4e1cb99f7f7a8706f7ecdd5bc125cff";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gd/firefox-51.0b8.tar.bz2";
+      locale = "gd";
+      arch = "linux-i686";
+      sha512 = "324c856b4f0505bf5481ee57a2549594739dcec8b2a57ff32156c724adc001dfaaa2202b0b66a30565061f4ad8719bebb382ac5961c960f4991e9ab6488f2195";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gl/firefox-51.0b8.tar.bz2";
+      locale = "gl";
+      arch = "linux-i686";
+      sha512 = "1b055c927c318d09ade13b64e50cb6ed03e10676535c9171ff3867200e8c79bd175b08b89377a4ef86f92f91977cd8a6cbeb48ac8beaf6576707d14743299227";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gn/firefox-51.0b8.tar.bz2";
+      locale = "gn";
+      arch = "linux-i686";
+      sha512 = "7ef12effe16f92e87d98c71cde4f3f7303674b124a41d174e57a9a4bbca0c6cd33cf8f39bbf72fc693355b5a054fc8c6ef15228751eef52a1599b280c9a17801";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gu-IN/firefox-51.0b8.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-i686";
+      sha512 = "6437e9fc0e171f48c335fc7c6b7ba327dd9419dcd293449ecabef1a6a6546dc70c38099abdd42e5f087290a256362170fec02ca53ee33e8883f4c654c9382e29";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/he/firefox-51.0b8.tar.bz2";
+      locale = "he";
+      arch = "linux-i686";
+      sha512 = "ed8e6b961458652c273e443a29f4640b230044ca03d6da22a374704c800bbf8df4f7e984e9d3ec936153263cf29ee066c4fb6578ffdecf9955b7f65f10c26828";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hi-IN/firefox-51.0b8.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-i686";
+      sha512 = "091595a3b68c6951357f1a8e417a8ebed56c41fc1548c8aabe846980c4e3a769795fc0fc7e4cb1af47be2f4bf77b691269018d8ac2052f5acc5111b752fbafb0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hr/firefox-51.0b8.tar.bz2";
+      locale = "hr";
+      arch = "linux-i686";
+      sha512 = "4dd4646bedeffd0219e1577e61f4e17f5c2b67b78cd8f8001d033dd7d4f906d0ac8d3e6d5500fa8a4aa049be0f7aeed967909d6cfa13b97fd1b9f93ac7d7b687";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hsb/firefox-51.0b8.tar.bz2";
+      locale = "hsb";
+      arch = "linux-i686";
+      sha512 = "8cc10487146e89e1728529271b6a9e3e6ce6260d495ad0a013c5489da06425ff9adb88bb521ce8bb90c0ac5e21ba126147d23cefe716b2708bf084d39d70c800";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hu/firefox-51.0b8.tar.bz2";
+      locale = "hu";
+      arch = "linux-i686";
+      sha512 = "5c15c474ce885c88d863f1f22e73d300e0defeaf61009b939ea6c2e62f16a6fb3693a3dafdf264e83c618263153d3dd81bfcacbe5c9f701a28530d17b38d8189";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hy-AM/firefox-51.0b8.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-i686";
+      sha512 = "fdd30dbeeb08a07822de29eb0e6ccb9df895675546054c75b4bfb0cf1f427488cfad9e2a1f541894cf366ddd1bb03e8eb4a75c318a1f80b2cc967a5b4ded8b39";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/id/firefox-51.0b8.tar.bz2";
+      locale = "id";
+      arch = "linux-i686";
+      sha512 = "54734428db8860a7ae9c1543c341a5dd53f6e966f290a176e69f4fa66c2a4bcdd25075c5ec5f311adc033abb85e525b2b7426e113743632ebed07abaf31dba4c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/is/firefox-51.0b8.tar.bz2";
+      locale = "is";
+      arch = "linux-i686";
+      sha512 = "6ee38f9506403f3cb57c6b7f971c599ea1a2e77cbd5424bae209390a20b322f0b527ea4a0be93bac8976cadb5080d22e262d6797b4e9257aec232e768909c235";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/it/firefox-51.0b8.tar.bz2";
+      locale = "it";
+      arch = "linux-i686";
+      sha512 = "71a1d593554466db36e09aed429d07ac9ed563af33959c899319e96e7d757e8dfe912a8d18b52cc198a0c4a1c45226406bb56996bc199b67f79c6a3aaea7f6b9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ja/firefox-51.0b8.tar.bz2";
+      locale = "ja";
+      arch = "linux-i686";
+      sha512 = "7d38e749f69ee99bcb546291b09a0a2b51b969bd4fcea50dc4f386cb951ab8a025c2ae8746c9e1d6398024d7904b63497421fc16f4f061babd0efafd17ea52af";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ka/firefox-51.0b8.tar.bz2";
+      locale = "ka";
+      arch = "linux-i686";
+      sha512 = "813069de2be9e1b299bbead6e2078d86d3a382bf6d502c5f96a9c10c9571f4dc79127b450760d994e8fe41b3afd966fc70cea60e798432c7b8aa900d3d715bb6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kab/firefox-51.0b8.tar.bz2";
+      locale = "kab";
+      arch = "linux-i686";
+      sha512 = "e1c562cf189a60b15c94fdd681007b4a64fe3e275900c3c78d492854fa28eb61ff30ab65ce7d3537170f28d51ad543e1b306b94d1ef6280b0b03b466fae9edf3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kk/firefox-51.0b8.tar.bz2";
+      locale = "kk";
+      arch = "linux-i686";
+      sha512 = "be54a4085ecccf9d2dbb8894872d73d3d261a8a75c755fbb91ac4c1d8bd3ab696b95a25c87f0d509ab250b53470b20aad3255d128296928c591d45b2786c1cf3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/km/firefox-51.0b8.tar.bz2";
+      locale = "km";
+      arch = "linux-i686";
+      sha512 = "6369eb361d1ee31d33b9780072c1c49926fc4314168e5883ca71cf864765d7758d51db55f5ccda231e24ed4b65d2665b5fde7a3fcb1524a04e7057490e8b2308";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kn/firefox-51.0b8.tar.bz2";
+      locale = "kn";
+      arch = "linux-i686";
+      sha512 = "671165858cedd7f4ba9173cabe9532f08de780c967f6af085e73e3ac97f156b39000b3b672bb690cc40691d3b9b6b9d20c08883a1f2a1da689a71093096642a1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ko/firefox-51.0b8.tar.bz2";
+      locale = "ko";
+      arch = "linux-i686";
+      sha512 = "04cd3b277dc483cddcf6fbb79687b3ec170d33b0eee46717d645358df0f224c86f36723442e4d28e4460e663b3357f3d3c7a7aa1ec594013a8d91d030e08313a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lij/firefox-51.0b8.tar.bz2";
+      locale = "lij";
+      arch = "linux-i686";
+      sha512 = "e62b1481001d5d63b65e07b527dbfc29b435f659db7237b411105711a601d9117d62f71dd93849b5ebb8dd0dd4e5981ffe9f318aff2e74485580471f672d5b6c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lt/firefox-51.0b8.tar.bz2";
+      locale = "lt";
+      arch = "linux-i686";
+      sha512 = "f7cb9819f955f7b32439a7ffaf0cb57351bc25be579646d00f945f04152f64c9174bb49c99ec49b2d5c053634c73872a5b4a9615fd66744d0b5c650c9bbc67d9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lv/firefox-51.0b8.tar.bz2";
+      locale = "lv";
+      arch = "linux-i686";
+      sha512 = "e7cfab908f9ea12c77ff0a76d2283e205c9b3751eb16a5dc06171e2cc3315193c6010faca943341e1a6496b48b3d90520308c53d85677cc18014fb8560f7714a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mai/firefox-51.0b8.tar.bz2";
+      locale = "mai";
+      arch = "linux-i686";
+      sha512 = "6088910c06e1310097d09c6bd582e20928de56fddec03d7338faa9b9651900919315c15cffc601a0e4878ef7c8821d40d5e4d7e6998786b1cd50f21ca0e2dfc6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mk/firefox-51.0b8.tar.bz2";
+      locale = "mk";
+      arch = "linux-i686";
+      sha512 = "d4ab8618c7945843cd0c9234ffa68dc61adfc3759a99bd174f66456038614497e3b389b0af452b3958c12e9b2755ddbed33e098c9e4c07110daf0bc5c4b874cb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ml/firefox-51.0b8.tar.bz2";
+      locale = "ml";
+      arch = "linux-i686";
+      sha512 = "05d3de5e0565316ccad5ad407299f6c31071d48edf1ec44492e61b8764040f22a6b23230b74f256554f313575084c9d79504d3ef85451c9f73c12edd663c57a4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mr/firefox-51.0b8.tar.bz2";
+      locale = "mr";
+      arch = "linux-i686";
+      sha512 = "1ba2e3529f379c8e77941ce42a0100cef1f2daab31d8b1a0b23bed898ce0bdc4cb3a873aae71c1c3f5789f35edf7ffd88e11902154a3aa4f3117ba1ba782b0c6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ms/firefox-51.0b8.tar.bz2";
+      locale = "ms";
+      arch = "linux-i686";
+      sha512 = "7fe116ab0d79e7de3faeeebcdaedebbfba94ce6320b563ad79de7f3d5459cc113a1f10b6b2fb3c3b074d4a027f0cff9106e078c2945a62e5f3b828459c1e8d83";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nb-NO/firefox-51.0b8.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-i686";
+      sha512 = "9625821a4ce710ba5f1b5f7416086d4e33c67037e40dc0ad9a5d57049b4fd5bef9fd1b1c4c02cf6910465c641242a5ab9e596c962f5f4ace66b07cf4f0f85405";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nl/firefox-51.0b8.tar.bz2";
+      locale = "nl";
+      arch = "linux-i686";
+      sha512 = "5ff420c38ec644f622aed733c599a505498bde48f2a573492d647745d7f7c5cee44b009eaccb8de458af813260bd19f9baa7f9f1e2dd946cde48f09510a885cf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nn-NO/firefox-51.0b8.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-i686";
+      sha512 = "12ccce434da504753b38449959c97952767fa5af7aa2b0f58777f8775e4dac94d55d67e8d575f68e55e084bc65cdae101ad92b4654bcf345782bbe914d01f655";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/or/firefox-51.0b8.tar.bz2";
+      locale = "or";
+      arch = "linux-i686";
+      sha512 = "3b456b222d39b5a69761da7cd33504fc64ee76d5d8e6e4ca26be158f562bad27a3322604a6542195aed1181f578a650b05200b1ba75d5d8a05e400014bf25660";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pa-IN/firefox-51.0b8.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-i686";
+      sha512 = "3472c5eb75dd40b68995bfed8542546a9f35e04ca8a7fe17465a99a94846ea696d1cfedcca2d59a47082de6d2261f1701950be3295f063e69846cc90d531f5e0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pl/firefox-51.0b8.tar.bz2";
+      locale = "pl";
+      arch = "linux-i686";
+      sha512 = "0a883e16dc997c748a6d76e32455473ffea6612dcb88446f331e43f9d247f01ae93e49827b1e222a2990e54e201c58aed2150e800080fa47b222daaa69154bd9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pt-BR/firefox-51.0b8.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-i686";
+      sha512 = "34e6870557e30a75838bcac1e268796f670b8f5dc4e49cdbcc6e34cab5f8c3e4996cc73149d13a5178ebadd1f052ac5c2eaecbaaf0d3f4245080e71f8b86c856";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pt-PT/firefox-51.0b8.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-i686";
+      sha512 = "932291baa2091d12d9832483d14a6e05568fa8d1d1c41f42d066c5efc13d7e511afcb953945334b9e7a573776bd2263c9e38a64f73cb44f4f8a32509e5fe5119";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/rm/firefox-51.0b8.tar.bz2";
+      locale = "rm";
+      arch = "linux-i686";
+      sha512 = "7258b1c4a865d593e820220f5b48bfd1a8b9c4a7bdeac9b15208f5060ca501e03b72914b2b53b65164d2db606b092252f0abd6fd83f781ef0f330d4bb487dbb5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ro/firefox-51.0b8.tar.bz2";
+      locale = "ro";
+      arch = "linux-i686";
+      sha512 = "5fedc4a3dee59bcd804eee04ba07ee4b862e6ea8198d1a5c3383cf36667e2f15ef728f21138868b84c15f59c7b11760fb5fe293e8545840d1e5c98945f404eb7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ru/firefox-51.0b8.tar.bz2";
+      locale = "ru";
+      arch = "linux-i686";
+      sha512 = "8e6a4f786d5db808ac5c63d4abbe4a53b941845a48fe2fb8dfbefb46e01e1053d591aa8bda63ee83785ef3cdc481593c86c804e4683455a2e27fe594b96a650b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/si/firefox-51.0b8.tar.bz2";
+      locale = "si";
+      arch = "linux-i686";
+      sha512 = "39c0c3487242a54287af42c9457ebe8882112954dec168630b8914896e3900e9799691bb88147927328c4c5f4b2078bf68e623e09ca2f62a4b7efb4e625bb283";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sk/firefox-51.0b8.tar.bz2";
+      locale = "sk";
+      arch = "linux-i686";
+      sha512 = "e87215632b5f0264a04fefd631def717c3f6bdfe31817dbe855d7c6195b4f340af043bf613fa9f89ca4af4893cc6effb876eb51555a089880970315f7ad15e2f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sl/firefox-51.0b8.tar.bz2";
+      locale = "sl";
+      arch = "linux-i686";
+      sha512 = "7cb036e5926b2ce9a03b27f37359b640f824f32a918ad8e9959683114755949ad7d2069f02e0206c2d67633ec9763ea612ec3e3e44dc5e881d4e275d1767cf30";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/son/firefox-51.0b8.tar.bz2";
+      locale = "son";
+      arch = "linux-i686";
+      sha512 = "e74ea45d6b5dab67229472ab524abc805c5e1c91b7ba627d95f0fb5eb1310aacfcd73a4a5fbfe8d7d5546aba9d254297494b34efe81aecc7e261cce23b9e0de1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sq/firefox-51.0b8.tar.bz2";
+      locale = "sq";
+      arch = "linux-i686";
+      sha512 = "8321933b4eec21e9297e446d62f63b4a7c69eef3952d99aa32828b76776c34efc9cc174ded4637c586a383558eebd2ce43a63dcb7608ea0a2568c03fa363e0aa";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sr/firefox-51.0b8.tar.bz2";
+      locale = "sr";
+      arch = "linux-i686";
+      sha512 = "a81dcf72785936754c04fe2e549795f612af671e360a653860dec811a65ad8e19cb6cba5fb205ee5925f364e49a358d459c354e26b23746a2e5deba41374115a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sv-SE/firefox-51.0b8.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-i686";
+      sha512 = "1835da3f930b9daa37dc14785feb0d145aa9640278a4119b2a8f6168bb5bb385187914a625fcf3d88c3822ea62f338c2376c08831a2c4d8203a4b6c0bacb2d7a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ta/firefox-51.0b8.tar.bz2";
+      locale = "ta";
+      arch = "linux-i686";
+      sha512 = "0a7f219eece161bb3ae9ef280457e94470d1929770123a9197c08eb320ca2119aac66cd7fc5181e4c0c1359514d0338d306db1322435abea70538f9c55d5d7a2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/te/firefox-51.0b8.tar.bz2";
+      locale = "te";
+      arch = "linux-i686";
+      sha512 = "10a412a83c75b8a7d4adc800c858d9f0adbbf7b2c08cf8a3d5dc494ecf38cf8a83cd3a462eda7eabdec73e194264b698f40a705458fb0916829b783c511fd3aa";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/th/firefox-51.0b8.tar.bz2";
+      locale = "th";
+      arch = "linux-i686";
+      sha512 = "d5bd9c86174be82336f711d50dc75e6f252a468083354c0a1dff99f4c72469a1a789144ffab2beba65d3e43a2e8812955176f426b560bb000607bb683eed81ac";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/tr/firefox-51.0b8.tar.bz2";
+      locale = "tr";
+      arch = "linux-i686";
+      sha512 = "7ec4d2419a1afd9b23351ed896c92ba7812f4aac083e72242d21e0608c32dd5ac157c8d08a89991fd051f6fa0cc56507739b49cc94731a4aa83219d9c76cfc85";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/uk/firefox-51.0b8.tar.bz2";
+      locale = "uk";
+      arch = "linux-i686";
+      sha512 = "eaebff23162685126416f9974ca6d4d20a8dfa320818c76716e695c6d9984e4591620185fc5bb4ea97c2ab0d042864525f9704d7c3e0fd222db3eb60fbbc63cd";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/uz/firefox-51.0b8.tar.bz2";
+      locale = "uz";
+      arch = "linux-i686";
+      sha512 = "5cc21748974536c0f2e73dbd486e2bba1e5d44b4c198d94a6a4d8c3c0be925e89264a7201031903e1c4a41e4bd2c9fb558117ace9acb8f52051224c35b3558ec";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/vi/firefox-51.0b8.tar.bz2";
+      locale = "vi";
+      arch = "linux-i686";
+      sha512 = "42ad1640ffd4c1f35addf69156992f87e1cf5925c8e5d5a1ee49a34835d28117918d3c7cc7087e258726f83e16e3e8fae14f6b8530d308b29606105c8a2f337d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/xh/firefox-51.0b8.tar.bz2";
+      locale = "xh";
+      arch = "linux-i686";
+      sha512 = "14f18ee698bf639d4e51c13f58257af6a4a87e912e14dce51b2052351005f66df501e5b28408079d6d6221e2419da55675d298859c65b6c40b94108a7406f5c2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/zh-CN/firefox-51.0b8.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-i686";
+      sha512 = "66ee019ea1694d8e16e16a39799fa0bf1b6fca66a39ed5435865c7d3fd9ebd93496d20c37d750a1e70006e11672ae1a603ea81781146a10086604dbe39c3f2d4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/zh-TW/firefox-51.0b8.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-i686";
+      sha512 = "2575b4111e6061f941237392f23254eabbe7bf7c29a5113fcd61780238fb22f5b9d8ca9df0243f29d40b69f65ab5fa59d8ed83fdaff96ebab0b0e648f9adc0ad";
+    }
+    ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index c640266539a1..0b9ff9db219c 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -172,75 +172,9 @@ stdenv.mkDerivation {
     '';
 
   passthru.ffmpegSupport = true;
-  passthru.updateScript =
-    let
-      version = (builtins.parseDrvName name).version;
-      isBeta = builtins.stringLength version + 1 == builtins.stringLength (builtins.replaceStrings ["b"] ["bb"] version);
-    in
-      writeScript "update-firefox-bin" ''
-        PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin
-
-        pushd pkgs/applications/networking/browsers/firefox-bin
-
-        tmpfile=`mktemp`
-        url=http://archive.mozilla.org/pub/firefox/releases/
-
-        # retriving latest released version
-        #  - extracts all links from the $url
-        #  - removes . and ..
-        #  - this line remove everything not starting with a number
-        #  - this line sorts everything with semver in mind
-        #  - we remove lines that are mentioning funnelcake
-        #  - this line removes beta version if we are looking for final release
-        #    versions or removes release versions if we are looking for beta
-        #    versions
-        # - this line pick up latest release
-        version=`xidel -q $url --extract "//a" | \
-                 sed s"/.$//" | \
-                 grep "^[0-9]" | \
-                 sort --version-sort | \
-                 grep -v "funnelcake" | \
-                 grep -e "${if isBeta then "b" else ""}\([[:digit:]]\|[[:digit:]][[:digit:]]\)$" | ${if isBeta then "" else "grep -v \"b\" |"} \
-                 tail -1`
-
-        # this is a list of sha512 and tarballs for both arches
-        shasums=`curl --silent $url$version/SHA512SUMS`
-
-        cat > $tmpfile <<EOF
-        {
-          version = "$version";
-          sources = [
-        EOF
-        for arch in linux-x86_64 linux-i686; do
-          # retriving a list of all tarballs for each arch
-          #  - only select tarballs for current arch
-          #  - only select tarballs for current version
-          #  - rename space with colon so that for loop doesnt
-          #  - inteprets sha and path as 2 lines
-          for line in `echo "$shasums" | \
-                       grep $arch | \
-                       grep "firefox-$version.tar.bz2$" | \
-                       tr " " ":"`; do
-            # create an entry for every locale
-            cat >> $tmpfile <<EOF
-            { url = "$url$version/`echo $line | cut -d":" -f3`";
-              locale = "`echo $line | cut -d":" -f3 | sed "s/$arch\///" | sed "s/\/.*//"`";
-              arch = "$arch";
-              sha512 = "`echo $line | cut -d":" -f1`";
-            }
-        EOF
-          done
-        done
-        cat >> $tmpfile <<EOF
-            ];
-        }
-        EOF
-
-        mv $tmpfile ${if isBeta then "beta_" else ""}sources.nix
-
-        popd
-      '';
-
+  passthru.updateScript = import ./update.nix {
+    inherit name writeScript xidel coreutils gnused gnugrep curl;
+  };
   meta = with stdenv.lib; {
     description = "Mozilla Firefox, free web browser (binary package)";
     homepage = http://www.mozilla.org/firefox/;
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index c37404d881ba..8e424ea80b0a 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -456,457 +456,457 @@
       arch = "linux-x86_64";
       sha512 = "e942d5d6b8891d062b452f1a083de2849cc69ac45801aee0b5c413a786ce9d67555d94416d65fb6bb6e4b74cf11ae75a1036dfc661b50fda10b95febd86a80a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ach/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ach/firefox-50.1.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
       sha512 = "7546a3fb1cd0e06c9f6916c668cedcfa4671bc15a7ece8ed3ad8ebd1bce5c6ac84e2e024d7e2149844f1797d66374bb2c8769e67d1c4af941eb626c610c433f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/af/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/af/firefox-50.1.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
       sha512 = "a6981413d7974e2ca13ffce9fc65c0f69242d6c6bfaa6253fb13fd8fc7e62059df718b4722a7a879dc8e352fd94dcf74db41765dbafc277e8debdd7e35a1242c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/an/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/an/firefox-50.1.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
       sha512 = "e123cd3a8c9c8657f09d198b7f113b84192174b021dd816b82ee4497e307794bda1399e5425456c2d990788340a58831cd261a4c5c67e5b0ea3daa3d0ac65f65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ar/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ar/firefox-50.1.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
       sha512 = "618b9c24d37f4b82b1e51a5ceb5b2d3981c764f906e7959eb346adc5c974e464d4a691e50acdad7f9e0cfa5855afb6157e8ab600d22266a31fa444db9b7886da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/as/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/as/firefox-50.1.0.tar.bz2";
       locale = "as";
       arch = "linux-i686";
       sha512 = "93e53546ca9fc554decc0c1d6590b5b84a433ab392abf9fff9712d4432bfd47a1cc57439fc65ae9be91da6d38dd462fbb81fdd7304424e42d08eeb600d298eab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ast/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ast/firefox-50.1.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
       sha512 = "e1115994008db11f3c69679372a3f07b6edde23dca20733b7f06a5b0c63dad2a264c02e9f94dc74976efbb3961155216111522c3f1ebca91929ae356f8218c87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/az/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/az/firefox-50.1.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
       sha512 = "93be21a2a79d2f4cb2fb5132856837b1ac8d44c699faf623d076b95b5e61126ea540bcabbf57e2752b49cc7b5116f3345a2a78cd07104d873afc2e2127f64224";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/be/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/be/firefox-50.1.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
       sha512 = "ca41cbbe732e8e754cdb0c832ca7820d5320a8106bbb3e5d753f4a7f6eb30045b81cd84191f868076e0edca68e35b344d63ececa45eabff7102fe82c1ca19e61";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/bg/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bg/firefox-50.1.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
       sha512 = "4e0a3ff42a8502e07afca92ff98ae675213527e68c3907b177e53a580e0391c075a41ba4e5b87c27558f86b28c1abe2dcae191334c737d37bdbbfb25c33d0024";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/bn-BD/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bn-BD/firefox-50.1.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
       sha512 = "602cffffa7ebf0f53f3e466d3aa5d8f203698db16089e83c893092e9a0841a9a8ec6a46aa5df1e2fec020cd8a7345e4fe86fc20797ad65bcca56bb2f391390ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/bn-IN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bn-IN/firefox-50.1.0.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
       sha512 = "2f7ab4b093b8be7dfdbdcf2faad88eb99e8b0e19ebc17efba44d46a332754fcf16e9317398e88c8eea73680ac85f08d2f0a99768fad160d79102e8e1fd6fb8f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/br/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/br/firefox-50.1.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
       sha512 = "abc0fb371ae3144fcb3a5130b13c376169d8a3c3051493fb5fece9a4682757c42bf4717b6494d4220daebc3f1560397f1263706e2a3871d7ee5c0135cdfbe1a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/bs/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bs/firefox-50.1.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
       sha512 = "f62657ff653edae873269a4113a93dadbbb36920e9e30ff04407d28f755bc04e35223031a60018e69cd4c3b891511109b66e7baa83656b0ac37ef5e334f3a89b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ca/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ca/firefox-50.1.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
       sha512 = "bcc4184d882075eb2ea875c7493ca4f276796672a029ab161b4f2168e879b46a6fef454e04e53531a32ed5bf82178d8d2ef15f9e43679625e4f7632e7cf51f32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/cak/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cak/firefox-50.1.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
       sha512 = "88448d8c17235e318628bed05d607f30ab9db4e05f181a36e39c02f2df840a10990a534d5d5f8e16fdaeecfbf3e51bc7cd9f45b8a84b3447132bb57a87c4e2d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/cs/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cs/firefox-50.1.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
       sha512 = "acb9fe18d8a5fe97cdeeea24e8a6e56895a3be16c6a5f2099a69c32768e2f76a2c0fd081d3759a2c87d002ea5021dcc5f806195d3bed06e8514c383ee8bf998f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/cy/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cy/firefox-50.1.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
       sha512 = "89119e29496981f8ebc85d512e5d58d8bd3678cc8ea4c90e544bde60881cf5f768b4060d710f8ba4d61dfbd7299a4437f5e7aab1140a03cd498af18c480e0b4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/da/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/da/firefox-50.1.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
       sha512 = "285363c04cb6506400077f36867a65372fae80ca6b3fbed88be219c3814d3f38a650c78f36014ae205ba9e5167b5291353c799b918c8e2bca6f23374094db209";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/de/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/de/firefox-50.1.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
       sha512 = "ea470ab934f49ff79b8cb04809f5605edb70d3ea9bc997c01802f09e3fbc8d045bb322b97b729916b6371b047f3b4ac14b25dca8e8befea401362c2024a2fa13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/dsb/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/dsb/firefox-50.1.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
       sha512 = "74bb1ab27970819fd9a368ac5f9a14add5378d9a7c39707e12146ae8082f39593ea53b5dd730708764515b0177d7ddb675b04a8a75f259303d30f281b44527cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/el/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/el/firefox-50.1.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
       sha512 = "3d3eb83a16c94eaa0bcb8627239b74c0a261189b67b917d4e2fa9ac538ea353a998b691350797470ab8ab4a5effc65a35a36e4b3d372895bd691c63d439a4c9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/en-GB/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-GB/firefox-50.1.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
       sha512 = "23a75b31d461ebb0a3960c6235b6c77471f3687e76f154c8d1fc8cce40ba571a9699e19a5310faa55c52b243e6fd88ec76ccbcb93dfa8b3521493805ca852d57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/en-US/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-US/firefox-50.1.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
       sha512 = "b1667f7c235b3fdbd3a2c3ee6ddd7976b4142983393b0b8e0443896cd0929d7a43ca484ba5922340410fa3c4868f555a4ab581c9664281a31b912c1922a1dce5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/en-ZA/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-ZA/firefox-50.1.0.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
       sha512 = "78238141da05b61b797440a04973187bbfb4d3cff7830385e163e8ccaa603368910be89ee7f2f4e65a47a6917835dff8f840a77a507c3ff0242baaf1b7cfb4f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/eo/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/eo/firefox-50.1.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
       sha512 = "af424d87210909ad480823d56f20327b0e7879bb0ce7ab43994870a69e6e91b3181e480dcc2610064f276ccfccb71badca135f3d8e00ff16947c220dfe67ee82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/es-AR/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-AR/firefox-50.1.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
       sha512 = "cca38288b4ef6de4c7469cdcbd7cc29715993ca69c39febb877691b2368182a0efbb0111b45bb5a7ddf47b7c70f20638bc6dc7d6fcd46f8d8127d36bc29da3e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/es-CL/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-CL/firefox-50.1.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
       sha512 = "104a3fa6bdf86e0e70c54bfdd8c0d388a8e91a9bae0ef973fc043247907295cc5f53c44f414fe8cd6e2f17a02eae14e366fa8c11ccbb45df2055813b17fd7712";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/es-ES/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-ES/firefox-50.1.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
       sha512 = "be847e51e78991ac739bc32fb29cc0cc166f12f02b5ada4d4656d3447379eb9cd10f80391433607fb63e971d54a48591d60baa5cb963421f1934033e08525d7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/es-MX/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-MX/firefox-50.1.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
       sha512 = "7a7464de3223e9cf1cd0f6b7767ea0fb7ee8db0b3b2c3eb9d284cd5ee8db77b9b0ec3c604625c8c6ffffc41bbac4ea47543c1508f7f8aadbaaeb9954b7e62247";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/et/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/et/firefox-50.1.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
       sha512 = "907612ce5691ec5e4647e943ed58d437db872551da8490af3e5f7af44e7d9ac78a8c5eaf721f719af782c8b202aa24ee6a87640e54323b5eb823dbee39b2903b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/eu/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/eu/firefox-50.1.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
       sha512 = "29c76a0f49d87d162749f824e287f2c1b37cab465cdd5e5e991ce429273d492fc905772c25f4c812c6fb899249a9bb7346eefc91af9f642b4acdc70d3af6f338";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/fa/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fa/firefox-50.1.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
       sha512 = "0deec5372d5876861af20a60d8db9d4c5aaef8c133c81bc3af6d85d2de528f96ae1da7f5fc78a9bf34bf06d9121fdb6d74e28ad40ae2b7fc23b4a0c161e09722";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ff/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ff/firefox-50.1.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
       sha512 = "07c87801154ce44d37b1a477850bf9568651beabb4004d7cfe427c0ecf75fc85da91cffbbd60af773c8b3b7cd30e10937c9ff2fcf65409faf2dd194694d9b6c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/fi/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fi/firefox-50.1.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
       sha512 = "310b71c8e46fd7ab3127cfc0743c1d98ede8adbfd01a645089cb6e5752e8ff4e3da9f8f47ab5fd7d06284b3fd76b9780d60c2898d0868e30a76dcebf35c24b05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/fr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fr/firefox-50.1.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
       sha512 = "1bc1e595f12d04067b9985be57fe4ec17de89069e4d6b780c16231c4ea195fa0cd8e6daece265335fa56ac3dae9d94c3b76f93199cf1e0946f6d6ac75bd01a1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/fy-NL/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fy-NL/firefox-50.1.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
       sha512 = "d07b171d615306c6de663f4592450dea92cd7298e6994ea7fb5d55f01f260c2b66d1b4bc4109f44c3d007107c78feccaa6540ddb14dc8666e0192ff3978d8f5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ga-IE/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ga-IE/firefox-50.1.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
       sha512 = "1c234083d098c52a7597dd727c246ea6dfc177edd1e4fc021ad5868ce9082353036d78b9297503a5eb14dc8d500a7a2549d771ea2d3c849817ab791329925d25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/gd/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gd/firefox-50.1.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
       sha512 = "0e88344c58c1b2e63b765949db63ed9e874b23e382f9fe833206cadde1d6c32d804d68a22f17741cc7964773858fa7adb6a6a42e7ed56dad54f2d7d0a71dce08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/gl/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gl/firefox-50.1.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
       sha512 = "244cf85b95f4a1eed0369f4f41ba870f4a3fd48fd85979b005ffc19ab4c03e52da87ae8687f5e3048c33599baab46fa8ed8274db5b180936076fd63e02b955b2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/gn/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gn/firefox-50.1.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
       sha512 = "20d51aefbc2f98f83fafd23a5800840d1bce7f0688f76d0ef322b2f1dfe44e75fd82c39fef23cc9afb15faa41514f29f8313748a2e969e2051b3824962de6e56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/gu-IN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gu-IN/firefox-50.1.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
       sha512 = "b07adecbbf8aaa8dce8e7d8e03b86d5ce3bb97646404433d89d82832e692efeb532df86a5a4276dcf1f63c705507e0d87f3d72440c49e5d70c9a08968f75fbe7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/he/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/he/firefox-50.1.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
       sha512 = "a6d9a10704ad4097af79ee05aae504a9a6ff109192241cd99c3be665f0adaffa6e5b7b39da859d61d9294cf899a5496ce0c82ac4012a318ad4aa96d6418f380f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hi-IN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hi-IN/firefox-50.1.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
       sha512 = "6d78b83b289abf37267b08c72c3b3c42005ddc2f2b13c846012f342b16a3bbf9a891fcd6e24af01160d1749c1b7e76a9f62060970d52144405e4162d4c6297e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hr/firefox-50.1.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
       sha512 = "e70daf40c8a0885c344a01d1cde03b34af23a2d9c76450f0723cc5ec1b577251dfbb8bfacd3eba866953c5b3dcd2974456305a9e171025cfbd43416f679f1cc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hsb/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hsb/firefox-50.1.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
       sha512 = "8c137a61cb020dbfb1d73a698d76c4921c9a1dff5f836185caba29c22c81c7c0683cb4139b0642d4bf408e01d498de46022c36de78a3c0413eae048f2be69e72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hu/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hu/firefox-50.1.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
       sha512 = "1630ad84eff835e1f56e424000515e37d52a268ce569ea12fe5abb8afde231f2aee2293046ee8aeb338ccd81ec98c92246f4b62e000ece032349eedb2ca3bb82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hy-AM/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hy-AM/firefox-50.1.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
       sha512 = "dc2359753972d1eac82bc357461331d69e52bde41736ab5c4bd590491add2b592bd3e4f15f32db94922afee84af04500928ece6be14071b10ad1fc4c8b82314b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/id/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/id/firefox-50.1.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
       sha512 = "61717f0c508b61b874080e21f7cf22283b1d123e2301490af409c710ee612ee8e0e7709f3bee20891c0a76b3b2de05b4ba94885d1b3813e6612a1dd1f871d34c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/is/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/is/firefox-50.1.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
       sha512 = "57d649dd96889b533c336078b4d2380a8417a1f77e40379d51a80518ffe2024a303c2b9c42861436425098cbf2e328264972b82039b9fe13054ae3d33a93e737";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/it/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/it/firefox-50.1.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
       sha512 = "b8bb4e379f4e21bdea2190695b0f74c23b72af5c6149e8790a433c09cbe3ee170fc68a375b71ea112d15eb00b948b6c30466fe382f86e8c5da85ea7479b355ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ja/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ja/firefox-50.1.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
       sha512 = "287d4ba06988e7a6022fead8af2d921fb761222cd0cbaacb7136c44e397b4620a6129f59f97d98d8a992caaf203e7c8fc130aa4e5e9c58b13a2700f63d786497";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/kk/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/kk/firefox-50.1.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
       sha512 = "f96a9b418849234b41d181ad141dbb030a8b2f26e73944694c5a805a21778d708862df988dda8ab8fe28eca0aa342153db84d6af971461f0eb8072590445ac15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/km/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/km/firefox-50.1.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
       sha512 = "63af9259f4326d4dc356513203646712f26dd992d2150d58c4f1892d76f0a3944063dbfec0db68f67d20538aea3247313357e5a822e0a8507bfad2a7209067d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/kn/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/kn/firefox-50.1.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
       sha512 = "afa965fd87ca7dcf5217011cf0aa53d89e1656d64cb8ad973a149eed3897eb577bdbe3359a5310bf9e11dc6e927883c08fb7ef069756313dfc75850378ae7820";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ko/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ko/firefox-50.1.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
       sha512 = "724726e85066350ba9fb0254462b198e198c20970664737c925ca41a474ac4070d2e746b671e8583339fb1935e9a05d6191856f5abaa6e23413efdb707d34d19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/lij/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lij/firefox-50.1.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
       sha512 = "e17504c60dcf3eea34c9525b3ca537656fabf90a7d888284cd5ac014a939565ba50e8b3d0fd1c936dd5be1ac59ee9f61e2de22b5b1eaeb12fca0f59a094a06eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/lt/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lt/firefox-50.1.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
       sha512 = "00689c1e19f748e5676ea3b8ed0076f6a63698c57b171eb771d45e9d9ba5bcf359eeb827f5791c96ca6a31eb9ca166208fc63b4a211676b466656e537323719d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/lv/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lv/firefox-50.1.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
       sha512 = "1218ec478e28229f0ef8d5a7a669ed6f69722602f75185c4817a9870b35b6955f87f004317bb32cdada379075115c12ad92f73f74818c182a480393961a85bf4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/mai/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mai/firefox-50.1.0.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
       sha512 = "6fe97505743b8aa14b9bb3be57077c9da14c2049b2d0d455fc2b777b09bc42924f04c781073188fcdb3130bd5d1cba2cbc5c2ebd04fecc7e73ddb8f20f61c716";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/mk/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mk/firefox-50.1.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
       sha512 = "e0bbe68d53a08df8e2ac46b9b51567f69fcd11b03d19b6e84f86ca9f255c0920f89b011df5fd4ff300cb3fda65470fc15ad779757421eea2b3b6db6bc7ae9c1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ml/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ml/firefox-50.1.0.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
       sha512 = "0e6560b60dc8c0fa309c3a73c1aa3331aec82556e3ee5eec9014d8787c9a5f8311049fc7939ec69569abf689e349be08bce040bfab8bd2ee3ac0042753ce2860";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/mr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mr/firefox-50.1.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
       sha512 = "cc31171f3ee669fb47dfe4e416c84ed58125b1a4787a92588c3650a2062e4e7fed28f2cc5c784fcf1d804c64fb335c2e16340d46f2d879b73e4465f8c662350a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ms/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ms/firefox-50.1.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
       sha512 = "12d3bfa0c956b342604a043beefadbe5bff639fbe4b12614832ca36ac11a4046987f3be34dfeb5d3dbb4e9c1d8533645a8d78c3413f9730a72ae952bb07fd703";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/nb-NO/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nb-NO/firefox-50.1.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
       sha512 = "b144e104f01a075bd0d107f77af39664323eed78987ebc78a7a2917b86d83c2d6ff3bb35b6c5230e27c8164246fb32defea91e5b84672e20f5071e0d52456726";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/nl/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nl/firefox-50.1.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
       sha512 = "da466f3dc573096be1d55bdb03f926f0b94ee2ad8e326a3fdc29d519d00f5c0c9166b85c0c8c191d1ca7c992b05b68abff5f33882e52e43be3015a35333be3d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/nn-NO/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nn-NO/firefox-50.1.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
       sha512 = "85f83572953a0b54805b22f3a21cea70343092912c3b988f8408ac1df1931dda52a8686c32cdd7c91e776a17af0a390d6394b22fdf46ae1205a01499f390dc5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/or/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/or/firefox-50.1.0.tar.bz2";
       locale = "or";
       arch = "linux-i686";
       sha512 = "1a0b08aa675bfe8b26675f1eac53389f34d02b0c28287d1a73e663ce5d747efd0bc4db5f0f29e3e864c99447e759fdf35ff573235a7ac9b815fe8b749f0a0e88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/pa-IN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pa-IN/firefox-50.1.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
       sha512 = "ee9c1c9cc27cd8470cee9a1600951274f9a663e4562cacf7452426c562815f393b726402b1356f9a60095e85278030d64f35cb1fdadd5c8cd11d6917f9c70d60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/pl/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pl/firefox-50.1.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
       sha512 = "a326d11cb0df567ad13e6d543426c0a28d9158f7d8f0f519b208bddad26145e3eee6350dfb54735cfc05d656ed40b022fa132991a91f1de78eb36ee4f7333fcc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/pt-BR/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pt-BR/firefox-50.1.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
       sha512 = "cb99dec511614bfdccf43b06e4babd28dbe0dfac464147aadccbf69bdedf3a093e625e4fcdfe0cf8db867b5854ce4c3c5d399a6e9ba932a9fd8574928962360c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/pt-PT/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pt-PT/firefox-50.1.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
       sha512 = "2c4215b8bd5ee9ff78fdfda763c5506fb6a3c7056c9b4494d89f77ff4255c86617f4102f36bf534c0e3ff24ed27ef4a0853d24578bb39ae0a04f741422e6eba3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/rm/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/rm/firefox-50.1.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
       sha512 = "470b3ce93cd25c24c0c9a1581da7a48c101d7a93764423073b1934dbeb5a0fc401150009a622feba1f2f799501fb03e0af79a308c4fef08ac942c5adcaaf0d91";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ro/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ro/firefox-50.1.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
       sha512 = "7cfaa6b7b2dbe4dadc464591ffbb508e66b724eba76b6fa8e9547ef1092f1aa51f1846e9392a8531c7ba24aedb4ba49e7a2e0c1f41a0b97e6dbacdf1d6c34c75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ru/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ru/firefox-50.1.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
       sha512 = "5915a55e881a57797a67d59b4ae9fd95da8bcc4caaa1ad7decb78a6de7a5da7ff35139ff33f7e4ed171615ba9c25ab7df43677a58cecbee530eed25d8a7cc8ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/si/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/si/firefox-50.1.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
       sha512 = "a1702939f705a7c2b3b66efdd6dc27a4320ed019dcd62b59da67ef3f078be0afab91ee5158e67cb62691b1a4a002783f807d6133885bd0ac9bb05401268d5f24";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sk/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sk/firefox-50.1.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
       sha512 = "43b72dd5ebcb1524c5b633cbfb73eed21aaf466227f29f4ffdd93f1c49dcc2295a38b57b3ce072c40da72184e1fb954a9097ea6d6d6df6807dfc5d04ff48b327";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sl/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sl/firefox-50.1.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
       sha512 = "24840e76f00d6a07de581d06050f924018ae2613a6e4cba993073859dd05007b6c97a7d518a6c4b111740945357621c7325c4cd7f45adddceea270e08c1a09c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/son/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/son/firefox-50.1.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
       sha512 = "004f8732e194d9c1972390d0ce0d04f9e8f91583676fa5d65bcfb1ee58a6b52db5176ce8a281a3ac94391b43aa637ed157128950e589a0f0a354622da6f04132";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sq/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sq/firefox-50.1.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
       sha512 = "3dead0e008b4255585d22dacb6fa0aec125da6581b7ef4b1ccc6697e03a5afacd14d340bd8eb7bc0b38478bc6ca20f09364e9180313ceedf1853739ee181d125";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sr/firefox-50.1.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
       sha512 = "cdbf5fa9d085829828f5a395114c3efae9b82e77e34aa69b622e611de8aaf54c525ad12ca445190ba5cc9c22d979be902e4f1f6e6a746b5f97570326cd90009b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sv-SE/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sv-SE/firefox-50.1.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
       sha512 = "ef8a625973d0286799e2a9ea3a5a10078d912a65521be8f935ec6eb207ba53942ec5d0e0c4c5c013ea2705307dafda12294fdf708dca35f72d5ba3eb48733238";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ta/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ta/firefox-50.1.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
       sha512 = "64652e5c68680f1ab15bdb5ec6487387789bd4b1a1537daa215094e57156fd4a1272311d8084435994151aff5e7ddffb16b93c2048989d9c2dc455f98d072b06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/te/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/te/firefox-50.1.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
       sha512 = "e516ee1f536dd98ab95a9a621cf4634f1ac70a3b5952cd8c6498890536b1630b362ebda8e69577eda4c0a6224f1a9cbf19453e5709dbca467e37597016eb5fe3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/th/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/th/firefox-50.1.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
       sha512 = "0b9ae06d78e94d6f9ee5861dc911eca02f39671d8f13f2119323ed7dc394dffbe99f2d23dd3eba955d46f7d4b9775cd9fc3311337d4339748c178aa67d7467eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/tr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/tr/firefox-50.1.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
       sha512 = "31be512e591504d3e8a776933f0926ae54a7797fa037e53a4627b1bb39ed61e4689cafee7d84dfb6b930ee2e4a84df158a97c1c5b201a3a8ea112e2910e65846";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/uk/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/uk/firefox-50.1.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
       sha512 = "19614a4999f5c7509a3c0b1c6bb2bc3d9f408ff6727bcf9bf93bf91a59ec8d3c04206719fe2aa2319a0e62687df871bfa2fe67117219398e19aa5a6e0782c15c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/uz/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/uz/firefox-50.1.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
       sha512 = "22bb3b4a3a5a98ad8da002a220dd2779a46fd50a3d0ff41bec8312186ae34543da44fc49518fee160aa4b48176a0d3ba0dd0c4853fea9befc66911684b83ddb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/vi/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/vi/firefox-50.1.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
       sha512 = "99140a71208a7912dc8b9fd3bd7f5454a0b032dee4d903304dfd14aa9abec0722fdcc6624f3c0a1c6e753bc6ab6ea512d6f8c55b5482069ed6c65d5579f562e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/xh/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/xh/firefox-50.1.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
       sha512 = "440573a5e364ecd59121b30f664ed23bd2fa80945562d1e5cc04303f12dfff23c96ef53ce07cf689d247a5120b9d7679533ccb6e17c27b29898154f0fc9fc581";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/zh-CN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/zh-CN/firefox-50.1.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
       sha512 = "4a2f5550c130d0992408d328afa3dbd37f80e5b63c2b33c095ab74e397ea394cb33f87214f1b0d3650c60450738fe3eca636ed51ca1c4e5dce9b58e0f09c30f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/zh-TW/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/zh-TW/firefox-50.1.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
       sha512 = "6417da7af1792f241c8d57dd5bb05dac974db2b73a6274fe3159037bcf8ae8a23b3f1849f5b42a0bfc09f1dcbf949bcaa8b1e9cc633fd3726c12cde7e3cf542f";
diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix
new file mode 100644
index 000000000000..d32f4dfcf5b0
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix
@@ -0,0 +1,78 @@
+{ name
+, writeScript
+, xidel
+, coreutils
+, gnused
+, gnugrep
+, curl
+, baseName ? "firefox"
+, basePath ? "pkgs/applications/networking/browsers/firefox-bin" 
+, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/"
+}:
+
+let
+  version = (builtins.parseDrvName name).version;
+  isBeta = builtins.stringLength version + 1 == builtins.stringLength (builtins.replaceStrings ["b"] ["bb"] version);
+in writeScript "update-${baseName}-bin" ''
+  PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin
+
+  pushd ${basePath}
+
+  tmpfile=`mktemp`
+  url=${baseUrl}
+
+  # retriving latest released version
+  #  - extracts all links from the $url
+  #  - removes . and ..
+  #  - this line remove everything not starting with a number
+  #  - this line sorts everything with semver in mind
+  #  - we remove lines that are mentioning funnelcake
+  #  - this line removes beta version if we are looking for final release
+  #    versions or removes release versions if we are looking for beta
+  #    versions
+  # - this line pick up latest release
+  version=`xidel -q $url --extract "//a" | \
+           sed s"/.$//" | \
+           grep "^[0-9]" | \
+           sort --version-sort | \
+           grep -v "funnelcake" | \
+           grep -e "${if isBeta then "b" else ""}\([[:digit:]]\|[[:digit:]][[:digit:]]\)$" | ${if isBeta then "" else "grep -v \"b\" |"} \
+           tail -1`
+
+  # this is a list of sha512 and tarballs for both arches
+  shasums=`curl --silent $url$version/SHA512SUMS`
+
+  cat > $tmpfile <<EOF
+  {
+    version = "$version";
+    sources = [
+  EOF
+  for arch in linux-x86_64 linux-i686; do
+    # retriving a list of all tarballs for each arch
+    #  - only select tarballs for current arch
+    #  - only select tarballs for current version
+    #  - rename space with colon so that for loop doesnt
+    #  - inteprets sha and path as 2 lines
+    for line in `echo "$shasums" | \
+                 grep $arch | \
+                 grep "${baseName}-$version.tar.bz2$" | \
+                 tr " " ":"`; do
+      # create an entry for every locale
+      cat >> $tmpfile <<EOF
+      { url = "$url$version/`echo $line | cut -d":" -f3`";
+        locale = "`echo $line | cut -d":" -f3 | sed "s/$arch\///" | sed "s/\/.*//"`";
+        arch = "$arch";
+        sha512 = "`echo $line | cut -d":" -f1`";
+      }
+  EOF
+    done
+  done
+  cat >> $tmpfile <<EOF
+      ];
+  }
+  EOF
+
+  mv $tmpfile ${if isBeta then "beta_" else ""}sources.nix
+
+  popd
+''
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index a170b7fbab82..6a688de02d08 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -5,6 +5,7 @@
 , hunspell, libevent, libstartup_notification, libvpx
 , cairo, gstreamer, gst_plugins_base, icu, libpng, jemalloc, libpulseaudio
 , autoconf213, which
+, writeScript, xidel, coreutils, gnused, gnugrep, curl, ed
 , enableGTK3 ? false
 , debugBuild ? false
 , # If you want the resulting program to call itself "Firefox" instead
@@ -19,7 +20,7 @@ assert stdenv.cc ? libc && stdenv.cc.libc != null;
 
 let
 
-common = { pname, version, sha512 }: stdenv.mkDerivation rec {
+common = { pname, version, sha512, updateScript }: stdenv.mkDerivation rec {
   name = "${pname}-unwrapped-${version}";
 
   src = fetchurl {
@@ -43,7 +44,7 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec {
     ++ lib.optional enableGTK3 gtk3
     ++ lib.optionals (!passthru.ffmpegSupport) [ gstreamer gst_plugins_base ];
 
-  nativeBuildInputs = [autoconf213 which];
+  nativeBuildInputs = [ autoconf213 which gnused ];
 
   configureFlags =
     [ "--enable-application=browser"
@@ -135,7 +136,7 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec {
   };
 
   passthru = {
-    inherit nspr version;
+    inherit nspr version updateScript;
     gtk = gtk2;
     isFirefox3Like = true;
     browserName = "firefox";
@@ -148,13 +149,22 @@ in {
   firefox-unwrapped = common {
     pname = "firefox";
     version = "50.1.0";
-    sha512 = "2jwpk3aymkcq9f4xhzc31sb1c90vy3dvyqq2hvw97vk9dw7rgvv2cki10ns5cshbc4k57yd3j8nm7ppy2kw6na6771mj6sbijdjw39p";
+    sha512 = "370d2e9b8c4b1b59c3394659c3a7f0f79e6a911ccd9f32095b50b3a22d087132b1f7cb87b734f7497c4381b1df6df80d120b4b87c13eecc425cc66f56acccba5";
+    updateScript = import ./update.nix {
+        name = "firefox";
+        inherit writeScript xidel coreutils gnused gnugrep curl ed;
+    };
   };
 
   firefox-esr-unwrapped = common {
     pname = "firefox-esr";
     version = "45.6.0esr";
-    sha512 = "086ci461hmz6kdn0ly9dlc723gc117si4a11a1c51gh79hczhahdaxg5s4r3k59rb43gpwxrlvm4wx1aka36bsihnh8a4caxnp72v5r";
+    sha512 = "b96c71aeed8a1185a085512f33d454a1735237cd9ddf37c8caa9cc91892eafab0615fc0ca6035f282ca8101489fa84c0de1087d1963c05b64df32b0c86446610";
+    updateScript = import ./update.nix {
+        name = "firefox-esr";
+        versionSuffix = "esr";
+        inherit writeScript xidel coreutils gnused gnugrep curl ed;
+    };
   };
 
 }
diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix
new file mode 100644
index 000000000000..33c9f3079181
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/update.nix
@@ -0,0 +1,54 @@
+{ name
+, writeScript
+, xidel
+, coreutils
+, gnused
+, gnugrep
+, curl
+, ed
+, sourceSectionRegex ? "${name}-unwrapped = common"
+, basePath ? "pkgs/applications/networking/browsers/firefox"
+, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/"
+, versionSuffix ? ""
+}:
+
+let
+  version = (builtins.parseDrvName name).version;
+in writeScript "update-${name}" ''
+  PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${ed}/bin
+
+  pushd ${basePath}
+
+  url=${baseUrl}
+
+  # retriving latest released version
+  #  - extracts all links from the $url
+  #  - extracts lines only with number and dots followed by a slash
+  #  - removes trailing slash
+  #  - sorts everything with semver in mind
+  #  - picks up latest release
+  version=`xidel -q $url --extract "//a" | \
+           grep "^[0-9.]*${versionSuffix}/$" | \
+           sed s/[/]$// | \
+           sort --version-sort | \
+           tail -n 1`
+
+  shasum=`curl --silent $url$version/SHA512SUMS | grep 'source\.tar\.xz' | cut -d ' ' -f 1`
+
+  ed default.nix <<COMMANDS
+  # search line
+    /${sourceSectionRegex}/
+  # search version number line
+    /version/
+  # update the version
+    s/".*"/"$version"/
+  # search hash line
+    /sha512/
+  # update the hash
+    s/".*"/"$shasum"/
+  # write then quit
+    wq
+  COMMANDS
+
+  popd
+''
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index 2863a5950175..abc314f85699 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -6,6 +6,9 @@
 , alsaLib, libXdamage, libXtst, libXrandr, expat, cups
 , dbus_libs, gtk2, gdk_pixbuf, gcc
 
+# command line arguments which are always set e.g "--disable-gpu"
+, commandLineArgs ? ""
+
 # Will crash without.
 , systemd
 
@@ -51,10 +54,13 @@ let
     flac harfbuzz icu libpng opusWithCustomModes snappy speechd
     bzip2 libcap
   ] ++ optional pulseSupport libpulseaudio;
+
+  suffix = if channel != "stable" then "-" + channel else "";
+
 in stdenv.mkDerivation rec {
   inherit version;
 
-  name = "google-chrome-${version}";
+  name = "google-chrome${suffix}-${version}";
 
   src = binary;
 
@@ -103,7 +109,7 @@ in stdenv.mkDerivation rec {
     #!${bash}/bin/sh
     export LD_LIBRARY_PATH=$rpath\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
     export PATH=$binpath\''${PATH:+:\$PATH}
-    $out/share/google/$appname/google-$appname "\$@"
+    $out/share/google/$appname/google-$appname ${commandLineArgs} "\$@"
     EOF
     chmod +x $exe
 
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
deleted file mode 100644
index 17168241ed9a..000000000000
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ /dev/null
@@ -1,134 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, zlib
-, alsaLib
-, curl
-, nspr
-, fontconfig
-, freetype
-, expat
-, libX11
-, libXext
-, libXrender
-, libXcursor
-, libXt
-, libvdpau
-, gtk2
-, glib
-, pango
-, cairo
-, atk
-, gdk_pixbuf
-, nss
-, unzip
-, debug ? false
-
-/* you have to add ~/mm.cfg :
-
-    TraceOutputFileEnable=1
-    ErrorReportingEnable=1
-    MaxWarnings=1
-
-  in order to read the flash trace at ~/.macromedia/Flash_Player/Logs/flashlog.txt
-  Then FlashBug (a FireFox plugin) shows the log as well
-*/
-
-}:
-
-/* When updating this package, test that the following derivations build:
-
-   * flashplayer
-   * flashplayer-standalone
-   * flashplayer-standalone-debugger
-*/
-
-let
-  arch =
-    if      stdenv.system == "x86_64-linux" then
-      if    debug then throw "no x86_64 debugging version available"
-      else  "64bit"
-    else if stdenv.system == "i686-linux"   then
-      if    debug then "32bit_debug"
-      else             "32bit"
-    else throw "Flash Player is not supported on this platform";
-
-  suffix =
-    if      stdenv.system == "x86_64-linux" then
-      if    debug then throw "no x86_64 debugging version available"
-      else             "_linux.x86_64"
-    else if stdenv.system == "i686-linux"   then
-      if    debug then "_linux_debug.i386"
-      else             "_linux.i386"
-    else throw "Flash Player is not supported on this platform";
-
-  saname =
-    if debug then "flashplayerdebugger"
-    else          "flashplayer";
-
-  is-i686 = (stdenv.system == "i686-linux");
-in
-stdenv.mkDerivation rec {
-  name = "flashplayer-${version}";
-  version = "11.2.202.644";
-
-  src = fetchurl {
-    url = "https://fpdownload.macromedia.com/pub/flashplayer/installers/archive/fp_${version}_archive.zip";
-    sha256 = "0hf0hwg4kvz99g9d2arg5dwm3nx0hjnpngz9ay1mihhgjksy585b";
-  };
-
-  nativeBuildInputs = [ unzip ];
-
-  sourceRoot = ".";
-
-  postUnpack = ''
-    cd *${arch}
-
-    tar -xvzf *${suffix}.tar.gz
-
-    ${lib.optionalString is-i686 ''
-       tar -xvzf *_sa[_.]*.tar.gz
-    ''}
-  '';
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  preferLocalBuild = true;
-
-  outputs = [ "out" ] ++ lib.optional is-i686 "sa";
-
-  installPhase = ''
-    mkdir -p $out/lib/mozilla/plugins
-    cp -pv libflashplayer.so $out/lib/mozilla/plugins
-
-    patchelf --set-rpath "$rpath" $out/lib/mozilla/plugins/libflashplayer.so
-
-    ${lib.optionalString is-i686 ''
-      install -Dm755 ${saname} $sa/bin/flashplayer
-
-      patchelf \
-        --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-        --set-rpath "$rpath" \
-        $sa/bin/flashplayer
-    ''}
-  '';
-
-  passthru = {
-    mozillaPlugin = "/lib/mozilla/plugins";
-  };
-
-  rpath = lib.makeLibraryPath
-    [ zlib alsaLib curl nspr fontconfig freetype expat libX11
-      libXext libXrender libXcursor libXt gtk2 glib pango atk cairo gdk_pixbuf
-      libvdpau nss
-    ];
-
-  meta = {
-    description = "Adobe Flash Player browser plugin";
-    homepage = http://www.adobe.com/products/flashplayer/;
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [];
-    platforms = [ "x86_64-linux" "i686-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
new file mode 100644
index 000000000000..8ae86eed02ca
--- /dev/null
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -0,0 +1,146 @@
+{ stdenv
+, lib
+, fetchurl
+, alsaLib
+, atk
+, bzip2
+, cairo
+, curl
+, expat
+, fontconfig
+, freetype
+, gdk_pixbuf
+, glib
+, glibc
+, graphite2
+, gtk2
+, harfbuzz
+, libICE
+, libSM
+, libX11
+, libXau
+, libXcomposite
+, libXcursor
+, libXdamage
+, libXdmcp
+, libXext
+, libXfixes
+, libXi
+, libXinerama
+, libXrandr
+, libXrender
+, libXt
+, libXxf86vm
+, libdrm
+, libffi
+, libpng
+, libvdpau
+, libxcb
+, libxshmfence
+, nspr
+, nss
+, pango
+, pcre
+, pixman
+, zlib
+, unzip
+, debug ? false
+
+/* you have to add ~/mm.cfg :
+
+    TraceOutputFileEnable=1
+    ErrorReportingEnable=1
+    MaxWarnings=1
+
+  in order to read the flash trace at ~/.macromedia/Flash_Player/Logs/flashlog.txt
+  Then FlashBug (a FireFox plugin) shows the log as well
+*/
+
+}:
+
+let
+  arch =
+    if      stdenv.system == "x86_64-linux" then
+      "x86_64"
+    else if stdenv.system == "i686-linux"   then
+      "i386"
+    else throw "Flash Player is not supported on this platform";
+  lib_suffix =
+      if stdenv.system == "x86_64-linux" then
+      "64"
+    else
+      "";
+in
+stdenv.mkDerivation rec {
+  name = "flashplayer-${version}";
+  version = "24.0.0.194";
+
+  src = fetchurl {
+    url =
+      if debug then
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/24/flash_player_npapi_linux_debug.${arch}.tar.gz"
+      else
+        "https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
+    sha256 =
+      if debug then
+        if arch == "x86_64" then
+          "197s3ksx6h3dkfx8q7v9c8mf8ai9s1jpqnaczjdkmzcyp5jd29w9"
+        else
+          "0ll0ddss3gkzngmm96pyvnf4a6mf8axraxlqpjdl63ghrndd1gkc"
+      else
+        if arch == "x86_64" then
+          "0bri8kjqy9g929ix4qx4whmxz5rzbgjff253kvs6dlr8vyglz0gx"
+        else
+          "1lrfwwhl18411bk9qsizhch8n3ilcvhmj4i7sak5zjv5r6mwnqgl";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  preferLocalBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/lib/mozilla/plugins
+    cp -pv libflashplayer.so $out/lib/mozilla/plugins
+
+    mkdir -p $out/bin
+    cp -pv usr/bin/flash-player-properties $out/bin
+
+    mkdir -p $out/lib${lib_suffix}/kde4
+    cp -pv usr/lib${lib_suffix}/kde4/kcm_adobe_flash_player.so $out/lib${lib_suffix}/kde4
+
+    patchelf --set-rpath "$rpath" \
+      $out/lib/mozilla/plugins/libflashplayer.so \
+      $out/lib${lib_suffix}/kde4/kcm_adobe_flash_player.so
+
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      --set-rpath "$rpath" \
+      $out/bin/flash-player-properties
+  '';
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
+  rpath = lib.makeLibraryPath
+    [ stdenv.cc.cc
+      alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk_pixbuf glib
+      glibc graphite2 gtk2 harfbuzz libICE libSM libX11 libXau libXcomposite
+      libXcursor libXdamage libXdmcp libXext libXfixes libXi libXinerama
+      libXrandr libXrender libXt libXxf86vm libdrm libffi libpng libvdpau
+      libxcb libxshmfence nspr nss pango pcre pixman zlib
+    ];
+
+  meta = {
+    description = "Adobe Flash Player browser plugin";
+    homepage = http://www.adobe.com/products/flashplayer/;
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
new file mode 100644
index 000000000000..be33cf139d26
--- /dev/null
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -0,0 +1,110 @@
+{ stdenv
+, lib
+, fetchurl
+, alsaLib
+, atk
+, bzip2
+, cairo
+, curl
+, expat
+, fontconfig
+, freetype
+, gdk_pixbuf
+, glib
+, glibc
+, graphite2
+, gtk2
+, harfbuzz
+, libICE
+, libSM
+, libX11
+, libXau
+, libXcomposite
+, libXcursor
+, libXdamage
+, libXdmcp
+, libXext
+, libXfixes
+, libXi
+, libXinerama
+, libXrandr
+, libXrender
+, libXt
+, libXxf86vm
+, libdrm
+, libffi
+, libpng
+, libvdpau
+, libxcb
+, libxshmfence
+, nspr
+, nss
+, pango
+, pcre
+, pixman
+, zlib
+, unzip
+, debug ? false
+}:
+
+let
+  arch =
+    if      stdenv.system == "x86_64-linux" then
+      "x86_64"
+    else if stdenv.system == "i686-linux"   then
+      "i386"
+    else throw "Flash Player is not supported on this platform";
+in
+stdenv.mkDerivation rec {
+  name = "flashplayer-standalone-${version}";
+  version = "24.0.0.194";
+
+  src = fetchurl {
+    url =
+      if debug then
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/24/flash_player_sa_linux_debug.x86_64.tar.gz"
+      else
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/24/flash_player_sa_linux.x86_64.tar.gz";
+    sha256 =
+      if debug then
+        "0yiln97l8b27s5c6nv9m09cdgwa4c47idnf2p6y6i0slfcqj1cxv"
+      else
+        "1f34qm8grj3141p6kym6y2pqisrmn9l6nkhbfmfhsd472g5q85v1";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  preferLocalBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -pv flashplayer${lib.optionalString debug "debugger"} $out/bin
+
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      --set-rpath "$rpath" \
+      $out/bin/flashplayer${lib.optionalString debug "debugger"}
+  '';
+
+  rpath = lib.makeLibraryPath
+    [ stdenv.cc.cc
+      alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk_pixbuf glib
+      glibc graphite2 gtk2 harfbuzz libICE libSM libX11 libXau libXcomposite
+      libXcursor libXdamage libXdmcp libXext libXfixes libXi libXinerama
+      libXrandr libXrender libXt libXxf86vm libdrm libffi libpng libvdpau
+      libxcb libxshmfence nspr nss pango pcre pixman zlib
+    ];
+
+  meta = {
+    description = "Adobe Flash Player standalone executable";
+    homepage = https://www.adobe.com/support/flashplayer/debug_downloads.html;
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 5e5f8848ebe0..3746bbe4f7ec 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -24,12 +24,12 @@ let
 
 in buildPythonApplication rec {
   name = "qutebrowser-${version}";
-  version = "0.8.4";
+  version = "0.9.0";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "0wc6iq7rw89625v595bs4y8spzhid6nnz2gq67f2kbjppk2rikpm";
+    sha256 = "1fp7yddx8xmy6hx01gg4z3vnw8b9qa5ixam7150i3xaalx0gjzfq";
   };
 
   # Needs tox
@@ -79,7 +79,7 @@ in buildPythonApplication rec {
   '';
 
   meta = {
-    homepage = https://github.com/The-Compiler/qutebrowser;
+    homepage = "https://github.com/The-Compiler/qutebrowser";
     description = "Keyboard-focused browser with a minimal GUI";
     license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ stdenv.lib.maintainers.jagajaga ];
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 2eb91b06ac3f..0531a58f0a23 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -10,16 +10,16 @@
 }:
 
 let
-  version = "1.5";
-  build = "658.44-1";
+  version = "1.6";
+  build = "689.34-1";
   fullVersion = "stable_${version}.${build}";
 
   info = if stdenv.is64bit then {
       arch = "amd64";
-      sha256 = "02zb9pw8h7gm0hlhk95bn8fz14x68ax2jz8g7bgzppyryq8xlg6l";
+      sha256 = "0wn98nzlhppmm3g797kiqr9bxxff8l7l110f1w1fnfl93d325hrm";
     } else {
       arch = "i386";
-      sha256 = "1cwpmdsv4rrr13d1x017rms7cjp5zh3vpz3b44ar49ip6zj6j0a8";
+      sha256 = "0agybibfwk5n1gxi8g4rbvvmlq5963df5arz4fyi4a1hcayllaz0";
     };
 
 in stdenv.mkDerivation rec {
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs =
-    [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE
+    [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE libxcb
       libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr
       atk alsaLib dbus_libs cups gtk2 gdk_pixbuf libexif ffmpeg systemd
       freetype fontconfig libXrender libuuid expat glib nss nspr
diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix
index 62dbbcf21495..d714033e4125 100644
--- a/pkgs/applications/networking/cluster/docker-machine/default.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/default.nix
@@ -14,6 +14,11 @@ buildGoPackage rec {
     sha256 = "0l4a5bqfw8i8wrl5yzkqy848r7vdx6hw8p5m3z3vzabvsmsjjwy7";
   };
 
+  postInstall = ''
+    mkdir -p $bin/share/bash-completion/completions/
+    cp go/src/github.com/docker/machine/contrib/completion/bash/* $bin/share/bash-completion/completions/
+  '';
+
   postFixup =  ''
     mv $bin/bin/cmd $bin/bin/docker-machine
   '';
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 58ac31ce49f5..a258a8024770 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -4,12 +4,12 @@ let
          then "linux-amd64"
          else "darwin-amd64";
   checksum = if stdenv.isLinux
-             then "dad3791fb07e6cf34f4cf611728cb8ae109a75234498a888529a68ac6923f200"
-             else "d27bd7e40e12c0a5f08782a8a883166008565b28e0b82126d2089300ff3f8465";
+             then "1797ab74720f122432eace591fb415e5e5f5db97f4b6608ca8dbe59bae988374"
+             else "2b522dcfe27e987138f7826c79fb26a187075dd9be5c5a4c76fd6846bf109014";
 in
 stdenv.mkDerivation rec {
   pname = "helm";
-  version = "2.0.2";
+  version = "2.1.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 46f5d7fa50ac..da5d426a0c5d 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -28,23 +28,32 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ makeWrapper which go rsync go-bindata ];
 
-  outputs = ["out" "man""pause"];
+  outputs = ["out" "man" "pause"];
 
   postPatch = ''
     substituteInPlace "hack/lib/golang.sh" --replace "_cgo" ""
+    substituteInPlace "hack/generate-docs.sh" --replace "make" "make SHELL=${stdenv.shell}"
+    substituteInPlace "hack/update-munge-docs.sh" --replace "make" "make SHELL=${stdenv.shell}"
+    substituteInPlace "hack/update-munge-docs.sh" --replace "kube::util::git_upstream_remote_name" "echo origin"
+
     patchShebangs ./hack
   '';
 
   WHAT="--use_go_build ${concatStringsSep " " components}";
 
-  postBuild = "(cd build/pause && gcc pause.c -o pause)";
+  postBuild = ''
+    ./hack/generate-docs.sh
+    (cd build/pause && gcc pause.c -o pause)
+  '';
 
   installPhase = ''
-    mkdir -p "$out/bin" "$man/share/man" "$pause/bin"
+    mkdir -p "$out/bin" "$out/share/bash-completion/completions" "$man/share/man" "$pause/bin"
 
     cp _output/local/go/bin/* "$out/bin/"
     cp build/pause/pause "$pause/bin/pause"
     cp -R docs/man/man1 "$man/share/man"
+
+    $out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl
   '';
 
   preFixup = ''
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 857e8e72d12b..2fe9db267655 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -30,6 +30,9 @@ stdenv.mkDerivation rec {
   installPhase = ''
     cp $src $out/bin/${pname}
     chmod +x $out/bin/${pname}
+
+    mkdir -p $out/share/bash-completion/completions/
+    HOME=$(pwd) $out/bin/minikube completion bash > $out/share/bash-completion/completions/minikube
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index e4307c9aabc6..403457bb4a61 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,9 +1,11 @@
 { stdenv, fetchFromGitHub, go, which }:
 
 let
-  version = "1.3.1";
-  versionMajor = "1";
-  versionMinor = "3";
+  version = "1.3.2";
+  ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
+  versionMajor = ver 0;
+  versionMinor = ver 1;
+  versionPatch = ver 2;
 in
 stdenv.mkDerivation rec {
   name = "openshift-origin-${version}";
@@ -13,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "openshift";
     repo = "origin";
     rev = "v${version}";
-    sha256 = "1kxa1k38hvi1vg52p82mmkmp9k4bbbm2pryzapsxwga7d8x4bnbh";
+    sha256 = "0zw8zb9c6icigcq6y47ppnjnqyghk2kril07bapbddvgnvbbfp6m";
   };
 
   buildInputs = [ go which ];
@@ -43,7 +45,7 @@ stdenv.mkDerivation rec {
     description = "Build, deploy, and manage your applications with Docker and Kubernetes";
     license = licenses.asl20;
     homepage = http://www.openshift.org;
-    maintainers = with maintainers; [offline];
+    maintainers = with maintainers; [offline bachp];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/cluster/pachyderm/default.nix b/pkgs/applications/networking/cluster/pachyderm/default.nix
new file mode 100644
index 000000000000..a0df23e6f623
--- /dev/null
+++ b/pkgs/applications/networking/cluster/pachyderm/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, buildGoPackage }:
+
+buildGoPackage rec {
+  name = "pachyderm-${version}";
+  version = "1.3.0";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/pachyderm/pachyderm";
+  subPackages = [ "src/server/cmd/pachctl" ];
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "pachyderm";
+    repo = "pachyderm";
+    sha256 = "0y25xh6h7p8hg0bzrjlschmz62r6dwh5mrvbnni1hb1pm0w9jb6g";
+  };
+
+  meta = with lib; {
+    description = "Containerized Data Analytics";
+    homepage = https://github.com/pachyderm/pachyderm;
+    license = licenses.asl20;
+    maintainers = with maintainers; [offline];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 78e167cc0e9b..d436aa99d4b2 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.8.1";
+  version = "0.8.2";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/terraform";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "hashicorp";
     repo = "terraform";
-    sha256 = "1fgnivhn6hrxpwwajl80vj2w81lv6vypprlbgif8m0z0na7p8956";
+    sha256 = "1645la750lqx2m57sbl6xg1cnqgwrfk5dhcw08wm4z7zxdnqys7b";
   };
 
   postInstall = ''
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
new file mode 100644
index 000000000000..e4a267ec1b5f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform, makeWrapper }:
+
+buildGoPackage rec {
+  name = "terragrunt-${version}";
+  version = "0.8.0";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/gruntwork-io/terragrunt";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner  = "gruntwork-io";
+    repo   = "terragrunt";
+    sha256 = "1d035p2r6d8c1crxvpi5ayb9jx6f2pdgzw2197zhllavyi8n8dw1";
+  };
+
+  goDeps = ./deps.nix;
+
+  buildInputs = [ makeWrapper terraform ];
+
+  postInstall = ''
+    wrapProgram $bin/bin/terragrunt \
+      --suffix PATH : ${lib.makeBinPath [ terraform ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices.";
+    homepage = https://github.com/gruntwork-io/terragrunt/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terragrunt/deps.nix b/pkgs/applications/networking/cluster/terragrunt/deps.nix
new file mode 100644
index 000000000000..ba1ac2b6a1ef
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terragrunt/deps.nix
@@ -0,0 +1,66 @@
+# This file was generated by go2nix.
+[
+  {
+    goPackagePath = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev = "8649d278323ebf6bd20c9cd56ecb152b1c617375";
+      sha256 = "0m2nxdlvi90vw68ds9qby291skc5d0dgqi3pkalr8ma3kd9r9khv";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-errors/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-errors/errors";
+      rev = "8fa88b06e5974e97fbf9899a7f86a344bfd1f105";
+      sha256 = "02mvb2clbmfcqb4yclv5zhs4clkk9jxi2hiawsynl5fwmgn0d3xa";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "eb6f65b2d77ed5078887f960ff570fbddbbeb49d";
+      sha256 = "1wx6hpxmq5sby54025j9hliz10gv5v0bq6q1z2cd0asznj154ij1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-zglob";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-zglob";
+      rev = "0b24567ec079616e9897f635f542e3bf56abb3d0";
+      sha256 = "0380dqsy0qdjranl5qfmmcr6a4g7sw4z26g1bld9y1s66madl03l";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "bfdb1a85537d60bc7e954e600c250219ea497417";
+      sha256 = "141kkh801jyp1r6hba14krydqg1iivp13j12is70j0g05z9fbji8";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "2402e8e7a02fc811447d11f881aa9746cdc57983";
+      sha256 = "01qaz781cvrv3h1428xqq8knf5ahdcj93m5k9dnivg2hcrlnqibj";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev = "8ef3805c9de2519805c3f060524b695bba2cd715";
+      sha256 = "0680rd87skmz8p8s3cwy55siz4bgjls314agfi03d7640gz7mp24";
+    };
+  }
+]
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index edfa9a6d7550..e78230a74b4d 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 = "15.4.22";
+  version = "16.4.30";
   sha256 =
     {
-      "x86_64-linux" = "105a64w6rxhrg2dcpb4h4a2956x2r7flf41rszhw5nnczal0s8gx";
-      "i686-linux"   = "001c6dfdxip67w19h3zlx8w72kvnkl1hbkj7gqvw9lixmnq82fhr";
+      "x86_64-linux" = "0inwc12d14i6gyfllxbhizb434a7vy0l5nvc07kz0bca7c4665wb";
+      "i686-linux"   = "0pdn8558ll317k3jrrjir90pn6abwbm99y9wzdq39wxj4dmrlh6w";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
diff --git a/pkgs/applications/networking/dyndns/cfdyndns/default.nix b/pkgs/applications/networking/dyndns/cfdyndns/default.nix
index d3be9c28df35..a79404e77c85 100644
--- a/pkgs/applications/networking/dyndns/cfdyndns/default.nix
+++ b/pkgs/applications/networking/dyndns/cfdyndns/default.nix
@@ -27,5 +27,6 @@ buildRustPackage rec {
     license = stdenv.lib.licenses.mit;
     maintainers = with maintainers; [ colemickens ];
     platforms = with platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
new file mode 100644
index 000000000000..f7dd96183070
--- /dev/null
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, pythonPackages
+, fetchurl
+, transmission
+, deluge
+, config
+}:
+
+with pythonPackages;
+
+buildPythonPackage rec {
+  version = "1.2.337";
+  name = "FlexGet-${version}";
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = "mirror://pypi/F/FlexGet/${name}.tar.gz";
+    sha256 = "0f7aaf0bf37860f0c5adfb0ba59ca228aa3f5c582131445623a4c3bc82d45346";
+  };
+
+  doCheck = false;
+
+  buildInputs = [ nose ];
+  propagatedBuildInputs = [
+    paver feedparser sqlalchemy pyyaml rpyc
+    beautifulsoup_4_1_3 html5lib_0_9999999 pyrss2gen pynzb progressbar jinja2 flask
+    cherrypy requests dateutil_2_1 jsonschema python_tvrage tmdb3
+    guessit pathpy apscheduler ]
+  # enable deluge and transmission plugin support, if they're installed
+  ++ lib.optional (config.deluge or false) deluge
+  ++ lib.optional (transmission != null) transmissionrpc;
+
+  meta = {
+    homepage = http://flexget.com/;
+    description = "Multipurpose automation tool for content like torrents";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ domenkozar ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index dbb7b3fe2373..3ce638e6b58a 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -4,11 +4,11 @@
 , gsm, speex, portaudio, spandsp, libuuid, ccache
 }:
 stdenv.mkDerivation rec {
-  version = "0.4.20";
+  version = "0.5.0";
   name = "baresip-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "0m8afbfdc9a57cy94ny7g6jv2ndfmrvkx0lgk64i8w870958gkwb";
+    sha256 = "0dhlgjkqn7jkd1pmdyid41c829clzmi5kczjdwxzh5ygn95lydjc";
   };
   buildInputs = [zlib openssl libre librem pkgconfig
     cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 8387d2f7c380..1d1ae151caa0 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -7,12 +7,12 @@
 stdenv.mkDerivation rec {
 
     pname = "discord";
-    version = "0.0.11";
+    version = "0.0.13";
     name = "${pname}-${version}";
 
     src = fetchurl {
         url = "https://cdn-canary.discordapp.com/apps/linux/${version}/${pname}-canary-${version}.tar.gz";
-        sha256 = "1lk53vm14vr5pb8xxcx6hinpc2mkdns2xxv0bfzxvlmhfr6d6y18";
+        sha256 = "1pwb8y80z1bmfln5wd1vrhras0xygd1j15sib0g9vaig4mc55cs6";
     };
 
     libPath = stdenv.lib.makeLibraryPath [
@@ -32,6 +32,8 @@ stdenv.mkDerivation rec {
                  --set-rpath "$out:$libPath"                                   \
                  $out/DiscordCanary
 
+        paxmark m $out/DiscordCanary
+
         ln -s $out/DiscordCanary $out/bin/
         ln -s $out/discord.png $out/share/pixmaps
 
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 11e2b13653d8..3041d6e045ef 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -7,7 +7,7 @@
 , enableRST ? true
 , enableSpelling ? true, gtkspell2 ? null
 , enableNotifications ? false
-, enableOmemoPluginDependencies ? false
+, enableOmemoPluginDependencies ? true
 , extraPythonPackages ? pkgs: []
 }:
 
diff --git a/pkgs/applications/networking/instant-messengers/mm/default.nix b/pkgs/applications/networking/instant-messengers/mm/default.nix
new file mode 100644
index 000000000000..a75835b3c7e9
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/mm/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildGoPackage, fetchFromGitLab }:
+
+buildGoPackage rec {
+  name = "mm-${version}";
+  version = "2016.11.04";
+
+  goPackagePath = "gitlab.com/meutraa/mm";
+
+  src = fetchFromGitLab {
+    owner = "meutraa";
+    repo = "mm";
+    rev = "473fdd97285168054b672dbad2ffc4047324c518";
+    sha256 = "1s8v5gxpw1sms1g3i8nq2x2mmmyz97qkmxs1fzlspfcd6i8vknkp";
+  };
+
+  meta = {
+    description = "A file system based matrix client";
+    homepage = https://gitlab.com/meutraa/mm;
+    license = stdenv.lib.licenses.isc;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix
index 9c0f64d6574d..ff065e7e2ce3 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, pidgin, xosd
+{ stdenv, fetchFromGitHub, pidgin, xosd
 , autoreconfHook } :
 
 stdenv.mkDerivation rec {
-  name = "pidgin-osd-0.1.0";
-  src = fetchurl {
-    url = https://github.com/mbroemme/pidgin-osd/archive/pidgin-osd-0.1.0.tar.gz;
-    sha256 = "11hqfifhxa9gijbnp9kq85k37hvr36spdd79cj9bkkvw4kyrdp3j";
+  name = "pidgin-osd-0.2.0";
+  src = fetchFromGitHub {
+    owner = "edanaher";
+    repo = "pidgin-osd";
+    rev = name;
+    sha256 = "07wa9anz99hnv6kffpcph3fbq8mjbyq17ij977ggwgw37zb9fzb5";
   };
 
-  makeFlags = "PIDGIN_LIBDIR=$(out)";
-
   # autoreconf is run such that it *really* wants all the files, and there's no
   # default ChangeLog.  So make it happy.
   preAutoreconf = "touch ChangeLog";
 
   postInstall = ''
     mkdir -p $out/lib/pidgin
-    ln -s $out/pidgin $out/lib/pidgin
+    mv $out/lib/pidgin-osd.{la,so} $out/lib/pidgin
   '';
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index ac4776c20722..e556eeb72834 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, automake, autoconf, pkgconfig, glib, openssl, expat
-, ncurses, libotr, curl, libstrophe, readline, libuuid
+{ stdenv, fetchurl, pkgconfig, glib, openssl, expat, libmesode
+, ncurses, libotr, curl, readline, libuuid
 
 , autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null
 , notifySupport ? false,   libnotify ? null, gdk_pixbuf ? null
@@ -12,21 +12,19 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "profanity-${version}";
-  version = "0.4.7";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "http://www.profanity.im/profanity-${version}.tar.gz";
-    sha256 = "1p8ixvxacvf63r6lnf6iwlyz4pgiyp6widna1h2l2jg8kw14wb5h";
+    sha256 = "0s4njc4rcaii51qw1najxa0fa8bb2fnas00z47y94wdbdsmfhfvq";
   };
 
   buildInputs = [
-    automake autoconf pkgconfig readline libuuid
-    glib openssl expat ncurses libotr curl libstrophe
+    pkgconfig readline libuuid libmesode
+    glib openssl expat ncurses libotr curl
   ] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ]
     ++ optionals notifySupport   [ libnotify gdk_pixbuf ];
 
-  preConfigure = "sh bootstrap.sh";
-
   meta = {
     description = "A console based XMPP client";
     longDescription = ''
diff --git a/pkgs/applications/networking/instant-messengers/ricochet/default.nix b/pkgs/applications/networking/instant-messengers/ricochet/default.nix
index 15cc5a0f093a..d1af2ad70d19 100644
--- a/pkgs/applications/networking/instant-messengers/ricochet/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ricochet/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "ricochet-${version}";
-  version = "1.1.2";
+  version = "1.1.4";
 
   src = fetchurl {
     url = "https://github.com/ricochet-im/ricochet/archive/v${version}.tar.gz";
-    sha256 = "1szb5vmlqal0vhan87kgbks184f7xbfay1hr3d3vm8r1lvcjjfkr";
+    sha256 = "1kfj42ksvj7axc809lb8siqzj5hck2pib427b63a3ipnqc5h1faf";
   };
 
   desktopItem = makeDesktopItem {
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     description = "Anonymous peer-to-peer instant messaging";
     homepage = "https://ricochet.im";
     license = licenses.bsd3;
-    maintainers = [ maintainers.codsl maintainers.jgillich ];
+    maintainers = [ maintainers.codsl maintainers.jgillich maintainers.np ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
index 229e3497ea4b..5e5c2fe8eed6 100644
--- a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
+++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
@@ -1,15 +1,14 @@
 { stdenv, fetchgit, python3Packages }:
 
 python3Packages.buildPythonPackage {
-  name = "scudcloud-1.35";
-  namePrefix = "";
+  name = "scudcloud-1.38";
 
-  # Version 1.35, branch 254-port-to-qt5
-  # https://github.com/raelgc/scudcloud/commit/6d924b5c23597c94d1a8e829a8a5d917806a5bc9
+  # Branch 254-port-to-qt5
+  # https://github.com/raelgc/scudcloud/commit/6bcd877daea3d679cd5fd2c946c2d933940c48d9
   src = fetchgit {
       url = https://github.com/raelgc/scudcloud/;
-      rev = "6d924b5c23597c94d1a8e829a8a5d917806a5bc9";
-      sha256 = "01k5am3067l3p1c91mdrh2fk3cgr20dhppa6flqi5b2ygzrc1i8q";
+      rev = "6bcd877daea3d679cd5fd2c946c2d933940c48d9";
+      sha256 = "1884svz6m5vl06d0yac5zjb2phxwg6bjva72y15fw4larkjnh72s";
   };
 
   propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ];
diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix
index 5bb2121b1fda..a84b9cbf31c1 100644
--- a/pkgs/applications/networking/instant-messengers/skype/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skype/default.nix
@@ -38,6 +38,9 @@ stdenv.mkDerivation rec {
     mkdir -p $out/{libexec/skype/,bin}
     cp -r * $out/libexec/skype/
 
+    # Fix execution on PaX-enabled kernels
+    paxmark m $out/libexec/skype/skype
+
     patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath "${lib.makeLibraryPath buildInputs}" $out/libexec/skype/skype
 
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 9f2fee47d8d0..240aebe91753 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "2.2.1";
+  version = "2.3.4";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -43,7 +43,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "1x08bmkanllv3lpi2s722xs7qia8igf6zxzkc3g7vs5jms3mdrad";
+        sha256 = "01kr7maj8f4yinyri7rs4pmzab9cvp48xfqw3ilirx4mvh8mr1fd";
       }
     else
       throw "Slack is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/applications/networking/insync/default.nix
new file mode 100644
index 000000000000..86cc9bded10d
--- /dev/null
+++ b/pkgs/applications/networking/insync/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "insync-${version}";
+  version = "1.3.13.36129";
+  src = fetchurl {
+    url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2";
+    sha256 = "18d8ww529nvhwcl5k31qmkzb83k9753ics0dw64w202r8vwbm3cd";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  postPatch = ''
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" client/insync-portable
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a client $out/client
+    makeWrapper $out/client/insync-portable $out/bin/insync --set LC_TIME C
+  '';
+
+  meta = {
+    platforms = ["x86_64-linux"];
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [ stdenv.lib.maintainers.benley ];
+    homepage = https://www.insynchq.com;
+    description = "Google Drive sync and backup with multiple account support";
+    longDescription = ''
+     Insync is a commercial application that syncs your Drive files to your
+     computer.  It has more advanced features than Google's official client
+     such as multiple account support, Google Doc conversion, symlink support,
+     and built in sharing.
+
+     There is a 15-day free trial, and it is a paid application after that.
+    '';
+  };
+}
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 5fd453685365..88e2ede631b9 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,20 +1,23 @@
 { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-
-  version = "0.8.20";
+  version = "1.0.0";
   name = "irssi-${version}";
 
   src = fetchurl {
-    urls = [ "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz" ];
-    sha256 = "0riz2wsdcs5hx5rwynm99fi01973lfrss21y8qy30dw2m9v0zqpm";
+    url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz";
+    sha256 = "11x47ahkvzzx3xkvqak34235ghnpln65v13k77xx32c85nvb63kr";
   };
 
-  buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ];
-
-  NIX_LDFLAGS = ncurses.ldflags;
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ ncurses glib openssl perl libintlOrEmpty ];
 
-  configureFlags = "--with-proxy --with-ncurses --enable-ssl --with-perl=yes";
+  configureFlags = [
+    "--with-proxy"
+    "--with-bot"
+    "--with-perl=yes"
+    "--enable-true-color"
+  ];
 
   meta = {
     homepage    = http://irssi.org;
diff --git a/pkgs/applications/networking/irc/irssi/otr/default.nix b/pkgs/applications/networking/irc/irssi/otr/default.nix
index 4d73648edf78..1141f5639181 100644
--- a/pkgs/applications/networking/irc/irssi/otr/default.nix
+++ b/pkgs/applications/networking/irc/irssi/otr/default.nix
@@ -1,35 +1,23 @@
 { stdenv, fetchurl, fetchFromGitHub, libotr, automake, autoconf, libtool, glib, pkgconfig, irssi }:
 
-let
-  versionFix = fetchurl {
-    url = https://patch-diff.githubusercontent.com/raw/cryptodotis/irssi-otr/pull/60.patch;
-    sha256 = "18fk9nbzf3fvhvvvkrxv5l004hhimapqb6ra09m83268kbl4q3jy";
-  };
-in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "irssi-otr-${version}";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "cryptodotis";
     repo = "irssi-otr";
-    rev = "4ad3b7b6c85be0154ab3694fe9831796db20c4fe";
-    sha256 = "1hm1whx1wzlx4fh4xf2y68rx9x6whi8bsbrhd6hqjhskg5msssrg";
+    rev = "v${version}";
+    sha256 = "0c5wb2lg9q0i1jdhpyb5vpvxaa2xx00gvp3gdk93ix9v68gq1ppp";
   };
 
-  prePatch = ''
-    sed -i 's,/usr/include/irssi,${irssi}/include/irssi,' src/Makefile.am
-    sed -i "s,/usr/lib/irssi,$out/lib/irssi," configure.ac
-    sed -i "s,/usr/share/irssi,$out/share/irssi," help/Makefile.am
-  '';
-
-  patches = [ versionFix ];
-
   preConfigure = "sh ./bootstrap";
 
   buildInputs = [ libotr automake autoconf libtool glib pkgconfig irssi ];
 
+  NIX_CFLAGS_COMPILE="-I ${irssi}/include/irssi -I ${irssi}/include/irssi/src/core -I ${irssi}/include/irssi/src/";
+
   meta = {
     homepage = https://github.com/cryptodotis/irssi-otr;
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/applications/networking/irc/konversation/1.6.nix b/pkgs/applications/networking/irc/konversation/1.6.nix
index c68764054627..9724ae5f4bf0 100644
--- a/pkgs/applications/networking/irc/konversation/1.6.nix
+++ b/pkgs/applications/networking/irc/konversation/1.6.nix
@@ -75,7 +75,8 @@ let
       homepage = https://konversation.kde.org;
     };
   };
-in kdeWrapper unwrapped {
+in kdeWrapper {
+  inherit unwrapped;
   targets = [ "bin/konversation" ];
 }
 
diff --git a/pkgs/applications/networking/mailreaders/astroid/default.nix b/pkgs/applications/networking/mailreaders/astroid/default.nix
new file mode 100644
index 000000000000..31cad15296cf
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/astroid/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, scons, pkgconfig, gnome3, gmime, webkitgtk24x
+  , libsass, notmuch, boost, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "astroid-${version}";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "astroidmail";
+    repo = "astroid";
+    rev = "v${version}";
+    sha256 = "0zashjmqv8ips9q8ckyhgm9hfyf01wpgs6g21cwl05q5iklc5x7r";
+  };
+
+  patches = [ ./propagate-environment.patch ];
+
+  buildInputs = [ scons pkgconfig gnome3.gtkmm gmime webkitgtk24x libsass
+                  gnome3.libpeas notmuch boost gnome3.gsettings_desktop_schemas
+                  makeWrapper ];
+
+  buildPhase = "scons --prefix=$out build";
+  installPhase = "scons --prefix=$out install";
+
+  preFixup = ''
+    wrapProgram "$out/bin/astroid" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = {
+    homepage = "https://astroidmail.github.io/";
+    description = "GTK+ frontend to the notmuch mail system";
+    maintainers = [ stdenv.lib.maintainers.bdimcheff ];
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/astroid/propagate-environment.patch b/pkgs/applications/networking/mailreaders/astroid/propagate-environment.patch
new file mode 100644
index 000000000000..db536ea721f2
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/astroid/propagate-environment.patch
@@ -0,0 +1,13 @@
+diff --git a/SConstruct b/SConstruct
+index a80bca3..ed2cd6d 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -5,7 +5,7 @@ from subprocess import *
+ def getGitDesc():
+   return Popen('git describe --abbrev=8 --tags --always', stdout=PIPE, shell=True).stdout.read ().strip ()
+ 
+-env = Environment ()
++env = Environment(ENV = os.environ)
+ 
+ AddOption ("--release", action="store", dest="release", default="git", help="Make a release (default: git describe output)")
+ AddOption ("--enable-debug", action="store", dest="debug", default=None, help="Enable the -g flag for debugging (default: true when release is git)")
diff --git a/pkgs/applications/networking/mailreaders/mutt-kz/default.nix b/pkgs/applications/networking/mailreaders/mutt-kz/default.nix
deleted file mode 100644
index 5cd0ef9f7a44..000000000000
--- a/pkgs/applications/networking/mailreaders/mutt-kz/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ stdenv, fetchurl, ncurses, which, perl, autoreconfHook, autoconf, automake, notmuch
-, sslSupport ? true
-, imapSupport ? true
-, headerCache ? true
-, saslSupport ? true
-, gpgmeSupport ? true
-, gdbm ? null
-, openssl ? null
-, cyrus_sasl ? null
-, gpgme ? null
-}:
-
-assert headerCache -> gdbm != null;
-assert sslSupport -> openssl != null;
-assert saslSupport -> cyrus_sasl != null;
-assert gpgmeSupport -> gpgme != null;
-
-let
-  version = "1.5.23.1";
-in
-stdenv.mkDerivation rec {
-  name = "mutt-kz-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/karelzak/mutt-kz/archive/v${version}.tar.gz";
-    sha256 = "01k4hrf8x2100pcqnrm61mm1x0pqi2kr3rx22k5hwvbs1wh8zyhz";
-  };
-
-  buildInputs = with stdenv.lib;
-    [ ncurses which perl autoreconfHook autoconf automake notmuch]
-    ++ optional headerCache gdbm
-    ++ optional sslSupport openssl
-    ++ optional saslSupport cyrus_sasl
-    ++ optional gpgmeSupport gpgme;
-
-configureFlags = [
-    "--with-mailpath=" "--enable-smtp"
-
-    # This allows calls with "-d N", that output debug info into ~/.muttdebug*
-    "--enable-debug"
-
-    "--enable-pop" "--enable-imap"
-
-    "--enable-notmuch"
-
-    # The next allows building mutt without having anything setgid
-    # set by the installer, and removing the need for the group 'mail'
-    # I set the value 'mailbox' because it is a default in the configure script
-    "--with-homespool=mailbox"
-    (if headerCache then "--enable-hcache" else "--disable-hcache")
-    (if sslSupport then "--with-ssl" else "--without-ssl")
-    (if imapSupport then "--enable-imap" else "--disable-imap")
-    (if saslSupport then "--with-sasl" else "--without-sasl")
-    (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme")
-  ];
-
-  meta = with stdenv.lib; {
-    description = "A small but very powerful text-based mail client, forked to support notmuch";
-    homepage = https://github.com/karelzak/mutt-kz/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ magnetophon ];
-  };
-}
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 2033dfc8e913..57f633d2c990 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchFromGitHub, which, autoconf, automake, ncurses, perl
-, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl }:
+, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }:
 
 stdenv.mkDerivation rec {
-  version = "20161104";
+  version = "20161126";
   name = "neomutt-${version}";
 
   src = fetchFromGitHub {
     owner = "neomutt";
     repo = "neomutt";
     rev = "neomutt-${version}";
-    sha256 = "070p18khvxsrcn30jhyrnagka5mgza9mi5vmrrr6xl8mpgkyrlaw";
+    sha256 = "10ycfya11pvwv0rdyyak56r6f8ia8yf0h8qyi904bbpvm8lqvqfd";
   };
 
   buildInputs =
     [ autoconf automake cyrus_sasl gdbm gpgme kerberos libidn ncurses
-      notmuch which openssl perl ];
+      notmuch which openssl perl lmdb ];
 
   configureFlags = [
     "--enable-debug"
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     "--with-curses"
     "--with-regex"
     "--with-idn"
+    "--with-lmdb"
 
     # Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail
     "ac_cv_path_SENDMAIL=sendmail"
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 83eace00b0a4..c1a32341ffe4 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -10,7 +10,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.23.2";
+  version = "0.23.4";
   name = "notmuch-${version}";
 
   passthru = {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "1g4p5hsrqqbqk6s2w756als60wppvjgpyq104smy3w9vshl7bzgd";
+    sha256 = "0fs5crf8v3jghc8jnm61cv7wxhclcg88hi5894d8fma9kkixcv8h";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index c1bcd9ac5413..2bc65226c5fc 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -33,6 +33,11 @@
 , nspr
 , nss
 , pango
+, writeScript
+, xidel
+, coreutils
+, gnused
+, gnugrep
 }:
 
 assert stdenv.isLinux;
@@ -57,10 +62,11 @@ let
 
   source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
 
+  name = "thunderbird-bin-${version}";
 in
 
 stdenv.mkDerivation {
-  name = "thunderbird-bin-${version}";
+  inherit name;
 
   src = fetchurl {
     url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
@@ -141,6 +147,12 @@ stdenv.mkDerivation {
       EOF
     '';
 
+  passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
+    inherit name writeScript xidel coreutils gnused gnugrep curl;
+    baseName = "thunderbird";
+    basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
+    baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
+  };
   meta = with stdenv.lib; {
     description = "Mozilla Thunderbird, a full-featured email client (binary package)";
     homepage = http://www.mozilla.org/thunderbird/;
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 8f74fd2f53bc..5d385eeb9501 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -1,126 +1,585 @@
-# This file is generated from generate_sources.rb. DO NOT EDIT.
-# Execute the following command to update the file.
-#
-# ruby generate_sources.rb 45.1.1 > sources.nix
-
 {
-  version = "45.5.1";
+  version = "45.6.0";
   sources = [
-    { locale = "ar"; arch = "linux-i686"; sha512 = "a2495d8d9a56104b5c5d87e795689d0334563fdb98fa751a2d7bedc9993ba66d3b1cfdc9d0d3711b8c8a2f91d8267c97035d1120051baa4aefcba1b968b9edc8"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha512 = "b5760210c14df4648d6bbd48136dbb3221c682ecebb649be848f8fbecf89d2251630c8d8208438f0ab66b73964bbdf8e05035bb88f0c773ea253cab163b569b1"; }
-    { locale = "ast"; arch = "linux-i686"; sha512 = "b1ccb4d51d9f5aec0cef3ccb0d5fcd14ca69a446cb18fc8b9f22d98325c0be45ea608f9c9ac15fb33e2b426b84c53e908a05331e360af728e088ad9c3cc77107"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha512 = "64028617fe76832663fd69e2305ca84dfd576507348dcffc680d94d6d1de640fdd13874a73638767d3aedd2c84d38fd370e57ba3f95281a0fc0ad9d21b4d727d"; }
-    { locale = "be"; arch = "linux-i686"; sha512 = "32d89785e95667d17b7b4d19d37557c7d592370e42613c8c171e1b816d38a16197fdf8397211f61a9261457ea426f6de84af721462e4296c825f931655e64e66"; }
-    { locale = "be"; arch = "linux-x86_64"; sha512 = "932f0dbe85e6cf43c70ea6f9537785322bc5280106c97b4e21ea828ebc5d997d027c260f4e1b4441909c3a3b7e61f51b95167cf6a632bce98fd2b6aa33eb413d"; }
-    { locale = "bg"; arch = "linux-i686"; sha512 = "b5d2ed68959cc6a473e83db35634c6322f4638edae1a19f81d5ae1ab0080aed0940b751e96d3d3a562aa1811ca3c5435f2f3b0a205948f06c2d479cd98109e88"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha512 = "359973dc382c7565623f63ede93e37b1d1a2bbcf9690710e05fc066a8c7f67b059b9d14c978c93741d65544029e5970f520d7a64dd07902d89f0331b9a3330f3"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha512 = "a76fb786e1cb0485b4e212097685fa259ff76386bce3cbbec1d47e061c7116df76adb8bf419e51ade098fdb9b55a7aad5348e13917104d22a0aa39518205ca47"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "f2d5b0c3fadb19d89733feecb50a7507b1c29dd93b5064a0db95292be1635c29bb3d98b84fb29ac38224c97dc7af29ff6024652562273eeca2a6ee38a0d19de3"; }
-    { locale = "br"; arch = "linux-i686"; sha512 = "51c1402350cec63a60f4ea96cdaedb1aa74250583a3cfed575060fb5990294446a8254108fcbd99607a286b8bde43357ccc8e0195330352d1497b8c173a7b283"; }
-    { locale = "br"; arch = "linux-x86_64"; sha512 = "3d1aba23ef4d969548b2fa729ad1795496f7123b4437f7692bfcbda4c87b0bd7edd1caf00cdb207eb4aaaf6c8ec8d0554d553a7db5a85e1e24d07c401d507794"; }
-    { locale = "ca"; arch = "linux-i686"; sha512 = "1df09781962fdfc7abc425f9f96d2efcc7471bb9bb8cf2c0152846673c7fbfc86b6b4c05d73d3c949607d056478661be0e0d24b769f816820d1e4670fdf240f7"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha512 = "a1c04f9846edba32587b1f62379e703a62af0b9886f1e56e86854629a034657d86a4f06ace3bca9f75a21c734b559f17522692e4c90607ab353669bfe02a3dc4"; }
-    { locale = "cs"; arch = "linux-i686"; sha512 = "463f336f49ababdb13397a10db3b189e3d364b07f9f42a4d31e770edd846c56fdb81f79228ffa51ab7f6555818bc3a0a3e5f1e546727bb3cd81f95f2264c392d"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha512 = "f93ab27ec7e126aa309ba4d6d5900be7c427a29ccbbe141cd4e7f211daaeca6459163711204f02fafda285020173417d89a9c46f593114c81b73ce430a2c7743"; }
-    { locale = "cy"; arch = "linux-i686"; sha512 = "8a4802763162dd32577e02f878482094b3bae4c51b9ac7c109d188c8b5ab9fd0053c34eb2fabaed873e0ba9e7f5fac2ebe6604a0da00b806594e28fd0f823721"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha512 = "9166a6c737dde179411e1a0d509141f29c7df7e3fe7e4f6def229be08bba4ccf5963804a86490d08e5ae3dd602f246c2fdce717562616445257b81b8c17ee795"; }
-    { locale = "da"; arch = "linux-i686"; sha512 = "bc430839b463ee22e4d1736be48f8f9e958307c3069b337b0ad816e3f88274b22b98ce66fec267f4ed134750fed656b1ebad0bce29637594d053bd82d1be3d34"; }
-    { locale = "da"; arch = "linux-x86_64"; sha512 = "6965968613889d69182ddf3dadf7e109e958d7561cb2b1a3936d9302b725d9c59c8cb8730ecf62e422a38c108da2ffa6ae5b012df348dd9250047a15b046e760"; }
-    { locale = "de"; arch = "linux-i686"; sha512 = "0a9ac8af9a823d69c8b2671f24bb203239a888d1423656241926dc5fa978e989ca5df303211e4a5208624d01ba34dd93915463eb88b0ee8ed027dad592a057c0"; }
-    { locale = "de"; arch = "linux-x86_64"; sha512 = "2a33d8104e1149181e91e9588a4236b481a8837835af2a1b08f3cc2dd55eecb3059aafbabccae8b0dbb8cfc632bdc8fc6198bb600b60a9dbff5a96a8609699d1"; }
-    { locale = "dsb"; arch = "linux-i686"; sha512 = "9f089cc93ed4660250ebb0d4c677d36515d9dbf29f78947c88558c69362663fffff293fbb3acaf4fca2e40a88d093d7637e385db757812cad29c31b6b746e87c"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha512 = "91314f8c8c7a9e1d13f618a1b71df8141933e6fe5f3317da06ac84ce1ea269bfe0740d94b2d8e240005a315a469cab39e79f70c06169712fdf318c9b3b5ac9c8"; }
-    { locale = "el"; arch = "linux-i686"; sha512 = "1099c8443c089ac7f430023960802ab2ce914f103983d68dd283f0f1bb7d36ff8b35e44b7e766237cf19e9c6f02e5dbbab5f62e4cfdd8b80816d0892779732bd"; }
-    { locale = "el"; arch = "linux-x86_64"; sha512 = "601ed7cd8f6f1e867647036ab3f8fadca0507f4441998ac29dfd15a6c8cf0c65b94cd647b0b4602d7624f041a8fd14a8210fde26a7c09763746d31008699e0d3"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha512 = "1efadd60994808919b24214c1610dccda0a76bf0de6cf3518b6eb665d035272f1a2e5e4e9e09fc2d4eb5a7021bdfaf3c3391e166737824355bb859b1d3fa54b8"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha512 = "07222127e045d41f912baa160b08e22a373ba605f857d001c92792ebbcf789e1094c68e0f16bf9c609fda0321ee0a0f702c7d47481f4da6a9cb80071b7e21095"; }
-    { locale = "en-US"; arch = "linux-i686"; sha512 = "663ff453dfc556bd85633030e271174d96f039d8ea77bb1a338df02298feaea297ca7b4010d9c2973d19ba988b6e2b807486ca40f69bbfce84d0b7f8b21f7c32"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha512 = "3dfeaa5e64b4063e0b5ae552bc47db1ab06e4381c55ccd35b05766aeac5add880804f07a40d39db08395a467ffa96d67261971359c46bce8d9ec6adde5948f2a"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha512 = "34fbd5a614ef5a0b9c46b63c80292dfe7caf2f65758a52d130ad4567311cde3e84ca1ab41d5fa87509b5ad9c6ce4ab136a4c08f1977b3695e5471265a758bd7d"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha512 = "087caecb722222c3950c8a644cf7af37cd356b62b4802fcac1a4b93620fa086e2b3e97a6c5f6b22aa61d3478dad41bc7b8ab39d31bf76b710f2e53b36cea2049"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha512 = "e429e936f7d022b421c995ea8df18d72a3abf8a9dd2a0a6ae87435333c94a8abdcfa3c2416e36f883b1d2b5f573a17d8a38161fed5ff323767fc25756dc72d69"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha512 = "f335002365f68e28cf0e28c407843f8de3184b33a7e57638104d1ac3515cfcbd14842ecc6d61a7de012e2cb1d7c5ff170598b5f81dbcbb71b81549f6a8bb5531"; }
-    { locale = "et"; arch = "linux-i686"; sha512 = "3ec9056dc49cbc6b7734498ab5522fef93eeb6f08668cd04bb610bf0d2519759c614de07562706a3efc2b5e64325a70c04b18fb3138c2ce3cabe6ba1a51bdde5"; }
-    { locale = "et"; arch = "linux-x86_64"; sha512 = "555874dfde25076892647a451bd9e02879eb5c8584dd22d5bb73f9c5deab5f64103d80c57292ed6a04b73fe27aa28d78210a1a5da7147fdae0980faaa8d19641"; }
-    { locale = "eu"; arch = "linux-i686"; sha512 = "951a9fcb82f77cb45a5ccaf300d0516da7d1be069931fde87e729b9c9d99a0a07ee810a4bf4791698741ff52128f66d6ecc3d8c7887cf22462006929c582cacf"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha512 = "5f4361f43bca179613f24045835fe31e17fe949da0e2f9e470635d714f521abac45d0104e663ab44806a7e45f4d44d515b002508e8388c2c72e0b91c793ec8bf"; }
-    { locale = "fi"; arch = "linux-i686"; sha512 = "e28371194085e689d6445ce3a0de77c7b8127aeb740769ff2aaa8f0345cfbc7b3e8ad5f2d891c8ca34c2fa004cfcaace649b900248493e5c6ac4404b6f581e19"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha512 = "5ee311ba705cdfd7a6687a1a17e7c5b40fda22fa7acb3a9a0c236e2aa3d8037bbf568d9be29853abf3d52d6840ea96b7ee59cf9264709973aee3bc43e8c07979"; }
-    { locale = "fr"; arch = "linux-i686"; sha512 = "f135ff1b365df65cc9fab35941628be6f6264d2c91d8394d22fc35e945207640c8238cf2e0046598348d7521c1684eccdae0d7f0dc2bb22f415a862cad72d67a"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha512 = "ffa44a92d3ab3ac8bcdd945b910e6da6a4c0b05f4c95572fd2a56fe73f935f7a387fb98100c7a84e4adc22c9b1cf8a0aa84ac04eb14c4b60b7989053c2021a0a"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha512 = "c90579ec9607992f4e551d327a3122d6bfd87ef3f1fb4708579c1a07deb2270a252c7443f3a3551bb725ef46a8cd9fa61cf59910260f9775eb8805e5e8acd61e"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "3cf5e391adca05195ea24be90a2414640f0fd72ffc858e971fc82675f49def7238c30f3ac48c08312414f436f9bde0ac2b05e11db94b40079c9d37f3d1a8ac5c"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha512 = "a6a9f52acd576b615075f8829cff2ed085e7254e8a4a2380c0eb088cba1986ac81f9d0badecbf0ece1f7ba7b7b169c8cda23fb32a9e79fa78d29fe8c0cb4c8de"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "4260f3a7245d8c7f0b6f3a0a47793c84eb83be44e19105a3efbc35ef1a1455f872a987c714eb95a1cfd4157816cd9eb09c5a6098460e90584e9d630812d66716"; }
-    { locale = "gd"; arch = "linux-i686"; sha512 = "12edcfd67dbc5d093d1c22eb707668e4f534a6baf96986e436684c9271d165fb2f422a2e84ef35b72063f1a91100230c92df2b08aee428ea0b384d6658f6bcb3"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha512 = "b9ce9839cd3a4e8fbbba4f107a934ab4733b1feb65dd1e40a1c064f39026d03d1208b67b413ed4c643c7039f91e1ceb8747f3a46cc44d1bedb22275512f867b8"; }
-    { locale = "gl"; arch = "linux-i686"; sha512 = "d357cc4f8a9ba8ff47458b03d17e4d10dc7be8bb16493ac3e896f63a3229962034012c7ecda4a70d4dd1d9c4aa76c349bf21725c6164fc96e6fc36f9b0fea9ea"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha512 = "fbd8a4eae6a94d966f8e1e9e2bcc7a6aed8b5a9991fc8367de28c11fc7b341fcf745c983f8259b89767a762604e55ade6212f5c1496dbf843c8eb49f89e8810c"; }
-    { locale = "he"; arch = "linux-i686"; sha512 = "440a86fb6a94657f05eda2bde2a2e74d17398468a0b603866a03a7f37458e69a921e81d2ac1af2718f1168a56ee03ad596c39e8d88c933576efecb99a724957e"; }
-    { locale = "he"; arch = "linux-x86_64"; sha512 = "51f3acbaf8971bd0bc93502605526f6d0be5093810f8a91f43c2597541dc23eb590a10b4f2839cd9ce1e13685fc7e38668184b12a23ae99356ffacf3f6481d83"; }
-    { locale = "hr"; arch = "linux-i686"; sha512 = "1b5960e4df8a6247c63fb3f5e80b1795b4e098f446debd96b6344dbf97694337d6437dad53635fac57036ed6551b8a780ca4880dc35626aee83860a5934f3f9f"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha512 = "65110b98cea4a6174dd31de4aea53d2efb1fee822025f9a7ccd6ef3ac80c0baa605fefd7078c3528451ffad7d9e86400c5b7b527b026aaca022a0099673442af"; }
-    { locale = "hsb"; arch = "linux-i686"; sha512 = "bba6aa43cfee2422414c526f0c40fdc70984acb54e25e5eb75ef684e674b17a8dbf606e31d5d609bd572647ab3a9bbd78c76669156a1d2d4d45d8402650148b5"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha512 = "d50057bc3cdff3820f0bc09679f672d14a35240fc3e997836f9c04bd8aa922e41b627e0f632c2e76982439d4510262618d7d59adaa530708cadaf1fb111159e3"; }
-    { locale = "hu"; arch = "linux-i686"; sha512 = "026a686dbe81a4c52bd3997de66e0919ea870954a3d14c4483f5f76f618424013b82a2478ec9eb3f506a1f666ef3333832a3e4533adcce41901db79120d2a454"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha512 = "bbff40d50155756c0d06fc4c9f7bf31f770901139b0a8d475ee0d8bd7ff1b2d4e8f5f3343fffd7af83f5f53f0567845f6c7ddde8abbd3f9f004c31a1479ec4ed"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha512 = "a798c9581cdb2debbe773ed952bbc56f7d7444eac5a448fce0f17ba2b260405526cdcec306c39c39b2e80ce7addba810bc659312505af8c0a928c8a2f8107245"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "570815807b0ea61bcf506effb2acc52ee6e8089b1328a046a8c55de0e3e72227a2d097ffe61f383733ca6f11405e5689595bc31f931f41e854f71770e18230de"; }
-    { locale = "id"; arch = "linux-i686"; sha512 = "ce54045626941976435a94bc5cf7513b79bc4e3e6a3b03bf1036ce9433cc6042689735b95d60afc4bf1de2ea31fe0ebc55b856bb51f0ba468744931a8c0727fa"; }
-    { locale = "id"; arch = "linux-x86_64"; sha512 = "ac9a78df1a8c6228560247e07cd7695eedf9ef0afd2c25a770aaffc8d96555f229e9332204e73ba803df2b8a7f590b970020b277123668ff20375608b093dc8c"; }
-    { locale = "is"; arch = "linux-i686"; sha512 = "7e0a2c31968102010d1fba379a25c4bcbbf447f2a0005e01271faf1e19dc7e71a5f8cfcfbf36ed510743d53886864aa4164284e99f7ab86ac27629ffaca6000a"; }
-    { locale = "is"; arch = "linux-x86_64"; sha512 = "cb78e3c2e1824d1da479e8ca5cdbdf420f7e046895a60b8912d44cbecf6966a32acbe2811545961a6da72f22052d8d2bed8d8ee1208b9c4e16250e6900265335"; }
-    { locale = "it"; arch = "linux-i686"; sha512 = "4852e13d1be422f107e18537bb364b04fb06fbb4854bb30f97753b0e0138ca2d9073e29c4b5905154fcd215701b300c0680025310479c6dca4294e3a591ff841"; }
-    { locale = "it"; arch = "linux-x86_64"; sha512 = "84c053e27ecd67a15d84bb2c222ed97061c130fde590db558c7f5919dd8acc8bcc5f032f84c53fe364f95607aa04bcf43375d2cc9fac2d4990535aa38d939793"; }
-    { locale = "ja"; arch = "linux-i686"; sha512 = "c539473ab434e20528f252f76f542f1938accde06b7d460b8e4a767a2721cded73710cca2264d2b18cd533a6118dfa9ae1c2701a6e1b18afe398f42a109439e9"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha512 = "dada1c9e859b27a1bad7ba277749e77d68a20ad4c033861ee5ec54f78627efcaf336d082b1a8f9e4dfc91f6b16adde3eda873ae261351c3292c73c7f7ff05526"; }
-    { locale = "ko"; arch = "linux-i686"; sha512 = "59421684c74f6c9fce41c4769ef725445bc84224357db21f1f4c9f5154c695a337445bfa05fca1f045d0e05ce64faf2d2e5a9be8cac0d62dfa17bf1571f9db57"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha512 = "3eead074a7c82570db1923b8a64afdd8d8d802d33c4087c8b647f905f580d27ede2913e1323b98c46fdeb83a91db1a43dd155d013d3f42b54a7daac1d541b449"; }
-    { locale = "lt"; arch = "linux-i686"; sha512 = "317315c0c436ddf882ac2d5a5c76a942f0fe04f80c1d7634ff7223b363b5fedd0778b127e1cbe21e737acdb869e770b9c828a9df075eb19f4d4870767297b912"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha512 = "2926b5ec95101dc682723a3157de86fcfd9974a7a74486c1d80481145feeb49264bc661621fed4739238e852ca2759dda155a2c22094da90c6d5dcf43107b3d4"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha512 = "36638e01b76b608c2af0dd6f6336877fab6e0c8b8d16c5f90095c0bb24d475bf5486782fc26061dea134e7817288d84b8b805351411b7e70f39f3a76c9354b92"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "cde8fcd4b1cd8202085aa7a04b5781cd561a2d2ad3e1551af420397816addee8d57f4c49036ba79e49bd6f4452107cf8f3acc7c238beca5814ac5522aff2195d"; }
-    { locale = "nl"; arch = "linux-i686"; sha512 = "03aa22ab612c39e9a7df2a346a338b70c6ee13802860ab9359322e6fae425c1f8416cab762b9e061e3d8b34417043c3979e49a5c7079bc8327c0a317e5b98abf"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha512 = "a78658fcd3cd6c9cf5c775d37e5ebb38f72e0317e30abf7dcbd57c0f400355bbe242ae4ae9862eeeccdfe0fe2cdfe6c6b1c06b8bda3010e941041bdeb6a51fab"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha512 = "4594fdc88d66a61567652f4ef7fbf43b55853933f098526671801e0fcd6256367e71c5a179419b1015d410b49a26505879ba0397013c8b510a2462798e5b3821"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "e76bbf55d900e8c7c92e3ad130e58c061685f2abeb2f3ced71e52c36bd0d979eca58cc3a74daa394469281011e7339c15b423847bc43631bd6b3da7f1d4aecd5"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha512 = "590b974b9785db9843b35dfdd9aa9d8422379570b6511a02564d5a0edbaeafad38f99aba403cb996ed47416a9944ca7fcc74d8aacda74c8113de7f112b10f397"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "0de6495b746c39e5117f5662b4896b206cb7a4f22a8a8c4f6c080f434b856fdf1f4029c7b8aa9a3372b6bd66d883c26ec82dc2aa17ce89005f462d58b6e3ecea"; }
-    { locale = "pl"; arch = "linux-i686"; sha512 = "f03e723aebf1c7709a0f08b9416acef98b5e4082b981fae3276d26e3c11650153cc56fd8f96653eb9d2b5213f5ccc42e062b42cf6182dc910c56a24f07440102"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha512 = "4179561c6fdb2b48a0ab87ac6d823b702181b18c3ca7f28f28a546cd7bbd7453a525e80600a5cebd89912fd69b78d768e136bf12398e5b0471a6fac310fafbe9"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha512 = "906510719e6d7149fe2c8cee9d5a88ae0a86cbd4bb6e2c4ec0bc4d77b252f71b98939f4002dab69a24db75d022e485d1711350ca1f26b3b55b05701dfff6f9da"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "ed1c438050b3e0a22d61f39b9771f22e2425a9b7cca1fc9ae41606f708b32354f5cfe7321f87f3a77dd50270a7e38554215c6f8fbaa0ffbbc1a1c7f01c8c4c6c"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha512 = "1ed53b8ac706dc2750276928b507c072e3b2e49f7df2ab6d382b31b0618da6e41ce3fcf50f7815b4736859fe899017ea4a646f4594f4ac7ef5c272ccdd6d69a7"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "07b00355b73786d61dfa2cf1752fe42f8c464291f77f8192117414b66ef5f3c627064a608abb18c6938c8a2b1e4dfe223ebeb4f1c4590bb8c80dadb0b77841d7"; }
-    { locale = "rm"; arch = "linux-i686"; sha512 = "6fa680229b2dadfe6984af37d1ec93ef9d5f2d9014bc62618690c2e71a6bf8bd7d945fb0312553f0f2858fee89b454b84375a65fbb90f8479d1812d838ef1109"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha512 = "b95336e5ae9bf794e35dcf58fb8b4c17c4b4e58b4fd8552d708f15e6d9518640f42599350fcb6f140bac57e7d54d49946ab5c910ed67ac453b0c1c3150a195ed"; }
-    { locale = "ro"; arch = "linux-i686"; sha512 = "102b3a1c23742bf9fad04c1d87a43cf4b6f805b93528ec7139d5b3eecf141990594f32c2c89a7a950aa4257801ec2e5aa91ca6fcf2e1a067978f47cec500f6b3"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha512 = "8a613cf9fbf8a96ee2b3a6610ad2638f388530601cb7af4bf9c44f73e92f21e97ea3a147887ebcb5080570bf6f7d9c0965e834eec011c646fc57100d8fcb7df1"; }
-    { locale = "ru"; arch = "linux-i686"; sha512 = "6d2a1bb3db76516f1011b701827b43e66099a50d575facd3b5be9718be21d4b7ef80feba091e4273960af8f56f416514c2d308877b039be06898bb50365e9e27"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha512 = "e74578096eca86f68e993f620eaf66f220cc577522e73592092b6c63657640cea95d0b41ea035d505580aee258629e2f36e2abca9952372d102bcb0136e995d8"; }
-    { locale = "si"; arch = "linux-i686"; sha512 = "9900c9462c97d7e783dc9893a4a6f87a0e000866ddb3dffefd67548b30ffa4e9db8a2e93247027a45aae03c9d0bac305991a1684de17e8bd28f3c2d3e5a38309"; }
-    { locale = "si"; arch = "linux-x86_64"; sha512 = "00666797cc9b4ba2b3ec7c9914639ef5fda3df3c124aaa3255b37f721289f1b2e33a99e6e68d40a66daf96860b21c6af10a68a216b6e3a35d8261ba704be7081"; }
-    { locale = "sk"; arch = "linux-i686"; sha512 = "ca001243f8359c38b781fea53c3ede7baabea25af516d852e75b6beaca9ea1b9ce4964c345ff5754657a1a953a18bef2c631e962d92f699e2dc5a31a9d594d39"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha512 = "5ce7dbdf5f9ac2b46c1a27aace9607011dd064de64a778ae39009d9ae6d729da903f5a3c09def1ad7d571a8b717a3f66889053abb38eddfe4146b04597fc2a0c"; }
-    { locale = "sl"; arch = "linux-i686"; sha512 = "ff9784d31a9233c925d1745752497cbe055df378b702169ed4cf1df144b00936566d9dbef4ae5ed9821933e70bec3ef71de4086b0a89f639df2bd57e1796ef3c"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha512 = "673413e23de2de7daa9c4230105c6e58f21d4ebfc55b1df58c0351448d2f252e128c03ee59ba43525d6c92e2578af4c073e08f6250b4c94bb42beba81ae20f7a"; }
-    { locale = "sq"; arch = "linux-i686"; sha512 = "f2e3bccba1c8ad67d696e54e2001726cabe6f61e41daaa9dab2eee00cac7877a8af15c4876993ebed6042fe540c68b25fcee52888a6bd5ad6726875bb4489e05"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha512 = "aa560ee3859d3bed0c5d5c4203b05ff47f7357b674c9d4ddad403a5f0c403994ecb982ca15b542ec9a32d0f27a5e04f41c574a1cbdc5f056c8a57e62de778f7b"; }
-    { locale = "sr"; arch = "linux-i686"; sha512 = "9739c33d30b7e6d6c28fc29f8f1badb06d32ae686fc684ec6743a5ffc4ba42d6060ba95c2bd1e3c2486c4d36ee0f14a1201f74768197073136991e49acec79ff"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha512 = "5a86b2a9c67d489b21077eda647585291ddea2ea98d678b60fda134e11ee074ee39b06f84d3263d04b43358a10c04d4b238a65e9e3015801847e319850643bd3"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha512 = "e394654340d4f2da306149ed7cf0413ac0d40fb1488402e12e15c09c831585ecfcf6c355b420a902d76ec0aea7a5c9e234004f1ee19ed295d7b52343ab67c9a6"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "5d044f32243d99ffa8ab0b7345b0ea1a78d83cf6a921af0e89154c4f9f7caa21260f1e3c2c8287050dc44381f2979af51ab028efca7d197310d175dc86aecfcc"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha512 = "08154b5030c58cb52ef6b6584fc3d20d62e02cc0ee919f37c3a2e97f5afdac777f9dc6dd5881e3a87e5c20dfefdf816c068da014e42e111a3a8c7043b6e9002a"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha512 = "e8f88dbf82414cf680d9748c606ef73fef11a37bafd82a3cd79b5c5abebedf629993e7ecb3e3d6dcd3524fbda10b8b0af743e2948ac49141c76d008432706c4f"; }
-    { locale = "tr"; arch = "linux-i686"; sha512 = "63bcbce3c8f6e635cbfc73f83b33c6c6e9fd5f45f8878aa500772f807f1acdf611dcf4002084902937f95cd1abab1a76e00822327235e7b61ffb369b327974de"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha512 = "cc5c84cd0854c0626e6c880e1abf4090f5488c84f39f52d466f2deb871ed55ad9890bf9f4a104c182ec292979eda56e4de114d328deddac5746ec9e969b6ecc6"; }
-    { locale = "uk"; arch = "linux-i686"; sha512 = "c55ae7ae3e388ec11d8c9bbeb3f18fa5883a5ea5b90d924e5f9a7d61876142a7b336eb50d35e54a405cee803ab7ad4d754a7ceb02cb9a2b9adeb415c44bd0c88"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha512 = "42e535767e82c01868d2cd574805c814e7d67caaab9e531d0b82d36df92a2e42e19d8d6593b28c237b645e60035100d85a54b8acaba8c7a48ef83e865553cfc8"; }
-    { locale = "vi"; arch = "linux-i686"; sha512 = "52e05acb6c681ba62b608cb60d24816aaa35f296b6552b7006fe56b2f2d908a71736490c85e8bfb350d468510a031deedad65f691e4b77fc1dfee26bd30bdb41"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha512 = "9a5b7cae14bcb8e390f7c8b7924a107058dc382e2627984f8c9eb5f380eb1d38b1152c928a5852d387d5d2b7ef7aa0d7393176a03dec0d3f1c1fade399149b7d"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha512 = "caa4533f57b85ed57ef66fe4807f8079d8bef73ad9a454e23a90154253c205a110e13fe1376c0a7d644b326f7dde888d8ed97ffedb8282d8887bb7131749f510"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "d025a3d878c6bf3ae9c1d07c023d89fc83b1c1314179f986fdac46066d334e209689d662bc7fef0fb7bfd7943cc741db5f397188b258ab42247a85c559ac27d7"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha512 = "d3e44f2f92ec4bf6b4a5dfebbcd2f05b323050ff88a1eb3b19301224a6815051e0e884e663dde834cef0a6889217ae94e446669aa0c97201c2d1f1bc2729c1b3"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "6c750b1f7f1253f1702178cdc80a1f8962961e16fd1f2e3f2f9d91062785349183e52799a399e60dcf7a3b7208a0755c3d7c137c28ee0b6ac99ccfa75e63b60f"; }
-  ];
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ar/thunderbird-45.6.0.tar.bz2";
+      locale = "ar";
+      arch = "linux-x86_64";
+      sha512 = "7a2976d272ecc0a3727e34b0841865fea6de9f05195089aa912831836c6f74b9fd34de0ed327cf96cf5b8c0e39829e2db5dd364a92e4ffc48e7139a0fd9cf066";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ast/thunderbird-45.6.0.tar.bz2";
+      locale = "ast";
+      arch = "linux-x86_64";
+      sha512 = "fcb1efd553617825e5ca55afe56a6e36cd8a0c067f4e851c6527058fe1b8169da2e548932e21bc7a52eacec9fa2c55b0cc1369a850a9927ba6c686ed6f5940e6";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/be/thunderbird-45.6.0.tar.bz2";
+      locale = "be";
+      arch = "linux-x86_64";
+      sha512 = "7ca8e07771a984510f2114bcf58397e49e6d64013dfba94e3312ad926e05afb01dc5beced22e5c00f0e43d742752f8a96b5ef167f4d892a01fbaedc194b76d49";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/bg/thunderbird-45.6.0.tar.bz2";
+      locale = "bg";
+      arch = "linux-x86_64";
+      sha512 = "fe717fc5590f420e13a0c8bedba031b8ed5e2379ddf613fc14d82f718afe9341d953baf4f056fca88366248a5f3777cbcc3c12e5bccc33ac07698d3de8306370";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/bn-BD/thunderbird-45.6.0.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-x86_64";
+      sha512 = "9e87ff7976eed19137767b0e9ee2b43b41701edc060201da8d54c68d40f26d88f07c3972d59d59e74191bf30163eec642d6b72f7e633fe48d5cc34f1624d7983";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/br/thunderbird-45.6.0.tar.bz2";
+      locale = "br";
+      arch = "linux-x86_64";
+      sha512 = "2c829c85255d15aa6ad9a941404290a546dbe7522877bfc0b9869415e6f806f853252bb646650d8a9f9729cfd139121dceafc4c1c052030ff7ff7b17e9cef4c3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ca/thunderbird-45.6.0.tar.bz2";
+      locale = "ca";
+      arch = "linux-x86_64";
+      sha512 = "452f701dd496fe6da40372188f7db2628cbe9b7db737b167d052a4dd75c668fb2505e68b6ec299b8a9d0e4cb448a57f8805aabd0d898e21cb67e89eba0163014";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/cs/thunderbird-45.6.0.tar.bz2";
+      locale = "cs";
+      arch = "linux-x86_64";
+      sha512 = "2574febad30bf072d7a0674ff821ca35845d6a5fda09cfce9cff18960af210ded42370bd148324e3599b14977cea770e59e8425c1bf0e6a52824c52f0a864457";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/cy/thunderbird-45.6.0.tar.bz2";
+      locale = "cy";
+      arch = "linux-x86_64";
+      sha512 = "f07456acf596b6e3e98586177ebe41cdc09a7476c465371153062b394f0e89a0bf17ead255375cd0616c2db063dce3ac9aeba8d29f7e5906fc1c323000b49f22";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/da/thunderbird-45.6.0.tar.bz2";
+      locale = "da";
+      arch = "linux-x86_64";
+      sha512 = "7bda2aeb26814fc9b2b1afb4470ec17f0b069b779e99ddd3ee423ac3776ca47d23223009cd35d2f6e495e7b5523787a228fa55db6e56f0c724b45e5ba2bac9d4";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/de/thunderbird-45.6.0.tar.bz2";
+      locale = "de";
+      arch = "linux-x86_64";
+      sha512 = "7a9c629f957c74e54c2e82912836fc1f2688f37ceee43a31b29d1d4b9b2c477e7ebff3f4b4969386e7aee458215f22a76ede4abba9138fd8d64411a0bd7103d3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/dsb/thunderbird-45.6.0.tar.bz2";
+      locale = "dsb";
+      arch = "linux-x86_64";
+      sha512 = "666a64764cbd0f216f9b960f78b1e45d63c008332efd93b9e233842f37478d9c0f2d1faac494a5b28d43ff21a9e01059fa8b46554d05f47d919483b6d63befab";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/el/thunderbird-45.6.0.tar.bz2";
+      locale = "el";
+      arch = "linux-x86_64";
+      sha512 = "02a7f06adfb93ee1694e0389e01b6bd2fe51e5e2379cf3c0fd34b8c7c8d7f58a848679fae19a7cea851bbfcf96fae493a020701841b2753678a142e3925b56e8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/en-GB/thunderbird-45.6.0.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-x86_64";
+      sha512 = "1e45378d32c04db6b802480e245663f3c4522105da6c548d6ff1e5eebead55f53322909b87ecf0b97b85fab30b684ef8e9f3c0175a033824bccadffbb42cad7f";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/en-US/thunderbird-45.6.0.tar.bz2";
+      locale = "en-US";
+      arch = "linux-x86_64";
+      sha512 = "ab06b894f881ebc847cdcc11ffabcf7d9b626da9ce17c4195e7c401963bb3937b8a05eb73ea2fb988662f318568af3ad7142d3fc556cfe139d4393249c353446";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/es-AR/thunderbird-45.6.0.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-x86_64";
+      sha512 = "07be1c0f88aa49a8264bfccbc6db3e738dcde83d93f86939bf3ffb5f85c835252f2f4a74a8cb3eb5d2ea6a1b4af31d3d84418090a23be36aa11965cd4ed67b66";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/es-ES/thunderbird-45.6.0.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-x86_64";
+      sha512 = "2c51ff6931dea175ad6d8eb64c768792f61bef1cb5762efa3e7261cbf14c7619c81ef44a8d6e1ebe7d9764d2608b85e6ddbe47ec437f500c65037d6be8341d88";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/et/thunderbird-45.6.0.tar.bz2";
+      locale = "et";
+      arch = "linux-x86_64";
+      sha512 = "e726a397cecb1d624fef5840b89a177591c8a10d397042b2c5f47574d9b88d0725a1b53999e2d268a67c4efd1b4551ffa2052398c1ad14903a8b0217b5b353bc";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/eu/thunderbird-45.6.0.tar.bz2";
+      locale = "eu";
+      arch = "linux-x86_64";
+      sha512 = "85c2fdc7e27a8298d8e553f221595ae0d7872eae4e78d143d533a18582d8f40195db38f179aa2ed558e790fb7c58510a8ad6037c698ab149d3bd582e34528e5c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/fi/thunderbird-45.6.0.tar.bz2";
+      locale = "fi";
+      arch = "linux-x86_64";
+      sha512 = "ad4516f11670424d31e7fc5c9b12bcf1f0c63110b81ab45a3c5b5a897e1d0a3ce1855117254902ca177a04fc422c193c742098a431dbd8b760bdefe1d7c4c6a3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/fr/thunderbird-45.6.0.tar.bz2";
+      locale = "fr";
+      arch = "linux-x86_64";
+      sha512 = "4abb3fd8430867262811a4aa56304666ad6a1336959afff73fcdc38f157505975d6c340219db4980157f38dcb4b2596cdf623f311f6fbd29e613a89bed35beca";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/fy-NL/thunderbird-45.6.0.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-x86_64";
+      sha512 = "dddab8f7453bfc074f3cd8d6aea33402f66be1bec08ea7c152873af63c802e03edf01e74db236dac6e088f836f188258d3dc62fefa833ffc525ca15b71cfbf21";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ga-IE/thunderbird-45.6.0.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-x86_64";
+      sha512 = "66acfc92a997ef6a2f1dfdf6a6952eebd7788b14d3080867349619b3f9559bbac4cfe6e983ad87900e089a0cb15dab2b9f77dcac69adb66ef0f97f9b5cc4e809";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/gd/thunderbird-45.6.0.tar.bz2";
+      locale = "gd";
+      arch = "linux-x86_64";
+      sha512 = "e4d2fefb8e7c0c14395af7f695e216f6fdb685ca150cb803a347228aaea988169a7093747e770921716123a9333bbc00560e6324ff2f4f966cd895c2fbe6e21d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/gl/thunderbird-45.6.0.tar.bz2";
+      locale = "gl";
+      arch = "linux-x86_64";
+      sha512 = "6cc628399fa0adce0fe740e77a8e708988f7dee4d004bcb785fe567ca680fca79fde756e479cab9017828cebe48fa091e402d52d6bed54aae9cc5b6e28f246d8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/he/thunderbird-45.6.0.tar.bz2";
+      locale = "he";
+      arch = "linux-x86_64";
+      sha512 = "82bbf5a5fe84953d9118948fe3e9d4d6a46ceaafe42f76ea3dda36134458d30f0c73f2ab61682d2627b8c3d598d2174d549d8b4b80bf5c3071627b57b713329a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/hr/thunderbird-45.6.0.tar.bz2";
+      locale = "hr";
+      arch = "linux-x86_64";
+      sha512 = "c70dcfc8506132ce0764de325c8e0debafdc8460052bfa4901172f880b935d1c0bd70b1f7d227604f6bfd155c2ff165c1ad7a5b509d512483b54eff80e910a1a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/hsb/thunderbird-45.6.0.tar.bz2";
+      locale = "hsb";
+      arch = "linux-x86_64";
+      sha512 = "5baeaa2ae960514551d062979cd60644971b6603ab33b9773a3eff10e267f0029b2edd5d48734dfcf99697ec77c88e12f4f240ea18a7433a0a2eb07f70283389";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/hu/thunderbird-45.6.0.tar.bz2";
+      locale = "hu";
+      arch = "linux-x86_64";
+      sha512 = "bbba8bfef9168efcf0aca6fa98596b3d7bbfaf456ceca263825d2f96b054d6dbc672e1086db645a48966f82cd0d6f4c85e9846935dc7b2595faeefa81c66904f";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/hy-AM/thunderbird-45.6.0.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-x86_64";
+      sha512 = "b58088defd9a2f76aa779bf080135a5735e1531de065b1a3ac6f9048266e763bee8a22be634f435584d308aa5a532b72687bbddc8f7dedaca39642ed04137bfa";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/id/thunderbird-45.6.0.tar.bz2";
+      locale = "id";
+      arch = "linux-x86_64";
+      sha512 = "c83198b8ac60132f3124253c082ea0d5a45f1db7a7a6509ea18e3d084e26796364e6ced3c20675620cfc7f849b4e7fe342c86d0cea24eee48c815dc02730074f";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/is/thunderbird-45.6.0.tar.bz2";
+      locale = "is";
+      arch = "linux-x86_64";
+      sha512 = "285427b6f53c181889b78d005071f71211a2a51b6fa5f3eaf5a573a4a5e15cd83d946b97f3da89d383fd797a6985f8c1d589fe40e1267a73224848080af9b79c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/it/thunderbird-45.6.0.tar.bz2";
+      locale = "it";
+      arch = "linux-x86_64";
+      sha512 = "5e763b01fce3bb3ce5deaea0d3e4bb51b5cd752ab5fa191a064400f7961d237924b98013179f0d32017bc527478d665d6fbc74482680aaf041444d3c376497ae";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ja/thunderbird-45.6.0.tar.bz2";
+      locale = "ja";
+      arch = "linux-x86_64";
+      sha512 = "7dd7b1f9fcfe103d8b70587e2a8307bec93766b504390ee138cab52bb8b8f76759af84568eccc71e5a88ee8cf3e326313930760cc92267ecf7e0fb29fc09f8e8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ko/thunderbird-45.6.0.tar.bz2";
+      locale = "ko";
+      arch = "linux-x86_64";
+      sha512 = "1776ae557e7f7d6df013d178a68f969aee4da9de6049f0055e290a808da61af4bd712d7915ac05a04c159db93fab7d994bd0317a471dc0498c2b5c0b8696cf71";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/lt/thunderbird-45.6.0.tar.bz2";
+      locale = "lt";
+      arch = "linux-x86_64";
+      sha512 = "499a710619b3e9f86fe7e77e35ddbfece5609af92d79b50b697ea8539cd0b198ec88702a7c19a9169cdb2b1dead19fe786d0af16bc6fe2b9f3e0414780a1e1e9";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/nb-NO/thunderbird-45.6.0.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-x86_64";
+      sha512 = "d97a5f532a000f3cf44e1b741a3a7026d07bf2c6012b4f6361021b81058aa93876304014d3d8d7181695c526cfd887523e217b7b502c493f5327bb4ba4d00461";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/nl/thunderbird-45.6.0.tar.bz2";
+      locale = "nl";
+      arch = "linux-x86_64";
+      sha512 = "06df0ab52f6a9916bef1605283c7669a1afbe5ce7f6bed5746673ad5ad222034333bb41a6a1d81e87165105e3493d095bc90c5a910cb48041042367972dd9d61";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/nn-NO/thunderbird-45.6.0.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-x86_64";
+      sha512 = "3509fbcb2955b226d869e43812665c7d2752956f68cff8cd4df3dbb3d0bda2b060218ede3eb9fdae285ed6765ce89c720793f905e09a97d6d22c2e36db890261";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/pa-IN/thunderbird-45.6.0.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-x86_64";
+      sha512 = "b113f1134df372dd4d369eb9d4c9c30dfe15fc8d65c153ca2087a6ce3ade368554ea2e9561b7d4642f7ec52247071bb323649e884ebd89b8472bc046c1e3be5e";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/pl/thunderbird-45.6.0.tar.bz2";
+      locale = "pl";
+      arch = "linux-x86_64";
+      sha512 = "4ea27afc66451ba40c8cfa22930598925dc18b4b074ab190d8c8866d0f516e9887e8c006ec1564b490a79f67b0b2c88d3fdfa616727e36bf705d780af82a27f3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/pt-BR/thunderbird-45.6.0.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-x86_64";
+      sha512 = "263ac30d26e20733eb332c6ae6837e3ebe7b8c41ff1cc15e47951f22e89873a620218e9caa2a3cfb74a93e619575a4812b362d4908372fd3ce05406d7ef295d5";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/pt-PT/thunderbird-45.6.0.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-x86_64";
+      sha512 = "90ed68c12871e11165f9357a1e836fe8cf872bf654303c07e26f1bf30979d756e9fe6f034b4265d8f22fe8d31853ba76a983a8c7fe3759d7793f904f8cd0f788";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/rm/thunderbird-45.6.0.tar.bz2";
+      locale = "rm";
+      arch = "linux-x86_64";
+      sha512 = "ba6aa5a07a06e57a4241f1e9962f4a28b4221032b8b3220cbfec2f3675f808367c586da0fba987e7d1309bb3bcc4d2ed48ea8ef98a6f4a3e65d4fd9fe06c527d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ro/thunderbird-45.6.0.tar.bz2";
+      locale = "ro";
+      arch = "linux-x86_64";
+      sha512 = "caeecf69a9da3dfeb2c3ef8b0d8733e81e32ac201c0c5b60206160d47172863c91f2a0fddf3e7d2f707918934467c01a0dbbe1f63e3859a7106974b3a5f084a8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ru/thunderbird-45.6.0.tar.bz2";
+      locale = "ru";
+      arch = "linux-x86_64";
+      sha512 = "22727502ca4dec94470a71456c19ffd7f01b75118480ae67ed4849510bf77c8ec1359ddb0233e41c1b1dbad219ad5111d0b11c6c7ae7258ec10167f27b08f197";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/si/thunderbird-45.6.0.tar.bz2";
+      locale = "si";
+      arch = "linux-x86_64";
+      sha512 = "b872fb53f0380f77dd4dd87ccde7151db206adaa81801aa907db398df1a51bf3ae65510c452b035cf71c9000dd949106c9d64f44cbde7f1419cc41e403ac6d29";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sk/thunderbird-45.6.0.tar.bz2";
+      locale = "sk";
+      arch = "linux-x86_64";
+      sha512 = "32b1e962e7e4e6aa8d198e080a09b43d21cb307bb8a3af50fc7170748604ce3b6f96b5f59b56b5c0edd61f7af31ccec9446aac50ef9eb94e5ef7a48c71e99541";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sl/thunderbird-45.6.0.tar.bz2";
+      locale = "sl";
+      arch = "linux-x86_64";
+      sha512 = "c9192435795c677aae642884e773362d17e5afd8e5943e2759d1486e4ca5bddb35be3c99a4b6869aa7018db4bffa09f0b63e500eb26a00cd35c141543eec0a00";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sq/thunderbird-45.6.0.tar.bz2";
+      locale = "sq";
+      arch = "linux-x86_64";
+      sha512 = "2150abcdded45107ce54ee58f55bbb78f9fdd0fae143fe423e14f4debfa4819c23b021c8d4d36dfe606e206d3dc3deda0671cd08f6d82f7ceca7e7591e7df3a6";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sr/thunderbird-45.6.0.tar.bz2";
+      locale = "sr";
+      arch = "linux-x86_64";
+      sha512 = "a9bdf3062d72095d080ad309f25bb8aa27635d3497fd99e6982ae3ba635f61c97e66fe9aefb88466f6f22c6e691692d70abe00c10294353d88fc288111dad6f1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sv-SE/thunderbird-45.6.0.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-x86_64";
+      sha512 = "4353836558baf234d4dd3376a6262ac0af576f16d725c71ec5eb994a72599e748d2334cb916a3050db8f719aa68f2f9d7204aaa4a41ff9da339db933fb64d496";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ta-LK/thunderbird-45.6.0.tar.bz2";
+      locale = "ta-LK";
+      arch = "linux-x86_64";
+      sha512 = "9f4c8192c6d683325efcfed3d5ccea7218e2eaf3193ccde00be8542f13e8b3771d2a3690ff212cabaef067452f72061fb47a8184ef16fdf59d687e3b760126a5";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/tr/thunderbird-45.6.0.tar.bz2";
+      locale = "tr";
+      arch = "linux-x86_64";
+      sha512 = "12f567a390f44a79af8615f677b87164d74172f7540ebe6d08023e017576493b0da5a63c466ffc2c3a4c406b0d9e8753e00aaa45dd1acb751621cbb8d9e53415";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/uk/thunderbird-45.6.0.tar.bz2";
+      locale = "uk";
+      arch = "linux-x86_64";
+      sha512 = "844e7ee825d304ae19edfbd4c324ba11c2037c9a97fc96f8b99da7fc3ad0137d3106069fdfb06814d2df20a75c6051416b52448ec56980858c70110676294f90";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/vi/thunderbird-45.6.0.tar.bz2";
+      locale = "vi";
+      arch = "linux-x86_64";
+      sha512 = "35c0fee2083c922284fc11a048150d53a343fe7980160d2c4cf2046e588056457b4e5876dfceb51b79a828886d9671a1934d51079c6d1e64e9af979927d9d8db";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/zh-CN/thunderbird-45.6.0.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-x86_64";
+      sha512 = "039cb44b4e07fdaf6d9b1eb717baf798b3f3a3cf8726ce97b4fa7ab7e938b9365158597747e406916ae35150c9cf96af74590c5189a64ddfbf65740c1cd45c5c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/zh-TW/thunderbird-45.6.0.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-x86_64";
+      sha512 = "4721eed25de2cc71728d7cee651fdf51ef5b791873a3e59df2720c0f46269bf375e0e9456024ca4ec9ca31f8178b5af704e2fa9cb057860fa46b72ff4b22970c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ar/thunderbird-45.6.0.tar.bz2";
+      locale = "ar";
+      arch = "linux-i686";
+      sha512 = "e149770dd3229d3a00e56cd34848afbb1ff6765e66da4fa449156dc58c6990bd35e442ea8c14cf90e63541a34fbcfec8d8714350186e863ded72391b60622c69";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ast/thunderbird-45.6.0.tar.bz2";
+      locale = "ast";
+      arch = "linux-i686";
+      sha512 = "3bf557b9e9ce9f4b84e3407dfed2fbaaa280893033d4bee0724543b6951e0533050b8feeb0a01b4693140815ced705a5ef16e800d149f967bb39329dcbecb5f7";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/be/thunderbird-45.6.0.tar.bz2";
+      locale = "be";
+      arch = "linux-i686";
+      sha512 = "ace07c8982b68ed259b344aab73790fc9f90f98f39b65a57c6be7463c3918d545c4a0a6ff6df5b8ef7b7b07ae44c7e69a1bfa84c7cc82b9dd62bba075a2a113c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/bg/thunderbird-45.6.0.tar.bz2";
+      locale = "bg";
+      arch = "linux-i686";
+      sha512 = "fed2ed25fe530939c4116daa3a3a09075812b005a937c36cab385bfb867d703a84feef50e2006f83009a25c0736c9b032c17605b2364d8fde4799d1e9f479b8c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/bn-BD/thunderbird-45.6.0.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-i686";
+      sha512 = "84190d0cc6884f14ccf4ce06dbd69193f90591becd5d8064ea89c7ec12ec411bf766bff1bc5d5c6f142fa53ed2b9ce494718f7d32a74a027819de32381b24526";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/br/thunderbird-45.6.0.tar.bz2";
+      locale = "br";
+      arch = "linux-i686";
+      sha512 = "619857fadb8721ccf103a3739a1336e2cafbfa62a0a2ab074254481d50f0d301f7718d47b5a3d42922fa562f1382de2aa8b5256bc62d829400926a494bc19403";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ca/thunderbird-45.6.0.tar.bz2";
+      locale = "ca";
+      arch = "linux-i686";
+      sha512 = "3314b1129be6ce854a6b028849167af5f93c289073f962f5de09eb37fc7a2c40eb75b8b361289c879c4b7f752170f05a01dc6ae996bba4a5b706c1deb037cfc4";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/cs/thunderbird-45.6.0.tar.bz2";
+      locale = "cs";
+      arch = "linux-i686";
+      sha512 = "07d21c5f4aef38b9f7b330bf0c06f10ba3fc7cfeedcdd45e45ffb9ad4e5b1f729cb5d249028a87a8ce122da96c240447a6eed4be2220e302a2c55ac39cb1628a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/cy/thunderbird-45.6.0.tar.bz2";
+      locale = "cy";
+      arch = "linux-i686";
+      sha512 = "b2f86ed9ebfd8124611f6d9e20cf36322e36cecc2fea688649b9f6df231d65ed4cad192e12b7a27367b3b7706e510c5547c5bb22aedab76d420540cea9b81ee5";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/da/thunderbird-45.6.0.tar.bz2";
+      locale = "da";
+      arch = "linux-i686";
+      sha512 = "00ef125afcb33ebd5f11b765c9c3ea9e3e240e3416d00012cbf1b82377f8d610ab2b4aac800d7a0ae0f443447840b35d92e58600d83dfb6c6dd76e8ecabd3924";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/de/thunderbird-45.6.0.tar.bz2";
+      locale = "de";
+      arch = "linux-i686";
+      sha512 = "05e1cae57b9a2e2fb274c2efc130e596c5f6c35ce14055156f728a662e9f8f5423a42708629726e0a70e3420aeb1d9b3b224c019cbbaa6f4a0cee69f78c740ac";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/dsb/thunderbird-45.6.0.tar.bz2";
+      locale = "dsb";
+      arch = "linux-i686";
+      sha512 = "dd0dadb02dd11dc9c39c6aa67eb995b786fdec47e966cb79177bde56400300b214ba90509a50ad839b36908da18829eb02431a4e1cae3e878dcb3debed258bc1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/el/thunderbird-45.6.0.tar.bz2";
+      locale = "el";
+      arch = "linux-i686";
+      sha512 = "12fc5fe4fb9fcccc295cd05c46850dab1ebfa81e0fc1ea073c493ef7c8db73e2c96999e9b1a29cda8f8cfa5437920f8a6b88d3b6911fd88dfde2673563e2afc1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/en-GB/thunderbird-45.6.0.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-i686";
+      sha512 = "0e195cd68923d8b8bedb4028d17b08d029eecc82d0b40de575b55d573dda6227684043cf50c959c790746a6b38089e02cc996cc8a23cb31011c6fe4c3fd2ae89";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/en-US/thunderbird-45.6.0.tar.bz2";
+      locale = "en-US";
+      arch = "linux-i686";
+      sha512 = "d3ceea1ef1e3562d682882b14f518f917143e4c4417ac07e8a474c52a57ccf0169fe1580355dcda0710e03c67b46eeb78fd59b31b831b8f431ef1a0cd9a37c2e";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/es-AR/thunderbird-45.6.0.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-i686";
+      sha512 = "19a3703f4f3fc5ce82ac8f69468fabb494ff663ed0b507af4a7cb74fcfefc5eb7e8090771392a800cbec88897c9c00315b457289eb1be860e1b47dff2f25a5d3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/es-ES/thunderbird-45.6.0.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-i686";
+      sha512 = "706987651522f9c843c8771a4e58c474661da8a45104e1dfdd1b72be74c3a43d9eaaf4f9eb3661718c4237515afc90272c535579d0db1fa3715a29d03bef36af";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/et/thunderbird-45.6.0.tar.bz2";
+      locale = "et";
+      arch = "linux-i686";
+      sha512 = "3ec0d0fa4ab85a3ce958b8c637e4d208f803e861f3b544d3f15a79ac1e1704efa963eb127f1687cbe5f4e75926bf1731bd9fd781a6e7fdda07035766eba8d39d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/eu/thunderbird-45.6.0.tar.bz2";
+      locale = "eu";
+      arch = "linux-i686";
+      sha512 = "54eaeebfce0f0c805954be911c3ac666993d9bf927ccdb01ce0f322524451523ccb7d6d8fee473eebd9cac14d6653655de8f0e6861f8d4fb0953658cd808b74e";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/fi/thunderbird-45.6.0.tar.bz2";
+      locale = "fi";
+      arch = "linux-i686";
+      sha512 = "51d09e9b7ecbf4891ceee5fde9fe00ce2ac9cbf4a2fc0a3f1433e7004677d6fc35067734c3f0506362b346953423f71844937c1187db9194ebe952adad1abef6";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/fr/thunderbird-45.6.0.tar.bz2";
+      locale = "fr";
+      arch = "linux-i686";
+      sha512 = "0c3b9635cf107cdfb91c4cdc4771c25b112fd7d87341c88259a5670c5fa716e105cb910b1b6b85d8c22d518abba5a538f87250c8bb34c71df4cb98bf7026f8be";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/fy-NL/thunderbird-45.6.0.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-i686";
+      sha512 = "45adb1b96d4d57c5302ca373f193b5a7e0a9f8577fabcb37c184bc8aaa66cdd4b0136e810af0ca8f1a7727fd51d60ee1006f6dc3e5fd182ff45056fc923d7d13";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ga-IE/thunderbird-45.6.0.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-i686";
+      sha512 = "4c3453566e747b57f94ef980a7d9b4d2a1c5b78584b0bcf1eea4d8c6b26ca177f18cf94811e5301a12e7de8939a11bbebe202683449b367f29a391a94d020cb1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/gd/thunderbird-45.6.0.tar.bz2";
+      locale = "gd";
+      arch = "linux-i686";
+      sha512 = "ba0f0ee9c8a2a64c414e1621c8d5ce47194ef144f026e3306cf2c81d214fd0e1df541fea11dfdc2de7629cdc8ba2a4aaccb16dc7cc0c3404925177b893ca5d73";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/gl/thunderbird-45.6.0.tar.bz2";
+      locale = "gl";
+      arch = "linux-i686";
+      sha512 = "f1d948b366842bfc2fd349ccae3c6c9f586fd69e99f0a0f9804bf3bff25ce6262451513952ad30f128626bffd6f9719d377868fb7d2fa56d8b6f54b2f4751ea8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/he/thunderbird-45.6.0.tar.bz2";
+      locale = "he";
+      arch = "linux-i686";
+      sha512 = "1e0f048b272b4927d19f66390577ae2a37a32dadc24e36a7cdfd48e4257db09f5433c2812429c1700a5fa1f3630deb3c43db316de921d8e9be58f41388d2502d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/hr/thunderbird-45.6.0.tar.bz2";
+      locale = "hr";
+      arch = "linux-i686";
+      sha512 = "a821b66d67f32c84d0bf4172fb82ee487c13703122821042b00739890777573288c31c5178f4dfb6fce587eb58a19eaccd6f23b4b8f3d851fc203293674fb510";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/hsb/thunderbird-45.6.0.tar.bz2";
+      locale = "hsb";
+      arch = "linux-i686";
+      sha512 = "c756ae475fc1964ae915a68313411ec8ab4a7d4744685de2ffeaaae33d58fcc08712657a2f030b1b358d02d9653c26478515ecbd915881e33cdaca9d9842fb38";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/hu/thunderbird-45.6.0.tar.bz2";
+      locale = "hu";
+      arch = "linux-i686";
+      sha512 = "d2f68c86f57fb9351c5c2ba74a8976bc89810634dbf5a521c34a553ccb6ff27eaf66fdc92e50c0f226246e9fc25316d4305feea1c3801513f418f58dff1955bd";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/hy-AM/thunderbird-45.6.0.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-i686";
+      sha512 = "42ad523ad7f30638a69d8d549491af06ab9f740f8eb0b81e681236a09ce39de3758e2af61f2857293d085603f3530df3edaa23c19a014034528d3d130517fcef";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/id/thunderbird-45.6.0.tar.bz2";
+      locale = "id";
+      arch = "linux-i686";
+      sha512 = "42a023e474e440b8201dbe5caaa7354546f89d5e4e9fcd34152dae93349bab8872f6060e5029fa629fd9853999ecf08688e51a2d9a16400265bc5c61a9abf783";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/is/thunderbird-45.6.0.tar.bz2";
+      locale = "is";
+      arch = "linux-i686";
+      sha512 = "6fe784f65ee584a1fb9fdc962be412e09ff43e88afa29365ddabf6a237ae7a1c854c05d5e3b3bbef83653fae94646c7a32144c2f7907304573b5f71e5f978ac9";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/it/thunderbird-45.6.0.tar.bz2";
+      locale = "it";
+      arch = "linux-i686";
+      sha512 = "dae36c69bfa5cc80ad9489c76acdc6094f5fcd2c41f8c2f5dcd5d8d103aca564daaa96b27426f8096aaf555b6786f7d2c2227cbf1096d7eae53285b337d8221c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ja/thunderbird-45.6.0.tar.bz2";
+      locale = "ja";
+      arch = "linux-i686";
+      sha512 = "c33ba443ee0556b28b60ba4517913d54a931cc2b63339262b35a1d576166e9abe1e7f6297f11683397a13f5c7b71cd96f97e60ad1a956aa27ba9fbd7f0c5fb43";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ko/thunderbird-45.6.0.tar.bz2";
+      locale = "ko";
+      arch = "linux-i686";
+      sha512 = "0587a7bb7218b16c859717e99a3fd96e697b3a32dd322361edfbaf0b069522914e84b74160466d3b25fac76d925af485b9688fb5a3e072f1eff94dabb0239669";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/lt/thunderbird-45.6.0.tar.bz2";
+      locale = "lt";
+      arch = "linux-i686";
+      sha512 = "0789f1357a0c2a61fa676c9c375c79c29e78c3b3bf8faa2a392ec90714e1e581bd07eb75628284e6873c66553c613e7b43a18532a01cc66510f0bdcbef5f5b83";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/nb-NO/thunderbird-45.6.0.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-i686";
+      sha512 = "906ebc96274cc490b82b434f648ba33f16a4f2b641e99142fcf18cd24701ed0b4b34558b2b380a0ff1d4ebe253ffd99d6b2cf4b9cf059a3f071c9e3bee94dd0b";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/nl/thunderbird-45.6.0.tar.bz2";
+      locale = "nl";
+      arch = "linux-i686";
+      sha512 = "d18b521eddf0e71cecb33473275bb44038717cefadddc648441b0d4c7a01aaa08e45fad28e3eb74e8d01d1a637db1ef4d999d45a83c2fcb3aa3e7430b73b666f";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/nn-NO/thunderbird-45.6.0.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-i686";
+      sha512 = "66f7b07352f7a6064d3a805d8d348ae4956240b42359a2d3fbd1d96291a025e1f4920ddcb0cd9312e1d8f146fcceae4e0d9811a9e6ae43479307aa204d8de8d3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/pa-IN/thunderbird-45.6.0.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-i686";
+      sha512 = "828e57876a063979f945d0cee371b57e43d2f26eba4723a8983b448b85a091a303da068f17ba73f1eb23b35e06d9b3a37b56d9a3be49c202c950d2bd2ed9db05";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/pl/thunderbird-45.6.0.tar.bz2";
+      locale = "pl";
+      arch = "linux-i686";
+      sha512 = "6ca824649b5f030423213dd573018af5b6a8033fa86b6b23c5b99e59afdd5234cd2c7a8237124dabbf75175511afff980dd3d971f59967c3522b633680d7277a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/pt-BR/thunderbird-45.6.0.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-i686";
+      sha512 = "399dc86d31375ea3af21e6032b686ffdec65a3c0ca403d95bc89e0e7715e6c998dc846057ff4a6b919fda794a9fdabb53eafd7a07d8894a65e1109c9c52e43d1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/pt-PT/thunderbird-45.6.0.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-i686";
+      sha512 = "f758fb69c99c02fe1bcab8c9a4b02eeebcc190c30e73f4b009521c36956cc7f076e1f544181a332807bee93ec39d7d170cca3f0d87fc6ed89b60a4515c394749";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/rm/thunderbird-45.6.0.tar.bz2";
+      locale = "rm";
+      arch = "linux-i686";
+      sha512 = "d338c243cbfa41e5b54195923bc12876e45683271df477d492058973dbc0f7352d59863a3bde571ab001612b8ce5704512f1bc0ad1e8af066f7aa448b5c89f0a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ro/thunderbird-45.6.0.tar.bz2";
+      locale = "ro";
+      arch = "linux-i686";
+      sha512 = "2c011b2cef9c5761c1297b2cc2dcd442ae9fd8d0f28d0f469aa2abbd6da80fe11bd607df8fb224ff03bd21932bdd40591532722756c467b498313da0f639c3fc";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ru/thunderbird-45.6.0.tar.bz2";
+      locale = "ru";
+      arch = "linux-i686";
+      sha512 = "90fe536806f6e2ec20c470c72812ff8e54af58499ba220f9b6a5b6043c3a6072c78dc834c4204ca4e1f9d5ab71093296c958fe12409e50435136903f3ea3d544";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/si/thunderbird-45.6.0.tar.bz2";
+      locale = "si";
+      arch = "linux-i686";
+      sha512 = "36fed4f969775870a3e224aef66b36d8b8f1adec2471b4b45d75c52318b9481bdd81a9f583589b4c5450045e4a8abff91f3fb9083f4bafd237c742015626291f";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sk/thunderbird-45.6.0.tar.bz2";
+      locale = "sk";
+      arch = "linux-i686";
+      sha512 = "e89ac23a25ae446f69e9c31478cc844253ba57de01893bd12b6b2bbe0e599fa09bf1506e9cfcbeab506998d81bc170fe1cff2d0e9aa13411299a5441d40d8959";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sl/thunderbird-45.6.0.tar.bz2";
+      locale = "sl";
+      arch = "linux-i686";
+      sha512 = "6a74cc252d64d6d11a98af51e8fffc8a4bba8c74e2647afee9cfaae55ffcabe7ef9d82ee95a1a4d169fc057025c84f1253f455c6bd5e8f5fb9e33d7372c96a01";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sq/thunderbird-45.6.0.tar.bz2";
+      locale = "sq";
+      arch = "linux-i686";
+      sha512 = "2ab4b18e5560eb495093aa0e5867f6e91148fe1cf7123f50306cb19b646b0834cde8cbd449df46f7e12b597465ee69910ad386e9920e26cdadc2085ca92e7af9";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sr/thunderbird-45.6.0.tar.bz2";
+      locale = "sr";
+      arch = "linux-i686";
+      sha512 = "dc23ac3a9c3fc8b0105bdac2b14f24a0cd76b7f6c3bcd3994d979ef2db44a9f11bc2e5648148bd45008ea832261399898737b39727c0a61a03b8315aeede6bde";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sv-SE/thunderbird-45.6.0.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-i686";
+      sha512 = "ebcac4ddcb84291613eeb64289e1f9f374a6085eb587df3cffc906dd7d7950f7564be1aed17c794d37f415840459b82c0c6edebefab2d8ba6f3e34c20426757a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ta-LK/thunderbird-45.6.0.tar.bz2";
+      locale = "ta-LK";
+      arch = "linux-i686";
+      sha512 = "b164c7e70aa313517ecd85828a3734113f504f7e86ae615a24465a4334f41197af42b181f1f0048782d841422c3847eff1b8868450d190e362a36ffb5d1f2b6d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/tr/thunderbird-45.6.0.tar.bz2";
+      locale = "tr";
+      arch = "linux-i686";
+      sha512 = "6c3d65c4c277382961238e491f90e0f33a265614614428f2abeeb3779cc3b23b068d8ddf7f4a7c98a4c7497b22df79b3ba16ef0191b9cfb752aa24316d4fb8e3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/uk/thunderbird-45.6.0.tar.bz2";
+      locale = "uk";
+      arch = "linux-i686";
+      sha512 = "6754bead8887f244c6d87a6c76f45247933fae42fc74240c453bbef8acfa7a85ba282db4185c1fb6ec9e93115e3d9e4ac0ee113c00db9634f26a4eec6f79ea6b";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/vi/thunderbird-45.6.0.tar.bz2";
+      locale = "vi";
+      arch = "linux-i686";
+      sha512 = "34110501557ea23c1c854fbba9e6c043e25634f5993f34197b8d5842ee88d4717c87a0a8fe326a35dd12e74fcfbf9ddb0b6e7db0b09a058d710680e37cd5b939";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/zh-CN/thunderbird-45.6.0.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-i686";
+      sha512 = "493073bee16e9e22db0d3c2700f13f1304129c28528a80fb9a548afbabaaa147b7ac46a254cc3b05619d47e94e61c29ff7cc80618c8af09b3659e6c91883c017";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/zh-TW/thunderbird-45.6.0.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-i686";
+      sha512 = "7ac66a0ee967e7f87d084acda72120c65bb64c2572f42249b97baf9755b0b7dc314a1d88049941a7be86846f98f236cdfe54b87b22ff7f66b6099397788373b2";
+    }
+    ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index fb78c3cca24a..5f1483672b24 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -4,6 +4,7 @@
 , yasm, mesa, sqlite, unzip, makeWrapper
 , hunspell, libevent, libstartup_notification, libvpx
 , cairo, gstreamer, gst_plugins_base, icu
+, writeScript, xidel, coreutils, gnused, gnugrep, curl, ed
 , debugBuild ? false
 , # If you want the resulting program to call itself "Thunderbird"
   # instead of "Earlybird", enable this option.  However, those
@@ -13,7 +14,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "45.5.1"; in
+let version = "45.6.0"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -21,9 +22,16 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.xz";
-    sha512 = "f6dc5f526e50facb9947627fcbc8db222cc20438fa62c552090dcabeabcc31dba2c66c20345090deaf5b58fd42b54938935eb1b3904528dce5949fd4cfc1ceb7";
+    sha512 = "1f4579ac37b8ab98c91fe2e3e6742ba1b005ca9346d23f467d19e6af45eb457cab749bf91ed2a79f2058bd66f54da661da3ea5d5786f8c4b472d8a2a6c34db4b";
   };
 
+  # New sed no longer tolerates this mistake.
+  postPatch = ''
+    for f in mozilla/{js/src,}/configure; do
+      substituteInPlace "$f" --replace '[:space:]*' '[[:space:]]*'
+    done
+  '';
+
   buildInputs = # from firefox30Pkgs.xulrunner, without gstreamer and libvpx
     [ pkgconfig which libpng gtk2 perl zip libIDL libjpeg zlib bzip2
       python2 dbus dbus_glib pango freetype fontconfig xorg.libXi
@@ -128,4 +136,12 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.pierron maintainers.eelco ];
     platforms = platforms.linux;
   };
+
+  passthru.updateScript = import ./../../browsers/firefox/update.nix {
+    name = "thunderbird";
+    sourceSectionRegex = ".";
+    basePath = "pkgs/applications/networking/mailreaders/thunderbird";
+    baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
+    inherit writeScript xidel coreutils gnused gnugrep curl ed;
+  };
 }
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index b85970df4b4a..12692b9566f9 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -1,6 +1,9 @@
 { stdenv, fetchurl, pkgconfig, intltool, file, makeWrapper
 , openssl, curl, libevent, inotify-tools, systemd, zlib
 , enableGTK3 ? false, gtk3
+, enableSystemd ? stdenv.isLinux
+, enableDaemon ? true
+, enableCli ? true
 }:
 
 let
@@ -17,18 +20,24 @@ stdenv.mkDerivation rec {
     sha256 = "0pykmhi7pdmzq47glbj8i2im6iarp4wnj4l1pyvsrnba61f0939s";
   };
 
-  buildInputs = [ pkgconfig intltool file openssl curl libevent inotify-tools zlib ]
+  buildInputs = [ pkgconfig intltool file openssl curl libevent zlib ]
     ++ optionals enableGTK3 [ gtk3 makeWrapper ]
-    ++ optional stdenv.isLinux systemd;
+    ++ optionals enableSystemd [ systemd ]
+    ++ optionals stdenv.isLinux [ inotify-tools ];
 
   postPatch = ''
     substituteInPlace ./configure \
       --replace "libsystemd-daemon" "libsystemd" \
-      --replace "/usr/bin/file"     "${file}/bin/file"
+      --replace "/usr/bin/file"     "${file}/bin/file" \
+      --replace "test ! -d /Developer/SDKs/MacOSX10.5.sdk" "false"
   '';
 
-  configureFlags = [ "--with-systemd-daemon" ]
-    ++ [ "--enable-cli" ]
+  configureFlags = [
+      ("--enable-cli=" + (if enableCli then "yes" else "no"))
+      ("--enable-daemon=" + (if enableDaemon then "yes" else "no"))
+      "--disable-mac" # requires xcodebuild
+    ]
+    ++ optional enableSystemd "--with-systemd-daemon"
     ++ optional enableGTK3 "--with-gtk";
 
   preFixup = optionalString enableGTK3 /* gsettings schemas for file dialogues */ ''
@@ -37,6 +46,8 @@ stdenv.mkDerivation rec {
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
+  NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation";
+
   meta = with stdenv.lib; {
     description = "A fast, easy and free BitTorrent client";
     longDescription = ''
@@ -53,7 +64,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.transmissionbt.com/;
     license = licenses.gpl2; # parts are under MIT
     maintainers = with maintainers; [ astsmtl vcunat wizeman ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
 
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index 2b157604f480..ec31beb00801 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -4,11 +4,14 @@
 , pcre, webkitgtk, libdbusmenu-gtk3, libappindicator-gtk3
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
 , libsecret, spice_protocol, spice_gtk, epoxy, at_spi2_core
-, openssl }:
+, openssl, gsettings_desktop_schemas
+# The themes here are soft dependencies; only icons are missing without them.
+, hicolor_icon_theme, adwaita-icon-theme
+}:
 
 let
   version = "1.2.0-rcgit.15";
-  
+
   desktopItem = makeDesktopItem {
     name = "remmina";
     desktopName = "Remmina";
@@ -45,13 +48,13 @@ stdenv.mkDerivation {
     sha256 = "07lj6a7x9cqcff18pwfkx8c8iml015zp6sq29dfcxpfg4ai578h0";
   };
 
-  buildInputs = [ cmake pkgconfig wrapGAppsHook
+  buildInputs = [ cmake pkgconfig wrapGAppsHook gsettings_desktop_schemas
                   glib gtk3 gettext libxkbfile libgnome_keyring libX11
                   freerdp_git libssh libgcrypt gnutls
                   pcre webkitgtk libdbusmenu-gtk3 libappindicator-gtk3
                   libvncserver libpthreadstubs libXdmcp libxkbcommon
                   libsecret spice_protocol spice_gtk epoxy at_spi2_core
-                  openssl ];
+                  openssl hicolor_icon_theme adwaita-icon-theme ];
 
   cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF -DWINPR_INCLUDE_DIR=${freerdp_git}/include/winpr2";
 
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index be685118e1f0..288fa4383610 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -16,13 +16,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "teamviewer-${version}";
-  version = "11.0.57095";
+  version = "12.0.71510";
 
   src = fetchurl {
     # There is a 64-bit package, but it has no differences apart from Debian dependencies.
     # Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason.
     url = "http://download.teamviewer.com/download/teamviewer_${version}_i386.deb";
-    sha256 = "0gdqy6b3np8ndlrq5cwgsys6ad529904133za51r20cj528n7rx3";
+    sha256 = "0f2qc2rpxk7zsyfxlsfr5gwbs9vhnzc3z7ib677pnr99bz06hbqp";
   };
 
   unpackPhase = ''
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
     ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin
     ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin
-    ln -s $out/share/teamviewer/tv_bin/desktop/teamviewer-teamviewer*.desktop $out/share/applications
+    ln -s $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop $out/share/applications
     ln -s /var/lib/teamviewer $out/share/teamviewer/config
     ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
     ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
       sed -i "/TV_LD64_PATH=.*/d" script/tvw_config
     ''}
 
-    sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/teamviewer-*.desktop
+    sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/com.teamviewer.*.desktop
 
     for i in teamviewer-config teamviewerd TeamViewer_Desktop TVGuiDelegate TVGuiSlave.32 wine/bin/*; do
       echo "patching $i"
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index e2806b3d342f..637f2cdca9cb 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -12,7 +12,7 @@ assert withQt -> !withGtk && qt4 != null;
 with stdenv.lib;
 
 let
-  version = "2.2.2";
+  version = "2.2.3";
   variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
 in
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.bz2";
-    sha256 = "1csm035ayfzn1xzzsmzcjk2ixx39d70aykr4nh0a88chk9gfzb7r";
+    sha256 = "0fsrvl6sp772g2q2j24h10h9lfda6q67x7wahjjm8849i2gciflp";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index dc10b8d2ec80..adbadba411c9 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "rclone-${version}";
-  version = "1.33";
+  version = "1.35";
 
   goPackagePath = "github.com/ncw/rclone";
 
@@ -10,16 +10,14 @@ buildGoPackage rec {
     owner = "ncw";
     repo = "rclone";
     rev = "v${version}";
-    sha256 = "00y48ww40x73xpdvkzfhllwvbh9a2ffmmkc6ri9343wvmb53laqk";
+    sha256 = "15dmppb7qgr3vg76dsv770l51lmsl8n8k3rvbnhhks5a2cz0kf2i";
   };
 
-  goDeps = ./deps.nix;
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Command line program to sync files and directories to and from major cloud storage";
     homepage = "http://rclone.org";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.mit;
+    maintainers = with maintainers; [ danielfullmer ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/sync/rclone/deps.nix b/pkgs/applications/networking/sync/rclone/deps.nix
deleted file mode 100644
index 4fd802f66c06..000000000000
--- a/pkgs/applications/networking/sync/rclone/deps.nix
+++ /dev/null
@@ -1,219 +0,0 @@
-# This file was generated by go2nix.
-[
-  {
-    goPackagePath = "bazil.org/fuse";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bazil/fuse";
-      rev = "371fbbdaa8987b715bdd21d6adc4c9b20155f748";
-      sha256 = "1x5p301py7mcxgwklfm6pqqkzssln0nfzllng49pnk60m03ilp4w";
-    };
-  }
-  {
-    goPackagePath = "cloud.google.com/go";
-    fetch = {
-      type = "git";
-      url = "https://code.googlesource.com/gocloud";
-      rev = "90296fd601ebfc594192e722a022663b0c3f8756";
-      sha256 = "0qg0d1afhqmpfaq2lh29c87d18s5148yshg0s295dhzdn1m9nhww";
-    };
-  }
-  {
-    goPackagePath = "github.com/Unknwon/goconfig";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Unknwon/goconfig";
-      rev = "5aa4f8cd5a472c2411c778b4680f59f2223f1966";
-      sha256 = "0r6na17sz762c1dyn6gb16v2zhvzg6krmz7pcjg1m0l5wxdf4n0d";
-    };
-  }
-  {
-    goPackagePath = "github.com/VividCortex/ewma";
-    fetch = {
-      type = "git";
-      url = "https://github.com/VividCortex/ewma";
-      rev = "c595cd886c223c6c28fc9ae2727a61b5e4693d85";
-      sha256 = "0f09886vm4rkhgqqh2b20r8rws4syvny3la107hh6qby027bpab2";
-    };
-  }
-  {
-    goPackagePath = "github.com/aws/aws-sdk-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/aws/aws-sdk-go";
-      rev = "13a12060f716145019378a10e2806c174356b857";
-      sha256 = "09yl85kk2y4ayk44af5rbnkq4vy82vbh2z5ac4vpl2vgv7zyh46h";
-    };
-  }
-  {
-    goPackagePath = "github.com/cpuguy83/go-md2man";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cpuguy83/go-md2man";
-      rev = "a65d4d2de4d5f7c74868dfa9b202a3c8be315aaa";
-      sha256 = "1rm3zjrmfpzy0l3qp02xmd5pqzl77pdql9pbxhl0k1qw2vfzrjv6";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/go-querystring";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-querystring";
-      rev = "9235644dd9e52eeae6fa48efd539fdc351a0af53";
-      sha256 = "0q398679fwp7vlnpd2rlzz452a7a4qvpcspak81psfl3xwimpzgq";
-    };
-  }
-  {
-    goPackagePath = "github.com/mreiferson/go-httpclient";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mreiferson/go-httpclient";
-      rev = "31f0106b4474f14bc441575c19d3a5fa21aa1f6c";
-      sha256 = "1iz95p7fl43smyh1lzjnwk6gq9y7q15m2qdkf0f4kxf3x5731v9i";
-    };
-  }
-  {
-    goPackagePath = "github.com/ncw/go-acd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ncw/go-acd";
-      rev = "56da839497f9854a91f99fe752c33c7977a6f48b";
-      sha256 = "1va6hpl73ps443r0s2icplcx113gkhmi2gbsgpaw2iii5lji5085";
-    };
-  }
-  {
-    goPackagePath = "github.com/ncw/swift";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ncw/swift";
-      rev = "b964f2ca856aac39885e258ad25aec08d5f64ee6";
-      sha256 = "0c86ap1zb56r6g96cnbn5j3i3r96c5l8rl98h3sxlqi5agwp3km4";
-    };
-  }
-  {
-    goPackagePath = "github.com/ogier/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ogier/pflag";
-      rev = "45c278ab3607870051a2ea9040bb85fcb8557481";
-      sha256 = "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "645ef00459ed84a119197bfb8d8205042c6df63d";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
-    };
-  }
-  {
-    goPackagePath = "github.com/rfjakob/eme";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rfjakob/eme";
-      rev = "601d0e278ceda9aa2085a61c9265f6e690ef5255";
-      sha256 = "1ryh5f2a42psrqcpjh73shk3p0mva2vcyyfav4nhxmfqall77k5z";
-    };
-  }
-  {
-    goPackagePath = "github.com/skratchdot/open-golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/skratchdot/open-golang";
-      rev = "75fb7ed4208cf72d323d7d02fd1a5964a7a9073c";
-      sha256 = "1b67imqbsdvg19vif1q1dfmapxy3v2anagacbql95fwnnw0v8jga";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "9c28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744";
-      sha256 = "02bgp0yy9bi05k2in9axqi3db1c6mjffdsmki51pn9iryxz4zkh3";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "c7e63cf4530bcd3ba943729cee0efeff2ebea63f";
-      sha256 = "197mlkgb01zk86fxfl8r8maymcxsspqblg7hmngjxf7ivdid1i1l";
-    };
-  }
-  {
-    goPackagePath = "github.com/stacktic/dropbox";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stacktic/dropbox";
-      rev = "58f839b21094d5e0af7caf613599830589233d20";
-      sha256 = "1psmxpnn40ri9bgjvivljnd4p977f635mh3w7m5mglxxgc9392pi";
-    };
-  }
-  {
-    goPackagePath = "github.com/tsenart/tb";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tsenart/tb";
-      rev = "19f4c3d79d2bd67d0911b2e310b999eeea4454c1";
-      sha256 = "148vy4xij5qm8dq5plyczx2wbpi4gpg8ksr5r3b4m8j0z1kjws8y";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "5dc8cb4b8a8eb076cbb5a06bc3b8682c15bdbbd3";
-      sha256 = "18c1vpqlj10z1id66hglgnv51d9gwphgsdvxgghc6mcm01f1g5xj";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "6acef71eb69611914f7a30939ea9f6e194c78172";
-      sha256 = "1fcsv50sbq0lpzrhx3m9jw51wa255fsbqjwsx9iszq4d0gysnnvc";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/oauth2";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/oauth2";
-      rev = "3c3a985cb79f52a3190fbc056984415ca6763d01";
-      sha256 = "0c7x8wkya56z03j2qfm61932npsddgqyggi75hkla9755d1inqlv";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "a71fd10341b064c10f4a81ceac72bcf70f26ea34";
-      sha256 = "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/api";
-    fetch = {
-      type = "git";
-      url = "https://code.googlesource.com/google-api-go-client";
-      rev = "eb84d1a029af1654777e7ba65c979085305c3e38";
-      sha256 = "0ldmzcx5lxa81lcr39djcvyhd0ls11jlswj5877rinq3505ayf5l";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify/";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "1f4a1643a57e798696635ea4c126e9127adb7d3c";
-      sha256 = "0nam9d68rn8ha8ldif22kkgv6k6ph3y88fp26159wdrs63ca3bzl";
-    };
-  }
-]
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index ee4bb586d552..8e568798df81 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, go, pkgs }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.13";
+  version = "0.14.18";
   name = "syncthing-${version}";
 
   src = fetchFromGitHub {
     owner  = "syncthing";
     repo   = "syncthing";
     rev    = "v${version}";
-    sha256 = "0gq218f1rhzjrqh2gjyvqksa7a1agwhm8rfqf5jw58pncblrn6v4";
+    sha256 = "099r1n9awznv17ac1fm4ff6az40bvk6xxwaw8x8fx7ikqi1wv8vp";
   };
 
   buildInputs = [ go ];
@@ -45,8 +45,8 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://www.syncthing.net/;
     description = "Open Source Continuous File Synchronization";
-    license = stdenv.lib.licenses.mpl20;
-    maintainers = with stdenv.lib.maintainers; [ pshendry joko peterhoeg ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ pshendry joko peterhoeg ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/office/beancount/bean-add.nix b/pkgs/applications/office/beancount/bean-add.nix
index 3afb7ce4b10a..4e73a305ea46 100644
--- a/pkgs/applications/office/beancount/bean-add.nix
+++ b/pkgs/applications/office/beancount/bean-add.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, python3Packages }:
 
 stdenv.mkDerivation rec {
-  name = "bean-add-2016-10-03";
+  name = "bean-add-2016-12-02";
 
   src = fetchFromGitHub {
     owner = "simon-v";
     repo = "bean-add";
-    rev = "41deacc09b992db5eede34fefbfb2c0faeba1652";
-    sha256 = "09xdsskk5rc3xsf1v1vq7nkdxrxy8w2fixx2vdv8c97ak6a4hrca";
+    rev = "8038dabf5838c880c8e750c0e65cf0da4faf40b9";
+    sha256 = "016ybq570xicj90x4kxrbxhzdvkjh0d6v3r6s3k3qfzz2c5vwh09";
   };
 
   propagatedBuildInputs = with python3Packages; [ python ];
diff --git a/pkgs/applications/office/beancount/default.nix b/pkgs/applications/office/beancount/default.nix
index 2034c832294f..72f6c5de8a19 100644
--- a/pkgs/applications/office/beancount/default.nix
+++ b/pkgs/applications/office/beancount/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchhg, pkgs, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "2.0b12";
+  version = "2.0b13";
   name = "beancount-${version}";
   namePrefix = "";
 
   src = pkgs.fetchurl {
     url = "mirror://pypi/b/beancount/${name}.tar.gz";
-    sha256 = "0n0wyi2yhmf8l46l5z68psk4rrzqkgqaqn93l0wnxsmp1nmqly9z";
+    sha256 = "16gkcq28bwd015b1qhdr5d7vhxid8xfn6ia4n9n8dnl5n448yqkm";
   };
 
   buildInputs = with pythonPackages; [ nose ];
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index 5ed7d25667ea..a246c7290a56 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -1,19 +1,17 @@
 { stdenv, pkgs, fetchurl, python3Packages, fetchFromGitHub, fetchzip, python3, beancount }:
 
 python3Packages.buildPythonApplication rec {
-  version = "1.0";
+  version = "1.2";
   name = "fava-${version}";
 
-  src = fetchFromGitHub {
-    owner = "aumayr";
-    repo = "fava";
-    rev = "v${version}";
-    sha256 = "0dm4x6z80m04r9qa55psvz7f41qnh13hnj2qhvxkrk22yqmkqrka";
+  src = fetchurl {
+    url = "https://github.com/beancount/fava/archive/v${version}.tar.gz";
+    sha256 = "0sykx054w4cvr0pgbqph0lmkxffafl83k5ir252gl5znxgcvg6yw";
   };
 
   assets = fetchzip {
-    url = "https://github.com/aumayr/fava/releases/download/v${version}/beancount-fava-${version}.tar.gz";
-    sha256 = "1vvidwfn5882dslz6qqkkd84m7w52kd34x10qph8yhipyjv1dimc";
+    url = "https://github.com/beancount/fava/releases/download/v${version}/beancount-fava-${version}.tar.gz";
+    sha256 = "1lk6s3s6xvvwbcbkr1qpr9bqdgwspk3vms25zjd6xcs21s3hchmp";
   };
 
   buildInputs = with python3Packages; [ pytest_30 ];
diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix
index 1a4461e2f8cf..3232abfb268e 100644
--- a/pkgs/applications/office/impressive/default.nix
+++ b/pkgs/applications/office/impressive/default.nix
@@ -1,9 +1,9 @@
 { fetchurl, stdenv, python2Packages, makeWrapper, lib
-, xpdf, mesa, freeglut }:
+, xpdf, mesa, SDL, freeglut }:
 
 let
   inherit (python2Packages) python pyopengl pygame setuptools pillow;
-  version = "0.10.5";
+  version = "0.11.1";
 in stdenv.mkDerivation {
     # This project was formerly known as KeyJNote.
     # See http://keyj.s2000.ws/?p=77 for details.
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
 
     src = fetchurl {
       url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
-      sha256 = "0fz1zahxlfjang53wn06svy4s4aw28c79v24gwadvjvv3h1g5wam";
+      sha256 = "0b3rmy6acp2vmf5nill3aknxvr9a5aawk1vnphkah61anxp62gsr";
     };
 
     # Note: We need to have `setuptools' in the path to be able to use
@@ -39,13 +39,13 @@ in stdenv.mkDerivation {
       # honors $LIBRARY_PATH.  See
       # http://python.net/crew/theller/ctypes/reference.html#id1 .
       wrapProgram "$out/bin/impressive" \
-         --prefix PATH ":" "${xpdf}" \
+         --prefix PATH ":" "${xpdf}/bin" \
          --prefix PYTHONPATH ":" \
                   ${lib.concatStringsSep ":"
                      (map (path:
                             path + "/lib/${python.libPrefix}/site-packages")
                           [ pillow pyopengl pygame setuptools ])} \
-         --prefix LIBRARY_PATH ":" "${lib.makeLibraryPath [ mesa freeglut ]}"
+         --prefix LIBRARY_PATH ":" "${lib.makeLibraryPath [ mesa freeglut SDL ]}"
     '';
 
     meta = {
diff --git a/pkgs/applications/office/libreoffice/default-primary-src.nix b/pkgs/applications/office/libreoffice/default-primary-src.nix
index 52b81595e434..497d4305873e 100644
--- a/pkgs/applications/office/libreoffice/default-primary-src.nix
+++ b/pkgs/applications/office/libreoffice/default-primary-src.nix
@@ -3,8 +3,8 @@
 rec {
   major = "5";
   minor = "2";
-  patch = "3";
-  tweak = "3";
+  patch = "4";
+  tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -12,6 +12,6 @@ rec {
 
   src = fetchurl {
     url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1h9j3j7drhr49nw2p6by5vvrr8nc8rpldn3yp724mwkb2rfkdwd8";
+    sha256 = "047byvyg13baws1bycaq1s6wqhkcr2pk27xbag0npzx1lspx2wwb";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index cbe159857eb6..29cc1dc118fe 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -42,14 +42,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "0j0ajli1cbfwbgzrcqkx3db174jv1fgm22ds0gqlgkci9cffa0c4";
+      sha256 = "075f7jpp8qi6piwrw4n8inynvsgp0270pdd9jmc2fqv6j5gsn332";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "0fndi6cv8rw426c3l071z130ks9sqf6ca5yas7am9d666mmy4fs4";
+      sha256 = "10p1xd077278gm3syd3lc54fzjsvrvzm0zr6csn9iq90kmlsgwzy";
     };
 
   };
@@ -251,6 +251,8 @@ in stdenv.mkDerivation rec {
     inherit srcs;
   };
 
+  requiredSystemFeatures = [ "big-parallel" ];
+
   meta = with lib; {
     description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
     homepage = http://libreoffice.org/;
@@ -258,6 +260,5 @@ in stdenv.mkDerivation rec {
     maintainers = with maintainers; [ viric raskin ];
     platforms = platforms.linux;
     hydraPlatforms = [];
-    requiredSystemFeatures = [ "big-parallel" ];
   };
 }
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index bf9150b98ec4..6cacff49fc65 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -112,11 +112,11 @@
     md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
   }
   {
-    name = "curl-7.43.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/curl-7.43.0.tar.bz2";
-    sha256 = "baa654a1122530483ccc1c58cc112fec3724a82c11c6a389f1e6a37dc8858df9";
-    md5 = "11bddbb452a8b766b932f859aaeeed39";
-    md5name = "11bddbb452a8b766b932f859aaeeed39-curl-7.43.0.tar.bz2";
+    name = "curl-7.51.0.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/curl-7.51.0.tar.gz";
+    sha256 = "65b5216a6fbfa72f547eb7706ca5902d7400db9868269017a8888aa91d87977c";
+    md5 = "490e19a8ccd1f4a244b50338a0eb9456";
+    md5name = "490e19a8ccd1f4a244b50338a0eb9456-curl-7.51.0.tar.gz";
   }
   {
     name = "libe-book-0.1.2.tar.bz2";
@@ -224,11 +224,11 @@
     md5name = "c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz";
   }
   {
-    name = "source-code-font-1.009.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/0279a21fab6f245e85a6f85fea54f511-source-code-font-1.009.tar.gz";
-    sha256 = "9b295127164c81bcf28c7ebb687f1555b71796108b443a04d40202b7364e4cce";
-    md5 = "0279a21fab6f245e85a6f85fea54f511";
-    md5name = "0279a21fab6f245e85a6f85fea54f511-source-code-font-1.009.tar.gz";
+    name = "source-code-pro-2.030R-ro-1.050R-it.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
+    sha256 = "09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f";
+    md5 = "907d6e99f241876695c19ff3db0b8923";
+    md5name = "907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
   }
   {
     name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
@@ -497,11 +497,11 @@
     md5name = "a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz";
   }
   {
-    name = "mdds-1.2.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/mdds-1.2.0.tar.bz2";
-    sha256 = "f44fd0635de94c7d490f9a65f74b5e55860d7bdd507951428294f9690fda45b6";
-    md5 = "9f3383fb7bae825eab69f3a6ec1d74b2";
-    md5name = "9f3383fb7bae825eab69f3a6ec1d74b2-mdds-1.2.0.tar.bz2";
+    name = "mdds-1.2.2.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/mdds-1.2.2.tar.bz2";
+    sha256 = "141e730b39110434b02cd844c5ad3442103f7c35f7e9a4d6a9f8af813594cc9d";
+    md5 = "8855cf852a6088cfdc792c6f7ceb0243";
+    md5name = "8855cf852a6088cfdc792c6f7ceb0243-mdds-1.2.2.tar.bz2";
   }
   {
     name = "mDNSResponder-576.30.4.tar.gz";
@@ -546,11 +546,11 @@
     md5name = "231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz";
   }
   {
-    name = "nss-3.22.2-with-nspr-4.12.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/6b254cf2f8cb4b27a3f0b8b7b9966ea7-nss-3.22.2-with-nspr-4.12.tar.gz";
-    sha256 = "7bc7e5483fc90071be5facd3043f94c69b153055a369c8f0b751ad374c5ae09e";
-    md5 = "6b254cf2f8cb4b27a3f0b8b7b9966ea7";
-    md5name = "6b254cf2f8cb4b27a3f0b8b7b9966ea7-nss-3.22.2-with-nspr-4.12.tar.gz";
+    name = "nss-3.27-with-nspr-4.13.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
+    sha256 = "c74ad468ed5da0304b58ec56fa627fa388b256451b1a44fd184145c6d8203820";
+    md5 = "0e3eee39402386cf16fd7aaa7399ebef";
+    md5name = "0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
   }
   {
     name = "libodfgen-0.1.6.tar.bz2";
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index b3d69ef7f195..75d295887f63 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -254,12 +254,13 @@ in stdenv.mkDerivation rec {
     inherit srcs;
   };
 
+  requiredSystemFeatures = [ "big-parallel" ];
+
   meta = with lib; {
     description = "Comprehensive, professional-quality productivity suite (Still/stable release)";
     homepage = http://libreoffice.org/;
     license = licenses.lgpl3;
     maintainers = with maintainers; [ viric raskin ];
     platforms = platforms.linux;
-    requiredSystemFeatures = [ "big-parallel" ];
   };
 }
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 9409ab3e6698..0ae0732da27f 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, dpkg, makeWrapper, which
-,gcc, liborc, xorg, qt4, zlib
+, gcc, orc, xorg, qt4, zlib
 , ...}:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -23,7 +23,7 @@ let
 
   deps = [
     gcc.cc
-    liborc
+    orc
     qt4
     xorg.libX11
     zlib
diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix
index 9e02377eaa53..2981a0f7f890 100644
--- a/pkgs/applications/office/mmex/default.nix
+++ b/pkgs/applications/office/mmex/default.nix
@@ -2,7 +2,7 @@
 
 
 let
-  version = "1.2.7";
+  version = "1.3.1";
 in
   stdenv.mkDerivation {
     name = "money-manager-ex-${version}";
@@ -10,14 +10,9 @@ in
     src = fetchgit {
       url = "https://github.com/moneymanagerex/moneymanagerex.git";
       rev = "refs/tags/v${version}";
-      sha256 = "0d6jcsj3m3b9mj68vfwr7dn67dws11p0pdys3spyyiv1464vmywi";
+      sha256 = "1cmwmvlzg7r85qq23lbbmq2y91vhf9f5pblpja5ph98bsd218pc0";
     };
 
-    preConfigure = ''
-      export CFLAGS="-I`pwd`/include"
-      export CXXFLAGS="$CFLAGS"
-    '';
-
     buildInputs = [ sqlite wxGTK30 gettext ];
 
     meta = {
diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix
new file mode 100644
index 000000000000..2c55be55b08b
--- /dev/null
+++ b/pkgs/applications/office/paperwork/default.nix
@@ -0,0 +1,78 @@
+{ lib, python3Packages, fetchFromGitHub, gtk3, cairo
+, aspellDicts, buildEnv
+, gnome3, hicolor_icon_theme
+, xvfb_run, dbus
+}:
+
+python3Packages.buildPythonApplication rec {
+  name = "paperwork-${version}";
+  # Don't forget to also update paperwork-backend when updating this!
+  version = "1.0.6.1";
+
+  src = fetchFromGitHub {
+    repo = "paperwork";
+    owner = "jflesch";
+    rev = version;
+    sha256 = "1v1lxyi4crdik4jlwjds9n6lzw4m4l4f9n5azlinv8wb477qpv6h";
+  };
+
+  # Patch out a few paths that assume that we're using the FHS:
+  postPatch = ''
+    themeDir="$(echo "${gnome3.defaultIconTheme}/share/icons/"*)"
+    sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py
+
+    sed -i -e 's,sys\.prefix,"",g' \
+      src/paperwork/frontend/aboutdialog/__init__.py \
+      src/paperwork/frontend/mainwindow/__init__.py \
+      setup.py
+
+    sed -i -e '/^UI_FILES_DIRS = \[/,/^\]$/ {
+      c UI_FILES_DIRS = ["'"$out/share/paperwork"'"]
+    }' src/paperwork/frontend/util/__init__.py
+
+    sed -i -e '/^LOCALE_PATHS = \[/,/^\]$/ {
+      c LOCALE_PATHS = ["'"$out/share/locale"'"]
+    }' src/paperwork/paperwork.py
+
+    sed -i -e 's/"icon"/"icon-name"/g' \
+      src/paperwork/frontend/mainwindow/mainwindow.glade
+
+    sed -i -e 's/"logo"/"logo-icon-name"/g' \
+      src/paperwork/frontend/aboutdialog/aboutdialog.glade
+  '';
+
+  ASPELL_CONF = "dict-dir ${buildEnv {
+    name = "aspell-all-dicts";
+    paths = lib.collect lib.isDerivation aspellDicts;
+  }}/lib/aspell";
+
+  checkInputs = [ xvfb_run dbus.daemon ];
+  buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme ];
+
+  # A few parts of chkdeps need to have a display and a dbus session, so we not
+  # only need to run a virtual X server + dbus but also have a large enough
+  # resolution, because the Cairo test tries to draw a 200x200 window.
+  preCheck = ''
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      paperwork-shell chkdeps paperwork
+  '';
+
+  propagatedBuildInputs = with python3Packages; [
+    paperwork-backend pypillowfight gtk3 cairo
+  ];
+
+  makeWrapperArgs = [
+    "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
+    "--prefix XDG_DATA_DIRS : \"$out/share\""
+    "--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\""
+  ];
+
+  meta = {
+    description = "A personal document manager for scanned documents";
+    homepage = "https://github.com/jflesch/paperwork";
+    license = lib.licenses.gpl3Plus;
+    maintainers = [ lib.maintainers.aszlig ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/office/ppl-address-book/Gemfile b/pkgs/applications/office/ppl-address-book/Gemfile
new file mode 100644
index 000000000000..0039c4366963
--- /dev/null
+++ b/pkgs/applications/office/ppl-address-book/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'ppl'
diff --git a/pkgs/applications/office/ppl-address-book/Gemfile.lock b/pkgs/applications/office/ppl-address-book/Gemfile.lock
new file mode 100644
index 000000000000..5054bb8b9c8b
--- /dev/null
+++ b/pkgs/applications/office/ppl-address-book/Gemfile.lock
@@ -0,0 +1,34 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    colored (1.2)
+    greencard (0.0.5)
+    i18n (0.7.0)
+    inifile (2.0.2)
+    mail (2.5.3)
+      i18n (>= 0.4.0)
+      mime-types (~> 1.16)
+      treetop (~> 1.4.8)
+    mime-types (1.25.1)
+    morphine (0.1.1)
+    polyglot (0.3.5)
+    ppl (2.4.0)
+      colored (= 1.2)
+      greencard (= 0.0.5)
+      inifile (= 2.0.2)
+      mail (= 2.5.3)
+      morphine (= 0.1.1)
+      rugged (= 0.17.0.b6)
+    rugged (0.17.0.b6)
+    treetop (1.4.15)
+      polyglot
+      polyglot (>= 0.3.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  ppl
+
+BUNDLED WITH
+   1.12.5
diff --git a/pkgs/applications/office/ppl-address-book/default.nix b/pkgs/applications/office/ppl-address-book/default.nix
new file mode 100644
index 000000000000..1c48fc50842d
--- /dev/null
+++ b/pkgs/applications/office/ppl-address-book/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, bundlerEnv, ruby, makeWrapper, which }:
+
+let
+  pname = "ppl-address-book";
+
+  version = (import ./gemset.nix).ppl.version;
+
+  env = bundlerEnv rec {
+    name = "${pname}-env-${version}";
+    inherit ruby;
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+
+    gemConfig.rugged = attrs: { buildInputs = [ which ]; };
+  };
+
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  phases = [ "installPhase" ];
+
+  buildInputs = [ env makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    makeWrapper ${env}/bin/ppl $out/bin/ppl
+  '';
+
+  meta = with lib; {
+    description = "Address book software for command-line users";
+    homepage    = http://ppladdressbook.org/;
+    license     = with licenses; mit;
+    maintainers = with maintainers; [ chris-martin ];
+    platforms   = platforms.unix;
+  };
+
+}
diff --git a/pkgs/applications/office/ppl-address-book/gemset.nix b/pkgs/applications/office/ppl-address-book/gemset.nix
new file mode 100644
index 000000000000..e8229f6153fd
--- /dev/null
+++ b/pkgs/applications/office/ppl-address-book/gemset.nix
@@ -0,0 +1,90 @@
+{
+  colored = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx";
+      type = "gem";
+    };
+    version = "1.2";
+  };
+  greencard = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11pxrl1w8c7m7rmnnmdaplrv53qgylyvkv8bzsfyjna7k16hynvq";
+      type = "gem";
+    };
+    version = "0.0.5";
+  };
+  i18n = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
+      type = "gem";
+    };
+    version = "0.7.0";
+  };
+  inifile = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03rpacxnrnisjhd2zhc7629ica958bkdbakicl5kipw1wbprck25";
+      type = "gem";
+    };
+    version = "2.0.2";
+  };
+  mail = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1afr3acz7vsvr4gp6wnrkw1iwbjhf14mh8g8mlm40r86wcwzr39k";
+      type = "gem";
+    };
+    version = "2.5.3";
+  };
+  mime-types = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
+      type = "gem";
+    };
+    version = "1.25.1";
+  };
+  morphine = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05aw93cijd1gq39ikw2dw3i2c79bjq05kvxrs81mqxqdlini5wwa";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  ppl = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vpp4s12ggbk5kpl9z1i7vi9vvghgxrc8my35yk8knckg5waxg47";
+      type = "gem";
+    };
+    version = "2.4.0";
+  };
+  rugged = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "025rj3rkj5yxf4pjj1s8x4yzshlyni3hgrjwhggg54nvw6b688qi";
+      type = "gem";
+    };
+    version = "0.17.0.b6";
+  };
+  treetop = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz";
+      type = "gem";
+    };
+    version = "1.4.15";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/office/skrooge/2.nix b/pkgs/applications/office/skrooge/2.nix
index 6751e7d6d116..98c1c4c8b79f 100644
--- a/pkgs/applications/office/skrooge/2.nix
+++ b/pkgs/applications/office/skrooge/2.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "skrooge-${version}";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
-    sha256 = "03ayrrr7rrj1jl1qh3sgn56hbi44wn4ldgcj08b93mqw7wdvpglp";
+    sha256 = "13sd669rx66fpk9pm72nr2y69k2h4mcs4b904i9xm41i0fiy6szp";
   };
 
   nativeBuildInputs = [ cmake ecm makeQtWrapper ];
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index cda8fc63a127..313239581a1a 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -30,13 +30,13 @@ pythonPackages.buildPythonApplication rec {
     export makeWrapperArgs="--prefix XDG_DATA_DIRS : $out/share --argv0 $out/bin/.zim-wrapped"
   '';
 
-  postFixup = ''
-    wrapPythonPrograms
-    substituteInPlace $out/bin/.zim-wrapped \
-    --replace "sys.argv[0] = 'zim'" "sys.argv[0] = '$out/bin/zim'"
+  # RuntimeError: could not create GtkClipboard object
+  doCheck = false;
+
+  checkPhase = ''
+    python test.py
   '';
 
-  doCheck = true;
 
   meta = {
       description = "A desktop wiki";
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 6f7d1b7b764f..49c774f7039a 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, perl, libiconv
 , qtscript, qtserialport, qttools, makeQtWrapper
+, qtmultimedia
 }:
 
 stdenv.mkDerivation rec {
-  name = "stellarium-0.14.3";
+  name = "stellarium-${version}";
+  version = "0.15.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/stellarium/${name}.tar.gz";
-    sha256 = "1919wzlvhfxdxficbwhp31xlhm0571grgcmsfdp5y36z9yqwahfy";
+    sha256 = "0il751lgnfkx35h1m8fzwwnrygpxjx2a80gng1i1rbybkykf7l3l";
   };
 
   nativeBuildInputs = [ makeQtWrapper ];
 
   buildInputs = [
     cmake freetype libpng mesa gettext openssl perl libiconv qtscript
-    qtserialport qttools
+    qtserialport qttools qtmultimedia
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/biology/freebayes/builder.sh b/pkgs/applications/science/biology/freebayes/builder.sh
new file mode 100644
index 000000000000..a9f56e77d7e3
--- /dev/null
+++ b/pkgs/applications/science/biology/freebayes/builder.sh
@@ -0,0 +1,11 @@
+source $stdenv/setup
+
+unpackPhase
+
+cd freebayes-*
+
+make
+
+mkdir -p $out/bin
+cp bin/freebayes bin/bamleftalign $out/bin
+cp scripts/* $out/bin
diff --git a/pkgs/applications/science/biology/freebayes/default.nix b/pkgs/applications/science/biology/freebayes/default.nix
new file mode 100644
index 000000000000..ef0da619b25a
--- /dev/null
+++ b/pkgs/applications/science/biology/freebayes/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake, gcc, zlib}:
+
+stdenv.mkDerivation rec {
+  name    = "freebayes-${version}";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    name = "freebayes-${version}-src";
+    owner  = "ekg";
+    repo   = "freebayes";
+    rev    = "refs/tags/v${version}";
+    sha256 = "0xb8aicb36w9mfs1gq1x7mcp3p82kl7i61d162hfncqzg2npg8rr";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [ cmake gcc zlib ];
+
+  builder = ./builder.sh;
+
+  meta = with stdenv.lib; {
+    description = "Bayesian haplotype-based polymorphism discovery and genotyping";
+    license     = licenses.mit;
+    homepage    = https://github.com/ekg/freebayes;
+    maintainers = with maintainers; [ jdagilliland ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index 3d0f7154e0e0..3acf7d965279 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "igv-${version}";
-  version = "2.3.77";
+  version = "2.3.89";
 
   src = fetchurl {
     url = "http://data.broadinstitute.org/igv/projects/downloads/IGV_${version}.zip";
-    sha256 = "9d8c622649f9f02026e92fa44006bb57e897baad4359c8708ca9cdbb71f94bb5";
+    sha256 = "06bmj9jsnk5010ipv0w4qlcvgw67dy8hsvgcx9l74v3s0zp5di3y";
   };
 
   buildInputs = [ unzip jre ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/8.4.nix
index f162fe4a86ea..f162fe4a86ea 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/8.4.nix
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index d1f4bc0a4145..ece867de2a0a 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "lean-${version}";
-  version = "2016-12-08";
+  version = "2017-01-06";
 
   src = fetchFromGitHub {
     owner  = "leanprover";
     repo   = "lean";
-    rev    = "7b63d6566faaf1dc0f2c8e873c61f51dce9ab618";
-    sha256 = "0xxr7dnh7pmdbpxhl3cq9clwamxjk54zcxplsrz6xirk0qy7ga4l";
+    rev    = "6f8ccb5873b6f72d735e700e25044e99c6ebb7b6";
+    sha256 = "1nxbqdc6faxivbrifb7b9j5zl5kml9w5pa63afh93z2ng7mn0jyg";
   };
 
   buildInputs = [ gmp mpfr cmake gperftools ];
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index fa5c9ba175e0..9683579af475 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python2 }:
+{ stdenv, fetchFromGitHub, python2, fixDarwinDylibNames }:
 
 let
   python = python2;
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
     sha256 = "0ssp190ksak93hiz61z90x6hy9hcw1ywp8b2dzmbhn6fbd4bnxzp";
   };
 
-  buildInputs = [ python ];
+  buildInputs = [ python fixDarwinDylibNames ];
   enableParallelBuilding = true;
 
   configurePhase = ''
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index 55443f90c6f9..85a13f7ac377 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -4,7 +4,7 @@ tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
 
 let
   name    = "maxima";
-  version = "5.38.1";
+  version = "5.39.0";
 
   searchPath =
     stdenv.lib.makeBinPath
@@ -15,7 +15,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "1p6646rvq43hk09msyp0dk50cqpkh07mf4x0bc2fqisqmcv6b1hf";
+    sha256 = "1cvignn5y6qzrby6qb885yc8zdcdqdr1d50vcvc3gapw2f0gk3zm";
   };
 
   buildInputs = stdenv.lib.filter (x: x != null)
diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix
index 7d9f8542eed3..1c1cac203f8b 100644
--- a/pkgs/applications/science/misc/fityk/default.nix
+++ b/pkgs/applications/science/misc/fityk/default.nix
@@ -3,7 +3,7 @@
 
 let
   name    = "fityk";
-  version = "1.3.0";
+  version = "1.3.1";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "wojdyr";
     repo = "fityk";
     rev = "v${version}";
-    sha256 = "07xzhy47q5ddg1qn51qds4wp6r5g2cx8bla0hm0a9ipr2hg92lm9";
+    sha256 = "0kmrjjjwrh6xgw590awcd52b86kksmv6rfgih75zvpiavr1ygwsi";
   };
 
   buildInputs = [ autoreconfHook wxGTK30 boost lua zlib bzip2 xylib readline
diff --git a/pkgs/applications/science/misc/gplates/boostfix.patch b/pkgs/applications/science/misc/gplates/boostfix.patch
new file mode 100644
index 000000000000..e429600b7095
--- /dev/null
+++ b/pkgs/applications/science/misc/gplates/boostfix.patch
@@ -0,0 +1,612 @@
+--- a/src/app-logic/ApplicationState.h
++++ b/src/app-logic/ApplicationState.h
+@@ -33,6 +33,7 @@
+ #include <boost/shared_ptr.hpp>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "FeatureCollectionFileState.h"

+ #include "Layer.h"

+ #include "LayerTaskRegistry.h"

+@@ -48,6 +49,7 @@
+ #include "model/ModelInterface.h"

+ #include "model/types.h"

+ #include "model/WeakReferenceCallback.h"

++#endif

+ 

+ ////////////////////////////////////////////////////////////////////////////////////////////////

+ // NOTE: Please use forward declarations (and boost::scoped_ptr) instead of including headers

+--- a/src/app-logic/CoRegistrationLayerTask.h
++++ b/src/app-logic/CoRegistrationLayerTask.h
+@@ -32,11 +32,13 @@
+ #include <QObject>

+ #include <QString>

+ 

++#ifndef Q_MOC_RUN

+ #include "CoRegistrationLayerParams.h"

+ #include "CoRegistrationLayerProxy.h"

+ #include "LayerTask.h"

+ 

+ #include "model/FeatureCollectionHandle.h"

++#endif

+ 

+ namespace GPlatesAppLogic

+ {

+--- a/src/app-logic/RasterLayerTask.h
++++ b/src/app-logic/RasterLayerTask.h
+@@ -32,11 +32,13 @@
+ #include <QObject>

+ #include <QString>

+ 

++#ifndef Q_MOC_RUN

+ #include "LayerTask.h"

+ #include "RasterLayerParams.h"

+ #include "RasterLayerProxy.h"

+ 

+ #include "model/FeatureCollectionHandle.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/app-logic/ReconstructGraph.h
++++ b/src/app-logic/ReconstructGraph.h
+@@ -46,6 +46,7 @@
+ #include <boost/lambda/construct.hpp>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "FeatureCollectionFileState.h"

+ #include "Layer.h"

+ #include "Reconstruction.h"

+@@ -53,6 +54,7 @@
+ 

+ #include "model/FeatureCollectionHandle.h"

+ #include "model/WeakReferenceCallback.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/app-logic/ReconstructLayerTask.h
++++ b/src/app-logic/ReconstructLayerTask.h
+@@ -33,6 +33,7 @@
+ #include <QObject>

+ #include <QString>

+ 

++#ifndef Q_MOC_RUN

+ #include "LayerTask.h"

+ #include "ReconstructLayerProxy.h"

+ #include "ReconstructLayerParams.h"

+@@ -42,6 +43,7 @@
+ #include "maths/types.h"

+ 

+ #include "model/FeatureCollectionHandle.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/app-logic/ReconstructScalarCoverageLayerParams.h
++++ b/src/app-logic/ReconstructScalarCoverageLayerParams.h
+@@ -30,6 +30,7 @@
+ #include <boost/optional.hpp>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "LayerParams.h"

+ #include "ReconstructScalarCoverageLayerProxy.h"

+ #include "ReconstructScalarCoverageParams.h"

+@@ -38,6 +39,7 @@
+ #include "property-values/ValueObjectType.h"

+ 

+ #include "utils/SubjectObserverToken.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/app-logic/ReconstructScalarCoverageLayerTask.h
++++ b/src/app-logic/ReconstructScalarCoverageLayerTask.h
+@@ -30,12 +30,14 @@
+ #include <boost/shared_ptr.hpp>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "LayerTask.h"

+ #include "ReconstructScalarCoverageLayerParams.h"

+ #include "ReconstructScalarCoverageLayerProxy.h"

+ #include "ScalarCoverageFeatureProperties.h"

+ 

+ #include "model/FeatureCollectionHandle.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/app-logic/TopologyNetworkResolverLayerTask.h
++++ b/src/app-logic/TopologyNetworkResolverLayerTask.h
+@@ -33,6 +33,7 @@
+ #include <QObject>

+ #include <QString>

+ 

++#ifndef Q_MOC_RUN

+ #include "LayerParams.h"

+ #include "LayerTask.h"

+ #include "ReconstructLayerProxy.h"

+@@ -41,6 +42,7 @@
+ #include "TopologyNetworkResolverLayerProxy.h"

+ 

+ #include "model/FeatureCollectionHandle.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/app-logic/VelocityFieldCalculatorLayerTask.h
++++ b/src/app-logic/VelocityFieldCalculatorLayerTask.h
+@@ -32,9 +32,11 @@
+ #include <QObject>

+ #include <QString>

+ 

++#ifndef Q_MOC_RUN

+ #include "LayerTask.h"

+ #include "VelocityFieldCalculatorLayerParams.h"

+ #include "VelocityFieldCalculatorLayerProxy.h"

++#endif

+ 

+ #include "model/FeatureCollectionHandle.h"

+ 

+--- a/src/data-mining/CoRegConfigurationTable.h
++++ b/src/data-mining/CoRegConfigurationTable.h
+@@ -28,6 +28,7 @@
+ 

+ #include <vector>

+ #include <map>

++#ifndef Q_MOC_RUN

+ #include <boost/operators.hpp>

+ 

+ #include "CoRegFilter.h"

+@@ -44,6 +45,7 @@
+ #include "scribe/Transcribe.h"

+ #include "scribe/TranscribeContext.h"

+ 

++#endif

+ 

+ namespace GPlatesDataMining

+ {

+--- a/src/gui/CommandServer.h
++++ b/src/gui/CommandServer.h
+@@ -38,9 +38,11 @@
+ #include <QRegExp>

+ #include <QtXml/QXmlStreamReader>

+ 

++#ifndef Q_MOC_RUN

+ #include "app-logic/ApplicationState.h"

+ 

+ #include "presentation/ViewState.h"

++#endif

+ 

+ namespace GPlatesGui

+ {

+--- a/src/gui/FeatureTableModel.h
++++ b/src/gui/FeatureTableModel.h
+@@ -32,8 +32,10 @@
+ #include <QItemSelection>

+ #include <QHeaderView>

+ 

++#ifndef Q_MOC_RUN

+ #include "app-logic/Layer.h"

+ #include "app-logic/ReconstructionGeometry.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/gui/TopologyTools.h
++++ b/src/gui/TopologyTools.h
+@@ -35,6 +35,7 @@
+ #include <QDebug>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "TopologySectionsContainer.h"

+ 

+ #include "app-logic/Layer.h"

+@@ -64,6 +65,7 @@
+ #include "utils/UnicodeStringUtils.h"

+ 

+ #include "view-operations/RenderedGeometryCollection.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/opengl/GLVisualLayers.h
++++ b/src/opengl/GLVisualLayers.h
+@@ -35,6 +35,7 @@
+ #include <boost/shared_ptr.hpp>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "GLAgeGridMaskSource.h"

+ #include "GLContext.h"

+ #include "GLLight.h"

+@@ -79,6 +80,7 @@
+ 

+ #include "view-operations/RenderedGeometry.h"

+ #include "view-operations/ScalarField3DRenderParameters.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/presentation/VisualLayer.h
++++ b/src/presentation/VisualLayer.h
+@@ -32,6 +32,7 @@
+ #include <QString>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "VisualLayerParams.h"

+ #include "VisualLayerType.h"

+ 

+@@ -42,6 +43,7 @@
+ #include "model/FeatureCollectionHandle.h"

+ 

+ #include "view-operations/RenderedGeometryCollection.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/presentation/VisualLayers.h
++++ b/src/presentation/VisualLayers.h
+@@ -34,6 +34,7 @@
+ #include <boost/weak_ptr.hpp>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "VisualLayer.h"

+ 

+ #include "app-logic/FeatureCollectionFileState.h"

+@@ -42,6 +43,7 @@
+ #include "gui/Symbol.h"

+ 

+ #include "view-operations/RenderedGeometryCollection.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/qt-widgets/AssignReconstructionPlateIdsDialog.h
++++ b/src/qt-widgets/AssignReconstructionPlateIdsDialog.h
+@@ -39,6 +39,7 @@
+ #include "GPlatesDialog.h"

+ #include "InformationDialog.h"

+ 

++#ifndef Q_MOC_RUN

+ #include "app-logic/AssignPlateIds.h"

+ 

+ #include "file-io/File.h"

+@@ -47,6 +48,7 @@
+ #include "model/ModelInterface.h"

+ 

+ #include "presentation/VisualLayer.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/qt-widgets/CoRegistrationLayerConfigurationDialog.h
++++ b/src/qt-widgets/CoRegistrationLayerConfigurationDialog.h
+@@ -38,6 +38,7 @@
+ 

+ #include "OpenDirectoryDialog.h"

+ 

++#ifndef Q_MOC_RUN

+ #include "app-logic/ApplicationState.h"

+ #include "app-logic/Layer.h"

+ #include "app-logic/LayerInputChannelName.h"

+@@ -45,6 +46,7 @@
+ 

+ #include "data-mining/CheckAttrTypeVisitor.h"

+ #include "data-mining/CoRegConfigurationTable.h"

++#endif

+ 

+ #include "global/PointerTraits.h"

+ 

+--- a/src/qt-widgets/CoRegistrationOptionsWidget.h
++++ b/src/qt-widgets/CoRegistrationOptionsWidget.h
+@@ -31,6 +31,7 @@
+ #include "CoRegistrationLayerConfigurationDialog.h"

+ #include "CoRegistrationOptionsWidgetUi.h"

+ #include "LayerOptionsWidget.h"

++#ifndef Q_MOC_RUN

+ #include "CoRegistrationResultTableDialog.h"

+ 

+ #include "app-logic/CoRegistrationLayerTask.h"

+@@ -41,7 +42,7 @@
+ #include "file-io/File.h"

+ 

+ #include "presentation/VisualLayer.h"

+-

++#endif

+ 

+ namespace GPlatesAppLogic

+ {

+--- a/src/qt-widgets/CoRegistrationResultTableDialog.h
++++ b/src/qt-widgets/CoRegistrationResultTableDialog.h
+@@ -36,6 +36,7 @@
+ #include <QEvent>

+ #include <qevent.h>

+ 

++#ifndef Q_MOC_RUN

+ #include "CoRegistrationResultTableDialogUi.h"

+ #include "SaveFileDialog.h"

+ 

+@@ -43,6 +44,7 @@
+ #include "data-mining/OpaqueDataToQString.h"

+ 

+ #include "presentation/VisualLayer.h"

++#endif

+ 

+ namespace GPlatesPresentation

+ {

+--- a/src/qt-widgets/DrawStyleDialog.h
++++ b/src/qt-widgets/DrawStyleDialog.h
+@@ -33,6 +33,7 @@
+ #include <QMutex>

+ #include <QMutexLocker>

+ 

++#ifndef Q_MOC_RUN

+ #include "DrawStyleDialogUi.h"

+ #include "GPlatesDialog.h"

+ #include "PythonArgumentWidget.h"

+@@ -41,6 +42,7 @@
+ #include "gui/PythonConfiguration.h"

+ 

+ #include "presentation/Application.h"

++#endif

+ 

+ namespace GPlatesAppLogic

+ {

+--- a/src/qt-widgets/EditTableActionWidget.h
++++ b/src/qt-widgets/EditTableActionWidget.h
+@@ -27,8 +27,11 @@
+ #define GPLATES_QTWIDGETS_EDITTABLEACTIONWIDGET_H

+ 

+ #include <QWidget>

++

++#ifndef Q_MOC_RUN

+ #include "app-logic/ApplicationState.h"

+ #include "EditTableActionWidgetUi.h"

++#endif

+ 

+ namespace GPlatesQtWidgets

+ {

+--- a/src/qt-widgets/GlobeCanvas.h
++++ b/src/qt-widgets/GlobeCanvas.h
+@@ -41,6 +41,7 @@
+ #include <QPainter>

+ #include <QtOpenGL/qgl.h>

+ 

++#ifndef Q_MOC_RUN

+ #include "gui/ColourScheme.h"

+ #include "gui/Globe.h"

+ #include "gui/ViewportZoom.h"

+@@ -58,6 +59,7 @@
+ #include "qt-widgets/SceneView.h"

+ 

+ #include "view-operations/RenderedGeometryFactory.h"

++#endif

+ 

+ 

+ namespace GPlatesGui

+--- a/src/qt-widgets/LogDialog.h
++++ b/src/qt-widgets/LogDialog.h
+@@ -34,7 +34,9 @@
+ #include "GPlatesDialog.h"

+ #include "LogDialogUi.h"

+ 

++#ifndef Q_MOC_RUN

+ #include "app-logic/ApplicationState.h"

++#endif

+ 

+ 

+ namespace GPlatesGui

+--- a/src/qt-widgets/MapCanvas.h
++++ b/src/qt-widgets/MapCanvas.h
+@@ -39,6 +39,7 @@
+ #include <QSize>

+ #include <QTransform>

+ 

++#ifndef Q_MOC_RUN

+ #include "gui/ColourScheme.h"

+ #include "gui/Map.h"

+ #include "gui/TextOverlay.h"

+@@ -47,6 +48,7 @@
+ #include "opengl/GLMatrix.h"

+ #include "opengl/GLOffScreenContext.h"

+ #include "opengl/GLVisualLayers.h"

++#endif

+ 

+ 

+ namespace GPlatesGui

+--- a/src/qt-widgets/MapView.h
++++ b/src/qt-widgets/MapView.h
+@@ -36,6 +36,7 @@
+ #include <QGLWidget>

+ #include <QMouseEvent>

+ 

++#ifndef Q_MOC_RUN

+ #include "gui/ColourScheme.h"

+ 

+ #include "maths/LatLonPoint.h"

+@@ -44,6 +45,7 @@
+ #include "opengl/GLVisualLayers.h"

+ 

+ #include "qt-widgets/SceneView.h"

++#endif

+ 

+ 

+ namespace GPlatesGui

+--- a/src/qt-widgets/MergeReconstructionLayersDialog.h
++++ b/src/qt-widgets/MergeReconstructionLayersDialog.h
+@@ -33,7 +33,9 @@
+ 

+ #include "MergeReconstructionLayersDialogUi.h"

+ 

++#ifndef Q_MOC_RUN

+ #include "app-logic/Layer.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/qt-widgets/RasterLayerOptionsWidget.h
++++ b/src/qt-widgets/RasterLayerOptionsWidget.h
+@@ -31,6 +31,7 @@
+ #include <QString>

+ #include <QToolButton>

+ 

++#ifndef Q_MOC_RUN

+ #include "RasterLayerOptionsWidgetUi.h"

+ 

+ #include "LayerOptionsWidget.h"

+@@ -40,6 +41,7 @@
+ 

+ #include "gui/BuiltinColourPaletteType.h"

+ #include "gui/RasterColourPalette.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/qt-widgets/ReconstructScalarCoverageLayerOptionsWidget.h
++++ b/src/qt-widgets/ReconstructScalarCoverageLayerOptionsWidget.h
+@@ -28,6 +28,7 @@
+ 

+ #include <utility>

+ 

++#ifndef Q_MOC_RUN

+ #include "ReconstructScalarCoverageLayerOptionsWidgetUi.h"

+ 

+ #include "LayerOptionsWidget.h"

+@@ -37,6 +38,7 @@
+ 

+ #include "gui/BuiltinColourPaletteType.h"

+ #include "gui/RasterColourPalette.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/qt-widgets/ScalarField3DLayerOptionsWidget.h
++++ b/src/qt-widgets/ScalarField3DLayerOptionsWidget.h
+@@ -30,6 +30,7 @@
+ #include <vector>

+ #include <QSlider>

+ 

++#ifndef Q_MOC_RUN

+ #include "ScalarField3DLayerOptionsWidgetUi.h"

+ 

+ #include "LayerOptionsWidget.h"

+@@ -41,6 +42,7 @@
+ #include "gui/RasterColourPalette.h"

+ 

+ #include "view-operations/ScalarField3DRenderParameters.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/qt-widgets/TotalReconstructionPolesDialog.h
++++ b/src/qt-widgets/TotalReconstructionPolesDialog.h
+@@ -32,12 +32,14 @@
+ #include <boost/weak_ptr.hpp>

+ #include <QDialog>

+ 

++#ifndef Q_MOC_RUN

+ #include "TotalReconstructionPolesDialogUi.h"

+ 

+ #include "GPlatesDialog.h"

+ #include "SaveFileDialog.h"

+ 

+ #include "presentation/VisualLayer.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/qt-widgets/VisualLayersComboBox.h
++++ b/src/qt-widgets/VisualLayersComboBox.h
+@@ -32,8 +32,10 @@
+ #include <QComboBox>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "presentation/VisualLayer.h"

+ #include "presentation/VisualLayerType.h"

++#endif

+ 

+ 

+ namespace GPlatesPresentation

+--- a/src/qt-widgets/VisualLayerWidget.h
++++ b/src/qt-widgets/VisualLayerWidget.h
+@@ -36,11 +36,13 @@
+ #include <QMenu>

+ #include <QStackedWidget>

+ 

++#ifndef Q_MOC_RUN

+ #include "VisualLayerWidgetUi.h"

+ 

+ #include "app-logic/Layer.h"

+ 

+ #include "gui/Colour.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/view-operations/InternalGeometryBuilder.h
++++ b/src/view-operations/InternalGeometryBuilder.h
+@@ -30,9 +30,11 @@
+ #include <vector>

+ #include <boost/optional.hpp>

+ 

++#ifndef Q_MOC_RUN

+ #include "maths/GeometryOnSphere.h"

+ #include "maths/GeometryType.h"

+ #include "maths/PointOnSphere.h"

++#endif

+ 

+ namespace GPlatesViewOperations

+ {

+--- a/src/view-operations/RenderedGeometryCollection.h
++++ b/src/view-operations/RenderedGeometryCollection.h
+@@ -39,7 +39,9 @@
+ #include <boost/foreach.hpp>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "RenderedGeometryLayer.h"

++#endif

+ 

+ namespace GPlatesViewOperations

+ {

+--- a/src/view-operations/RenderedGeometryFactory.h
++++ b/src/view-operations/RenderedGeometryFactory.h
+@@ -33,6 +33,7 @@
+ #include <QString>

+ #include <QFont>

+ 

++#ifndef Q_MOC_RUN

+ #include "RenderedGeometry.h"

+ #include "RenderedColouredEdgeSurfaceMesh.h"

+ #include "RenderedColouredTriangleSurfaceMesh.h"

+@@ -62,6 +63,7 @@
+ #include "property-values/TextContent.h"

+ 

+ #include "view-operations/ScalarField3DRenderParameters.h"

++#endif

+ 

+ 

+ namespace GPlatesAppLogic

+--- a/src/view-operations/RenderedGeometryLayer.h
++++ b/src/view-operations/RenderedGeometryLayer.h
+@@ -35,10 +35,12 @@
+ #include <boost/optional.hpp>

+ #include <QObject>

+ 

++#ifndef Q_MOC_RUN

+ #include "RenderedGeometry.h"

+ 

+ #include "maths/CubeQuadTreeLocation.h"

+ 

++#endif

+ 

+ namespace GPlatesMaths

+ {

diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix
new file mode 100644
index 000000000000..9dd7b6b72db1
--- /dev/null
+++ b/pkgs/applications/science/misc/gplates/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, qt4, qwt6_qt4, mesa, glew, gdal_1_11, cgal, proj, boost, cmake, python2, doxygen, graphviz, gmp }:
+
+stdenv.mkDerivation rec {
+  name = "gplates-${version}";
+  version = "2.0.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gplates/${name}-unixsrc.tar.bz2";
+    sha256 = "02scnjj5nlc2d2c8lbx0xvj8gg1bgkjliv3wxsx564c55a9x69qw";
+  };
+
+  patches = [
+    ./boostfix.patch
+  ];
+
+  buildInputs = [ qt4 qwt6_qt4 mesa glew gdal_1_11 cgal proj boost cmake python2 doxygen graphviz gmp ];
+
+  meta = with stdenv.lib; {
+    description = "Desktop software for the interactive visualisation of plate-tectonics";
+    homepage = https://www.gplates.org;
+    license = licenses.gpl2;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index d1106a758473..220b2e06360f 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "root-${version}";
-  version = "6.04.18";
+  version = "6.08.02";
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    sha256 = "00f3v3l8nimfkcxpn9qpyh3h23na0mi4wkds2y5gwqh8wh3jryq9";
+    sha256 = "0530v1r4rvds52hgb13f00l3phhn76z6vii550mwv8bj3sl5070k";
   };
 
   buildInputs = [ cmake pcre pkgconfig python2 zlib lzma gsl ]
@@ -16,10 +16,6 @@ stdenv.mkDerivation rec {
     ;
 
   patches = [
-    (fetchpatch {
-      url = "https://github.com/root-mirror/root/commit/ee9964210c56e7c1868618a4434c5340fef38fe4.patch";
-      sha256 = "186i7ni75yvjydy6lpmaplqxfb5z2019bgpbhff1n6zn2qlrff2r";
-    })
     ./sw_vers.patch
 
     # this prevents thisroot.sh from setting $p, which interferes with stdenv setup
diff --git a/pkgs/applications/science/misc/root/sw_vers.patch b/pkgs/applications/science/misc/root/sw_vers.patch
index 3de2b839bf4b..c4632d62b4fe 100644
--- a/pkgs/applications/science/misc/root/sw_vers.patch
+++ b/pkgs/applications/science/misc/root/sw_vers.patch
@@ -42,12 +42,12 @@ diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
 @@ -38,27 +24,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
-        SET(CMAKE_FORTRAN_FLAGS "${CMAKE_FORTRAN_FLAGS} -m64")
+        SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m64")
 -    else(${SYSCTL_OUTPUT} MATCHES 64)
 -       MESSAGE(STATUS "Found a 32bit system")
 -       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
 -       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
--       SET(CMAKE_FORTRAN_FLAGS "${CMAKE_FORTRAN_FLAGS} -m32")
+-       SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m32")
 -    endif(${SYSCTL_OUTPUT} MATCHES 64)
 -  endif()
 -
diff --git a/pkgs/applications/science/physics/sherpa/default.nix b/pkgs/applications/science/physics/sherpa/default.nix
new file mode 100644
index 000000000000..e815ddfc1c2f
--- /dev/null
+++ b/pkgs/applications/science/physics/sherpa/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, gfortran, hepmc, fastjet, lhapdf, rivet, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "sherpa-${version}";
+  version = "2.2.1";
+
+  src = fetchurl {
+    url = "http://www.hepforge.org/archive/sherpa/SHERPA-MC-${version}.tar.gz";
+    sha256 = "13vkz6w8kqyv8sgy3mxnlps5ykml5rnlj50vjj0pp9rgbl5y8ali";
+  };
+
+  buildInputs = [ gfortran sqlite lhapdf rivet ];
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--with-sqlite3=${sqlite.dev}"
+    "--enable-hepmc2=${hepmc}"
+    "--enable-fastjet=${fastjet}"
+    "--enable-lhapdf=${lhapdf}"
+    "--enable-rivet=${rivet}"
+  ];
+
+  CXXFLAGS = "-std=c++11"; # needed for rivet on OSX
+
+  meta = {
+    description = "Simulation of High-Energy Reactions of PArticles in lepton-lepton, lepton-photon, photon-photon, lepton-hadron and hadron-hadron collisions";
+    license     = stdenv.lib.licenses.gpl2;
+    homepage    = https://sherpa.hepforge.org;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/applications/version-management/cvsps/01_ignoretrunk.dpatch b/pkgs/applications/version-management/cvsps/01_ignoretrunk.dpatch
deleted file mode 100644
index 39185ae2bfa6..000000000000
--- a/pkgs/applications/version-management/cvsps/01_ignoretrunk.dpatch
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01_ignoretrunk.dpatch by  <crafterm@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Ignore TRUNK branch name patch
-
-@DPATCH@
-
-diff -urN cvsps-2.1.orig/cvsps.c cvsps-2.1/cvsps.c
---- cvsps-2.1.orig/cvsps.c	2005-05-25 22:39:40.000000000 -0500
-+++ cvsps-2.1/cvsps.c	2005-06-19 23:07:20.000000000 -0500
-@@ -2104,6 +2109,11 @@
-     
-     if (!get_branch_ext(rev, eot, &leaf))
-     {
-+	if (strcmp(tag, "TRUNK") == 0)
-+	{
-+	    debug(DEBUG_STATUS, "ignoring the TRUNK branch/tag");
-+	    return;
-+	}
- 	debug(DEBUG_APPERROR, "malformed revision");
- 	exit(1);
-     }
diff --git a/pkgs/applications/version-management/cvsps/02_dynamicbufferalloc.dpatch b/pkgs/applications/version-management/cvsps/02_dynamicbufferalloc.dpatch
deleted file mode 100644
index 70ffb02a21aa..000000000000
--- a/pkgs/applications/version-management/cvsps/02_dynamicbufferalloc.dpatch
+++ /dev/null
@@ -1,125 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02_dynamicbufferalloc.dpatch by  <crafterm@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Dynamic buffer allocation
-
-@DPATCH@
-
-diff -urN cvsps-2.1-orig/cache.c cvsps-2.1/cache.c
---- cvsps-2.1-orig/cache.c	2005-05-25 22:39:40.000000000 -0500
-+++ cvsps-2.1/cache.c	2005-07-26 15:21:29.716569500 -0500
-@@ -108,10 +108,19 @@
-     int tag_flags = 0;
-     char branchbuff[LOG_STR_MAX] = "";
-     int branch_add = 0;
--    char logbuff[LOG_STR_MAX] = "";
-+    int logbufflen = LOG_STR_MAX + 1;
-+    char * logbuff = malloc(logbufflen);
-     time_t cache_date = -1;
-     int read_version;
- 
-+    if (logbuff == NULL)
-+    {
-+	debug(DEBUG_SYSERROR, "could not malloc %d bytes for logbuff in read_cache", logbufflen);
-+	exit(1);
-+    }
-+
-+    logbuff[0] = 0;
-+
-     if (!(fp = cache_open("r")))
- 	goto out;
- 
-@@ -299,8 +308,19 @@
- 	    else
- 	    {
- 		/* Make sure we have enough in the buffer */
--		if (strlen(logbuff)+strlen(buff)<LOG_STR_MAX)
--		    strcat(logbuff, buff);
-+		int len = strlen(buff);
-+		if (strlen(logbuff) + len >= LOG_STR_MAX)
-+		{
-+		    logbufflen += (len >= LOG_STR_MAX ? (len+1) : LOG_STR_MAX);
-+		    char * newlogbuff = realloc(logbuff, logbufflen);
-+		    if (newlogbuff == NULL)
-+		    {
-+			debug(DEBUG_SYSERROR, "could not realloc %d bytes for logbuff in read_cache", logbufflen);
-+			exit(1);
-+		    }
-+		    logbuff = newlogbuff;
-+		}
-+		strcat(logbuff, buff);
- 	    }
- 	    break;
- 	case CACHE_NEED_PS_MEMBERS:
-@@ -332,6 +352,7 @@
-  out_close:
-     fclose(fp);
-  out:
-+    free(logbuff);
-     return cache_date;
- }
- 
-diff -urN cvsps-2.1-orig/cvsps.c cvsps-2.1/cvsps.c
---- cvsps-2.1-orig/cvsps.c	2005-05-25 22:39:40.000000000 -0500
-+++ cvsps-2.1/cvsps.c	2005-07-26 15:22:02.558230700 -0500
-@@ -265,7 +265,8 @@
-     PatchSetMember * psm = NULL;
-     char datebuff[20];
-     char authbuff[AUTH_STR_MAX];
--    char logbuff[LOG_STR_MAX + 1];
-+    int logbufflen = LOG_STR_MAX + 1;
-+    char * logbuff = malloc(logbufflen);
-     int loglen = 0;
-     int have_log = 0;
-     char cmd[BUFSIZ];
-@@ -273,6 +274,12 @@
-     char use_rep_buff[PATH_MAX];
-     char * ltype;
- 
-+    if (logbuff == NULL)
-+    {
-+	debug(DEBUG_SYSERROR, "could not malloc %d bytes for logbuff in load_from_cvs", logbufflen);
-+	exit(1);
-+    }
-+
-     if (!no_rlog && !test_log_file && cvs_check_cap(CAP_HAVE_RLOG))
-     {
- 	ltype = "rlog";
-@@ -480,24 +487,22 @@
- 		 */
- 		if (have_log || !is_revision_metadata(buff))
- 		{
--		    /* if the log buffer is full, that's it.  
--		     * 
--		     * Also, read lines (fgets) always have \n in them
--		     * which we count on.  So if truncation happens,
--		     * be careful to put a \n on.
--		     * 
--		     * Buffer has LOG_STR_MAX + 1 for room for \0 if
--		     * necessary
--		     */
--		    if (loglen < LOG_STR_MAX)
-+		    /* If the log buffer is full, try to reallocate more. */
-+		    if (loglen < logbufflen)
- 		    {
- 			int len = strlen(buff);
- 			
--			if (len >= LOG_STR_MAX - loglen)
-+			if (len >= logbufflen - loglen)
- 			{
--			    debug(DEBUG_APPMSG1, "WARNING: maximum log length exceeded, truncating log");
--			    len = LOG_STR_MAX - loglen;
--			    buff[len - 1] = '\n';
-+			    debug(DEBUG_STATUS, "reallocating logbufflen to %d bytes for file %s", logbufflen, file->filename);
-+			    logbufflen += (len >= LOG_STR_MAX ? (len+1) : LOG_STR_MAX);
-+			    char * newlogbuff = realloc(logbuff, logbufflen);
-+			    if (newlogbuff == NULL)
-+			    {
-+				debug(DEBUG_SYSERROR, "could not realloc %d bytes for logbuff in load_from_cvs", logbufflen);
-+				exit(1);
-+			    }
-+			    logbuff = newlogbuff;
- 			}
- 
- 			debug(DEBUG_STATUS, "appending %s to log", buff);
diff --git a/pkgs/applications/version-management/cvsps/03_diffoptstypo.dpatch b/pkgs/applications/version-management/cvsps/03_diffoptstypo.dpatch
deleted file mode 100644
index eb3818ed97e9..000000000000
--- a/pkgs/applications/version-management/cvsps/03_diffoptstypo.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 03_diffoptstypo.dpatch by  <crafterm@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Diff opts typo fix
-
-@DPATCH@
-
---- cvsps-2.1-orig/cvsps.1	2005-05-26 05:39:40.000000000 +0200
-+++ cvsps-2.1/cvsps.1	2005-07-28 15:17:48.885112048 +0200
-@@ -83,7 +83,7 @@
- disable the use of rlog internally.  Note: rlog is
- required for stable PatchSet numbering.  Use with care.
- .TP
--.B \-\-diffs\-opts <option string>
-+.B \-\-diff\-opts <option string>
- send a custom set of options to diff, for example to increase
- the number of context lines, or change the diff format.
- .TP
diff --git a/pkgs/applications/version-management/cvsps/default.nix b/pkgs/applications/version-management/cvsps/default.nix
index 9bc4401e0681..aa3bcb273949 100644
--- a/pkgs/applications/version-management/cvsps/default.nix
+++ b/pkgs/applications/version-management/cvsps/default.nix
@@ -1,22 +1,53 @@
-{ fetchurl, stdenv, cvs, zlib }:
+{ stdenv, fetchurl, fetchpatch, cvs, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "cvsps-2.1";
+  name = "cvsps-${version}";
+  version = "2.1";
+
   src = fetchurl {
-    url = "http://www.cobite.com/cvsps/${name}.tar.gz";
+    url = "mirror://debian/pool/main/c/cvsps/cvsps_${version}.orig.tar.gz";
     sha256 = "0nh7q7zcmagx0i63h6fqqkkq9i55k77myvb8h6jn2f266f5iklwi";
   };
 
-  # Patches from Debian's `cvsps-2.1-4'.
-  patches = [ ./01_ignoretrunk.dpatch
-              ./02_dynamicbufferalloc.dpatch
-	      ./03_diffoptstypo.dpatch ];
+  # Patches from https://sources.debian.net/src/cvsps/2.1-7/debian/patches
+  patches =
+    [ (fetchpatch {
+        url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/01_ignoretrunk.patch";
+        sha256 = "1gzb97dw2a6bm0bmim7p7wvsn0r82y3a8n22ln6rbbkkd8vlnzcb";
+      })
+
+      (fetchpatch {
+        url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/02_dynamicbufferalloc.patch";
+        sha256 = "0dm7azxnw0g9pdqkb3y4y2h047zgrclbh40av6c868wfp2j6l9sc";
+      })
+
+      (fetchpatch {
+        url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/03_diffoptstypo.patch";
+        sha256 = "06n8652g7inpv8cgqir7ijq00qw1fr0v44m2pbmgx7ilmna2vrcw";
+      })
+
+      (fetchpatch {
+        url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/05-inet_addr_fix.patch";
+        sha256 = "10w6px96dz8bb69asjzshvp787ccazmqnjsggqc4gwdal95q3cn7";
+      })
+
+      (fetchpatch {
+        url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/fix-makefile";
+        sha256 = "0m92b55hgldwg6lwdaybbj0n3lw1b3wj2xkk1cz1ywq073bpf3jm";
+      })
+
+      (fetchpatch {
+        url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/fix-manpage";
+        sha256 = "0gky14rhx82wv0gj8bkc74ki5xilhv5i3k1jc7khklr4lb6mmhpx";
+      })
+    ];
 
   buildInputs = [ cvs zlib ];
 
-  installPhase = "make install prefix=$out";
+  installFlags = [ "prefix=$(out)" ];
 
   meta = {
+    description = ''A tool to generate CVS patch set information'';
     longDescription = ''
       CVSps is a program for generating `patchset' information from a
       CVS repository.  A patchset in this case is defined as a set of
@@ -25,5 +56,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.cobite.com/cvsps/;
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile
new file mode 100644
index 000000000000..8ed325154711
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'atlassian-stash'
diff --git a/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock
new file mode 100644
index 000000000000..61159eb3ee9e
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock
@@ -0,0 +1,27 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    addressable (2.5.0)
+      public_suffix (~> 2.0, >= 2.0.2)
+    atlassian-stash (0.7.0)
+      commander (~> 4.1.2)
+      git (>= 1.2.5)
+      json (>= 1.7.5)
+      launchy (~> 2.4.2)
+    commander (4.1.6)
+      highline (~> 1.6.11)
+    git (1.3.0)
+    highline (1.6.21)
+    json (2.0.2)
+    launchy (2.4.3)
+      addressable (~> 2.3)
+    public_suffix (2.0.5)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  atlassian-stash
+
+BUNDLED WITH
+   1.13.6
diff --git a/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix
new file mode 100644
index 000000000000..a3cf434360b9
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix
@@ -0,0 +1,21 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv rec {
+  name = "bitbucket-server-cli-${version}";
+
+  version = (import gemset).atlassian-stash.version;
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  pname = "atlassian-stash";
+
+  meta = with lib; {
+    description = "A command line interface to interact with BitBucket Server (formerly Atlassian Stash)";
+    homepage    = https://bitbucket.org/atlassian/bitbucket-server-cli;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ jgertm ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/gemset.nix b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/gemset.nix
new file mode 100644
index 000000000000..a7c1406665e7
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/gemset.nix
@@ -0,0 +1,66 @@
+{
+  addressable = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1j5r0anj8m4qlf2psnldip4b8ha2bsscv11lpdgnfh4nnchzjnxw";
+      type = "gem";
+    };
+    version = "2.5.0";
+  };
+  atlassian-stash = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rsf9h5w5wiglwv0fqwp45fq06fxbg68cqkc3bpqvps1i1qm0p6i";
+      type = "gem";
+    };
+    version = "0.7.0";
+  };
+  commander = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0x9i8hf083wjlgj09nl1p9j8sr5g7amq0fdmxjqs4cxdbg3wpmsb";
+      type = "gem";
+    };
+    version = "4.1.6";
+  };
+  git = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1waikaggw7a1d24nw0sh8fd419gbf7awh000qhsf411valycj6q3";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  highline = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1";
+      type = "gem";
+    };
+    version = "1.6.21";
+  };
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lhinj9vj7mw59jqid0bjn2hlfcnq02bnvsx9iv81nl2han603s0";
+      type = "gem";
+    };
+    version = "2.0.2";
+  };
+  launchy = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
+      type = "gem";
+    };
+    version = "2.4.3";
+  };
+  public_suffix = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q";
+      type = "gem";
+    };
+    version = "2.0.5";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index d144d484ed39..e7511e10d40e 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -5,21 +5,19 @@
 
 stdenv.mkDerivation rec {
   name = "cgit-${version}";
-  version = "0.12";
+  version = "1.1";
 
   src = fetchurl {
     url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz";
-    sha256 = "1dx54hgfyabmg9nm5qp6d01f54nlbqbbdwhwl0llb9imjf237qif";
+    sha256 = "142qcgs8dwnzhymn0a7xx47p9fc2z5wrb86ah4a9iz0mpqlsz288";
   };
 
   # cgit is tightly coupled with git and needs a git source tree to build.
   # IMPORTANT: Remember to check which git version cgit needs on every version
-  # bump (look in the Makefile).
-  # NOTE: as of 0.10.1, the git version is compatible from 1.9.0 to
-  # 1.9.2 (see the repository history)
+  # bump (look for "GIT_VER" in the top-level Makefile).
   gitSrc = fetchurl {
-    url    = "mirror://kernel/software/scm/git/git-2.7.0.tar.xz";
-    sha256 = "03bvb8s5j8i54qbi3yayl42bv0wf2fpgnh1a2lkhbj79zi7b77zs";
+    url    = "mirror://kernel/software/scm/git/git-2.10.2.tar.xz";
+    sha256 = "0wc64dzcxrzgi6kwcljz6y3cwm3ajdgf6aws7g58azbhvl1jk04l";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 994dcb38f805..e8c7c3bfbfd7 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -22,6 +22,8 @@ in
 rec {
   # Try to keep this generally alphabetized
 
+  bitbucket-server-cli = callPackage ./bitbucket-server-cli { };
+
   darcsToGit = callPackage ./darcs-to-git { };
 
   diff-so-fancy = callPackage ./diff-so-fancy { };
@@ -80,8 +82,6 @@ rec {
 
   qgit = callPackage ./qgit { };
 
-  qgitGit = callPackage ./qgit/qgit-git.nix { };
-
   stgit = callPackage ./stgit {
   };
 
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 98999e93db72..5c70b2cb2053 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "hub-${version}";
-  version = "2.2.8";
+  version = "2.2.9";
 
   src = fetchgit {
     url = https://github.com/github/hub.git;
     rev = "refs/tags/v${version}";
-    sha256 = "1fv4jb9vsbkscnb79gss2mwnd1yf9jhgzw1mhimhx25xizbx1fck";
+    sha256 = "195ckp1idz2azv0mm1q258yjz2n51sia9xdcjnqlprmq9aig5ldh";
   };
 
 
diff --git a/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix b/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix
deleted file mode 100644
index c3d3c77ad336..000000000000
--- a/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, qt4, qmake4Hook, libXext, libX11, sourceFromHead }:
-
-stdenv.mkDerivation rec {
-  name = "qgit-git";
-
-  meta =
-  {
-    license = stdenv.lib.licenses.gpl2;
-    homepage = "http://digilander.libero.it/mcostalba/";
-    description = "Graphical front-end to Git";
-  };
-
-  # REGION AUTO UPDATE:    { name="qgit"; type="git"; url="git://git.kernel.org/pub/scm/qgit/qgit4.git"; }
-  src = sourceFromHead "qgit-a0252ed2a6a72b50e65d027adce8afa22e874277.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/qgit-a0252ed2a6a72b50e65d027adce8afa22e874277.tar.gz"; sha256 = "17e4727ac68b4f2e8503289d5b6a2c042547e7be133e7f8195b79e33eab61b93"; });
-  # END
-
-  buildInputs = [ qt4 libXext libX11 ];
-
-  nativeBuildInputs = [ qmake4Hook ];
-}
diff --git a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
index 3047ca023423..36d81ae9c441 100644
--- a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "transcrypt-${version}";
-  version = "0.9.9";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "elasticdog";
     repo = "transcrypt";
     rev = "v${version}";
-    sha256 = "0brsgj3qmvkgxzqqamk8krwyarwff1dlb3jjd09snnbfl0kdq1a5";
+    sha256 = "12n8714my9i93lysqa3dj1z5xgi10iv5y1mnsqki9zn5av3lgqkq";
   };
 
   buildInputs = [ git makeWrapper openssl ];
diff --git a/pkgs/applications/version-management/git-up/default.nix b/pkgs/applications/version-management/git-up/default.nix
new file mode 100644
index 000000000000..c93ee9244663
--- /dev/null
+++ b/pkgs/applications/version-management/git-up/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, python2Packages, git }:
+
+python2Packages.buildPythonApplication rec {
+  version = "1.4.2";
+  name = "git-up-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/g/git-up/${name}.zip";
+    sha256 = "121ia5gyjy7js6fbsx9z98j2qpq7rzwpsj8gnfvsbz2d69g0vl7q";
+  };
+
+  buildInputs = [ git ] ++ (with python2Packages; [ nose ]);
+  propagatedBuildInputs = with python2Packages; [ click colorama docopt GitPython six termcolor ];
+
+  # 1. git fails to run as it cannot detect the email address, so we set it
+  # 2. $HOME is by default not a valid dir, so we have to set that too
+  # https://github.com/NixOS/nixpkgs/issues/12591
+  preCheck = ''
+      export HOME=$TMPDIR
+      git config --global user.email "nobody@example.com"
+      git config --global user.name "Nobody"
+    '';
+
+  postInstall = ''
+    rm -r $out/${python2Packages.python.sitePackages}/PyGitUp/tests
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/msiemens/PyGitUp;
+    description = "A git pull replacement that rebases all local branches when pulling.";
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index d13457ef927a..05db6d964c3a 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -5,14 +5,14 @@
 
 let
   minor = "3.16";
-  version = "${minor}.2";
+  version = "${minor}.4";
   inherit (python2Packages) python buildPythonApplication pycairo pygobject3;
 in buildPythonApplication rec {
   name = "meld-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
-    sha256 = "2dd3f58b95444bf721e0c912668c29cf8f47a402440b772ea12c4b9a0c94966f";
+    sha256 = "0rwflfkfnb9ydnk4k591x0il29d4dvz95cjs2f279blx64lgki4k";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index 4f1f28a7aac7..04a91a6b4a44 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -33,5 +33,6 @@ buildRustPackage rec {
     license = licenses.gpl3;
     platforms = stdenv.lib.platforms.x86_64;  # i686 builds fail due to lmdb
     maintainers = with maintainers; [ puffnfresh ];
+    broken = true;
   };
 }
diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix
index 01687b588677..44b9dca90b6f 100644
--- a/pkgs/applications/video/avidemux/default.nix
+++ b/pkgs/applications/video/avidemux/default.nix
@@ -14,11 +14,11 @@
 }:
 
 let
-  version = "2.6.15";
+  version = "2.6.16";
 
   src = fetchurl {
     url = "mirror://sourceforge/avidemux/avidemux/${version}/avidemux_${version}.tar.gz";
-    sha256 = "0mr2nll81ki9d1s68klhm19jmr15450wjaws1p0b0y2qqwyrprdh";
+    sha256 = "0jipvpvw871qhhkyykrrrqc9vfbw24v243vzmm8lqifj73h6qvgc";
   };
 
   common = {
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index dd9c67b952f5..960dabd75695 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromGitHub, makeWrapper
-, docutils, perl, pkgconfig, python3, which, ffmpeg
+, docutils, perl, pkgconfig, python3, which, ffmpeg_3_2
 , freefont_ttf, freetype, libass, libpthreadstubs
 , lua, lua5_sockets, libuchardet, libiconv ? null, darwin
 
@@ -79,13 +79,13 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "mpv-${version}";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "mpv-player";
     repo  = "mpv";
     rev    = "v${version}";
-    sha256 = "0mv8fs2zxp6pvpi5xdrpvvqcaa5f0c83jdfi0pfqnwbpkz1kb9s6";
+    sha256 = "02k8p4z1mwxxlg9spwwrlcciia80kyrpp09hpl60g22h85jj1ng9";
   };
 
   patchPhase = ''
@@ -112,7 +112,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ docutils makeWrapper perl pkgconfig python3 which ];
 
   buildInputs = [
-    ffmpeg freetype libass libpthreadstubs
+    ffmpeg_3_2 freetype libass libpthreadstubs
     lua lua5_sockets libuchardet
   ] ++ optional alsaSupport        alsaLib
     ++ optional xvSupport          libXv
diff --git a/pkgs/applications/video/natron/config.pri b/pkgs/applications/video/natron/config.pri
new file mode 100644
index 000000000000..c0d236c6b975
--- /dev/null
+++ b/pkgs/applications/video/natron/config.pri
@@ -0,0 +1,20 @@
+boost: LIBS += -lboost_serialization
+expat: LIBS += -lexpat
+expat: PKGCONFIG -= expat
+cairo {
+        PKGCONFIG += cairo
+        LIBS -=  $$system(pkg-config --variable=libdir cairo)/libcairo.a
+}
+pyside {
+        PKGCONFIG -= pyside
+        INCLUDEPATH += $$system(pkg-config --variable=includedir pyside)
+        INCLUDEPATH += $$system(pkg-config --variable=includedir pyside)/QtCore
+        INCLUDEPATH += $$system(pkg-config --variable=includedir pyside)/QtGui
+        INCLUDEPATH += $$system(pkg-config --variable=includedir QtGui)
+        LIBS += -lpyside-python2.7
+}
+shiboken {
+        PKGCONFIG -= shiboken
+        INCLUDEPATH += $$system(pkg-config --variable=includedir shiboken)
+        LIBS += -lshiboken-python2.7
+}
diff --git a/pkgs/applications/video/natron/default.nix b/pkgs/applications/video/natron/default.nix
new file mode 100644
index 000000000000..75dccbafd3f4
--- /dev/null
+++ b/pkgs/applications/video/natron/default.nix
@@ -0,0 +1,126 @@
+{ lib, stdenv, fetchurl, qt4, pkgconfig, boost, expat, cairo, python2Packages,
+  cmake, flex, bison, pango, librsvg, librevenge, libxml2, libcdr, libzip,
+  poppler, imagemagick, glew, openexr, ffmpeg, opencolorio, openimageio,
+  qmake4Hook, libpng, mesa_noglu, lndir }:
+
+let
+  minorVersion = "2.1";
+  version = "${minorVersion}.9";
+  OpenColorIO-Configs = fetchurl {
+    url = "https://github.com/MrKepzie/OpenColorIO-Configs/archive/Natron-v${minorVersion}.tar.gz";
+    sha256 = "9eec5a02ca80c9cd8e751013cb347ea982fdddd592a4a9215cce462e332dac51";
+  };
+  seexpr = stdenv.mkDerivation rec {
+    version = "1.0.1";
+    name = "seexpr-${version}";
+    src = fetchurl {
+      url = "https://github.com/wdas/SeExpr/archive/rel-${version}.tar.gz";
+      sha256 = "1ackh0xs4ip7mk34bam8zd4qdymkdk0dgv8x0f2mf6gbyzzyh7lp";
+    };
+    nativeBuildInputs = [ cmake ];
+    buildInputs = [ libpng flex bison ];
+  };
+  buildPlugin = { pluginName, sha256, buildInputs, preConfigure ? "" }:
+    stdenv.mkDerivation {
+      name = "openfx-${pluginName}-${version}";
+      src = fetchurl {
+        url = "https://github.com/MrKepzie/Natron/releases/download/${version}/openfx-${pluginName}-${version}.tar.xz";
+        inherit sha256;
+      };
+      inherit buildInputs;
+      preConfigure = ''
+        makeFlagsArray+=("CONFIG=release")
+        makeFlagsArray+=("PLUGINPATH=$out/Plugins/OFX/Natron")
+        ${preConfigure}
+      '';
+    };
+  lodepngcpp = fetchurl {
+    url = https://raw.githubusercontent.com/lvandeve/lodepng/a70c086077c0eaecbae3845e4da4424de5f43361/lodepng.cpp;
+    sha256 = "1dxkkr4jbmvlwfr7m16i1mgcj1pqxg9s1a7y3aavs9rrk0ki8ys2";
+  };
+  lodepngh = fetchurl {
+    url = https://raw.githubusercontent.com/lvandeve/lodepng/a70c086077c0eaecbae3845e4da4424de5f43361/lodepng.h;
+    sha256 = "14drdikd0vws3wwpyqq7zzm5z3kg98svv4q4w0hr45q6zh6hs0bq";
+  };
+  CImgh = fetchurl {
+    url = https://raw.githubusercontent.com/dtschump/CImg/572c12d82b2f59ece21be8f52645c38f1dd407e6/CImg.h;
+    sha256 = "0n4qfxj8j6rmj4svf68gg2pzg8d1pb74bnphidnf8i2paj6lwniz";
+  };
+  plugins = map buildPlugin [
+    ({
+      pluginName = "arena";
+      sha256 = "0qba13vn9qdfax7nqlz1ps27zspr5kh795jp1xvbmwjzjzjpkqkf";
+      buildInputs = [
+        pkgconfig pango librsvg librevenge libcdr opencolorio libxml2 libzip
+        poppler imagemagick
+      ];
+      preConfigure = ''
+        sed -i 's|pkg-config poppler-glib|pkg-config poppler poppler-glib|g' Makefile.master
+        for i in Extra Bundle; do
+          cp ${lodepngcpp} $i/lodepng.cpp
+          cp ${lodepngh} $i/lodepng.h
+        done
+      '';
+    })
+    ({
+      pluginName = "io";
+      sha256 = "0s196i9fkgr9iw92c94mxgs1lkxbhynkf83vmsgrldflmf0xjky7";
+      buildInputs = [
+        pkgconfig libpng ffmpeg openexr opencolorio openimageio boost mesa_noglu
+        seexpr
+      ];
+    })
+    ({
+      pluginName = "misc";
+      sha256 = "02h79jrll0c17azxj16as1mks3lmypm4m3da4mms9sg31l3n82qi";
+      buildInputs = [
+        mesa_noglu
+      ];
+      preConfigure = ''
+        cp ${CImgh} CImg/CImg.h
+      '';
+    })
+  ];
+in
+stdenv.mkDerivation {
+  inherit version;
+  name = "natron-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/MrKepzie/Natron/releases/download/${version}/Natron-${version}.tar.xz";
+    sha256 = "1wdc0zqriw2jhlrhzs6af3kagrv22cm086ffnbr1x43mgc9hfhjp";
+  };
+
+  buildInputs = [
+    pkgconfig qt4 boost expat cairo python2Packages.pyside python2Packages.pysideShiboken
+  ];
+
+  nativeBuildInputs = [ qmake4Hook python2Packages.wrapPython ];
+
+  preConfigure = ''
+    export MAKEFLAGS=-j$NIX_BUILD_CORES
+    cp ${./config.pri} config.pri
+    mkdir OpenColorIO-Configs
+    tar -xf ${OpenColorIO-Configs} --strip-components=1 -C OpenColorIO-Configs
+  '';
+
+  postFixup = ''
+    for i in ${lib.escapeShellArgs plugins}; do
+      ${lndir}/bin/lndir $i $out
+    done
+    wrapProgram $out/bin/Natron \
+      --set PYTHONPATH "$PYTHONPATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Node-graph based, open-source compositing software";
+    longDescription = ''
+      Node-graph based, open-source compositing software. Similar in
+      functionalities to Adobe After Effects and Nuke by The Foundry.
+    '';
+    homepage = https://natron.inria.fr/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ maintainers.puffnfresh ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 6de68ee32f3a..c428c56b313b 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "containerd-${version}";
-  version = "0.2.3";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "0hlvbd5n4v337ywkc8mnbhp9m8lg8612krv45262n87c2ijyx09s";
+    sha256 = "16p8kixhzdx8afpciyf3fjx43xa3qrqpx06r5aqxdrqviw851zh8";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 921558a2d12e..ba21a23f8ad8 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -11,13 +11,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "docker-${version}";
-  version = "1.12.3";
+  version = "1.12.6";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "docker";
     rev = "v${version}";
-    sha256 = "0jifd35h22lgh36w1j2k97pgndjh5sppr3cwndlv0saf9618wx5k";
+    sha256 = "10jhjas07xxlxjsxby8865rr0d0zsc5azy16rsz1idmy7f7lk6jh";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/virtualization/qemu/2.8.nix b/pkgs/applications/virtualization/qemu/2.8.nix
new file mode 100644
index 000000000000..677386819d3d
--- /dev/null
+++ b/pkgs/applications/virtualization/qemu/2.8.nix
@@ -0,0 +1,93 @@
+{ stdenv, fetchurl, fetchpatch, python2, zlib, pkgconfig, glib
+, ncurses, perl, pixman, vde2, alsaLib, texinfo, libuuid, flex
+, bison, lzo, snappy, libaio, gnutls, nettle, curl
+, makeWrapper
+, attr, libcap, libcap_ng
+, CoreServices, Cocoa, rez, setfile
+, numaSupport ? stdenv.isLinux, numactl
+, seccompSupport ? stdenv.isLinux, libseccomp
+, pulseSupport ? !stdenv.isDarwin, libpulseaudio
+, sdlSupport ? !stdenv.isDarwin, SDL
+, vncSupport ? true, libjpeg, libpng
+, spiceSupport ? !stdenv.isDarwin, spice, spice_protocol, usbredir
+, x86Only ? false
+, nixosTestRunner ? false
+}:
+
+with stdenv.lib;
+let
+  version = "2.8.0";
+  audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
+    + optionalString pulseSupport "pa,"
+    + optionalString sdlSupport "sdl,";
+in
+
+stdenv.mkDerivation rec {
+  name = "qemu-"  
+    + stdenv.lib.optionalString x86Only "x86-only-"
+    + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
+    + version;
+
+  src = fetchurl {
+    url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
+    sha256 = "0qjy3rcrn89n42y5iz60kgr0rrl29hpnj8mq2yvbc1wrcizmvzfs";
+  };
+
+  buildInputs =
+    [ python2 zlib pkgconfig glib ncurses perl pixman
+      vde2 texinfo libuuid flex bison makeWrapper lzo snappy
+      gnutls nettle curl
+    ]
+    ++ optionals stdenv.isDarwin [ CoreServices Cocoa rez setfile ]
+    ++ optionals seccompSupport [ libseccomp ]
+    ++ optionals numaSupport [ numactl ]
+    ++ optionals pulseSupport [ libpulseaudio ]
+    ++ optionals sdlSupport [ SDL ]
+    ++ optionals vncSupport [ libjpeg libpng ]
+    ++ optionals spiceSupport [ spice_protocol spice usbredir ]
+    ++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ];
+
+  enableParallelBuilding = true;
+
+  patches = [
+    ./no-etc-install.patch
+  ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch;
+  hardeningDisable = [ "stackprotector" ];
+
+  configureFlags =
+    [ "--smbd=smbd" # use `smbd' from $PATH
+      "--audio-drv-list=${audio}"
+      "--sysconfdir=/etc"
+      "--localstatedir=/var"
+    ]
+    ++ optional numaSupport "--enable-numa"
+    ++ optional seccompSupport "--enable-seccomp"
+    ++ optional spiceSupport "--enable-spice"
+    ++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
+    ++ optional stdenv.isDarwin "--enable-cocoa"
+    ++ optional stdenv.isLinux "--enable-linux-aio";
+
+  postFixup =
+    ''
+      for exe in $out/bin/qemu-system-* ; do
+        paxmark m $exe
+      done
+    '';
+
+  postInstall =
+    ''
+      # Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
+      p="$out/bin/qemu-system-${if stdenv.system == "x86_64-linux" then "x86_64" else "i386"}"
+      if [ -e "$p" ]; then
+        makeWrapper "$p" $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"
+      fi
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.qemu.org/;
+    description = "A generic and open source machine emulator and virtualizer";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric eelco ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index ce330982bec4..eb1672101263 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -23,7 +23,10 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "qemu-" + stdenv.lib.optionalString x86Only "x86-only-" + version;
+  name = "qemu-"  
+    + stdenv.lib.optionalString x86Only "x86-only-"
+    + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
+    + version;
 
   src = fetchurl {
     url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
@@ -134,6 +137,17 @@ stdenv.mkDerivation rec {
 
     # from http://git.qemu.org/?p=qemu.git;a=patch;h=ff55e94d23ae94c8628b0115320157c763eb3e06
     ./CVE-2016-9102.patch
+
+    (fetchpatch {
+      name = "qemu-CVE-2016-9911.patch";
+      url = "http://git.qemu.org/?p=qemu.git;a=patch;h=791f97758e223de3290592d169f8e6339c281714";
+      sha256 = "0952mpc81h42k5kqsw42prnw5vw86r3j88wk5z4sr1xd1sg428d6";
+    })
+    (fetchpatch {
+      name = "qemu-CVE-2016-9921_9922.patch";
+      url = "http://git.qemu.org/?p=qemu.git;a=commit;h=4299b90e9ba9ce5ca9024572804ba751aa1a7e70";
+      sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
+    })
   ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch;
   hardeningDisable = [ "stackprotector" ];
 
diff --git a/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch b/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
index 90269961fdf3..9578d595129f 100644
--- a/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
+++ b/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
@@ -1,8 +1,32 @@
 diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
-index 845675e..43fa036 100644
+index 3f271fc..dc273f4 100644
 --- a/hw/9pfs/9p-local.c
 +++ b/hw/9pfs/9p-local.c
-@@ -128,6 +128,8 @@ static int local_lstat(FsContext *fs_ctx, V9fsPath *fs_path, struct stat *stbuf)
+@@ -45,6 +45,23 @@
+ 
+ #define VIRTFS_META_DIR ".virtfs_metadata"
+ 
++static int is_in_store_path(const char *path)
++{
++    static char *store_path = NULL;
++    int store_path_len = -1;
++
++    if (store_path_len == -1) {
++        if ((store_path = getenv("NIX_STORE")) != NULL)
++            store_path_len = strlen(store_path);
++        else
++            store_path_len = 0;
++    }
++
++    if (store_path_len > 0)
++        return strncmp(path, store_path, strlen(store_path)) == 0;
++    return 0;
++}
++
+ static char *local_mapped_attr_path(FsContext *ctx, const char *path)
+ {
+     int dirlen;
+@@ -128,6 +145,8 @@ static int local_lstat(FsContext *fs_ctx, V9fsPath *fs_path, struct stat *stbuf)
      if (err) {
          goto err_out;
      }
@@ -11,24 +35,19 @@ index 845675e..43fa036 100644
      if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
          /* Actual credentials are part of extended attrs */
          uid_t tmp_uid;
-@@ -462,6 +464,16 @@ static ssize_t local_pwritev(FsContext *ctx, V9fsFidOpenState *fs,
+@@ -462,6 +481,11 @@ static ssize_t local_pwritev(FsContext *ctx, V9fsFidOpenState *fs,
      return ret;
  }
  
-+static int maybe_chmod(const char *path, mode_t mode)
++static inline int maybe_chmod(const char *path, mode_t mode)
 +{
-+    static char *store_path = NULL;
-+    if (store_path == NULL)
-+        store_path = getenv("NIX_STORE");
-+    if (strncmp(path, store_path, strlen(store_path)) != 0)
-+        return chmod(path, mode);
-+    return 0;
++    return is_in_store_path(path) ? 0 : chmod(path, mode);
 +}
 +
  static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
  {
      char *buffer;
-@@ -477,7 +489,7 @@ static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
+@@ -477,7 +501,7 @@ static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
      } else if ((fs_ctx->export_flags & V9FS_SM_PASSTHROUGH) ||
                 (fs_ctx->export_flags & V9FS_SM_NONE)) {
          buffer = rpath(fs_ctx, path);
@@ -37,7 +56,7 @@ index 845675e..43fa036 100644
          g_free(buffer);
      }
      return ret;
-@@ -621,6 +633,8 @@ static int local_fstat(FsContext *fs_ctx, int fid_type,
+@@ -621,6 +645,8 @@ static int local_fstat(FsContext *fs_ctx, int fid_type,
      if (err) {
          return err;
      }
@@ -46,3 +65,13 @@ index 845675e..43fa036 100644
      if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
          /* Actual credentials are part of extended attrs */
          uid_t tmp_uid;
+@@ -916,7 +942,8 @@ static int local_chown(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
+         (fs_ctx->export_flags & V9FS_SM_PASSTHROUGH) ||
+         (fs_ctx->export_flags & V9FS_SM_NONE)) {
+         buffer = rpath(fs_ctx, path);
+-        ret = lchown(buffer, credp->fc_uid, credp->fc_gid);
++        ret = is_in_store_path(buffer)
++            ? 0 : lchown(buffer, credp->fc_uid, credp->fc_gid);
+         g_free(buffer);
+     } else if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
+         buffer = rpath(fs_ctx, path);
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index d66865573648..7f19121b7f5b 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -1,19 +1,34 @@
-{ stdenv, lib, fetchFromGitHub, go-md2man
+{ stdenv, lib, fetchFromGitHub, fetchpatch, go-md2man
 , go, pkgconfig, libapparmor, apparmor-parser, libseccomp }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   name = "runc-${version}";
-  version = "2016-06-15";
+  version = "1.0.0-rc2";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
-    rev = "cc29e3dded8e27ba8f65738f40d251c885030a28";
-    sha256 = "18fwb3kq10zhhx184yn3j396gpbppy3y4ypb8m2b2pdms39s6pyx";
+    rev = "v${version}";
+    sha256 = "06bxc4g3frh4i1lkzvwdcwmzmr0i52rz4a4pij39s15zaigm79wk";
   };
 
+  patches = [
+    # Two patches to fix CVE-2016-9962
+    # From https://bugzilla.suse.com/show_bug.cgi?id=1012568
+    (fetchpatch {
+      name = "0001-libcontainer-nsenter-set-init-processes-as-non-dumpa.patch";
+      url = "https://bugzilla.suse.com/attachment.cgi?id=709048&action=diff&context=patch&collapsed=&headers=1&format=raw";
+      sha256 = "1cfsmsyhc45a2929825mdaql0mrhhbrgdm54ly0957j2f46072ck";
+    })
+    (fetchpatch {
+      name = "0002-libcontainer-init-only-pass-stateDirFd-when-creating.patch";
+      url = "https://bugzilla.suse.com/attachment.cgi?id=709049&action=diff&context=patch&collapsed=&headers=1&format=raw";
+      sha256 = "1ykwg1mbvsxsnsrk9a8i4iadma1g0rgdmaj19dvif457hsnn31wl";
+    })
+  ];
+
   outputs = [ "out" "man" ];
 
   hardeningDisable = ["fortify"];
diff --git a/pkgs/applications/virtualization/virtualbox/update.py b/pkgs/applications/virtualization/virtualbox/update.py
index ff1b2e2fffb7..6e8bfd5c8250 100755
--- a/pkgs/applications/virtualization/virtualbox/update.py
+++ b/pkgs/applications/virtualization/virtualbox/update.py
@@ -1,4 +1,6 @@
-#!/usr/bin/env python3
+#!/usr/bin/env nix-shell
+#!nix-shell -i python3 -p python3
+
 import os
 import re
 import json
diff --git a/pkgs/applications/virtualization/virtualbox/upstream-info.json b/pkgs/applications/virtualization/virtualbox/upstream-info.json
index d861a7e79324..1b85d2b8847e 100644
--- a/pkgs/applications/virtualization/virtualbox/upstream-info.json
+++ b/pkgs/applications/virtualization/virtualbox/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "__NOTE": "Generated using update.py from the same directory.",
-  "extpack": "d28bcd01c14eb07eedd2b964d1abe4876f0a7e0e89530e7ba285a5d6267bf322",
-  "extpackRev": "111374",
-  "guest": "347fd39df6ddee8079ad41fbc038e2fb64952a40255d75292e8e49a0a0cbf657",
-  "main": "e447031de468aee746529b2cf60768922f9beff22a13c54284aa430f5e925933",
-  "version": "5.1.8"
+  "extpack": "3982657fd4853bcbc79b9162e618545a479b65aca08e9ced43a904aeeba3ffa5",
+  "extpackRev": "112026",
+  "guest": "29fa0af66a3dd273b0c383c4adee31a52061d52f57d176b67f444698300b8c41",
+  "main": "98073b1b2adee4e6553df73cb5bb6ea8ed7c3a41a475757716fd9400393bea40",
+  "version": "5.1.10"
 }
diff --git a/pkgs/applications/virtualization/xen/4.5.nix b/pkgs/applications/virtualization/xen/4.5.nix
index 7b89fabaa1c9..dc9d92534f00 100644
--- a/pkgs/applications/virtualization/xen/4.5.nix
+++ b/pkgs/applications/virtualization/xen/4.5.nix
@@ -2,8 +2,19 @@
 
 let
   # Xen 4.5.5
+  #
+  # Patching XEN? Check the XSAs and try applying all the ones we
+  # don't have yet.
+  #
+  # XSAs at: https://xenbits.xen.org/xsa/
   xenConfig = rec {
     version = "4.5.5";
+
+    xsaPatch = { name , sha256 }: (fetchpatch {
+      url = "https://xenbits.xen.org/xsa/xsa${name}.patch";
+      inherit sha256;
+    });
+
     name = "xen-${version}";
 
     src = fetchurl {
@@ -52,25 +63,60 @@ let
         }
       ];
 
-    xenPatches = [ ./0001-libxl-Spice-image-compression-setting-support-for-up.patch
-                   ./0002-libxl-Spice-streaming-video-setting-support-for-upst.patch
-                   ./0003-Add-qxl-vga-interface-support-for-upstream-qem.patch
-                   (fetchpatch {
-                     url = "https://bugzilla.redhat.com/attachment.cgi?id=1218547";
-                     name = "CVE-2016-9385.patch";
-                     sha256 = "0k9mykhrpm4rbjkhv067f6s05lqmgnldcyb3vi8cl0ndlyh66lvr";
-                   })
-                   (fetchpatch {
-                     url = "https://bugzilla.redhat.com/attachment.cgi?id=1218536";
-                     name = "CVE-2016-9377-CVE-2016-9378-part1.patch";
-                     sha256 = "0z53nzrjvc745y26z1qc8jlg3blxp7brawvji1hx3s74n346ssl6";
-                   })
-                   (fetchpatch {
-                     url = "https://bugzilla.redhat.com/attachment.cgi?id=1218537";
-                     name = "CVE-2016-9377-CVE-2016-9378-part2.patch";
-                     sha256 = "11cqvr5jn2s92wsshpilx9qnfczrd9hnyb5aim6qwmz3fq3hrrkz";
-                   })
-                 ];
+      # Note this lacks patches for:
+      # XSA-201
+      # XSA-199
+      # XSA-197
+      # they didn't apply, and there are plenty of other patches here
+      # to get this deployed as-is.
+      xenPatches = [ ./0001-libxl-Spice-image-compression-setting-support-for-up.patch
+                     ./0002-libxl-Spice-streaming-video-setting-support-for-upst.patch
+                     ./0003-Add-qxl-vga-interface-support-for-upstream-qem.patch
+                     (xsaPatch {
+                       name = "190-4.5";
+                       sha256 = "0f8pw38kkxky89ny3ic5h26v9zsjj9id89lygx896zc3w1klafqm";
+                     })
+                     (xsaPatch {
+                       name = "191-4.6";
+                       sha256 = "1wl1ndli8rflmc44pkp8cw4642gi8z7j7gipac8mmlavmn3wdqhg";
+                     })
+                     (xsaPatch {
+                       name = "192-4.5";
+                       sha256 = "0m8cv0xqvx5pdk7fcmaw2vv43xhl62plyx33xqj48y66x5z9lxpm";
+                     })
+                     (xsaPatch {
+                       name = "193-4.5";
+                       sha256 = "0k9mykhrpm4rbjkhv067f6s05lqmgnldcyb3vi8cl0ndlyh66lvr";
+                     })
+                     (xsaPatch {
+                       name = "195";
+                       sha256 = "0m0g953qnjy2knd9qnkdagpvkkgjbk3ydgajia6kzs499dyqpdl7";
+                     })
+                     (xsaPatch {
+                       name = "196-0001-x86-emul-Correct-the-IDT-entry-calculation-in-inject";
+                       sha256 = "0z53nzrjvc745y26z1qc8jlg3blxp7brawvji1hx3s74n346ssl6";
+                     })
+                     (xsaPatch {
+                       name = "196-0002-x86-svm-Fix-injection-of-software-interrupts";
+                       sha256 = "11cqvr5jn2s92wsshpilx9qnfczrd9hnyb5aim6qwmz3fq3hrrkz";
+                     })
+                     (xsaPatch {
+                       name = "198";
+                       sha256 = "0d1nndn4p520c9xa87ixnyks3mrvzcri7c702d6mm22m8ansx6d9";
+                     })
+                     (xsaPatch {
+                       name = "200-4.6";
+                       sha256 = "0k918ja83470iz5k4vqi15293zjvz2dipdhgc9sy9rrhg4mqncl7";
+                     })
+                     (xsaPatch {
+                       name = "202-4.6";
+                       sha256 = "0nnznkrvfbbc8z64dr9wvbdijd4qbpc0wz2j5vpmx6b32sm7932f";
+                     })
+                     (xsaPatch {
+                       name = "204-4.5";
+                       sha256 = "083z9pbdz3f532fnzg7n2d5wzv6rmqc0f4mvc3mnmkd0rzqw8vcp";
+                     })
+                   ];
   };
 
 in callPackage ./generic.nix (args // { xenConfig=xenConfig; })
diff --git a/pkgs/applications/window-managers/awesome/3.4.nix b/pkgs/applications/window-managers/awesome/3.4.nix
deleted file mode 100644
index 961296c6eecf..000000000000
--- a/pkgs/applications/window-managers/awesome/3.4.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchurl, cmake, gperf, imagemagick, pkgconfig, lua
-, glib, cairo, pango, imlib2, libxcb, libxdg_basedir, xcbutil
-, xcbutilimage, xcbutilkeysyms, xcbutilwm, libpthreadstubs, libXau
-, libXdmcp, pixman, doxygen
-, libstartup_notification, libev, asciidoc, xmlto, dbus, docbook_xsl
-, docbook_xml_dtd_45, libxslt, coreutils, which }:
-
-let
-  version = "3.4.13";
-in
-
-stdenv.mkDerivation rec {
-  name = "awesome-${version}";
- 
-  src = fetchurl {
-    url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
-    sha256 = "0jhsgb8wdzpfmdyl9fxp2w6app7l6zl8b513z3ff513nvdlxj5hr";
-  };
- 
-  buildInputs = [ cmake gperf imagemagick pkgconfig lua glib cairo pango
-    imlib2 libxcb libxdg_basedir xcbutil xcbutilimage xcbutilkeysyms xcbutilwm
-    libstartup_notification libev libpthreadstubs libXau libXdmcp pixman doxygen
-    asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt which ];
-
-  # We use coreutils for 'env', that will allow then finding 'bash' or 'zsh' in
-  # the awesome lua code. I prefered that instead of adding 'bash' or 'zsh' as
-  # dependencies.
-  prePatch = ''
-    # Fix the tab completion (supporting bash or zsh)
-    sed s,/usr/bin/env,${coreutils}/bin/env, -i lib/awful/completion.lua.in
-    # Remove the 'root' PATH override (I don't know why they have that)
-    sed /WHOAMI/d -i utils/awsetbg
-    # Russian manpages fail to be generated:
-    #  [ 56%] Generating manpages/ru/man1/awesome.1.xml
-    #  asciidoc: ERROR: <stdin>: line 3: name section expected
-    #  asciidoc: FAILED: <stdin>: line 3: section title expected
-    #  make[2]: *** [manpages/ru/man1/awesome.1.xml] Error 1
-    substituteInPlace CMakeLists.txt \
-      --replace "set(AWE_MAN_LANGS it es fr de ru)" \
-                "set(AWE_MAN_LANGS it es fr de)"
-  '';
- 
-  meta = {
-    homepage = http://awesome.naquadah.org/;
-    description = "Highly configurable, dynamic window manager for X";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-
-  passthru = {
-    inherit lua;
-  };
-
-}
diff --git a/pkgs/applications/window-managers/awesome/3.5.nix b/pkgs/applications/window-managers/awesome/3.5.nix
new file mode 100644
index 000000000000..3a2a030b8a4d
--- /dev/null
+++ b/pkgs/applications/window-managers/awesome/3.5.nix
@@ -0,0 +1,86 @@
+{ stdenv, fetchurl, luaPackages, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf
+, xorg, libstartup_notification, libxdg_basedir, libpthreadstubs
+, xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
+, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
+, which, dbus, nettools, git, asciidoc, doxygen
+, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
+}:
+
+let
+  version = "3.5.9";
+in with luaPackages;
+
+stdenv.mkDerivation rec {
+  name = "awesome-${version}";
+
+  src = fetchurl {
+    url    = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
+    sha256 = "0kynair1ykr74b39a4gcm2y24viial64337cf26nhlc7azjbby67";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Highly configurable, dynamic window manager for X";
+    homepage    = http://awesome.naquadah.org/;
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.linux;
+  };
+
+  nativeBuildInputs = [
+    asciidoc
+    cmake
+    doxygen
+    imagemagick
+    makeWrapper
+    pkgconfig
+    xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs
+  ];
+
+  buildInputs = [
+    cairo
+    dbus
+    gdk_pixbuf
+    gobjectIntrospection
+    git
+    lgi
+    libpthreadstubs
+    libstartup_notification
+    libxdg_basedir
+    lua
+    nettools
+    pango
+    xcb-util-cursor
+    xorg.libXau
+    xorg.libXdmcp
+    xorg.libxcb
+    xorg.libxshmfence
+    xorg.xcbutil
+    xorg.xcbutilimage
+    xorg.xcbutilkeysyms
+    xorg.xcbutilrenderutil
+    xorg.xcbutilwm
+  ];
+
+  #cmakeFlags = "-DGENERATE_MANPAGES=ON";
+
+  LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";
+  GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
+  LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
+  LUA_PATH  = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
+
+  postInstall = ''
+    wrapProgram $out/bin/awesome \
+      --prefix LUA_CPATH ";" '"${lgi}/lib/lua/${lua.luaversion}/?.so"' \
+      --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 : "${stdenv.lib.makeBinPath [ compton unclutter procps iproute coreutils curl alsaUtils findutils xterm ]}"
+
+    wrapProgram $out/bin/awesome-client \
+      --prefix PATH : "${which}/bin"
+  '';
+
+  passthru = {
+    inherit lua;
+  };
+}
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 3a2a030b8a4d..9fa4d6a6d8ef 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -4,25 +4,26 @@
 , compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
 , which, dbus, nettools, git, asciidoc, doxygen
 , xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
+, libxkbcommon, xcbutilxrm
 }:
 
 let
-  version = "3.5.9";
+  version = "4.0";
 in with luaPackages;
 
 stdenv.mkDerivation rec {
   name = "awesome-${version}";
 
   src = fetchurl {
-    url    = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
-    sha256 = "0kynair1ykr74b39a4gcm2y24viial64337cf26nhlc7azjbby67";
+    url    = "http://github.com/awesomeWM/awesome-releases/raw/master/${name}.tar.xz";
+    sha256 = "0czkcz67sab63gf5m2p2pgg05yinjx60hfb9rfyzdkkg28q9f02w";
   };
 
   meta = with stdenv.lib; {
     description = "Highly configurable, dynamic window manager for X";
-    homepage    = http://awesome.naquadah.org/;
+    homepage    = https://awesomewm.org/;
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lovek323 ];
+    maintainers = with maintainers; [ lovek323 rasendubi ];
     platforms   = platforms.linux;
   };
 
@@ -59,6 +60,8 @@ stdenv.mkDerivation rec {
     xorg.xcbutilkeysyms
     xorg.xcbutilrenderutil
     xorg.xcbutilwm
+    libxkbcommon
+    xcbutilxrm
   ];
 
   #cmakeFlags = "-DGENERATE_MANPAGES=ON";
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
index 641716ab2fc0..8798d2b38329 100644
--- a/pkgs/applications/window-managers/bspwm/default.nix
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "bspwm-${version}";
-  version = "0.9.1";
+  version = "0.9.2";
 
 
   src = fetchurl {
     url = "https://github.com/baskerville/bspwm/archive/${version}.tar.gz";
-    sha256 = "11dvfcvr8bc116yb3pvl0k1h2gfm9rv652jbxd1c5pmc0yimifq2";
+    sha256 = "1w6wxwgyb14w664xafp3b2ps6zzf9yw7cfhbh9229x2hil9rss1k";
   };
 
   buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
diff --git a/pkgs/applications/window-managers/compiz/default.nix b/pkgs/applications/window-managers/compiz/default.nix
index e9f5d9bdbf26..240bc19dd453 100644
--- a/pkgs/applications/window-managers/compiz/default.nix
+++ b/pkgs/applications/window-managers/compiz/default.nix
@@ -18,11 +18,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="compiz";
-    version="0.9.13.0";
+    version="0.9.13.1";
     name="${baseName}-${version}";
-    hash="00m73im5kdpbfjg9ryzxnab5qvx5j51gxwr3wzimkrcbax6vb3ph";
-    url="https://launchpad.net/compiz/0.9.13/0.9.13.0/+download/compiz-0.9.13.0.tar.bz2";
-    sha256="00m73im5kdpbfjg9ryzxnab5qvx5j51gxwr3wzimkrcbax6vb3ph";
+    hash="1grc4a4gc662hjs5adzdd3zlgsg1rh1wqm9aanbs8wm0l8mq0m4q";
+    url="https://launchpad.net/compiz/0.9.13/0.9.13.1/+download/compiz-0.9.13.1.tar.bz2";
+    sha256="1grc4a4gc662hjs5adzdd3zlgsg1rh1wqm9aanbs8wm0l8mq0m4q";
   };
   buildInputs = [cmake pkgconfig
     libXrender renderproto gtk2 libwnck pango cairo
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index f71d9ac55bc0..3d656eba5fff 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -406,8 +406,7 @@ else
         finalPath=$(nix-store --add-fixed --recursive "$hashType" "$tmpFile")
 
         if test -n "$expHash" -a "$expHash" != "$hash"; then
-            print_metadata
-            echo "hash mismatch for URL \`$url'" >&2
+            echo "hash mismatch for URL \`$url'. Got \`$hash'; expected \`$expHash'." >&2
             exit 1
         fi
     fi
diff --git a/pkgs/build-support/kernel/cpio-clean.pl b/pkgs/build-support/kernel/cpio-clean.pl
deleted file mode 100644
index ddc6435a5a81..000000000000
--- a/pkgs/build-support/kernel/cpio-clean.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-use strict;
-
-# Make inode number, link info and mtime consistent in order to get a consistent hash.
-#
-# Author: Alexander Kjeldaas <ak@formalprivacy.com>
-
-use Archive::Cpio;
-
-my $cpio = Archive::Cpio->new;
-my $IN = \*STDIN;
-my $ino = 1;
-$cpio->read_with_handler($IN, sub {
-        my ($e) = @_;
-        $e->{mtime} = 1;
-	$cpio->write_one(\*STDOUT, $e);
-    });
-$cpio->write_trailer(\*STDOUT);
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix
index 895160616b79..092ab4586b38 100644
--- a/pkgs/build-support/kernel/make-initrd.nix
+++ b/pkgs/build-support/kernel/make-initrd.nix
@@ -12,10 +12,10 @@
 # `contents = {object = ...; symlink = /init;}' is a typical
 # argument.
 
-{ stdenv, perl, perlArchiveCpio, cpio, contents, ubootChooser, compressor, prepend }:
+{ stdenv, perl, cpio, contents, ubootChooser, compressor, prepend }:
 
 let
-  inputsFun = ubootName : [perl cpio perlArchiveCpio ]
+  inputsFun = ubootName : [ perl cpio ]
     ++ stdenv.lib.optional (ubootName != null) [ (ubootChooser ubootName) ];
   makeUInitrdFun = ubootName : (ubootName != null);
 in
@@ -30,12 +30,11 @@ stdenv.mkDerivation {
   objects = map (x: x.object) contents;
   symlinks = map (x: x.symlink) contents;
   suffices = map (x: if x ? suffix then x.suffix else "none") contents;
-  
+
   # For obtaining the closure of `contents'.
   exportReferencesGraph =
     map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents;
   pathsFromGraph = ./paths-from-graph.pl;
-  cpioClean = ./cpio-clean.pl;
 
   crossAttrs = {
     nativeBuildInputs = inputsFun stdenv.cross.platform.uboot;
diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh
index 89021caa5834..0aeaedeb3724 100644
--- a/pkgs/build-support/kernel/make-initrd.sh
+++ b/pkgs/build-support/kernel/make-initrd.sh
@@ -39,7 +39,8 @@ mkdir -p $out
 for PREP in $prepend; do
   cat $PREP >> $out/initrd
 done
-(cd root && find * -print0 | cpio -o -H newc -R 0:0 --null | perl $cpioClean | $compressor >> $out/initrd)
+(cd root && find * -print0 | xargs -0r touch -h -d '@1')
+(cd root && find * -print0 | sort -z | cpio -o -H newc -R +0:+0 --reproducible --null | $compressor >> $out/initrd)
 
 if [ -n "$makeUInitrd" ]; then
     mv $out/initrd $out/initrd.gz
diff --git a/pkgs/build-support/replace-dependency.nix b/pkgs/build-support/replace-dependency.nix
index b0174ca24ab8..15ab50bf3974 100644
--- a/pkgs/build-support/replace-dependency.nix
+++ b/pkgs/build-support/replace-dependency.nix
@@ -22,7 +22,7 @@
 with lib;
 
 let
-  warn = if verbose then builtins.trace else (x:y:y);
+  warn = if verbose then builtins.trace else (x: y: y);
   references = import (runCommand "references.nix" { exportReferencesGraph = [ "graph" drv ]; } ''
     (echo {
     while read path
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 47f61ab64d61..d03265c089a7 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -130,7 +130,7 @@ rec {
 
     echo "mounting Nix store..."
     mkdir -p /fs${storeDir}
-    mount -t 9p store /fs${storeDir} -o trans=virtio,version=9p2000.L,cache=loose
+    mount -t 9p store /fs${storeDir} -o trans=virtio,version=9p2000.L,veryloose
 
     mkdir -p /fs/tmp /fs/run /fs/var
     mount -t tmpfs -o "mode=1777" none /fs/tmp
@@ -139,7 +139,7 @@ rec {
 
     echo "mounting host's temporary directory..."
     mkdir -p /fs/tmp/xchg
-    mount -t 9p xchg /fs/tmp/xchg -o trans=virtio,version=9p2000.L,cache=loose
+    mount -t 9p xchg /fs/tmp/xchg -o trans=virtio,version=9p2000.L,veryloose
 
     mkdir -p /fs/proc
     mount -t proc none /fs/proc
diff --git a/pkgs/data/fonts/nerdfonts/default.nix b/pkgs/data/fonts/nerdfonts/default.nix
index aee4a63c3085..d0d831f8cc71 100644
--- a/pkgs/data/fonts/nerdfonts/default.nix
+++ b/pkgs/data/fonts/nerdfonts/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, bash, which, withFont ? "" }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.0";
+  version = "1.0.0";
   name = "nerdfonts-${version}";
   src = fetchFromGitHub {
     owner = "ryanoasis";
     repo = "nerd-fonts";
     rev = version;
-    sha256 = "0n7idfk4460j8g0rw73hzz195pdh4c916hpc5r6dxpvgcmvryzc5";
+    sha256 = "1kz4hhshi3lsaja20kg258jc220q1b6nhwiyv0w433m0kvsgzdqd";
   };
   dontPatchShebangs = true;
   buildInputs = [ which ];
diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix
index 682c42afa3e1..8ac65dcae359 100644
--- a/pkgs/data/fonts/unifont/default.nix
+++ b/pkgs/data/fonts/unifont/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "unifont-${version}";
-  version = "9.0.04";
+  version = "9.0.06";
 
   ttf = fetchurl {
     url = "mirror://gnu/unifont/${name}/${name}.ttf";
-    sha256 = "052waajjdry67jjl7vy984padyzdrkhf5gylgbnvj90q6d52j02z";
+    sha256 = "0r96giih04din07wlmw8538izwr7dh5v6dyriq13zfn19brgn5z2";
   };
 
   pcf = fetchurl {
     url = "mirror://gnu/unifont/${name}/${name}.pcf.gz";
-    sha256 = "0736qmlzsf4xlipj4vzihafkigc3xjisxnwcqhl9dzkhxfjq9612";
+    sha256 = "11ivfzpyz54rbz0cvd437abs6qlv28q0qp37kn27jggxlcpfh8vd";
   };
 
   buildInputs = [ mkfontscale mkfontdir ];
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index 0e59e2e04e35..7784e59e4b2b 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "tzdata-${version}";
-  version = "2016f";
+  version = "2016j";
 
   srcs =
     [ (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
-        sha256 = "1c024mg4gy572vgdj9rk4dqnb33iap06zs8ibasisbyi1089b37d";
+        sha256 = "1j4xycpwhs57qnkcxwh3np8wnf3km69n3cf4w6p2yv2z247lxvpm";
       })
       (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
-        sha256 = "1vb6n29ik7dzhffzzcnskbhmn6h1dxzan3zanbp118wh8hw5yckj";
+        sha256 = "1dxhrk4z0n2di8p0yd6q00pa6bwyz5xqbrfbasiz8785ni7zrvxr";
       })
     ];
 
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix
new file mode 100644
index 000000000000..b33afb50e99a
--- /dev/null
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, gnome_python, librsvg, libwnck, libgtop, pkgconfig, python2, gtk }:
+
+let
+  inherit (python2.pkgs) python pygtk;
+in stdenv.mkDerivation rec {
+  ver_maj = "2.32";
+  ver_min = "0";
+  version = "${ver_maj}.${ver_min}";
+  name = "gnome-python-desktop-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-python-desktop/${ver_maj}/gnome-python-desktop-${version}.tar.bz2";
+    sha256 = "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ gtk librsvg libwnck libgtop python ];
+  propagatedBuildInputs = [ gnome_python pygtk ];
+
+  # gnome-python-desktop expects that .pth file is already installed by PyGTK
+  # in the same directory. This is not the case for Nix.
+  postInstall = ''
+    echo "gtk-2.0" > $out/${python2.sitePackages}/${name}.pth
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.pygtk.org";
+    description = "Python bindings for GNOME desktop packages";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
index 94ce68f9cb20..d7861285cb1e 100644
--- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, pythonPackages, pkgconfig, libgnome, GConf, glib, gtk, gnome_vfs}:
+{ stdenv, fetchurl, python2, pkgconfig, libgnome, GConf, glib, gtk, gnome_vfs }:
 
 with stdenv.lib;
 
 let
-  inherit (pythonPackages) python pygobject2 pygtk dbus-python;
+  inherit (python2.pkgs) python pygobject2 pygtk dbus-python;
 in stdenv.mkDerivation rec {
   version = "2.28";
   name = "gnome-python-${version}.1";
@@ -13,30 +13,21 @@ in stdenv.mkDerivation rec {
     sha256 = "759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8";
   };
 
-  phases = "unpackPhase configurePhase buildPhase installPhase";
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ python glib gtk GConf libgnome gnome_vfs ];
+  propagatedBuildInputs = [ pygobject2 pygtk dbus-python ];
 
-  # WAF is probably the biggest crap on this planet, btw i removed the /gtk-2.0 path thingy
-  configurePhase = ''
-    sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i gconf/wscript
-    python waf configure --prefix=$out
+  # gnome-python expects that .pth file is already installed by PyGTK in the
+  # same directory. This is not the case for Nix.
+  postInstall = ''
+    echo "gtk-2.0" > $out/${python2.sitePackages}/${name}.pth
   '';
 
-  buildPhase = ''
-    python waf build
-  '';
-
-  installPhase = ''
-    python waf install
-    cp bonobo/*.{py,defs} $out/share/pygtk/2.0/defs/
-  '';
-
-  buildInputs = [ python pkgconfig pygobject2 pygtk glib gtk GConf libgnome dbus-python gnome_vfs ];
-
-  doCheck = false;
-
-  meta = {
-    homepage = "http://projects.gnome.org/gconf/";
-    description = "Python wrapper for gconf";
-    maintainers = [ stdenv.lib.maintainers.qknight ];
+  meta = with stdenv.lib; {
+    homepage = "http://pygtk.org/";
+    description = "Python wrapper for GNOME libraries";
+    platforms = platforms.linux;
+    licenses = licenses.lgpl2;
+    maintainers = with maintainers; [ qknight ];
   };
 }
diff --git a/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
deleted file mode 100644
index c862bee0c906..000000000000
--- a/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, gnome2, librsvg, pkgconfig, python27Packages, gtk }:
-
-let
-  inherit (python27Packages) python pygtk;
-in stdenv.mkDerivation rec {
-  ver_maj = "2.32";
-  ver_min = "0";
-  version = "${ver_maj}.${ver_min}";
-  name = "python-rsvg-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-python-desktop/${ver_maj}/gnome-python-desktop-${version}.tar.bz2";
-    sha256 = "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9";
-  };
-
-  configurePhase = ''
-    sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i rsvg/wscript
-    python waf configure --enable-modules=rsvg --prefix=$out
-  '';
-
-  buildPhase = "python waf build";
-
-  installPhase = "python waf install";
-
-  buildInputs = [ gtk gnome2.gnome_python librsvg pkgconfig pygtk python ];
-
-  meta = with stdenv.lib; {
-    homepage = "http://www.pygtk.org";
-    description = "The rsvg python module";
-    license = licenses.lgpl21;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 54e397fd4746..c6df2a9ebc22 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -47,6 +47,9 @@ let overridden = set // overrides; set = with overridden; {
 
   gnome_python = callPackage ./bindings/gnome-python { };
 
+  gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
+  python_rsvg = overridden.gnome_python_desktop;
+
   gnome_vfs = callPackage ./platform/gnome-vfs { };
 
   gnome_vfs_monikers = callPackage ./platform/gnome-vfs-monikers { };
@@ -59,8 +62,6 @@ let overridden = set // overrides; set = with overridden; {
 
   libbonoboui = callPackage ./platform/libbonoboui { };
 
-  python_rsvg = callPackage ./bindings/python-rsvg { };
-
   at_spi = callPackage ./platform/at-spi { };
 
   gtkhtml = callPackage ./platform/gtkhtml { };
diff --git a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
index c69ee82fa265..7c9cd42a0e97 100644
--- a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
@@ -1,5 +1,8 @@
-{stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk, pango, 
-  libxml2Python, perl, intltool, gettext}:
+{stdenv, fetchpatch, fetchurl, autoreconfHook, pkgconfig, atk, cairo, glib
+, gnome_common, gtk, pango
+, libxml2Python, perl, intltool, gettext, gtk-mac-integration }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gtksourceview-${version}";
@@ -9,6 +12,29 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/gtksourceview/2.10/${name}.tar.bz2";
     sha256 = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e";
   };
-  buildInputs = [pkgconfig atk cairo glib gtk pango libxml2Python perl intltool
-    gettext];
+
+  patches = optionals stdenv.isDarwin [
+    (fetchpatch {
+      name = "change-igemacintegration-to-gtkosxapplication.patch";
+      url = "https://git.gnome.org/browse/gtksourceview/patch/?id=e88357c5f210a8796104505c090fb6a04c213902";
+      sha256 = "0h5q79q9dqbg46zcyay71xn1pm4aji925gjd5j93v4wqn41wj5m7";
+    })
+    (fetchpatch {
+      name = "update-to-gtk-mac-integration-2.0-api.patch";
+      url = "https://git.gnome.org/browse/gtksourceview/patch/?id=ab46e552e1d0dae73f72adac8d578e40bdadaf95";
+      sha256 = "0qzrbv4hpa0v8qbmpi2vp575n13lkrvp3cgllwrd2pslw1v9q3aj";
+    })
+  ];
+
+  buildInputs = [
+    pkgconfig atk cairo glib gtk
+    pango libxml2Python perl intltool
+    gettext
+  ] ++ optionals stdenv.isDarwin [
+    autoreconfHook gnome_common gtk-mac-integration
+  ];
+
+  preConfigure = optionalString stdenv.isDarwin ''
+    intltoolize --force
+  '';
 }
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 0a52acbc30e9..095c6e7814eb 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix
@@ -35,12 +35,13 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  requiredSystemFeatures = [ "big-parallel" ];
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Evolution;
     description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
     maintainers = gnome3.maintainers;
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
-    requiredSystemFeatures = [ "big-parallel" ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix
index 0b72bf5965e0..87a014f8f74e 100644
--- a/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix
@@ -35,12 +35,13 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  requiredSystemFeatures = [ "big-parallel" ];
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Evolution;
     description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
     maintainers = gnome3.maintainers;
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
-    requiredSystemFeatures = [ "big-parallel" ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.22/misc/geary/default.nix
index 9eb7e78d8d45..e0622b176218 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/geary/default.nix
@@ -8,11 +8,11 @@ let
   majorVersion = "0.11";
 in
 stdenv.mkDerivation rec {
-  name = "geary-${majorVersion}.2";
+  name = "geary-${majorVersion}.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/geary/${majorVersion}/${name}.tar.xz";
-    sha256 = "0ca6kdprhm8w990n6wgpvn0vzsdrnv9vjdm448pa8winspn217jw";
+    sha256 = "1r42ijxafach5lv8ibs6y0l5k4nacjg427dnma8fj00xr1sri7j1";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.22/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/3.22/misc/gexiv2/default.nix
index 7cea9cd8d150..d27e10f104c3 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/gexiv2/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/gexiv2/default.nix
@@ -5,11 +5,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "gexiv2-${version}";
-  version = "${majorVersion}.3";
+  version = "${majorVersion}.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gexiv2/${majorVersion}/${name}.tar.xz";
-    sha256 = "390cfb966197fa9f3f32200bc578d7c7f3560358c235e6419657206a362d3988";
+    sha256 = "190www3b61spfgwx42jw8h5hsz2996jcxky48k63468avjpk33dd";
   };
 
   preConfigure = ''
diff --git a/pkgs/desktops/kde-5/applications/akonadi-contacts.nix b/pkgs/desktops/kde-5/applications/akonadi-contacts.nix
new file mode 100644
index 000000000000..7acfa3a230b3
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/akonadi-contacts.nix
@@ -0,0 +1,19 @@
+{
+  kdeApp, lib,
+  ecm,
+  akonadi-mime, grantlee, kcontacts, kio, kitemmodels, kmime, qtwebengine,
+  akonadi
+}:
+
+kdeApp {
+  name = "akonadi-contacts";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [
+    akonadi-mime grantlee kcontacts kio kitemmodels kmime qtwebengine
+  ];
+  propagatedBuildInputs = [ akonadi ];
+}
diff --git a/pkgs/desktops/kde-5/applications/akonadi-mime.nix b/pkgs/desktops/kde-5/applications/akonadi-mime.nix
new file mode 100644
index 000000000000..26e1559c779e
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/akonadi-mime.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm,
+  akonadi, kdbusaddons, kio, kitemmodels, kmime
+}:
+
+kdeApp {
+  name = "akonadi-mime";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [ akonadi kdbusaddons kio kitemmodels kmime ];
+}
diff --git a/pkgs/desktops/kde-5/applications/akonadi.nix b/pkgs/desktops/kde-5/applications/akonadi.nix
new file mode 100644
index 000000000000..03483e5ec0d1
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/akonadi.nix
@@ -0,0 +1,20 @@
+{
+  kdeApp, lib,
+  ecm,
+  kcompletion, kconfigwidgets, kdbusaddons, kdesignerplugin, kiconthemes,
+  kio,
+  boost, kitemmodels
+}:
+
+kdeApp {
+  name = "akonadi";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [
+    kcompletion kconfigwidgets kdbusaddons kdesignerplugin kiconthemes kio
+  ];
+  propagatedBuildInputs = [ boost kitemmodels ];
+}
diff --git a/pkgs/desktops/kde-5/applications/ark/default.nix b/pkgs/desktops/kde-5/applications/ark/default.nix
index 249027570663..6b471614f5a6 100644
--- a/pkgs/desktops/kde-5/applications/ark/default.nix
+++ b/pkgs/desktops/kde-5/applications/ark/default.nix
@@ -36,7 +36,8 @@ let
       };
     };
 in
-kdeWrapper unwrapped
+kdeWrapper
 {
+  inherit unwrapped;
   targets = [ "bin/ark" ];
 }
diff --git a/pkgs/desktops/kde-5/applications/default.nix b/pkgs/desktops/kde-5/applications/default.nix
index 91f43545b310..db255a1d5b78 100644
--- a/pkgs/desktops/kde-5/applications/default.nix
+++ b/pkgs/desktops/kde-5/applications/default.nix
@@ -31,6 +31,9 @@ let
       inherit (pkgs) attica phonon;
     };
 
+    akonadi = callPackage ./akonadi.nix {};
+    akonadi-contacts = callPackage ./akonadi-contacts.nix {};
+    akonadi-mime = callPackage ./akonadi-mime.nix {};
     ark = callPackage ./ark/default.nix {};
     baloo-widgets = callPackage ./baloo-widgets.nix {};
     dolphin = callPackage ./dolphin.nix {};
@@ -39,18 +42,20 @@ let
       ffmpeg = pkgs.ffmpeg_2;
     };
     filelight = callPackage ./filelight.nix {};
-    gpgmepp = callPackage ./gpgmepp.nix {};
     gwenview = callPackage ./gwenview.nix {};
     kate = callPackage ./kate.nix {};
     kdenlive = callPackage ./kdenlive.nix {};
     kcalc = callPackage ./kcalc.nix {};
     kcolorchooser = callPackage ./kcolorchooser.nix {};
+    kcontacts = callPackage ./kcontacts.nix {};
+    kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
     kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
     kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
     kdf = callPackage ./kdf.nix {};
-    kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
+    kgpg = callPackage ./kgpg.nix {};
     khelpcenter = callPackage ./khelpcenter.nix {};
     kio-extras = callPackage ./kio-extras.nix {};
+    kmime = callPackage ./kmime.nix {};
     kompare = callPackage ./kompare.nix {};
     konsole = callPackage ./konsole.nix {};
     kwalletmanager = callPackage ./kwalletmanager.nix {};
diff --git a/pkgs/desktops/kde-5/applications/dolphin.nix b/pkgs/desktops/kde-5/applications/dolphin.nix
index 4e636ae31863..9be40e9439b6 100644
--- a/pkgs/desktops/kde-5/applications/dolphin.nix
+++ b/pkgs/desktops/kde-5/applications/dolphin.nix
@@ -24,8 +24,9 @@ let
       ];
     };
 in
-kdeWrapper unwrapped
+kdeWrapper
 {
+  inherit unwrapped;
   targets = [ "bin/dolphin" ];
   paths = [ dolphin-plugins konsole.unwrapped ];
 }
diff --git a/pkgs/desktops/kde-5/applications/fetch.sh b/pkgs/desktops/kde-5/applications/fetch.sh
index 845548c4f5bc..eb1b1654bb87 100644
--- a/pkgs/desktops/kde-5/applications/fetch.sh
+++ b/pkgs/desktops/kde-5/applications/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://ftp.ussg.iu.edu/kde/stable/applications/16.08.3/ --cut-dirs=1 -A '*.tar.xz' )
+WGET_ARGS=( http://download.kde.org/stable/applications/16.12.0/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/kde-5/applications/filelight.nix b/pkgs/desktops/kde-5/applications/filelight.nix
index acc5808b4a34..e3d9172145c8 100644
--- a/pkgs/desktops/kde-5/applications/filelight.nix
+++ b/pkgs/desktops/kde-5/applications/filelight.nix
@@ -18,4 +18,7 @@ let
       ];
     };
 in
-kdeWrapper unwrapped { targets = [ "bin/filelight" ]; }
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/filelight" ];
+}
diff --git a/pkgs/desktops/kde-5/applications/gwenview.nix b/pkgs/desktops/kde-5/applications/gwenview.nix
index 18f5036127d0..b97e4ce3bd6e 100644
--- a/pkgs/desktops/kde-5/applications/gwenview.nix
+++ b/pkgs/desktops/kde-5/applications/gwenview.nix
@@ -20,7 +20,8 @@ let
       ];
     };
 in
-kdeWrapper unwrapped {
+kdeWrapper {
+  inherit unwrapped;
   targets = [ "bin/gwenview" ];
   paths = [ kipi-plugins ];
 }
diff --git a/pkgs/desktops/kde-5/applications/kate.nix b/pkgs/desktops/kde-5/applications/kate.nix
index ab0087930c01..03cc0e1fe33b 100644
--- a/pkgs/desktops/kde-5/applications/kate.nix
+++ b/pkgs/desktops/kde-5/applications/kate.nix
@@ -24,8 +24,9 @@ let
       ];
     };
 in
-kdeWrapper unwrapped
+kdeWrapper
 {
+  inherit unwrapped;
   targets = [ "bin/kate" "bin/kwrite" ];
   paths = [ konsole.unwrapped ];
 }
diff --git a/pkgs/desktops/kde-5/applications/kcalc.nix b/pkgs/desktops/kde-5/applications/kcalc.nix
index f6d87e3e6e97..10164692f770 100644
--- a/pkgs/desktops/kde-5/applications/kcalc.nix
+++ b/pkgs/desktops/kde-5/applications/kcalc.nix
@@ -18,4 +18,7 @@ let
       ];
     };
 in
-kdeWrapper unwrapped { targets = [ "bin/kcalc" ]; }
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kcalc" ];
+}
diff --git a/pkgs/desktops/kde-5/applications/kcolorchooser.nix b/pkgs/desktops/kde-5/applications/kcolorchooser.nix
index 45a72a0bbc1b..1dc6ccbc44c4 100644
--- a/pkgs/desktops/kde-5/applications/kcolorchooser.nix
+++ b/pkgs/desktops/kde-5/applications/kcolorchooser.nix
@@ -15,4 +15,7 @@ let
       propagatedBuildInputs = [ ki18n kwidgetsaddons kxmlgui ];
     };
 in
-kdeWrapper unwrapped { targets = [ "bin/kcolorchooser" ]; }
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kcolorchooser" ];
+}
diff --git a/pkgs/desktops/kde-5/applications/kcontacts.nix b/pkgs/desktops/kde-5/applications/kcontacts.nix
new file mode 100644
index 000000000000..441d73d363d9
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/kcontacts.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm, ki18n,
+  kcoreaddons, kconfig, kcodecs
+}:
+
+kdeApp {
+  name = "kcontacts";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ki18n ];
+  buildInputs = [ kcoreaddons kconfig kcodecs ];
+}
diff --git a/pkgs/desktops/kde-5/applications/gpgmepp.nix b/pkgs/desktops/kde-5/applications/kdegraphics-mobipocket.nix
index 0e5cb15029c3..984524dc1b2b 100644
--- a/pkgs/desktops/kde-5/applications/gpgmepp.nix
+++ b/pkgs/desktops/kde-5/applications/kdegraphics-mobipocket.nix
@@ -1,15 +1,15 @@
 {
   kdeApp, lib,
   ecm,
-  boost, gpgme
+  kio
 }:
 
 kdeApp {
-  name = "gpgmepp";
+  name = "kdegraphics-mobipocket";
   meta = {
-    license = with lib.licenses; [ lgpl21 bsd3 ];
+    license = [ lib.licenses.gpl2Plus ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
   nativeBuildInputs = [ ecm ];
-  propagatedBuildInputs = [ boost gpgme ];
+  buildInputs = [ kio ];
 }
diff --git a/pkgs/desktops/kde-5/applications/kdenlive.nix b/pkgs/desktops/kde-5/applications/kdenlive.nix
index 00826060b69b..071ec21bbd01 100644
--- a/pkgs/desktops/kde-5/applications/kdenlive.nix
+++ b/pkgs/desktops/kde-5/applications/kdenlive.nix
@@ -74,8 +74,9 @@ unwrapped = kdeApp {
   };
 };
 in
-kdeWrapper unwrapped
+kdeWrapper
 {
+  inherit unwrapped;
   targets = [ "bin/kdenlive" ];
   paths = [ kinit ];
 }
diff --git a/pkgs/desktops/kde-5/applications/kdf.nix b/pkgs/desktops/kde-5/applications/kdf.nix
index 835f0344da74..c73eadc1df44 100644
--- a/pkgs/desktops/kde-5/applications/kdf.nix
+++ b/pkgs/desktops/kde-5/applications/kdf.nix
@@ -18,4 +18,7 @@ let
       ];
     };
 in
-kdeWrapper unwrapped { targets = [ "bin/kdf" ]; }
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kdf" ];
+}
diff --git a/pkgs/desktops/kde-5/applications/kgpg.nix b/pkgs/desktops/kde-5/applications/kgpg.nix
index 6717dc1511dc..cd462acdf2b0 100644
--- a/pkgs/desktops/kde-5/applications/kgpg.nix
+++ b/pkgs/desktops/kde-5/applications/kgpg.nix
@@ -1,17 +1,19 @@
 {
   kdeApp, lib,
-  automoc4, cmake, makeWrapper, perl, pkgconfig,
-  boost, gpgme, kdelibs, kdepimlibs, gnupg
+  ecm, kdoctools, ki18n,
+  akonadi-contacts, gpgme, karchive, kcodecs, kcontacts, kcoreaddons, kcrash,
+  kdbusaddons, kiconthemes, kjobwidgets, kio, knotifications, kservice,
+  ktextwidgets, kxmlgui, kwidgetsaddons, kwindowsystem
 }:
 
 kdeApp {
   name = "kgpg";
-  nativeBuildInputs = [ automoc4 cmake makeWrapper perl pkgconfig ];
-  buildInputs = [ boost gpgme kdelibs kdepimlibs ];
-  postInstall = ''
-    wrapProgram "$out/bin/kgpg" \
-        --prefix PATH : "${gnupg}/bin"
-  '';
+  nativeBuildInputs = [ ecm kdoctools ki18n ];
+  buildInputs = [
+    akonadi-contacts gpgme karchive kcodecs kcontacts kcoreaddons kcrash kdbusaddons
+    kiconthemes kjobwidgets kio knotifications kservice ktextwidgets kxmlgui
+    kwidgetsaddons kwindowsystem
+  ];
   meta = {
     license = [ lib.licenses.gpl2 ];
     maintainers = [ lib.maintainers.ttuegel ];
diff --git a/pkgs/desktops/kde-5/applications/khelpcenter.nix b/pkgs/desktops/kde-5/applications/khelpcenter.nix
index 934f13425e8a..3f13d131c77a 100644
--- a/pkgs/desktops/kde-5/applications/khelpcenter.nix
+++ b/pkgs/desktops/kde-5/applications/khelpcenter.nix
@@ -16,4 +16,7 @@ let
       ];
     };
 in
-kdeWrapper unwrapped { targets = [ "bin/khelpcenter" ]; }
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/khelpcenter" ];
+}
diff --git a/pkgs/desktops/kde-5/applications/kmime.nix b/pkgs/desktops/kde-5/applications/kmime.nix
new file mode 100644
index 000000000000..d60909ec7bc9
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/kmime.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm, ki18n,
+  kcodecs
+}:
+
+kdeApp {
+  name = "kmime";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ki18n ];
+  buildInputs = [ kcodecs ];
+}
diff --git a/pkgs/desktops/kde-5/applications/kompare.nix b/pkgs/desktops/kde-5/applications/kompare.nix
index 3b2143af615c..45789edbfcc8 100644
--- a/pkgs/desktops/kde-5/applications/kompare.nix
+++ b/pkgs/desktops/kde-5/applications/kompare.nix
@@ -15,4 +15,7 @@ let
       ];
     };
 in
-kdeWrapper unwrapped { targets = [ "bin/kompare" ]; }
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kompare" ];
+}
diff --git a/pkgs/desktops/kde-5/applications/konsole.nix b/pkgs/desktops/kde-5/applications/konsole.nix
index bf3a497fefaa..2dfd305b46b2 100644
--- a/pkgs/desktops/kde-5/applications/konsole.nix
+++ b/pkgs/desktops/kde-5/applications/konsole.nix
@@ -24,4 +24,7 @@ let
       ];
     };
 in
-kdeWrapper unwrapped { targets = [ "bin/konsole" ]; }
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/konsole" ];
+}
diff --git a/pkgs/desktops/kde-5/applications/kwalletmanager.nix b/pkgs/desktops/kde-5/applications/kwalletmanager.nix
index a7a7ba47f432..03c2ab3853a1 100644
--- a/pkgs/desktops/kde-5/applications/kwalletmanager.nix
+++ b/pkgs/desktops/kde-5/applications/kwalletmanager.nix
@@ -30,6 +30,7 @@ let
       kxmlgui
     ];
   };
-in kdeWrapper unwrapped {
+in kdeWrapper {
+  inherit unwrapped;
   targets = ["bin/kwalletmanager5"];
 }
diff --git a/pkgs/desktops/kde-5/applications/l10n.nix b/pkgs/desktops/kde-5/applications/l10n.nix
index 9b211faf4448..f2e5f843b5d9 100644
--- a/pkgs/desktops/kde-5/applications/l10n.nix
+++ b/pkgs/desktops/kde-5/applications/l10n.nix
@@ -205,7 +205,7 @@ lib.mapAttrs (name: attr: pkgs.recurseIntoAttrs attr) {
     }) {};
     qt5 = callPackage (kdeLocale5 "sr" {
       preConfigure = ''
-        patchShebangs 5/sr/data/resolve-sr-hybrid
+        patchShebangs 5/sr/cmake_modules/resolve-sr-hybrid
         sed -e 's/add_subdirectory(kdesdk)//' -i 5/sr/data/CMakeLists.txt
       '';
     }) {};
@@ -222,13 +222,10 @@ lib.mapAttrs (name: attr: pkgs.recurseIntoAttrs attr) {
     qt4 = callPackage (kdeLocale4 "ug" {}) {};
     qt5 = callPackage (kdeLocale5 "ug" {}) {};
   };
-  # TODO: build broken in 15.11.80; re-enable in next release
-  /*
   uk = {
     qt4 = callPackage (kdeLocale4 "uk" {}) {};
     qt5 = callPackage (kdeLocale5 "uk" {}) {};
   };
-  */
   wa = {
     qt4 = callPackage (kdeLocale4 "wa" {}) {};
     qt5 = callPackage (kdeLocale5 "wa" {}) {};
diff --git a/pkgs/desktops/kde-5/applications/marble.nix b/pkgs/desktops/kde-5/applications/marble.nix
index 8d6ee5a0f7c5..5b8a82dbf098 100644
--- a/pkgs/desktops/kde-5/applications/marble.nix
+++ b/pkgs/desktops/kde-5/applications/marble.nix
@@ -18,7 +18,8 @@ let
       enableParallelBuilding = true;
     };
 in
-kdeWrapper unwrapped {
+kdeWrapper {
+  inherit unwrapped;
   targets = [ "bin/marble-qt" ];
   paths = [ unwrapped ];
 }
diff --git a/pkgs/desktops/kde-5/applications/okular.nix b/pkgs/desktops/kde-5/applications/okular.nix
index 6e6f1407c558..499e8cc93681 100644
--- a/pkgs/desktops/kde-5/applications/okular.nix
+++ b/pkgs/desktops/kde-5/applications/okular.nix
@@ -1,21 +1,31 @@
 {
-  kdeApp, lib,
-  automoc4, cmake, perl, pkgconfig, kdelibs, qimageblitz,
-  poppler_qt4, libspectre, libkexiv2, djvulibre, libtiff, freetype,
-  ebook_tools
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  djvulibre, ebook_tools, kactivities, karchive, kbookmarks, kcompletion,
+  kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdegraphics-mobipocket,
+  kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet, kwindowsystem, libkexiv2,
+  libspectre, poppler, qca-qt5, qtdeclarative, qtsvg, threadweaver
 }:
 
-kdeApp {
-  name = "okular";
-  nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
-  buildInputs = [
-    kdelibs qimageblitz poppler_qt4 libspectre libkexiv2 djvulibre libtiff
-    freetype ebook_tools
-  ];
-  meta = {
-    platforms = lib.platforms.linux;
-    homepage = "http://www.kde.org";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
-    maintainers = [ lib.maintainers.ttuegel ];
+let
+  unwrapped = kdeApp {
+    name = "okular";
+    nativeBuildInputs = [ ecm kdoctools ];
+    propagatedBuildInputs = [
+      djvulibre ebook_tools kactivities karchive kbookmarks kcompletion kconfig
+      kconfigwidgets kcoreaddons kdbusaddons kdegraphics-mobipocket kiconthemes
+      kjs khtml kio kparts kpty kwallet kwindowsystem libkexiv2 libspectre poppler
+      qca-qt5 qtdeclarative qtsvg threadweaver
+    ];
+    meta = {
+      platforms = lib.platforms.linux;
+      homepage = "http://www.kde.org";
+      license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
+      maintainers = [ lib.maintainers.ttuegel ];
+    };
   };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/okular" ];
 }
diff --git a/pkgs/desktops/kde-5/applications/spectacle.nix b/pkgs/desktops/kde-5/applications/spectacle.nix
index aa618ffcde11..4c3a5246b2e7 100644
--- a/pkgs/desktops/kde-5/applications/spectacle.nix
+++ b/pkgs/desktops/kde-5/applications/spectacle.nix
@@ -18,7 +18,8 @@ let
       ];
     };
 in
-kdeWrapper unwrapped {
+kdeWrapper {
+  inherit unwrapped;
   targets = [ "bin/spectacle" ];
   paths = [ kipi-plugins ];
 }
diff --git a/pkgs/desktops/kde-5/applications/srcs.nix b/pkgs/desktops/kde-5/applications/srcs.nix
index f6f13a2f2e5e..ae0140328511 100644
--- a/pkgs/desktops/kde-5/applications/srcs.nix
+++ b/pkgs/desktops/kde-5/applications/srcs.nix
@@ -3,2067 +3,2227 @@
 
 {
   akonadi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-16.08.3.tar.xz";
-      sha256 = "1k967l551r4kzj2hyfikr7ky8n77rhcniscw7f8a42vmdxnr5jvy";
-      name = "akonadi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-16.12.0.tar.xz";
+      sha256 = "1gqjaxq8b3mcwjm28aqc9kss4p46hga252j27vsg85pzvw58q718";
+      name = "akonadi-16.12.0.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-calendar-16.08.3.tar.xz";
-      sha256 = "1wh69vns5aw2av1hfcrz0gymqv8884xl0ss0yvcg9s478l550yj9";
-      name = "akonadi-calendar-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-calendar-16.12.0.tar.xz";
+      sha256 = "1y6yg4f9ayl0il074fln2496pfh6jdsr489yh25jjcs8wf52669h";
+      name = "akonadi-calendar-16.12.0.tar.xz";
+    };
+  };
+  akonadi-calendar-tools = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-calendar-tools-16.12.0.tar.xz";
+      sha256 = "0wwchjf2pisbj5hp9hfs8m2bhxgzkxf6c0rj8zv5p66lcl964iad";
+      name = "akonadi-calendar-tools-16.12.0.tar.xz";
+    };
+  };
+  akonadiconsole = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/akonadiconsole-16.12.0.tar.xz";
+      sha256 = "033rx5nqkwyrshacm3bykd8w2c2dffx6wfhm26l7siicaa6kani6";
+      name = "akonadiconsole-16.12.0.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-contacts-16.08.3.tar.xz";
-      sha256 = "12cdqkx7i7wahqf5zb4dxmbvzidvxw77imsjqaw0qw7jd5hnybmd";
-      name = "akonadi-contacts-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-contacts-16.12.0.tar.xz";
+      sha256 = "1imiv3w78gsk33yiwpkrfzgdlcyqwrzmjid6wwbxjh52rawjvvzc";
+      name = "akonadi-contacts-16.12.0.tar.xz";
+    };
+  };
+  akonadi-import-wizard = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-import-wizard-16.12.0.tar.xz";
+      sha256 = "1nz7ca3457cmlrvmk33hphlm3q2fq3qcq36rmandsv5n1jplfcf5";
+      name = "akonadi-import-wizard-16.12.0.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-mime-16.08.3.tar.xz";
-      sha256 = "1jlsqlfyr1rl1ny2nyccwiqzs72fi2qzim3qg4j6749y3imi8rvx";
-      name = "akonadi-mime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-mime-16.12.0.tar.xz";
+      sha256 = "06547ixg4054lm8clyfsmkmwc8zai3w9swyw7hyjz257fd0147dr";
+      name = "akonadi-mime-16.12.0.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-notes-16.08.3.tar.xz";
-      sha256 = "1fmpsqywpv4p65kdlisy5z57zba34h70djcdh3ch5rmmsxz75c0s";
-      name = "akonadi-notes-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-notes-16.12.0.tar.xz";
+      sha256 = "03cadn97fa1jkbpljk0764w8dwv5k1brm1iv554gmag0xky2a6in";
+      name = "akonadi-notes-16.12.0.tar.xz";
     };
   };
   akonadi-search = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-search-16.12.0.tar.xz";
+      sha256 = "08y7rk9i30d3kg61xfzck0a78dyrgb6jzs3w4i7rxq28z374mi2m";
+      name = "akonadi-search-16.12.0.tar.xz";
+    };
+  };
+  akregator = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-search-16.08.3.tar.xz";
-      sha256 = "1whj5vzg33nlh756n5jcw2fj6yqf7wmq4lpvsj8k7hs9gnw7vqzd";
-      name = "akonadi-search-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akregator-16.12.0.tar.xz";
+      sha256 = "0ibls40w0wad1gkdj3djmmvdd89pia3fbykqfjwrvnxslr7zfvnl";
+      name = "akregator-16.12.0.tar.xz";
     };
   };
   analitza = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/analitza-16.08.3.tar.xz";
-      sha256 = "0q9336z6468qsw1rqlifagwppwanrnpr23srqqgifwi4wh25ky7q";
-      name = "analitza-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/analitza-16.12.0.tar.xz";
+      sha256 = "1ws1whss7p5ijyaw7vs5lfvrisljk2b4m6iqbnr1v4n45cr27vrq";
+      name = "analitza-16.12.0.tar.xz";
     };
   };
   ark = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ark-16.08.3.tar.xz";
-      sha256 = "021cjgw25zryjwmbslbnm5vg5ddgl5knxvqldrwjjhkqw2pzc4y7";
-      name = "ark-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ark-16.12.0.tar.xz";
+      sha256 = "0gg84p1qaamklgvyqw5pjcdm2934srkvclrvn07jdpcf8xirn51a";
+      name = "ark-16.12.0.tar.xz";
     };
   };
   artikulate = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/artikulate-16.08.3.tar.xz";
-      sha256 = "0g5ya2cyjpnrzsccdqja1z6x5hh49a9r9m6c8408hv8bssigyvd1";
-      name = "artikulate-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/artikulate-16.12.0.tar.xz";
+      sha256 = "1ahz3kypszfc5smzdblbr47yb320p4sc28frl7b5vvbx2mj77iyi";
+      name = "artikulate-16.12.0.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/audiocd-kio-16.08.3.tar.xz";
-      sha256 = "1d7qxp6v1g9rpjfh457hzi7h67d9550wa3fm4d4xja227zqqx63q";
-      name = "audiocd-kio-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/audiocd-kio-16.12.0.tar.xz";
+      sha256 = "0hl5qiafp6yqi87qncp1kgd6178jn7bh2paz4fxyc4v92w2mzlcy";
+      name = "audiocd-kio-16.12.0.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/baloo-widgets-16.08.3.tar.xz";
-      sha256 = "04zm0jfpvnq821kcjylac7g0zlwldkvxadmrvj9qy28vh4k8wi3m";
-      name = "baloo-widgets-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/baloo-widgets-16.12.0.tar.xz";
+      sha256 = "06w0f54m9bw7640049gl10v6krdm5c0xlb6bjf61ay99mbyv7cgq";
+      name = "baloo-widgets-16.12.0.tar.xz";
     };
   };
   blinken = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/blinken-16.12.0.tar.xz";
+      sha256 = "0l3l3fjhsxm13m99mvcqgnyw0vmnjvx5akaa3nyx0mfzm1y1iw4v";
+      name = "blinken-16.12.0.tar.xz";
+    };
+  };
+  blogilo = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/blinken-16.08.3.tar.xz";
-      sha256 = "0r71s877dhf3ib3hwhfl3k3ldz671dw6ym3jjnavp2pl6h0wc6hv";
-      name = "blinken-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/blogilo-16.12.0.tar.xz";
+      sha256 = "0582dfznwvwc28zqzmbayypgy6kn2gq87q7j1y6q8m0lm017xgqy";
+      name = "blogilo-16.12.0.tar.xz";
     };
   };
   bomber = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/bomber-16.08.3.tar.xz";
-      sha256 = "1cqdv36s1y92hk9ghvm3ha67b1j7h7srv6cig6m5rvyaxpy2gw4f";
-      name = "bomber-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/bomber-16.12.0.tar.xz";
+      sha256 = "0qxs0slw4q75bhakmp7di2izi3sz9niq7v0kjincis9vc2l13dd9";
+      name = "bomber-16.12.0.tar.xz";
     };
   };
   bovo = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/bovo-16.08.3.tar.xz";
-      sha256 = "0z6ij7p0vckni0aa412ap8agcqrid98qif3c655m69hmw3arf6k9";
-      name = "bovo-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/bovo-16.12.0.tar.xz";
+      sha256 = "0cmxf4i5zpzc1lc9ggbvbd74i4ks29q915mygdam99b2bzfbq9qv";
+      name = "bovo-16.12.0.tar.xz";
     };
   };
   calendarsupport = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/calendarsupport-16.08.3.tar.xz";
-      sha256 = "1r8v1sydragkf9gcvkc9rjlm9h7mah01ayw5pg8pjaxhbfsva8ad";
-      name = "calendarsupport-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/calendarsupport-16.12.0.tar.xz";
+      sha256 = "11jz7vl8ay4fkxifpyg4vpdw7cl9m8dj6bgbmfw8nhdf8v8m9i6v";
+      name = "calendarsupport-16.12.0.tar.xz";
     };
   };
   cantor = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/cantor-16.08.3.tar.xz";
-      sha256 = "0i2sd4vp7dvqjh41rr4wv9ij1jriyj9kn69z9i0iig389gwza0n7";
-      name = "cantor-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/cantor-16.12.0.tar.xz";
+      sha256 = "0k1ps1dxilikm1qnfpd0fmbxsrqi5mrf2wyl07b67a3sfl7bzw98";
+      name = "cantor-16.12.0.tar.xz";
     };
   };
   cervisia = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/cervisia-16.08.3.tar.xz";
-      sha256 = "14p6j8nzdjn2s4v0h5yj8r3yl89sq93z7naq2bifg7nxalazbz27";
-      name = "cervisia-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/cervisia-16.12.0.tar.xz";
+      sha256 = "0c8g3l0q0inyggikqlz7spb32v26lz63ghs1m2cfjagvzisiylbg";
+      name = "cervisia-16.12.0.tar.xz";
     };
   };
   dolphin = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/dolphin-16.08.3.tar.xz";
-      sha256 = "0zqv75d06s7c59yx2w4dkr37mhafhwys4fqp44mpbf1x8yw1ijgx";
-      name = "dolphin-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/dolphin-16.12.0.tar.xz";
+      sha256 = "0dyzlpd7pj21jl4k5j6x6fbxzj7vlp7ww4z82rkld3x7kmmi4b4v";
+      name = "dolphin-16.12.0.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/dolphin-plugins-16.08.3.tar.xz";
-      sha256 = "05rdq5zgp8px9gii4wnnf3qpwnv4h5i621q72ain0mpvapzb3q4v";
-      name = "dolphin-plugins-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/dolphin-plugins-16.12.0.tar.xz";
+      sha256 = "0ab62pbvb6n47b86j1bdicahwqvcnv401872f5q08na1zybxklx3";
+      name = "dolphin-plugins-16.12.0.tar.xz";
     };
   };
   dragon = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/dragon-16.08.3.tar.xz";
-      sha256 = "0s94vnr9hz5gzgs555phwl9y9m9jw0ysimv56mh8n56f6ar9za5m";
-      name = "dragon-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/dragon-16.12.0.tar.xz";
+      sha256 = "08sasdzd22l8mdzlb0jf780qcy374qg5ngispq78vn2x8zkyk3q2";
+      name = "dragon-16.12.0.tar.xz";
     };
   };
   eventviews = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/eventviews-16.08.3.tar.xz";
-      sha256 = "1qsjmym821b7v81rxb9af30idny4zw3czzkqx3370wa6hbsma9b2";
-      name = "eventviews-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/eventviews-16.12.0.tar.xz";
+      sha256 = "048sgmr3ws48xmfp1h6zyrizyigp2qqhiz3lrwla39iblxi0l4sf";
+      name = "eventviews-16.12.0.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ffmpegthumbs-16.08.3.tar.xz";
-      sha256 = "0j9c65kl6gh3j5g5jvjjx3hb3s5hcyzy6hz1fswp2v9sihaf7jrc";
-      name = "ffmpegthumbs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ffmpegthumbs-16.12.0.tar.xz";
+      sha256 = "036py6cgkb7zismbffavk3jzjz2lzrh4jbknqrdrwli4fxsxbpi6";
+      name = "ffmpegthumbs-16.12.0.tar.xz";
     };
   };
   filelight = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/filelight-16.08.3.tar.xz";
-      sha256 = "07hc63cabv237nq38x8dnjqnfpicw6czliar0yc66k37vhdxvkjh";
-      name = "filelight-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/filelight-16.12.0.tar.xz";
+      sha256 = "05v0db9n6s3fxn31450biij0w0vf7s4bsvfbyiy3cnf33habgz4d";
+      name = "filelight-16.12.0.tar.xz";
     };
   };
-  gpgmepp = {
-    version = "16.08.3";
+  granatier = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/gpgmepp-16.08.3.tar.xz";
-      sha256 = "0sda2ib5ymyzsji2v7aqdgfy6mhhfs6s3wyngb2k3q8hshv4xi5z";
-      name = "gpgmepp-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/granatier-16.12.0.tar.xz";
+      sha256 = "1hzqqsdq7xj7ackc11yn966cnns82200ff7yc1wiazgivg39l8wj";
+      name = "granatier-16.12.0.tar.xz";
     };
   };
-  granatier = {
-    version = "16.08.3";
+  grantlee-editor = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/granatier-16.08.3.tar.xz";
-      sha256 = "07lhy7zbykhcnfyiymw6xhdpg8ng6xn0k3fca6afi16a0zk1hpnl";
-      name = "granatier-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/grantlee-editor-16.12.0.tar.xz";
+      sha256 = "049fvgyri9bqm792gyyz6qx7mrriqb3gmdbd2i8zs0x1i1lxfbn7";
+      name = "grantlee-editor-16.12.0.tar.xz";
     };
   };
   grantleetheme = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/grantleetheme-16.08.3.tar.xz";
-      sha256 = "1s2rz8ahm0dxij8v9czb1qcasp1igr20ipb4hc34y5ds9vmwrc7i";
-      name = "grantleetheme-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/grantleetheme-16.12.0.tar.xz";
+      sha256 = "07i2vidzvh9z05iz8xs08w918x7917mckfm1w5agpi4ma8iz8g4b";
+      name = "grantleetheme-16.12.0.tar.xz";
     };
   };
   gwenview = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/gwenview-16.08.3.tar.xz";
-      sha256 = "122nd5chwf6mcj3d7wz0jwz9wrzw1dk5c29nb7k8kbapsrhs27x3";
-      name = "gwenview-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/gwenview-16.12.0.tar.xz";
+      sha256 = "0pqzqfb604qfcck2jml65aya6gyjqvx8gnl047mr04yd4x65mjnn";
+      name = "gwenview-16.12.0.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/incidenceeditor-16.08.3.tar.xz";
-      sha256 = "03kfjkxmjjwb974gplqhwvjiw6cgvxziqzrn4jmk3di3nl954mxj";
-      name = "incidenceeditor-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/incidenceeditor-16.12.0.tar.xz";
+      sha256 = "1ylkxx7j2dsipcxrdj3cs142hjnz25c76q6jlpwj6p4vv7vzhvq9";
+      name = "incidenceeditor-16.12.0.tar.xz";
     };
   };
   jovie = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/jovie-16.08.3.tar.xz";
-      sha256 = "1lb3qnhdc2prrbi07gwvgx0bca2w4w5zwllp547h4lgjjc69s1mv";
-      name = "jovie-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/jovie-16.12.0.tar.xz";
+      sha256 = "0qm853z8g620klmcay955yfc76mb8ggfdx65zrhiiq5nkfaybwkr";
+      name = "jovie-16.12.0.tar.xz";
     };
   };
   juk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/juk-16.08.3.tar.xz";
-      sha256 = "1c83nm0rr6d67666pd1fynxgsxkhlfz1y3dkfm8mvxd7hx7164x3";
-      name = "juk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/juk-16.12.0.tar.xz";
+      sha256 = "05jk2gp9mcsjjdppahg3r70vjr203wf63mb5kqmdr98gfm9wfm74";
+      name = "juk-16.12.0.tar.xz";
     };
   };
   kaccessible = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kaccessible-16.08.3.tar.xz";
-      sha256 = "0p2w862dkzngmryfj46xnam50gcv516igdgs8skcj9jw19gr828q";
-      name = "kaccessible-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kaccessible-16.12.0.tar.xz";
+      sha256 = "1mh3610my9l21cq1zyjfk991q1gi6mii0z83zwq83wyi146b42mx";
+      name = "kaccessible-16.12.0.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kaccounts-integration-16.08.3.tar.xz";
-      sha256 = "03cf9nb2bxzx5kq0a94y1b1jj7ypidnpkcfbixdmkwfwwybrfm0w";
-      name = "kaccounts-integration-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kaccounts-integration-16.12.0.tar.xz";
+      sha256 = "14v3pifz0diz3dscbyl49bp4fm2ivwdwm6hhxycv69fd221wkx5x";
+      name = "kaccounts-integration-16.12.0.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kaccounts-providers-16.12.0.tar.xz";
+      sha256 = "0fiq8zkaz3jyxnphi7z2r6q8xjsqlkzzjcs51akal5dm2cp1i6px";
+      name = "kaccounts-providers-16.12.0.tar.xz";
+    };
+  };
+  kaddressbook = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kaccounts-providers-16.08.3.tar.xz";
-      sha256 = "06ccw3ncliyhjwv2mv8yxmhxl161q51k740yilbgf3lz1qywn3bz";
-      name = "kaccounts-providers-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kaddressbook-16.12.0.tar.xz";
+      sha256 = "11hnrf1cwjnjysx8wgwnkfj0vkfv7vgv4wdrllnxj5mpx8mcw3k7";
+      name = "kaddressbook-16.12.0.tar.xz";
     };
   };
   kajongg = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kajongg-16.08.3.tar.xz";
-      sha256 = "0hkc50rd8yag9dlc27fp633fn1zf0g81d605d29n96kxj03shdah";
-      name = "kajongg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kajongg-16.12.0.tar.xz";
+      sha256 = "1aymlzrw331z8ch46cwpv8x1v4j8ilhz42hzji1x06rh4s0xn5k6";
+      name = "kajongg-16.12.0.tar.xz";
+    };
+  };
+  kalarm = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kalarm-16.12.0.tar.xz";
+      sha256 = "1kbrq5d854szx6nknyx2jbzmr47xajicaqgjfg59jwbb453mdbkm";
+      name = "kalarm-16.12.0.tar.xz";
     };
   };
   kalarmcal = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kalarmcal-16.08.3.tar.xz";
-      sha256 = "06arrlsws3a3arsixd33dna2ghq4wywka3dmvgdl8g0cjrcm5c18";
-      name = "kalarmcal-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kalarmcal-16.12.0.tar.xz";
+      sha256 = "16qqk1wqyjxfjnz9jaihcj7mdn8iixvmcm1i0cjfpck0bja9sj0p";
+      name = "kalarmcal-16.12.0.tar.xz";
     };
   };
   kalgebra = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kalgebra-16.08.3.tar.xz";
-      sha256 = "0g5xqwbxmrhhxmhsi1d2sllnr9sg64pa3wrlhpwcag9l4rggl902";
-      name = "kalgebra-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kalgebra-16.12.0.tar.xz";
+      sha256 = "0av4k54cil7jl545q5m7klwvw586hcdfpnvq95bcng8is0bnfrgs";
+      name = "kalgebra-16.12.0.tar.xz";
     };
   };
   kalzium = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kalzium-16.08.3.tar.xz";
-      sha256 = "1ywhn0rmqyl9cvzg4jybhl4bvllgbaj2j0cm2pd93ssnp2ispvnp";
-      name = "kalzium-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kalzium-16.12.0.tar.xz";
+      sha256 = "03l8dbhhcqaz009g1lxqkq9mci3v0kqx03mxgfdsjq0pzf2hq1ah";
+      name = "kalzium-16.12.0.tar.xz";
     };
   };
   kamera = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kamera-16.08.3.tar.xz";
-      sha256 = "0lx0yqj0xd5878pb3nqfj0ibs3m78s1c3hx2hayny8i00nq2vm33";
-      name = "kamera-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kamera-16.12.0.tar.xz";
+      sha256 = "02q8kbkwg7w2iqn76dchyqhwmx6k2a2q3dz3pn1ah0b0ildqr93n";
+      name = "kamera-16.12.0.tar.xz";
     };
   };
   kanagram = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kanagram-16.08.3.tar.xz";
-      sha256 = "0bci8h83jww94yqv1i6xxznhi2r755fs29qxb85wmgcnff0bfmlj";
-      name = "kanagram-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kanagram-16.12.0.tar.xz";
+      sha256 = "1xsph7983qnpg0zisbrw9r18i98zdy9xrpsdhq89wz895iqrfxqn";
+      name = "kanagram-16.12.0.tar.xz";
     };
   };
   kapman = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kapman-16.08.3.tar.xz";
-      sha256 = "0fb6czdgpm19hgf3dpvj1hj7hh1zq226i00hi4qdakfwxpngxrav";
-      name = "kapman-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kapman-16.12.0.tar.xz";
+      sha256 = "1p8h6xr7na9ihgcvc63c537kd9d4zhhvhim559dbf371cpkfm40l";
+      name = "kapman-16.12.0.tar.xz";
     };
   };
   kapptemplate = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kapptemplate-16.08.3.tar.xz";
-      sha256 = "1f3zy1ffhhd3gn9pfmjf2igcka1xlik4vwmpxgb56gq5kw7y8glj";
-      name = "kapptemplate-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kapptemplate-16.12.0.tar.xz";
+      sha256 = "07sd32hkmw07afw65hi4rbzwvxasan01clag4z4smqscibz4dfr1";
+      name = "kapptemplate-16.12.0.tar.xz";
     };
   };
   kate = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kate-16.08.3.tar.xz";
-      sha256 = "0xsfak6bb7nzik6dk840xv37ys4pz58908zx76z7i4vl6yqyyjxy";
-      name = "kate-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kate-16.12.0.tar.xz";
+      sha256 = "0n769wn2ja81mzhynqab034a7644nd0dcz3digqcf7hxplcjwcrz";
+      name = "kate-16.12.0.tar.xz";
     };
   };
   katomic = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/katomic-16.08.3.tar.xz";
-      sha256 = "17q5gwd40vxamwbdrayfhayh2qbrm4i2y9hawx63dqdvc20ijj0z";
-      name = "katomic-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/katomic-16.12.0.tar.xz";
+      sha256 = "1kk7h293qcxmq8wn597xc8awnfr5pbz8gf3h6zicvcmmcl6a2v6r";
+      name = "katomic-16.12.0.tar.xz";
     };
   };
   kblackbox = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kblackbox-16.08.3.tar.xz";
-      sha256 = "0vpyclqzxafjnvlkkvg9czimqr9l610vnhlw11ia032haffq4qrf";
-      name = "kblackbox-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kblackbox-16.12.0.tar.xz";
+      sha256 = "146x0rj6408d96aw426qcs5h43xw9dash51spys0frsrgnblm7ji";
+      name = "kblackbox-16.12.0.tar.xz";
     };
   };
   kblocks = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kblocks-16.08.3.tar.xz";
-      sha256 = "1bvhs8bmz7wsc4nz4bxns7i50b2r09kbwrqfn685c39l2zv60gp0";
-      name = "kblocks-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kblocks-16.12.0.tar.xz";
+      sha256 = "0h60w4x003ypip5svbda88sxbyxxpjf6kxxfyxniv81hq5vag49d";
+      name = "kblocks-16.12.0.tar.xz";
     };
   };
   kblog = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kblog-16.08.3.tar.xz";
-      sha256 = "19mh29xirx2rb6db5wxjd6am8wjx5mz0s0qszysrm7s9njsp2sqi";
-      name = "kblog-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kblog-16.12.0.tar.xz";
+      sha256 = "1ph86xkjc42m3mysg68xwfy0d364vjqlm4wsn8yx0ag0ndr34vw2";
+      name = "kblog-16.12.0.tar.xz";
     };
   };
   kbounce = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kbounce-16.08.3.tar.xz";
-      sha256 = "0f2m8x2mi89y15hvlk9xzd2prgv4fwhal02avjz0b6swggrs8shg";
-      name = "kbounce-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kbounce-16.12.0.tar.xz";
+      sha256 = "0jr0pgdp9nmiikbrnx82ydjkh4mgv0wcqjp7fdfyh1rmcz8r02v1";
+      name = "kbounce-16.12.0.tar.xz";
     };
   };
   kbreakout = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kbreakout-16.08.3.tar.xz";
-      sha256 = "1rbyracpvvi4l9hn09k1w67cjkcnnnaqwr3maqj77mzh8wbsj1d3";
-      name = "kbreakout-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kbreakout-16.12.0.tar.xz";
+      sha256 = "0pk2hn2bzx3cdxmilsd3rbrvajv2ysipybmd5ca3q65rf8d0l727";
+      name = "kbreakout-16.12.0.tar.xz";
     };
   };
   kbruch = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kbruch-16.08.3.tar.xz";
-      sha256 = "14yvildw0aji3lrb2xfafncqkwls3jjfvcbj1hi15gp3xxxr6s4z";
-      name = "kbruch-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kbruch-16.12.0.tar.xz";
+      sha256 = "1q7zbixix29qcakixra11ffb6x2l64cxigxc9jw40hpggh9rki16";
+      name = "kbruch-16.12.0.tar.xz";
     };
   };
   kcachegrind = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcachegrind-16.08.3.tar.xz";
-      sha256 = "1rjipi3x2yl9yplyksw66hrnrnscld0fsb8zsmf692x7gprb9wjd";
-      name = "kcachegrind-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcachegrind-16.12.0.tar.xz";
+      sha256 = "0660b13vsky54lfw42nzk136a5pdhdszqr53ahfa2966ij5dswwz";
+      name = "kcachegrind-16.12.0.tar.xz";
     };
   };
   kcalc = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcalc-16.08.3.tar.xz";
-      sha256 = "05ky1kvfk6n2qhqdwg9mlm0q5096776p8gvkh2nhzlajr4klzqdz";
-      name = "kcalc-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcalc-16.12.0.tar.xz";
+      sha256 = "0vx71zv2fs0di28h1g0cvnmawjyadd7jc6z9ahf4w55ycmamxj71";
+      name = "kcalc-16.12.0.tar.xz";
     };
   };
   kcalcore = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcalcore-16.08.3.tar.xz";
-      sha256 = "024n78zj10wlr2a50gh3fshlsb1maqbix5f4i66f26j3z2d2z7gc";
-      name = "kcalcore-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcalcore-16.12.0.tar.xz";
+      sha256 = "0f86yz4jrrfvf869kppmms4l3w8xwaygjqa1wqxrrmm7wsvrysd7";
+      name = "kcalcore-16.12.0.tar.xz";
     };
   };
   kcalutils = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcalutils-16.08.3.tar.xz";
-      sha256 = "1wyq6hx1hilpk480h4c9j1hgj41s21nwcmm9b178143173p2pp5z";
-      name = "kcalutils-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcalutils-16.12.0.tar.xz";
+      sha256 = "088lbl9zgjbrhy0ahjmjn8qx8gd10171jprab7d083ny7crx27ik";
+      name = "kcalutils-16.12.0.tar.xz";
     };
   };
   kcharselect = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcharselect-16.08.3.tar.xz";
-      sha256 = "0wjwpqjck9k27xq1avz3l9ndi28kmcb05zvvf17jhsq9zmqr2lj8";
-      name = "kcharselect-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcharselect-16.12.0.tar.xz";
+      sha256 = "1pcphx845r0kjah94n1b2j7fmrrqy4kvrhiyc40wmqp12fp0km8b";
+      name = "kcharselect-16.12.0.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcolorchooser-16.08.3.tar.xz";
-      sha256 = "0dk0f2xq4s85n0v3hfhiy0b3pkjvq4wz7pwc6h91kg50mm0mgjy0";
-      name = "kcolorchooser-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcolorchooser-16.12.0.tar.xz";
+      sha256 = "0zdkpn0i53wv49ynwmkz0pd0yvh1f2fjkdgqrs8i4bslipp0411z";
+      name = "kcolorchooser-16.12.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcontacts-16.08.3.tar.xz";
-      sha256 = "01hip3p0f6br42lx89zcxmvrsqfclp0v8j7nzvrrzbdnn9x58b6w";
-      name = "kcontacts-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcontacts-16.12.0.tar.xz";
+      sha256 = "1qxxh7bqadrbq28b9fmjj748az9ir6rznn179pvlr2v32ch25vrw";
+      name = "kcontacts-16.12.0.tar.xz";
     };
   };
   kcron = {
-    version = "16.08.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcron-16.08.3.tar.xz";
-      sha256 = "16dbfil36b0kfdga118gbd1j6x7xd1x3hcc0ikhgysz8wzliaqs2";
-      name = "kcron-16.08.3.tar.xz";
-    };
-  };
-  kde-baseapps = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-baseapps-16.08.3.tar.xz";
-      sha256 = "18a2r2g5cz4s923p3369aam4qr00gsngk6nn4lk3k5a4qqavpsa7";
-      name = "kde-baseapps-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcron-16.12.0.tar.xz";
+      sha256 = "1cqx4k384kk3g48qp9vdxd46cijzdskay3a67k7jwszinjnhqgbx";
+      name = "kcron-16.12.0.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdebugsettings-16.08.3.tar.xz";
-      sha256 = "0jc4kciaq69wiankz5krfsj4lf0r88msnqcr10k1byjm50b4qnpb";
-      name = "kdebugsettings-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdebugsettings-16.12.0.tar.xz";
+      sha256 = "1nkqqcrbkwfcvnqylniqlwlay4x2ma2i7jdp0msm2yr2q743k01l";
+      name = "kdebugsettings-16.12.0.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-dev-scripts-16.08.3.tar.xz";
-      sha256 = "1g3c1wlv4rr9hxx1f6xiryswqprq1wq4lrlwx3gw3dmnpxwbnzld";
-      name = "kde-dev-scripts-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-dev-scripts-16.12.0.tar.xz";
+      sha256 = "1qadnwi4ph4hdjzfrjfqr4idw8ky4j14mc37w7r7025mdlfbj06n";
+      name = "kde-dev-scripts-16.12.0.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-dev-utils-16.08.3.tar.xz";
-      sha256 = "1zzph1la4hgjqaryhm4dggsyv4gxwd0zgg5sw23v9qvp0z0hhzqf";
-      name = "kde-dev-utils-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-dev-utils-16.12.0.tar.xz";
+      sha256 = "039i3by9hl3h6yc1bbkf4y1bx3gxclncx69mh0z4fh5h58z5vz1r";
+      name = "kde-dev-utils-16.12.0.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdeedu-data-16.08.3.tar.xz";
-      sha256 = "1c7svm52j05xxha4kb5zi81z5rgbj08cahpqwr8g7dszp5m8xals";
-      name = "kdeedu-data-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdeedu-data-16.12.0.tar.xz";
+      sha256 = "144px97jyfc258cwaqp8jw8jfnw22bnpa4p48mzxdl70p0q6maal";
+      name = "kdeedu-data-16.12.0.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdegraphics-mobipocket-16.08.3.tar.xz";
-      sha256 = "0rbinw4r0bcxmkai2hb2p8zys654jybwgxigj4337s991l5zlrvd";
-      name = "kdegraphics-mobipocket-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdegraphics-mobipocket-16.12.0.tar.xz";
+      sha256 = "1wpnijyvacajz96zaqa0185qwbg1ma5c1lvkzd1ww6h04dychfvi";
+      name = "kdegraphics-mobipocket-16.12.0.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdegraphics-thumbnailers-16.08.3.tar.xz";
-      sha256 = "1ygyhv20pyzfagkf25f6wshcvhyhamxxnrw075m11dg0hg3qlh9z";
-      name = "kdegraphics-thumbnailers-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdegraphics-thumbnailers-16.12.0.tar.xz";
+      sha256 = "1r8f1167sqnd4qd9ibgknp1w9jfbw4yr2rcyp62xi3xlp04mn9fm";
+      name = "kdegraphics-thumbnailers-16.12.0.tar.xz";
     };
   };
   kde-l10n-ar = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ar-16.08.3.tar.xz";
-      sha256 = "1ka2vq86g112gvfd4j2jl8dm8hvxjrn5cd2ddcagp3fg2rxm2si7";
-      name = "kde-l10n-ar-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ar-16.12.0.tar.xz";
+      sha256 = "1hz9bi8z3z2vgxbmsqv8vp4pi03gg6vjnxcf1jngc7jix91iqaf4";
+      name = "kde-l10n-ar-16.12.0.tar.xz";
     };
   };
   kde-l10n-ast = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ast-16.08.3.tar.xz";
-      sha256 = "02h7laxf4fsanb4scqgfrw815sj3dhvz4n17cdj8nvg4x7pydkys";
-      name = "kde-l10n-ast-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ast-16.12.0.tar.xz";
+      sha256 = "1kj0l96wz5j1s8kr5za9az62v7qgw1z9ig4m38hxb9635m2zrp59";
+      name = "kde-l10n-ast-16.12.0.tar.xz";
     };
   };
   kde-l10n-bg = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-bg-16.08.3.tar.xz";
-      sha256 = "0crhf9i43l8p0ds9v3k8ghgxrjc4c8gxwrs7afm6lmqh3lb3miz2";
-      name = "kde-l10n-bg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-bg-16.12.0.tar.xz";
+      sha256 = "0xy5icllcq56lmqrpnmyja8kycnr3njzg1adrr2dnvdhwgjm8knj";
+      name = "kde-l10n-bg-16.12.0.tar.xz";
     };
   };
   kde-l10n-bs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-bs-16.08.3.tar.xz";
-      sha256 = "1ny1pcdl0xbm40c2jlzgvlkcmy1p2l9p14n827zipbj67by8dlh0";
-      name = "kde-l10n-bs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-bs-16.12.0.tar.xz";
+      sha256 = "1wrdqcargx9qfmkmk0scwvrb1x5dqcxfba1mj44biijzxmaxy6v7";
+      name = "kde-l10n-bs-16.12.0.tar.xz";
     };
   };
   kde-l10n-ca = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ca-16.08.3.tar.xz";
-      sha256 = "044l2z3n5vn4zbj7nby22f7pg5qcv16yzbgikck6jfdahn56c0d0";
-      name = "kde-l10n-ca-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ca-16.12.0.tar.xz";
+      sha256 = "0w8k81jar52hy60cwdn5l6n3d535cyvf72rdsshs148s4hpx1naz";
+      name = "kde-l10n-ca-16.12.0.tar.xz";
     };
   };
   kde-l10n-ca_valencia = {
-    version = "ca_valencia-16.08.3";
+    version = "ca_valencia-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ca@valencia-16.08.3.tar.xz";
-      sha256 = "1agmp003bdkhc8jx5124cs8yw73ga6b12gppaqwxl8c9cgd09yai";
-      name = "kde-l10n-ca_valencia-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ca@valencia-16.12.0.tar.xz";
+      sha256 = "1raj2w8ixaxi43nh44z19xd9m2iqg5b2wrqccd8pjyip73c1la3q";
+      name = "kde-l10n-ca_valencia-16.12.0.tar.xz";
     };
   };
   kde-l10n-cs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-cs-16.08.3.tar.xz";
-      sha256 = "0li4rnpns7wvxgrg9lxzimx7lxk2cl2w0zqk9g0c8zwqrrl64d23";
-      name = "kde-l10n-cs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-cs-16.12.0.tar.xz";
+      sha256 = "143h9gkb2l5h3fm6phv07x0az5i7fzs9m53xck71wpahz1z244km";
+      name = "kde-l10n-cs-16.12.0.tar.xz";
     };
   };
   kde-l10n-da = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-da-16.08.3.tar.xz";
-      sha256 = "14cpwl8p2n0bfj2hbbm9fv1i8r20xfrp16iy9kdym5x4k80c5lzc";
-      name = "kde-l10n-da-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-da-16.12.0.tar.xz";
+      sha256 = "03p1npjikfmb3a1hgmcd14lx3x9vfvf1x3mzz25493wlwzkb5lbm";
+      name = "kde-l10n-da-16.12.0.tar.xz";
     };
   };
   kde-l10n-de = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-de-16.08.3.tar.xz";
-      sha256 = "09sq6sbli9gjfkwqmcqjscbakxbnn2czb4d3pyni3v0i7x4xgmgl";
-      name = "kde-l10n-de-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-de-16.12.0.tar.xz";
+      sha256 = "146zb25f54ig4zkmys4wq5j057k9ajfp9jyyfqmmpch33567llb6";
+      name = "kde-l10n-de-16.12.0.tar.xz";
     };
   };
   kde-l10n-el = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-el-16.08.3.tar.xz";
-      sha256 = "11vv237skajqc50dpcz0abn7xcly8a161yp56fn6zn1zdlcw4p02";
-      name = "kde-l10n-el-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-el-16.12.0.tar.xz";
+      sha256 = "0vcf8wi1wd358hs1ynyil2ahb26w9dp8snlszyhr63zbg9qwwic4";
+      name = "kde-l10n-el-16.12.0.tar.xz";
     };
   };
   kde-l10n-en_GB = {
-    version = "en_GB-16.08.3";
+    version = "en_GB-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-en_GB-16.08.3.tar.xz";
-      sha256 = "10anibggfqdp90d9jsv2n8aqk4wrgdq1pjxz60784f9bm1lq9xbx";
-      name = "kde-l10n-en_GB-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-en_GB-16.12.0.tar.xz";
+      sha256 = "1bvcgasl672xawfd8alwcindyj16j5p3cplqndw4z1pybnsmzgmk";
+      name = "kde-l10n-en_GB-16.12.0.tar.xz";
     };
   };
   kde-l10n-eo = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-eo-16.08.3.tar.xz";
-      sha256 = "15dhramx79rh6v7891fa878dikh74cx4knisrmg50ih5fgyr8rrm";
-      name = "kde-l10n-eo-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-eo-16.12.0.tar.xz";
+      sha256 = "1sln4krw8l8zm3q4h7q7rhd5lf7s7rfb6n73wybxmwypawyz0qqn";
+      name = "kde-l10n-eo-16.12.0.tar.xz";
     };
   };
   kde-l10n-es = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-es-16.08.3.tar.xz";
-      sha256 = "0zshw10drqgsdcdlzci7ghpcmww69dr5nc8i9fakg9jj4pfblkv5";
-      name = "kde-l10n-es-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-es-16.12.0.tar.xz";
+      sha256 = "1kp1ihmlkkg053bplsjbbiixp0yzidd4gidpcj9axsa74f04084w";
+      name = "kde-l10n-es-16.12.0.tar.xz";
     };
   };
   kde-l10n-et = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-et-16.08.3.tar.xz";
-      sha256 = "04g4wvpmxrcma6dhw6py8xbhpxs4rsls69y98ljigd7y518ss6qa";
-      name = "kde-l10n-et-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-et-16.12.0.tar.xz";
+      sha256 = "0w48lirqnsgk78hkiam8cc7r7h5h4mrd7b8wssvxwbknyz33jfkz";
+      name = "kde-l10n-et-16.12.0.tar.xz";
     };
   };
   kde-l10n-eu = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-eu-16.08.3.tar.xz";
-      sha256 = "1gvgmlvc2qphy16y5m9xl0v6530909jzlvxfglamdwcchcc5rhj6";
-      name = "kde-l10n-eu-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-eu-16.12.0.tar.xz";
+      sha256 = "0mpjr6yklvvfjhrssvn1m27gqs7r9jvdr0prp6yss8v00ij9i3ig";
+      name = "kde-l10n-eu-16.12.0.tar.xz";
     };
   };
   kde-l10n-fa = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-fa-16.08.3.tar.xz";
-      sha256 = "0ph0ssqjxi6g93kzg8p888s8258zdzpyaq712zcfhjcr7zx8ld32";
-      name = "kde-l10n-fa-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-fa-16.12.0.tar.xz";
+      sha256 = "167lq8fnlfhrmvivzpznmv7x82izs9jdl6w4p8dg2i3801jwi9ff";
+      name = "kde-l10n-fa-16.12.0.tar.xz";
     };
   };
   kde-l10n-fi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-fi-16.08.3.tar.xz";
-      sha256 = "0b7psgnc5mv38cx4iynacpq5q8nbvfm4fn6q9lwfj6x5h57xzd59";
-      name = "kde-l10n-fi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-fi-16.12.0.tar.xz";
+      sha256 = "19y8jrxfl0nh4dcrl7sdz8r9cyka3cjg0dp8cs84v5c10fab4w8l";
+      name = "kde-l10n-fi-16.12.0.tar.xz";
     };
   };
   kde-l10n-fr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-fr-16.08.3.tar.xz";
-      sha256 = "0q65wjjq4j1hg4bakbms2qamqqhqlchcbmy9fqc1aghbi3b871h8";
-      name = "kde-l10n-fr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-fr-16.12.0.tar.xz";
+      sha256 = "1p487x8jsihxn7lrjmssi6i3is01498szblqn84yc8bgc7pgfdly";
+      name = "kde-l10n-fr-16.12.0.tar.xz";
     };
   };
   kde-l10n-ga = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ga-16.08.3.tar.xz";
-      sha256 = "0drq7jxgdr01z75ybbalaxmr0r860f82i5ny1limnsqvmfh92p6b";
-      name = "kde-l10n-ga-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ga-16.12.0.tar.xz";
+      sha256 = "0avpkwmdac9c8n8l0ddssgmn2pk9lkn7zhs532ird8axv4i9ynk4";
+      name = "kde-l10n-ga-16.12.0.tar.xz";
     };
   };
   kde-l10n-gl = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-gl-16.08.3.tar.xz";
-      sha256 = "0y6vj77nkinii1bfw975lyhbjzvmd7r23pn29cz3l0p3bfd3yzkd";
-      name = "kde-l10n-gl-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-gl-16.12.0.tar.xz";
+      sha256 = "1qdwfxgaqbymgqwmpki3zk3d5h18fmb7n62basn2yqhbj7cdpkil";
+      name = "kde-l10n-gl-16.12.0.tar.xz";
     };
   };
   kde-l10n-he = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-he-16.08.3.tar.xz";
-      sha256 = "1q6q5rqvww1f29qfr3prd7fkxzvx7inf5wnzmla9kdnax7p9z3rs";
-      name = "kde-l10n-he-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-he-16.12.0.tar.xz";
+      sha256 = "19nkvhs7gjrcxsynraqmgvif1n5m1zmjm6j7h1zviqmwcn9zncj4";
+      name = "kde-l10n-he-16.12.0.tar.xz";
     };
   };
   kde-l10n-hi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-hi-16.08.3.tar.xz";
-      sha256 = "1qnncfg7vfw4ikcm23j1l6cmycg2m168d76h1fnznx4bdyfybblq";
-      name = "kde-l10n-hi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-hi-16.12.0.tar.xz";
+      sha256 = "1m5qlc3mf9ns7ka8kmj5c2iqaqkb68hcab13hp5y5j4i7miqpp6d";
+      name = "kde-l10n-hi-16.12.0.tar.xz";
     };
   };
   kde-l10n-hr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-hr-16.08.3.tar.xz";
-      sha256 = "1kzl6fycifrmb2lil9vifas0jcczsw0aqpr2r6fjlvbw7p2zc42n";
-      name = "kde-l10n-hr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-hr-16.12.0.tar.xz";
+      sha256 = "1lbf25apks10c1byy0z8zjsfqd7f07xzhpdrinxbpdsa69ln28k2";
+      name = "kde-l10n-hr-16.12.0.tar.xz";
     };
   };
   kde-l10n-hu = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-hu-16.08.3.tar.xz";
-      sha256 = "0kj5ivz7xw0a79rcprjp4bra90s12421ppbipvgnllc2rcixgkki";
-      name = "kde-l10n-hu-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-hu-16.12.0.tar.xz";
+      sha256 = "0m2pv1zddfflpgmvab84j19b0nb7fymslqy2pzcdx6ga9f0k37gl";
+      name = "kde-l10n-hu-16.12.0.tar.xz";
     };
   };
   kde-l10n-ia = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ia-16.08.3.tar.xz";
-      sha256 = "0cmv9jwbabaynx0wa1nhn9pgib60kg7b71ilcqhxnm5lqvws88pi";
-      name = "kde-l10n-ia-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ia-16.12.0.tar.xz";
+      sha256 = "0x6h4k29s6pqd0k6c7lv15pa6837a59g5dskfph38kjdiv8lfwvq";
+      name = "kde-l10n-ia-16.12.0.tar.xz";
     };
   };
   kde-l10n-id = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-id-16.08.3.tar.xz";
-      sha256 = "1zz3237l26fz7ca33l9dvq1b8kkdi4gdzqxqslkb10q36z2gsni1";
-      name = "kde-l10n-id-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-id-16.12.0.tar.xz";
+      sha256 = "12ysf2q9cjfmsc00p6rdwhykbwvhzq6n5j0i296506hhmvbz2n15";
+      name = "kde-l10n-id-16.12.0.tar.xz";
     };
   };
   kde-l10n-is = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-is-16.08.3.tar.xz";
-      sha256 = "1mcwg8v08dv524ahhkv3wmnmac9pf534i45za9y0wl1kkcgp8949";
-      name = "kde-l10n-is-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-is-16.12.0.tar.xz";
+      sha256 = "1042skag9p1d1x1yg0jr8a3k1qsbr65nrswvmi2bqxmv59ls60zz";
+      name = "kde-l10n-is-16.12.0.tar.xz";
     };
   };
   kde-l10n-it = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-it-16.08.3.tar.xz";
-      sha256 = "15k52l0mq7qclb4adwvcz4bngisbj476vlphqnjhnav9nj5cm84f";
-      name = "kde-l10n-it-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-it-16.12.0.tar.xz";
+      sha256 = "0q44bcan48rjngc892prgqd0nyagh0wsha47hhxb9lm5cnf8kzis";
+      name = "kde-l10n-it-16.12.0.tar.xz";
     };
   };
   kde-l10n-ja = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ja-16.08.3.tar.xz";
-      sha256 = "0p6nd7hlv6yvxi5y808wzjbidk1gpa2fj50i66lxzq3xl7rajli3";
-      name = "kde-l10n-ja-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ja-16.12.0.tar.xz";
+      sha256 = "100wlprb149vpccypw5i0f6jj3f9yb77rkifn65h8brfmiiynisa";
+      name = "kde-l10n-ja-16.12.0.tar.xz";
     };
   };
   kde-l10n-kk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-kk-16.08.3.tar.xz";
-      sha256 = "0ffnlmq2qnmcqk9h4yvl0z00x2f5yyicg1qf1jlxk9fvhbg5xpmv";
-      name = "kde-l10n-kk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-kk-16.12.0.tar.xz";
+      sha256 = "045sni4cb70r94zb3vgprplr2nnpixbdx80c7cc99m2z4dd9bk01";
+      name = "kde-l10n-kk-16.12.0.tar.xz";
     };
   };
   kde-l10n-km = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-km-16.08.3.tar.xz";
-      sha256 = "1ln9dc278sv9r99psy27m1qhbyaw6dzg3kwr11pbp517253ggj7j";
-      name = "kde-l10n-km-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-km-16.12.0.tar.xz";
+      sha256 = "025cp9xpqa1hiax5lwpbqabdcdjpkm3szcbhwf607gz51ck6l4q3";
+      name = "kde-l10n-km-16.12.0.tar.xz";
     };
   };
   kde-l10n-ko = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ko-16.08.3.tar.xz";
-      sha256 = "07lbblm4aqj7jp25clz7sil9ficrbvwpd9pvpfrz530q8y74hsjf";
-      name = "kde-l10n-ko-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ko-16.12.0.tar.xz";
+      sha256 = "1aga8cmf2mv5746b5ix6j2ims2xp7s1mmn8dksipj0inrg9bim3b";
+      name = "kde-l10n-ko-16.12.0.tar.xz";
     };
   };
   kde-l10n-lt = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-lt-16.08.3.tar.xz";
-      sha256 = "1cssd4z8dxlld61kakb6vnb5hksswl1dkr1bsxv5q622hjrp037c";
-      name = "kde-l10n-lt-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-lt-16.12.0.tar.xz";
+      sha256 = "1rf1rwq4gzpcifpki1dx8iw7yv9fdyqrkbg96pnp47lynbdkp63s";
+      name = "kde-l10n-lt-16.12.0.tar.xz";
     };
   };
   kde-l10n-lv = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-lv-16.08.3.tar.xz";
-      sha256 = "0wnrcfgm5l3ifnywz67k186g5vh0648dhmymfcz6fmqf3ipfl4h4";
-      name = "kde-l10n-lv-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-lv-16.12.0.tar.xz";
+      sha256 = "0hn4c453fj3r7bscl5zr4n42cpxxxs738fc24cz34yjcxq19fgc3";
+      name = "kde-l10n-lv-16.12.0.tar.xz";
     };
   };
   kde-l10n-mr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-mr-16.08.3.tar.xz";
-      sha256 = "0kkwpn12z1f8rs91yqh8x155nbrkwgj1z5fx4kcs1nc7xyvfpbff";
-      name = "kde-l10n-mr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-mr-16.12.0.tar.xz";
+      sha256 = "04jljwj8kk2h5bqxfcpwnmig457w8141q1ckk91nfv4927gq3im3";
+      name = "kde-l10n-mr-16.12.0.tar.xz";
     };
   };
   kde-l10n-nb = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-nb-16.08.3.tar.xz";
-      sha256 = "0070dgr1apn345a8bwgbxiz2a0andmfx54vd5pv3hgj6n9jrmq07";
-      name = "kde-l10n-nb-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-nb-16.12.0.tar.xz";
+      sha256 = "16msjakcjlg6q9lk1bslayy1gsa2s3gf0b9gy1nkw3v09df93hv6";
+      name = "kde-l10n-nb-16.12.0.tar.xz";
     };
   };
   kde-l10n-nds = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-nds-16.08.3.tar.xz";
-      sha256 = "103wfwl18fmz8h184c3qcwfyh784pfzsd2dgd000xs28pcc5kc22";
-      name = "kde-l10n-nds-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-nds-16.12.0.tar.xz";
+      sha256 = "1jfswrb3z3q39pfgv7m1jzb1nigchfdnjg26zc1wmw8n6b544yhs";
+      name = "kde-l10n-nds-16.12.0.tar.xz";
     };
   };
   kde-l10n-nl = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-nl-16.08.3.tar.xz";
-      sha256 = "1zjnzcpivcs26qp5h153jd1qr98dnr1f8347cb9iz79q41zjn21z";
-      name = "kde-l10n-nl-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-nl-16.12.0.tar.xz";
+      sha256 = "1i9z5bp76gz8w58qzmgi5b90xbfar0ypjyhmnfksdzvpgd571lmq";
+      name = "kde-l10n-nl-16.12.0.tar.xz";
     };
   };
   kde-l10n-nn = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-nn-16.08.3.tar.xz";
-      sha256 = "1lm701iml2sfzp2dz5nlh6kflp3lfbcsdlipk9wwsqnjs3zr436y";
-      name = "kde-l10n-nn-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-nn-16.12.0.tar.xz";
+      sha256 = "1fvva9p572fi05z2542pfyx3wjycld1ap1zqgzlmk6j28a3ifzcb";
+      name = "kde-l10n-nn-16.12.0.tar.xz";
     };
   };
   kde-l10n-pa = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-pa-16.08.3.tar.xz";
-      sha256 = "0j6dyfg8vw1dj226ngxd4yb2qfnj4g7c36cfmmmlfr9d8ds8xw0p";
-      name = "kde-l10n-pa-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-pa-16.12.0.tar.xz";
+      sha256 = "0dqn7bijj6k8hp20nvh79jwzz1dnkx0py125b0isvjpakslqwf3p";
+      name = "kde-l10n-pa-16.12.0.tar.xz";
     };
   };
   kde-l10n-pl = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-pl-16.08.3.tar.xz";
-      sha256 = "0nr7vxw4d0z8g51zls46r3kbm0dfbry09cpmahdpk6zlgcvlg5zz";
-      name = "kde-l10n-pl-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-pl-16.12.0.tar.xz";
+      sha256 = "1l3ja8j4pw75qzaswli8a7c0qd1ac272dblx597njcs8iqgs6y3l";
+      name = "kde-l10n-pl-16.12.0.tar.xz";
     };
   };
   kde-l10n-pt = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-pt-16.08.3.tar.xz";
-      sha256 = "0il1gwr9jl8z2lp9j7zb18x7kbzcv6p37kbww5l6xr3gc744fiaf";
-      name = "kde-l10n-pt-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-pt-16.12.0.tar.xz";
+      sha256 = "0riyk5sz63sv8cfx8s25hw5l9g0052fbbq7m8srmc79hhw4w3p5h";
+      name = "kde-l10n-pt-16.12.0.tar.xz";
     };
   };
   kde-l10n-pt_BR = {
-    version = "pt_BR-16.08.3";
+    version = "pt_BR-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-pt_BR-16.08.3.tar.xz";
-      sha256 = "0b5m5p19n6a9mclvhh5p2s6k0vjwspnal223ddc0xk34060f4ch7";
-      name = "kde-l10n-pt_BR-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-pt_BR-16.12.0.tar.xz";
+      sha256 = "0a3nhv7m5jkzsw158i5fbhlxz0p1pgn6rnzdja25v8hs3jqnzcq4";
+      name = "kde-l10n-pt_BR-16.12.0.tar.xz";
     };
   };
   kde-l10n-ro = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ro-16.08.3.tar.xz";
-      sha256 = "08nanwr2s37215kkik8issn9va65dxlam55lfabybvybw6b0s7x5";
-      name = "kde-l10n-ro-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ro-16.12.0.tar.xz";
+      sha256 = "0qs8dlcvh2366g0ifcwd7s5kg3q28bagpp8sm5zliyd79fh60mhh";
+      name = "kde-l10n-ro-16.12.0.tar.xz";
     };
   };
   kde-l10n-ru = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ru-16.08.3.tar.xz";
-      sha256 = "1xbssbm3za3y0fh02j62s94vkz1nfdl37g458h1qagyawm04vwdq";
-      name = "kde-l10n-ru-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ru-16.12.0.tar.xz";
+      sha256 = "0mk6h5fyna5qbq97mxwfihcjfg8lv7w5r1kis505ds6icym2pkzz";
+      name = "kde-l10n-ru-16.12.0.tar.xz";
     };
   };
   kde-l10n-sk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-sk-16.08.3.tar.xz";
-      sha256 = "0ixqh1xj3nqwq7nsxhk4c7d5w8n77plld4ap4brd4r188pfswvdr";
-      name = "kde-l10n-sk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-sk-16.12.0.tar.xz";
+      sha256 = "0qvgsjc9dbqfydg5zpygncpapw3df68yd1ham5d36v0c3k5161wi";
+      name = "kde-l10n-sk-16.12.0.tar.xz";
     };
   };
   kde-l10n-sl = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-sl-16.08.3.tar.xz";
-      sha256 = "0d4n5sp82jfap0cq167ybqsvyp06vla8y3clma25cyyksk9r355w";
-      name = "kde-l10n-sl-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-sl-16.12.0.tar.xz";
+      sha256 = "15lia25c9nasp6w6y1xvnnhkxb3977rdbl4zcanla7da6ma7h8yd";
+      name = "kde-l10n-sl-16.12.0.tar.xz";
     };
   };
   kde-l10n-sr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-sr-16.08.3.tar.xz";
-      sha256 = "1bb2dbkb80q2y7s9nka8x4q8cc6lqx7ddry83rp97sia1fckgn6g";
-      name = "kde-l10n-sr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-sr-16.12.0.tar.xz";
+      sha256 = "1irjpki6pnnkxdp49vw61caixfhkjgahdgx14cayb4zi16qsmn7p";
+      name = "kde-l10n-sr-16.12.0.tar.xz";
     };
   };
   kde-l10n-sv = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-sv-16.08.3.tar.xz";
-      sha256 = "1n7dj3alqf59b4n9ckhk35pw5qvlkbw70bw48b2mzsh6rm9l6njs";
-      name = "kde-l10n-sv-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-sv-16.12.0.tar.xz";
+      sha256 = "0a9jh60bz6xjq1ckyw2v67w9sdsjdlajlcbkb3jl021l8f5hywpx";
+      name = "kde-l10n-sv-16.12.0.tar.xz";
     };
   };
   kde-l10n-tr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-tr-16.08.3.tar.xz";
-      sha256 = "0k1lwngg5v4wzc8imx33q68cdva4f61jqfibjrza4sf6la69vr6p";
-      name = "kde-l10n-tr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-tr-16.12.0.tar.xz";
+      sha256 = "0i3sigwhrj36dmv2li9qqdshd3zh4p8sa9zgngfvz1942x32yi8x";
+      name = "kde-l10n-tr-16.12.0.tar.xz";
     };
   };
   kde-l10n-ug = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ug-16.08.3.tar.xz";
-      sha256 = "1xi90k2ghgz9fh3lb1l7pbnmz17bi5mvyvg7dwwm3ni7q4k696lf";
-      name = "kde-l10n-ug-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ug-16.12.0.tar.xz";
+      sha256 = "04mw7h9pyrbfvhx3mbp16czzawbqi9kn83nakysgkyy7dri1rl4g";
+      name = "kde-l10n-ug-16.12.0.tar.xz";
     };
   };
   kde-l10n-uk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-uk-16.08.3.tar.xz";
-      sha256 = "114snhzp2v6fp7glvwbjd97byzfisp94zr2ia5np5xcpfkpww9g7";
-      name = "kde-l10n-uk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-uk-16.12.0.tar.xz";
+      sha256 = "0iwzqvr677sqmgl4jdpawfnrf63k0x4xm3p29lbb2hpqnc0xmmpy";
+      name = "kde-l10n-uk-16.12.0.tar.xz";
     };
   };
   kde-l10n-wa = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-wa-16.08.3.tar.xz";
-      sha256 = "1qimv935j50sb7n7x4ga10x4zkasn9yddh1drs0k5i7r02sq8nzv";
-      name = "kde-l10n-wa-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-wa-16.12.0.tar.xz";
+      sha256 = "057kpzn50rs625ri737kjgn9zy8vxdaxmjlhk777piq5pq6id9s1";
+      name = "kde-l10n-wa-16.12.0.tar.xz";
     };
   };
   kde-l10n-zh_CN = {
-    version = "zh_CN-16.08.3";
+    version = "zh_CN-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-zh_CN-16.08.3.tar.xz";
-      sha256 = "024y7lvjkx8djwd9qmjkj3q9ri3fbnlsxcyjr5jy5yi10ccwf9v6";
-      name = "kde-l10n-zh_CN-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-zh_CN-16.12.0.tar.xz";
+      sha256 = "0313ph852wygmws225534nv2ldmd5kvky3vl5nmcwg5fryc0dq7i";
+      name = "kde-l10n-zh_CN-16.12.0.tar.xz";
     };
   };
   kde-l10n-zh_TW = {
-    version = "zh_TW-16.08.3";
+    version = "zh_TW-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-zh_TW-16.08.3.tar.xz";
-      sha256 = "1m5npa3jrsc0kn3mqkp3pagix95ialpk4fikbiq44laxn7xph5yi";
-      name = "kde-l10n-zh_TW-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-zh_TW-16.12.0.tar.xz";
+      sha256 = "0vfj5zdwrqzd34nxja8lwk93m9hiw3dzmbkaf9k5a7cpkqwnhf5s";
+      name = "kde-l10n-zh_TW-16.12.0.tar.xz";
     };
   };
   kdelibs = {
-    version = "4.14.26";
+    version = "4.14.27";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdelibs-4.14.26.tar.xz";
-      sha256 = "043asa5i30s3j1knpshhxw1a5a1alh1b5b719gdzpm1hxgn3f79r";
-      name = "kdelibs-4.14.26.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdelibs-4.14.27.tar.xz";
+      sha256 = "1cngdvkpwdwbl5b40q00h9ivnpqbnjbd7kkfvsma7rlgg7wfg7xp";
+      name = "kdelibs-4.14.27.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdenetwork-filesharing-16.08.3.tar.xz";
-      sha256 = "0zfswqxh0ng5w44hzfpsjhmnv7nf1jc3qfmfvmmlb0h1ynfdbqmy";
-      name = "kdenetwork-filesharing-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdenetwork-filesharing-16.12.0.tar.xz";
+      sha256 = "1icsranvsyvxrnlg9lm034i6xf247sqxdgcvrfqjw35rf047yp0d";
+      name = "kdenetwork-filesharing-16.12.0.tar.xz";
     };
   };
   kdenlive = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdenlive-16.08.3.tar.xz";
-      sha256 = "0s5bdb5xxjaqb7zmvm119mc7zacagglv21dd4v6sahg0mf1qvfin";
-      name = "kdenlive-16.08.3.tar.xz";
-    };
-  };
-  kdepim = {
-    version = "16.08.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdepim-16.08.3.tar.xz";
-      sha256 = "1l0rvi33i9hzr9c3nqzbr3cnz046ccf7s3v54mdmxfdk5x0ynkms";
-      name = "kdepim-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdenlive-16.12.0.tar.xz";
+      sha256 = "1qsnjya1sppn5dfx8lanxqpgakd5jgi7677wq7vvyz3v9i47zvmc";
+      name = "kdenlive-16.12.0.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdepim-addons-16.08.3.tar.xz";
-      sha256 = "0ddhya9f6hbdakdna4hnbwiwvc1ar95jgxhr36hf6s37bxh7755l";
-      name = "kdepim-addons-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdepim-addons-16.12.0.tar.xz";
+      sha256 = "1a063qxmal8n5rd2a6v05zml61l52sm33574vqxybh1bnx2dpq58";
+      name = "kdepim-addons-16.12.0.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdepim-apps-libs-16.08.3.tar.xz";
-      sha256 = "1ygdmv30pzrgv3f222nv52mvc83ags9dvwl2ma4l8frb13xb1r15";
-      name = "kdepim-apps-libs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdepim-apps-libs-16.12.0.tar.xz";
+      sha256 = "1zm2mnwsxk4c58dbx3ln26mz89f1d20vywiljczfzpn99rg4cvvi";
+      name = "kdepim-apps-libs-16.12.0.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdepim-runtime-16.08.3.tar.xz";
-      sha256 = "1q7d2c1rjli5dl162zibzhmg2q4hxxlqjp7r78amq90vhv975kc6";
-      name = "kdepim-runtime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdepim-runtime-16.12.0.tar.xz";
+      sha256 = "0vkmjh0l5yzpd9rmnyc2cchwpk9ccyk79g2ii5qg6xxr46r1vmfs";
+      name = "kdepim-runtime-16.12.0.tar.xz";
     };
   };
   kde-runtime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-runtime-16.08.3.tar.xz";
-      sha256 = "1g5ni75byraf9268p0n74i81zb46agp9ac243m8jfzh8vdm2q5kk";
-      name = "kde-runtime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-runtime-16.12.0.tar.xz";
+      sha256 = "1vs5q063li8jj56vwyy3wh6hfabf0xhmp6ag9mc2ns8kwcia1m6x";
+      name = "kde-runtime-16.12.0.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdesdk-kioslaves-16.08.3.tar.xz";
-      sha256 = "12q015nm9qfcscsvqrkibj1cfh651890k982sbqqdn0dm5932lnj";
-      name = "kdesdk-kioslaves-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdesdk-kioslaves-16.12.0.tar.xz";
+      sha256 = "19jbw3w8mg20m3f96s9bnw0wg28zxq2kgq0fs9c5rbjr8alxlyz2";
+      name = "kdesdk-kioslaves-16.12.0.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kdesdk-thumbnailers-16.12.0.tar.xz";
+      sha256 = "1syzfdffggs3hidykmg9y6l4nzh7wbqs4ah9vih8cgs0qr2hml9s";
+      name = "kdesdk-thumbnailers-16.12.0.tar.xz";
+    };
+  };
+  kdf = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdesdk-thumbnailers-16.08.3.tar.xz";
-      sha256 = "1dy4566pdx890n60sn5v7hms2prjh674pm6gbxg1il4i4qcpfv4z";
-      name = "kdesdk-thumbnailers-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdf-16.12.0.tar.xz";
+      sha256 = "0shwr55nrjgzm6cb2cdglvkkmknppd4yl0arn38w5a56sacsczcc";
+      name = "kdf-16.12.0.tar.xz";
     };
   };
-  kdewebdev = {
-    version = "16.08.3";
+  kdialog = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdewebdev-16.08.3.tar.xz";
-      sha256 = "0r9qsm3idfhm7aglik7whzcwjjn572gwmlcgxy2cvpn15nqa344l";
-      name = "kdewebdev-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdialog-16.12.0.tar.xz";
+      sha256 = "0p6bf557k5ycmfaz7jrc65fp4j104c2cbv0ibamkyfrlpp1d0i1c";
+      name = "kdialog-16.12.0.tar.xz";
     };
   };
-  kdf = {
-    version = "16.08.3";
+  kdiamond = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdf-16.08.3.tar.xz";
-      sha256 = "1fkjmdwp5pnlvz2mac4zq93wnb6jj4ymj4448qbhxypncrh6sym3";
-      name = "kdf-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdiamond-16.12.0.tar.xz";
+      sha256 = "1v0k23m74hiwr3a679h4wpc1w3m6y5mnjqc66pd9m94rshz8i8k6";
+      name = "kdiamond-16.12.0.tar.xz";
     };
   };
-  kdgantt2 = {
-    version = "16.08.3";
+  keditbookmarks = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdgantt2-16.08.3.tar.xz";
-      sha256 = "01p3cqqhghvx42mrmxkrsm7cp23972gi86sagjw070scw71fpv0c";
-      name = "kdgantt2-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/keditbookmarks-16.12.0.tar.xz";
+      sha256 = "1pw2snbdrndx42vxw51vss7mf52v6ys9jmkg7j6bkwp90dnlly1v";
+      name = "keditbookmarks-16.12.0.tar.xz";
     };
   };
-  kdiamond = {
-    version = "16.08.3";
+  kfilereplace = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdiamond-16.08.3.tar.xz";
-      sha256 = "035m2911zbkvhydihaqbgwl7vs8z03hcsq8ph7wvnsdvd1f895ib";
-      name = "kdiamond-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kfilereplace-16.12.0.tar.xz";
+      sha256 = "0bcn07p1iq44pry0q771vadpi9gm9p2icbn8q5fympxf2y9smmqx";
+      name = "kfilereplace-16.12.0.tar.xz";
+    };
+  };
+  kfind = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kfind-16.12.0.tar.xz";
+      sha256 = "0i2sjcw3ah35x3w7cvhrpzrv5khwax6nazbqbwzgvfa0gwc9y8ki";
+      name = "kfind-16.12.0.tar.xz";
     };
   };
   kfloppy = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kfloppy-16.08.3.tar.xz";
-      sha256 = "14y9a8nq2cdaj5r6xdqwfm6fa8w3wbx80hrps2bkxyx696hc1lkl";
-      name = "kfloppy-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kfloppy-16.12.0.tar.xz";
+      sha256 = "0awcayd1hffdv7dybbrv2m38q33yl26g4bs9z1yib7h4iilky3lz";
+      name = "kfloppy-16.12.0.tar.xz";
     };
   };
   kfourinline = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kfourinline-16.08.3.tar.xz";
-      sha256 = "04wpswi9c7c79g4sz6cr7jrdmdfwwqr2p8kd0zs2snygcr4h3fcq";
-      name = "kfourinline-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kfourinline-16.12.0.tar.xz";
+      sha256 = "18l218fww9y3msmx28j42xyvgyvngj2bhdx05ji8q9x40phq8dby";
+      name = "kfourinline-16.12.0.tar.xz";
     };
   };
   kgeography = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kgeography-16.08.3.tar.xz";
-      sha256 = "09hsihvvdzbr1dz8zlwy7nyjk87pl7f714k3k3b0b0wpx9swxkq0";
-      name = "kgeography-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kgeography-16.12.0.tar.xz";
+      sha256 = "1zcw344y2xrz2h9f37kvk0fl4c9rm5xcahqc3hranm922ki0c8v4";
+      name = "kgeography-16.12.0.tar.xz";
     };
   };
   kget = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kget-16.08.3.tar.xz";
-      sha256 = "1709if0yqp0axy88v56zrchirkcjgl8q38qf0zbfng0bbbszik61";
-      name = "kget-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kget-16.12.0.tar.xz";
+      sha256 = "125b4knvng34cj99g45590d9ci5s0f1y3m223rxvzmn5sds2vp1k";
+      name = "kget-16.12.0.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kgoldrunner-16.08.3.tar.xz";
-      sha256 = "03g3j1zrq3513jijnl3ih61xkpxl4mqy6mjmilq5cs745bmzkad4";
-      name = "kgoldrunner-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kgoldrunner-16.12.0.tar.xz";
+      sha256 = "155smz222s38ib0rrfcsfg0vi4l0iksawagwmxvnr1h51s80l5pz";
+      name = "kgoldrunner-16.12.0.tar.xz";
     };
   };
   kgpg = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kgpg-16.08.3.tar.xz";
-      sha256 = "17kr13lvicv4lrl4ls4l66xh35xz60nrszwagb0qk34wcgzc090p";
-      name = "kgpg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kgpg-16.12.0.tar.xz";
+      sha256 = "1jn51r4f2ixwp4qfx635jy017gls0aaz0638kfz8404zj4l523qs";
+      name = "kgpg-16.12.0.tar.xz";
     };
   };
   khangman = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/khangman-16.08.3.tar.xz";
-      sha256 = "1ipkp003pp6z783qb7fzhky3kn4ccmlqijxysk7ccbsr9myfvdyk";
-      name = "khangman-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/khangman-16.12.0.tar.xz";
+      sha256 = "0827754548bxbhqgfykb7n97hxjszf8azrz2vi6l0vsd080q0kvf";
+      name = "khangman-16.12.0.tar.xz";
     };
   };
   khelpcenter = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/khelpcenter-16.08.3.tar.xz";
-      sha256 = "13vzqjaqqzi46c9gmijhbq1i3fmk3pbkkg26mn3745m2xc6j2cvi";
-      name = "khelpcenter-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/khelpcenter-16.12.0.tar.xz";
+      sha256 = "015s3yj0ppba8b90h0fwwra3xqz2b21n701zd4q40rqfjhkh9p0j";
+      name = "khelpcenter-16.12.0.tar.xz";
     };
   };
   kholidays = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kholidays-16.08.3.tar.xz";
-      sha256 = "0hxb2c526vw8rvfp14snvwihsqvr1l30vnzhxznl3dhm44lmvdn9";
-      name = "kholidays-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kholidays-16.12.0.tar.xz";
+      sha256 = "0rimmd74ls77zzmk00dxs17b9h4vj3382hiz2cl5pgf834s0ljgn";
+      name = "kholidays-16.12.0.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kidentitymanagement-16.08.3.tar.xz";
-      sha256 = "0vv1y0mwxlb4g5a01jgi1nizw530w0fhy0kab6syxzgmnibj6vsf";
-      name = "kidentitymanagement-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kidentitymanagement-16.12.0.tar.xz";
+      sha256 = "0z559af17qjcr7s2nsr0v4yvqn69svkzcqis99x329kbhza1208k";
+      name = "kidentitymanagement-16.12.0.tar.xz";
     };
   };
   kig = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kig-16.08.3.tar.xz";
-      sha256 = "1ln2i322ara79f90rwrcv5xfa0cnkksyhj25h2xn9x7d5ig4by96";
-      name = "kig-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kig-16.12.0.tar.xz";
+      sha256 = "10svcqid4rzhq8vb4bbxhnp1dlyl4fd8w18blxvqan0qiv43332x";
+      name = "kig-16.12.0.tar.xz";
     };
   };
   kigo = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kigo-16.08.3.tar.xz";
-      sha256 = "0vz7329i8pfax9nxb7xc0yws4f3mn4ms93358wvhyblbma4zaf4l";
-      name = "kigo-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kigo-16.12.0.tar.xz";
+      sha256 = "033jbyck21qzm9r9j7q012rbkr0bk0n2prjb70lk38wsb2ghvziw";
+      name = "kigo-16.12.0.tar.xz";
     };
   };
   killbots = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/killbots-16.12.0.tar.xz";
+      sha256 = "0079fsh5yld69a3lq4ibbyhlr6kk7j2x0wylnk00jq0m886jqi4j";
+      name = "killbots-16.12.0.tar.xz";
+    };
+  };
+  kimagemapeditor = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/killbots-16.08.3.tar.xz";
-      sha256 = "08f9gvvy3sx7ibikgxzjawfzzznfig8dfmgmfczj56fys7rvh2y5";
-      name = "killbots-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kimagemapeditor-16.12.0.tar.xz";
+      sha256 = "1p7r9k7xrvnab83sljlgjlncdpv3z1fxskyzsihdzb3qw1da5sg9";
+      name = "kimagemapeditor-16.12.0.tar.xz";
     };
   };
   kimap = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kimap-16.08.3.tar.xz";
-      sha256 = "03nl3q8cv92jpdgdg8pfhwzwlkqpcpz13p6p4q47vvmgglp63qnw";
-      name = "kimap-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kimap-16.12.0.tar.xz";
+      sha256 = "1sm3ifnl80wmzbxz9ybsj4xl224mg5sn43ja29sf7m0syyypfc9n";
+      name = "kimap-16.12.0.tar.xz";
     };
   };
   kio-extras = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kio-extras-16.08.3.tar.xz";
-      sha256 = "1rd5ks73vqf6x4rs0qjsy0ipl6lgxgwqbwmcxar5m50b5jksl4xk";
-      name = "kio-extras-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kio-extras-16.12.0.tar.xz";
+      sha256 = "0g4xxzqbv5bi1msqp1vhkq04815dz4zflnlsgyimihi74mdawd3x";
+      name = "kio-extras-16.12.0.tar.xz";
     };
   };
   kiriki = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kiriki-16.08.3.tar.xz";
-      sha256 = "0n37mmkq1jmdh3jlrjzmb88cnbnwzcjbp2dy6mz4f5iliv9ws54v";
-      name = "kiriki-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kiriki-16.12.0.tar.xz";
+      sha256 = "034fgl0qvslzyk04gnr68gcvlvynfim8bn0plgz5vd0k5w9n67kc";
+      name = "kiriki-16.12.0.tar.xz";
     };
   };
   kiten = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kiten-16.08.3.tar.xz";
-      sha256 = "0qds7c62jsgf5lyx2sjhw5xxxq7qh35ccpvpc7l004g4blwb7mna";
-      name = "kiten-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kiten-16.12.0.tar.xz";
+      sha256 = "1s6qpzficpfm0zxs8g80xyly7wflxfxwjpr0avsn6ydzz0yj4vc7";
+      name = "kiten-16.12.0.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kjumpingcube-16.08.3.tar.xz";
-      sha256 = "1lv6irlvfpbpbhk3vazv07frwz3y7084y3hirdjb2xih8gbsljrm";
-      name = "kjumpingcube-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kjumpingcube-16.12.0.tar.xz";
+      sha256 = "0japldhq8a7rfmzhlyk057iab9xnzwy1ahsp8fbdqh5xgp7yc0sq";
+      name = "kjumpingcube-16.12.0.tar.xz";
     };
   };
   kldap = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kldap-16.08.3.tar.xz";
-      sha256 = "1h4czdxw0p4lakx0j0pf2v13ny5lnc56jhhjjb9ddm44b50fg4vg";
-      name = "kldap-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kldap-16.12.0.tar.xz";
+      sha256 = "1xz46h39clz5pqlhqfmvdiw67i7dknng5jk9907vjzp84rck8qmr";
+      name = "kldap-16.12.0.tar.xz";
     };
   };
   kleopatra = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kleopatra-16.08.3.tar.xz";
-      sha256 = "0ncr4sc6qs50n1w85gf350iq9l28665is53jzbm288151zanp4dd";
-      name = "kleopatra-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kleopatra-16.12.0.tar.xz";
+      sha256 = "0g5crp2vwvl0bfb95ym3wj3z39vy1bzcdcqw77pw4l1k9jd334sk";
+      name = "kleopatra-16.12.0.tar.xz";
     };
   };
   klettres = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/klettres-16.08.3.tar.xz";
-      sha256 = "14m1k0y1lbkqrpwnjx8020d23fmpgq0jg97hr4q8fzs4h71lpyr7";
-      name = "klettres-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/klettres-16.12.0.tar.xz";
+      sha256 = "1gggmllh4j5178gasc9qzbk7l453nsgmnp3gq18iymcrvjbm5r1k";
+      name = "klettres-16.12.0.tar.xz";
     };
   };
   klickety = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/klickety-16.08.3.tar.xz";
-      sha256 = "0izkwi0h2mc204wsmyg5hspnnc3xa8ypdzbw1rwgsd8nxv3sphbv";
-      name = "klickety-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/klickety-16.12.0.tar.xz";
+      sha256 = "0xznghprfy7fl2b84dhf7yrcqwj7aa6dxyzani7q0vms6680vjrd";
+      name = "klickety-16.12.0.tar.xz";
     };
   };
   klines = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/klines-16.12.0.tar.xz";
+      sha256 = "086d9cak6vx7paygl2b2vim22gnpcq290agx62z98gy4a4r0aq3x";
+      name = "klines-16.12.0.tar.xz";
+    };
+  };
+  klinkstatus = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/klines-16.08.3.tar.xz";
-      sha256 = "0p1pbljqp01g9ssih5aplsi97aszc68smkpilbazxfvwc4q3x1ag";
-      name = "klines-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/klinkstatus-16.12.0.tar.xz";
+      sha256 = "1xr5mzhrs3jsp13587n0r3mr9z5j2fc7qr4z7c9c4za2v0qp83h7";
+      name = "klinkstatus-16.12.0.tar.xz";
     };
   };
   kmag = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmag-16.08.3.tar.xz";
-      sha256 = "0ph7zf1awj47wzvp5dq80rvx0himrk6s8qhmnjvgpm0nqyfv7xh0";
-      name = "kmag-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmag-16.12.0.tar.xz";
+      sha256 = "1aihng2ippkavrlsrf9l3klpwkyql3lyy44x81ibmaw6xaa9zgjs";
+      name = "kmag-16.12.0.tar.xz";
     };
   };
   kmahjongg = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kmahjongg-16.12.0.tar.xz";
+      sha256 = "1lv95cjsc0ahnxij1y7b2pdihvkcnmbq6385rlxwqmqjp2mprga7";
+      name = "kmahjongg-16.12.0.tar.xz";
+    };
+  };
+  kmail = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kmail-16.12.0.tar.xz";
+      sha256 = "0nydggfk2jndj6f7vn9far29z9n5zrmdfcfmfh7pbq5qhgdaxrzf";
+      name = "kmail-16.12.0.tar.xz";
+    };
+  };
+  kmail-account-wizard = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmahjongg-16.08.3.tar.xz";
-      sha256 = "0fxkbq1p174lppklvi5lzmgi3g7411nhi33fsmdmwyxbngrm4yih";
-      name = "kmahjongg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmail-account-wizard-16.12.0.tar.xz";
+      sha256 = "151ixamq9910pw8q8phn3crhc250khagrimfhsg721kcl0k0ajzs";
+      name = "kmail-account-wizard-16.12.0.tar.xz";
     };
   };
   kmailtransport = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmailtransport-16.08.3.tar.xz";
-      sha256 = "08xi04xr7mjg8m2bnp42ymvn9ynv4q8y3dnql1v4225pjzmp6bkg";
-      name = "kmailtransport-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmailtransport-16.12.0.tar.xz";
+      sha256 = "0hm797zk8lcq3icyddh46snx0f1n35j9vx7qg7zy77lfs9xrhh6n";
+      name = "kmailtransport-16.12.0.tar.xz";
     };
   };
   kmbox = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmbox-16.08.3.tar.xz";
-      sha256 = "0iaqq4mrfj4qqaj76i7crjriyjsk3h6rf3cisygvkkfyyb69nz17";
-      name = "kmbox-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmbox-16.12.0.tar.xz";
+      sha256 = "0xmib0fpardw9f5f61mhmj04qlhh0nkq9cdp0z374r6mar29q2dj";
+      name = "kmbox-16.12.0.tar.xz";
     };
   };
   kmime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmime-16.08.3.tar.xz";
-      sha256 = "0j9nfsmfl1sw9hz3al9smxri1hr58ygmyxawlr91iyglzswxaakb";
-      name = "kmime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmime-16.12.0.tar.xz";
+      sha256 = "0rk6ggpa1iqc6vvkx1w7v68pngxfa0xailgd0rfkb7rxvbv9zvhs";
+      name = "kmime-16.12.0.tar.xz";
     };
   };
   kmines = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmines-16.08.3.tar.xz";
-      sha256 = "0rnjdds4skxj9pxajfnybki4ikq99k5myaw80qk5dc08gnrmw4fz";
-      name = "kmines-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmines-16.12.0.tar.xz";
+      sha256 = "0j15c9valn6zi0siig132ck0jl3ccq8mwi87jmv01lk3wk8wf70n";
+      name = "kmines-16.12.0.tar.xz";
     };
   };
   kmix = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmix-16.08.3.tar.xz";
-      sha256 = "1p3gcll4ywwxwphygrwqrp1565va52q8nnccyxisd3h833lqfk3k";
-      name = "kmix-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmix-16.12.0.tar.xz";
+      sha256 = "0q0x0azd6qaa9fqcf4bl9q05fggb1amqdn3y4fj6y4fmybzwy2lk";
+      name = "kmix-16.12.0.tar.xz";
     };
   };
   kmousetool = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmousetool-16.08.3.tar.xz";
-      sha256 = "1iihk8jcysz49q3a5nnn0s468yca1x7chwqpvqqr694fn3wizkfg";
-      name = "kmousetool-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmousetool-16.12.0.tar.xz";
+      sha256 = "08h0jpwf16xxrxijlg1lhlsixmfm8k6kby6z8m47ixd1pfj0dkxa";
+      name = "kmousetool-16.12.0.tar.xz";
     };
   };
   kmouth = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmouth-16.08.3.tar.xz";
-      sha256 = "1km072jnp5cc3ib4ja0lxd29pspi9wyhbp8bgcph5m33kw2n3cbq";
-      name = "kmouth-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmouth-16.12.0.tar.xz";
+      sha256 = "1nvxd3kykb0a1kr3pk8rs4imrnv2x2cqvyg4rdj2vzrxszckcirp";
+      name = "kmouth-16.12.0.tar.xz";
     };
   };
   kmplot = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmplot-16.08.3.tar.xz";
-      sha256 = "0lv2jfg6klm3z9mpp298g1d7vxff5hdaj332pzblvp2m51sbhrdv";
-      name = "kmplot-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmplot-16.12.0.tar.xz";
+      sha256 = "1wdx63cv0qyccfgr7zbp1myfyfd2prk8jfq60n240rv0ji1r7ah8";
+      name = "kmplot-16.12.0.tar.xz";
     };
   };
   knavalbattle = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/knavalbattle-16.08.3.tar.xz";
-      sha256 = "1kjndhwc4l4rspygaxdr8dj9s9rj8ayq1k0z7r8v5qz2355farc8";
-      name = "knavalbattle-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/knavalbattle-16.12.0.tar.xz";
+      sha256 = "0wyxxhgrmn7fyh3mmanpi7ki59zlrvhwyqpjya6dxysa8v7f6bda";
+      name = "knavalbattle-16.12.0.tar.xz";
     };
   };
   knetwalk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/knetwalk-16.08.3.tar.xz";
-      sha256 = "18l80ffcavy9q7sj396qj4xw1yghljl24762ygd9q0kmmanw4h8y";
-      name = "knetwalk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/knetwalk-16.12.0.tar.xz";
+      sha256 = "1xbrzp8qhvnnx85zx5gkbkv5babkgm1zzlrrjbpbgghvqz71g36h";
+      name = "knetwalk-16.12.0.tar.xz";
+    };
+  };
+  knotes = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/knotes-16.12.0.tar.xz";
+      sha256 = "0rsl0d25i771r96lmp1bpq7g46jdk1jkfml0f10s3h940y73fyax";
+      name = "knotes-16.12.0.tar.xz";
     };
   };
   kolf = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kolf-16.08.3.tar.xz";
-      sha256 = "15gggr983pcz44q44m1yvkbyp5kwbmpyx3ijb2yxx1bvn4d5bp85";
-      name = "kolf-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kolf-16.12.0.tar.xz";
+      sha256 = "12dyfv9zsh3vacakh1yh037ma4n43lqhhqcqns4cimxwqzhdmwz5";
+      name = "kolf-16.12.0.tar.xz";
     };
   };
   kollision = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kollision-16.08.3.tar.xz";
-      sha256 = "18kvvl87ykkrhjikq53rgj53ap73x2wld6b4aryd4jrwmj5wby39";
-      name = "kollision-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kollision-16.12.0.tar.xz";
+      sha256 = "0rb83c0ab6hf6y41ll5wp41gkv05jzk4gjjb9z0iy8vbl0zgfy8b";
+      name = "kollision-16.12.0.tar.xz";
     };
   };
   kolourpaint = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kolourpaint-16.12.0.tar.xz";
+      sha256 = "0xapdx2h1ki3lmw6413d4zi6d23ag4cqbhnf8ndk49rk3nal8mlf";
+      name = "kolourpaint-16.12.0.tar.xz";
+    };
+  };
+  kommander = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kolourpaint-16.08.3.tar.xz";
-      sha256 = "0igv18nrhwhylvm7nr4mfvyp2bpcgn6c3r8r61rrsl908qmv4byv";
-      name = "kolourpaint-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kommander-16.12.0.tar.xz";
+      sha256 = "03qx7s45dmbbz4yp3d5d0l70ihr5kw08xywirpgdn78gbrzgz5rm";
+      name = "kommander-16.12.0.tar.xz";
     };
   };
   kompare = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kompare-16.12.0.tar.xz";
+      sha256 = "0yxnc7w7zzbra9n7hwv3mccxivivj9dzv8d2va110cm1h7gx5v06";
+      name = "kompare-16.12.0.tar.xz";
+    };
+  };
+  konqueror = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kompare-16.08.3.tar.xz";
-      sha256 = "1ji33dhbak38w0b9dlrv1v4kh5lyp5pm2v77v0lka71l75cvc7g7";
-      name = "kompare-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/konqueror-16.12.0.tar.xz";
+      sha256 = "18xc0d8hryi6c80ka93n83wlyb208mk8yxvxcx5b0b76yhz642d2";
+      name = "konqueror-16.12.0.tar.xz";
     };
   };
   konquest = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/konquest-16.08.3.tar.xz";
-      sha256 = "1b8fx5k6fncw82d6i8kc07qk2k4y4fwdvwlqn2pxdixp3fk1fj12";
-      name = "konquest-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/konquest-16.12.0.tar.xz";
+      sha256 = "0811a1649hqavgix8y7b3ngcngpxnz1gf6nf5ljydf5nlja612ai";
+      name = "konquest-16.12.0.tar.xz";
     };
   };
   konsole = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/konsole-16.08.3.tar.xz";
-      sha256 = "09s8y3w2mrifpl9pfjrzf0q5fgfcdph0s8x85y7262mikwvqfx36";
-      name = "konsole-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/konsole-16.12.0.tar.xz";
+      sha256 = "125arsfrzh9103gpw67pb4h63zjmn4653rnqm17hvcdpibs5x7lk";
+      name = "konsole-16.12.0.tar.xz";
+    };
+  };
+  kontact = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kontact-16.12.0.tar.xz";
+      sha256 = "1ym07xfmyy60h2hf575gllhhprgx3n9q5mqqj3z444ipd5z73jhx";
+      name = "kontact-16.12.0.tar.xz";
     };
   };
   kontactinterface = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kontactinterface-16.08.3.tar.xz";
-      sha256 = "1kw04ixc6blmygi3wyyk8a3qnyd0a9d85r2jql3mzhz5gczik7b8";
-      name = "kontactinterface-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kontactinterface-16.12.0.tar.xz";
+      sha256 = "16gw9sq1s9szw9zh1dp025qqj2al6yqf5c1yqkvp94y6kgw901gi";
+      name = "kontactinterface-16.12.0.tar.xz";
     };
   };
   kopete = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kopete-16.12.0.tar.xz";
+      sha256 = "1297ixqq2g5kqvyap2md5y0nm11027sjffq47m99yrxvsb3z5v60";
+      name = "kopete-16.12.0.tar.xz";
+    };
+  };
+  korganizer = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kopete-16.08.3.tar.xz";
-      sha256 = "0ia43yqmb802nqjlklgpyqy5pnkp9mlr7hhic0lmgvr0jyid43pz";
-      name = "kopete-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/korganizer-16.12.0.tar.xz";
+      sha256 = "1xfgklw266zv83d57g1q9yqkzwlr06bf5gg76ac9qfn6fczc5qs7";
+      name = "korganizer-16.12.0.tar.xz";
     };
   };
   kpat = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kpat-16.08.3.tar.xz";
-      sha256 = "1jb7a5ii8qvaqvivbd0hn2vxn9l9s83ahrx8idnlhqj1yriyhyqa";
-      name = "kpat-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kpat-16.12.0.tar.xz";
+      sha256 = "00kwpv1zhrj428qbi38fcd87bzkdvq79jcj2z2wlxf496kdr73z3";
+      name = "kpat-16.12.0.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kpimtextedit-16.08.3.tar.xz";
-      sha256 = "0bkf43i7wdyign63gwz2215dr66zfpy43f8pszif5jqzlnc84kba";
-      name = "kpimtextedit-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kpimtextedit-16.12.0.tar.xz";
+      sha256 = "1yj3ihl3r04av6bcw6g574ix5xq3vy7xn1bxf5lldxcs0d56485h";
+      name = "kpimtextedit-16.12.0.tar.xz";
     };
   };
   kppp = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kppp-16.08.3.tar.xz";
-      sha256 = "04pszpig2dyvrprfkalxhfad3d9v5sl8sjb3r403wmvd701xbknh";
-      name = "kppp-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kppp-16.12.0.tar.xz";
+      sha256 = "1s760apss671855cc35r52vyrh1n65miibsr9x66fssy2dixbm8a";
+      name = "kppp-16.12.0.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kqtquickcharts-16.08.3.tar.xz";
-      sha256 = "1kdd0n6a8v4paya9xw8si8c60k448mrgwz163qa3w54ylxmh2xqb";
-      name = "kqtquickcharts-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kqtquickcharts-16.12.0.tar.xz";
+      sha256 = "170490rl9j73zw4679p5l08rxg4x9agc2xvig029maarkbymy46i";
+      name = "kqtquickcharts-16.12.0.tar.xz";
     };
   };
   krdc = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/krdc-16.08.3.tar.xz";
-      sha256 = "00kvijidg387wp1wv8brhdbhc3daa06n2k2vn0cfyh18s815mwbs";
-      name = "krdc-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/krdc-16.12.0.tar.xz";
+      sha256 = "1n0wwb16kfhzsqxj0d1y5ms6k7i568aggrip27l8hgj3bnp1lfv9";
+      name = "krdc-16.12.0.tar.xz";
     };
   };
   kremotecontrol = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kremotecontrol-16.08.3.tar.xz";
-      sha256 = "0h2cjc10s876clsap93blmgbv75vxkjlpkns7n14420mz45j7aga";
-      name = "kremotecontrol-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kremotecontrol-16.12.0.tar.xz";
+      sha256 = "1h2znx0vqa9i4qg4b6mdlg4i5pzif266f81wa3kkh2zqw6qiyd77";
+      name = "kremotecontrol-16.12.0.tar.xz";
     };
   };
   kreversi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kreversi-16.08.3.tar.xz";
-      sha256 = "0dpk6jnn6sqqn8xagy3dsvf6c4irir0l8pfp3xjr3s6hx3jbgqn9";
-      name = "kreversi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kreversi-16.12.0.tar.xz";
+      sha256 = "01z4nwnpcbgd7y1xilwbjc803hqgzp3x89sif6zhkmcrvh17wzsd";
+      name = "kreversi-16.12.0.tar.xz";
     };
   };
   krfb = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/krfb-16.08.3.tar.xz";
-      sha256 = "0kgm1wpxnjr79w2mqq6q5mg2ajzlim9c83030jdzqd5dr1y8gvdl";
-      name = "krfb-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/krfb-16.12.0.tar.xz";
+      sha256 = "0mdi6v4ijibr4cm0gsr5jid4qd1wi5i6bccqn1ii4v2v59pnrzyw";
+      name = "krfb-16.12.0.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kross-interpreters-16.08.3.tar.xz";
-      sha256 = "1629b9ihg3g5d0p5a0f7igfsmwn45jlsy7gqbdmrwzlbynrbq0jv";
-      name = "kross-interpreters-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kross-interpreters-16.12.0.tar.xz";
+      sha256 = "1dsw0wzwnqz2hgw3s6gjs7bpvkxyqgc0nad7pj7gnhd4j68fr0h1";
+      name = "kross-interpreters-16.12.0.tar.xz";
     };
   };
   kruler = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kruler-16.08.3.tar.xz";
-      sha256 = "0awhsaysqsgnvmflrz4svd2vbnmhykb6cfn2331mphv4ycyi0zyf";
-      name = "kruler-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kruler-16.12.0.tar.xz";
+      sha256 = "0k30cw24ygcc1rbqx5hsy46w4laha733kkcvi0axzhgfkk19wbvq";
+      name = "kruler-16.12.0.tar.xz";
     };
   };
   ksaneplugin = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksaneplugin-16.08.3.tar.xz";
-      sha256 = "0hg1xw45x6xk8q893hm72skhhm4p1v1afbvdxqasaggl6l8765xh";
-      name = "ksaneplugin-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksaneplugin-16.12.0.tar.xz";
+      sha256 = "17im3pjwchlqsgf8f6ml0i23s6y8x2p5pjfwrc4giwd1v83hh02s";
+      name = "ksaneplugin-16.12.0.tar.xz";
     };
   };
   kscd = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kscd-16.08.3.tar.xz";
-      sha256 = "1dyh79x5zgc20f18hysvmnfpg7f2wxjssracyihg2b8cyhzz2g70";
-      name = "kscd-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kscd-16.12.0.tar.xz";
+      sha256 = "0g8307qby224zhravfm350mkknhj44rjxcs04pgws3y3ra0bqzcz";
+      name = "kscd-16.12.0.tar.xz";
     };
   };
   kshisen = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kshisen-16.08.3.tar.xz";
-      sha256 = "0xmjk6pij18sf3mq8hp3fmcvhqdx6l44hvk6nmp6v4y7fxw3fry4";
-      name = "kshisen-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kshisen-16.12.0.tar.xz";
+      sha256 = "1i2mbh1nwwpvns9nkzr7bl5gxk5v58psbw2fad0gxddbcng2sbnh";
+      name = "kshisen-16.12.0.tar.xz";
     };
   };
   ksirk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksirk-16.08.3.tar.xz";
-      sha256 = "0bwnlfa162n6a5kxzbbxwgxj7rgpi5zqaj0arqwlq075b1kyfniq";
-      name = "ksirk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksirk-16.12.0.tar.xz";
+      sha256 = "1rzp5b35x7yiz1cyfbw80b1wzf68bd3k5ax4pl12q15h1wpcr582";
+      name = "ksirk-16.12.0.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksnakeduel-16.08.3.tar.xz";
-      sha256 = "1g26ip287fnlv95vmk69ji76mr8lpnjrgj855rdi64p16wxwirjp";
-      name = "ksnakeduel-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksnakeduel-16.12.0.tar.xz";
+      sha256 = "12ybsl1awsz1pygpgfbzfyyql24znafmll6qcydcg07rjxld9ywq";
+      name = "ksnakeduel-16.12.0.tar.xz";
     };
   };
   kspaceduel = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kspaceduel-16.08.3.tar.xz";
-      sha256 = "0ycfw4mr25apr21ffxv0pdxbrda09k4him19hck3yjkkhgwzq7a0";
-      name = "kspaceduel-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kspaceduel-16.12.0.tar.xz";
+      sha256 = "1rpacxbzg8rdl1hmm6nvksjj8z4cwqyh0v8javazf8ngas29bijj";
+      name = "kspaceduel-16.12.0.tar.xz";
     };
   };
   ksquares = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksquares-16.08.3.tar.xz";
-      sha256 = "1x7gj4bxq2aza2cis3br2y20nbljx4n988f70wark9ywz8hydg5z";
-      name = "ksquares-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksquares-16.12.0.tar.xz";
+      sha256 = "16gd9l9bm96dv6srl11blxh15n3invh7znzxikxspjzckm3jqc5q";
+      name = "ksquares-16.12.0.tar.xz";
     };
   };
   kstars = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kstars-16.08.3.tar.xz";
-      sha256 = "1a86zqbwp9vwbf1xd7j5a90krcyn2gps38g57hi8dvblx8qlfv4m";
-      name = "kstars-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kstars-16.12.0.tar.xz";
+      sha256 = "0j6g58xlasxa23vqc12kzl4ijaw34wncdvrsfgdzi3b9bvqy3njm";
+      name = "kstars-16.12.0.tar.xz";
     };
   };
   ksudoku = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksudoku-16.08.3.tar.xz";
-      sha256 = "0fjlw7krvi3z1aaiivzkbl2hya2fv2gwfahckfbs05vs0br288iy";
-      name = "ksudoku-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksudoku-16.12.0.tar.xz";
+      sha256 = "05jak7hg3yn9dwbinhny0av5rhj1r9zzp7l79nrg8nbm52jnyy4m";
+      name = "ksudoku-16.12.0.tar.xz";
     };
   };
   ksystemlog = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksystemlog-16.08.3.tar.xz";
-      sha256 = "1c5xb9m4k5hwz5fv6hvigp12cykgcrkc95axaxhfvas0g9z226hq";
-      name = "ksystemlog-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksystemlog-16.12.0.tar.xz";
+      sha256 = "0q3ca4c98a0j8d0370gaczqqs32446hyyf70kf7rxmr6f35d7y4q";
+      name = "ksystemlog-16.12.0.tar.xz";
     };
   };
   kteatime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kteatime-16.08.3.tar.xz";
-      sha256 = "0af9dvwihq3dj5zps8d9ahx6zvp9ifwhiswk6v0w887vyf5nym36";
-      name = "kteatime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kteatime-16.12.0.tar.xz";
+      sha256 = "1b05ahhdmjlp3fknmbp5c050sgx8iih3j3xxp0bj998xbh975s88";
+      name = "kteatime-16.12.0.tar.xz";
     };
   };
   ktimer = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktimer-16.08.3.tar.xz";
-      sha256 = "0yyc6hykfz3smznskldn192zpjli3dfjkkqp3h5akwaag2fkzds9";
-      name = "ktimer-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktimer-16.12.0.tar.xz";
+      sha256 = "11lb7isyr2qc2fh0ypqrs0xzfiwby94hgr4ilv0sd052kvzxwmry";
+      name = "ktimer-16.12.0.tar.xz";
     };
   };
   ktnef = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktnef-16.08.3.tar.xz";
-      sha256 = "0c1zzn18gxyd6wxvwxw36jbas1hccyfyk44nxpqjfs7g1wpzzg3q";
-      name = "ktnef-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktnef-16.12.0.tar.xz";
+      sha256 = "0f4nkmy3rdy6kk3l83r7j404vpdgmxy3hls18j8bm5jkhv6n08rh";
+      name = "ktnef-16.12.0.tar.xz";
     };
   };
   ktouch = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktouch-16.08.3.tar.xz";
-      sha256 = "0pjdj9idqizvnw3ld3kp27cx92s033kp9mv8wrf0f9rvzp4q8iny";
-      name = "ktouch-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktouch-16.12.0.tar.xz";
+      sha256 = "05yhrjb536v98sh8l979psd824ilj4cj3wcbbfbqkpnv0i4agxf2";
+      name = "ktouch-16.12.0.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-accounts-kcm-16.08.3.tar.xz";
-      sha256 = "0g3l2s3kmy4k7gkx5gvdcfvx9szr33cxj3g21qzyy0kga381gxzm";
-      name = "ktp-accounts-kcm-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-accounts-kcm-16.12.0.tar.xz";
+      sha256 = "1lwkajaj9zjk1hksx7b5x73a09kri69bq6bxsr1fwi9m47608bhm";
+      name = "ktp-accounts-kcm-16.12.0.tar.xz";
     };
   };
   ktp-approver = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-approver-16.08.3.tar.xz";
-      sha256 = "1k4g6vidi0xxl3gijc502lzmrnk7aqvjc0gdzy0f21avbk8j7hq2";
-      name = "ktp-approver-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-approver-16.12.0.tar.xz";
+      sha256 = "124448c05cr1y6032fkqdb46n3ynyh2njxmn52zn814i797pwz6b";
+      name = "ktp-approver-16.12.0.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-auth-handler-16.08.3.tar.xz";
-      sha256 = "1hda8xgi60avy65x8pwh76xa4h2li2awrwjnndk45zca8ysr1rnw";
-      name = "ktp-auth-handler-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-auth-handler-16.12.0.tar.xz";
+      sha256 = "0ya8q9qvq72vfp5yhb3jd2am83i42cap2yl1xykfwib0r8lmfakb";
+      name = "ktp-auth-handler-16.12.0.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-call-ui-16.08.3.tar.xz";
-      sha256 = "1ywklfiqpq1826hhl00h45cslzbfqark4l7lb86lk9m0pibzj6sd";
-      name = "ktp-call-ui-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-call-ui-16.12.0.tar.xz";
+      sha256 = "1qyiipyffhav5wxi7cjbshi9x9fam0snbdl4sqca3nly1cn1k21k";
+      name = "ktp-call-ui-16.12.0.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-common-internals-16.08.3.tar.xz";
-      sha256 = "07h6v78b70ri1g6a9axpldfq6h4r890nbr63nsd7fxp2gf2m4byp";
-      name = "ktp-common-internals-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-common-internals-16.12.0.tar.xz";
+      sha256 = "1xlfgs2gc15443vb3pyly0zbrmaliq3nvs7w25ldks8z72m6gqf6";
+      name = "ktp-common-internals-16.12.0.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-contact-list-16.08.3.tar.xz";
-      sha256 = "0xk822sr3aizlbh307vdxacalwil2ll4376wdc1dw1d8pdf1sbq2";
-      name = "ktp-contact-list-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-contact-list-16.12.0.tar.xz";
+      sha256 = "1dkndda4xhb7x76m43gbz67jc4bd50bj8mzyyvblijq6rn2a4wsr";
+      name = "ktp-contact-list-16.12.0.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-contact-runner-16.08.3.tar.xz";
-      sha256 = "0pzf7d6v8kd6vwn4ir3b5k3l819cpb6w68q6n3p97gsmgwj1q9vg";
-      name = "ktp-contact-runner-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-contact-runner-16.12.0.tar.xz";
+      sha256 = "0754q5mxghba6imh20qk1qaxbq2c9z6qls5pybjzm71bzbwaf2wg";
+      name = "ktp-contact-runner-16.12.0.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-desktop-applets-16.08.3.tar.xz";
-      sha256 = "0pdr9zm4ryr176anir4v57b1qnjb3my3lp43bjs61ggrmi0164zn";
-      name = "ktp-desktop-applets-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-desktop-applets-16.12.0.tar.xz";
+      sha256 = "0jq0j9i2r9nq3i7g7qg6vnca2vyb5fhx8jcd45yml4clxg6xggjy";
+      name = "ktp-desktop-applets-16.12.0.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-filetransfer-handler-16.08.3.tar.xz";
-      sha256 = "1873gy2s250micc0d85g478ashzfqfs9z5qdz2fnmn7mdsmq0l7x";
-      name = "ktp-filetransfer-handler-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-filetransfer-handler-16.12.0.tar.xz";
+      sha256 = "1mfmx4jxzpz81df53b2gy8l2rrfqszqjcmjp5s30k0cyrrqiq1v1";
+      name = "ktp-filetransfer-handler-16.12.0.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-kded-module-16.08.3.tar.xz";
-      sha256 = "0ly7apbq7amzdpmhcpa1cy2v7r73pzqv02aa8w0hv8mg9akwr0rk";
-      name = "ktp-kded-module-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-kded-module-16.12.0.tar.xz";
+      sha256 = "192aynmagrmxyil9sc19r37kj28fgcyyivija8q22jwfhh7ds5w6";
+      name = "ktp-kded-module-16.12.0.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-send-file-16.08.3.tar.xz";
-      sha256 = "1ql78n63m39rr5hylkyqxh1f1w7w9sf9jkj484p5nmkni3k7i6h6";
-      name = "ktp-send-file-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-send-file-16.12.0.tar.xz";
+      sha256 = "0g808dndrr2cb0xcjl643r23zxnaqnycvkinbd9783nkw9i5ak87";
+      name = "ktp-send-file-16.12.0.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-text-ui-16.08.3.tar.xz";
-      sha256 = "0p4pzcrmw2vwv1dna33ar5d3jm2lwmra9v46m2nm2wqy38q7k0b8";
-      name = "ktp-text-ui-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-text-ui-16.12.0.tar.xz";
+      sha256 = "1fhlgfs6ynkmqyjypr0922y2p32jqk3j7v08x6wxacp5aifx5i22";
+      name = "ktp-text-ui-16.12.0.tar.xz";
     };
   };
   ktuberling = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktuberling-16.08.3.tar.xz";
-      sha256 = "11xdh4pzcy71b697agc9biwyx8h1ana1ayahqw36cckkcrs1c4mm";
-      name = "ktuberling-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktuberling-16.12.0.tar.xz";
+      sha256 = "1z0hhidjandl2bd9d9pihk16yqqyn75z6hn5sxdx5z1icpxdkara";
+      name = "ktuberling-16.12.0.tar.xz";
     };
   };
   kturtle = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kturtle-16.08.3.tar.xz";
-      sha256 = "0g0c28wdmx89cgl0bf60c4gvp31xih4anabbk2cjd7ikf7ifcv47";
-      name = "kturtle-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kturtle-16.12.0.tar.xz";
+      sha256 = "1nxijmai4b2ddg6km2krxzrz46djazcqn4xqi6sdr2yv4rsw4467";
+      name = "kturtle-16.12.0.tar.xz";
     };
   };
   kubrick = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kubrick-16.08.3.tar.xz";
-      sha256 = "127p0c023gcv3rhgraah7qg05mjqcwk519qzym1afj0rm9w40g13";
-      name = "kubrick-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kubrick-16.12.0.tar.xz";
+      sha256 = "0xrfdmxr7p7m11rgpa0ag247pkr88k1l4br59k6gr92vpxghd1l0";
+      name = "kubrick-16.12.0.tar.xz";
     };
   };
-  kuser = {
-    version = "16.08.3";
+  kwalletmanager = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kuser-16.08.3.tar.xz";
-      sha256 = "0yhwlcq24hyn00mfjc8qqr05gy3p2h8j1ls24jdka7h5l6kwvcpq";
-      name = "kuser-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kwalletmanager-16.12.0.tar.xz";
+      sha256 = "01w97cax7smayp536d4javjksg0l2yz1c9i39rh195gaz8wnglxy";
+      name = "kwalletmanager-16.12.0.tar.xz";
     };
   };
-  kwalletmanager = {
-    version = "16.08.3";
+  kwave = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kwalletmanager-16.08.3.tar.xz";
-      sha256 = "0rii58dqw9dcs809zc70cb2vwgp7g2154sq55r67v3v0hcq2paq8";
-      name = "kwalletmanager-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kwave-16.12.0.tar.xz";
+      sha256 = "07wx614nq5dhym5dlpfvyxbh9asadxbpx6niyl5g7z4xvq2kms8f";
+      name = "kwave-16.12.0.tar.xz";
     };
   };
   kwordquiz = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kwordquiz-16.08.3.tar.xz";
-      sha256 = "13jqclk45niqi6m9wjj4hdl11ybzcs3k2hilcf2rzx88karfkvwf";
-      name = "kwordquiz-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kwordquiz-16.12.0.tar.xz";
+      sha256 = "0md3a3q16xghv94hqik0jzvg1nwihagdapdn3pz0k4p8nypykz8k";
+      name = "kwordquiz-16.12.0.tar.xz";
     };
   };
   libgravatar = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libgravatar-16.08.3.tar.xz";
-      sha256 = "047ipm4hsv2kmsi873rciqyfnszzz4p1f0i237zadx2bxr96fikw";
-      name = "libgravatar-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libgravatar-16.12.0.tar.xz";
+      sha256 = "0nwz8a2kv66b57f3032xl05mxxasvg4k7ap30smlfxlzfm1p48sc";
+      name = "libgravatar-16.12.0.tar.xz";
     };
   };
   libkcddb = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkcddb-16.08.3.tar.xz";
-      sha256 = "1jm0wzq1bknvfn1sqwwd95szjz6lpnyrxcnccmgscnl5rss1rsin";
-      name = "libkcddb-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkcddb-16.12.0.tar.xz";
+      sha256 = "0f9b2gddjia47mi8rm6vb2h3nycwyiyj6fz3w7kwwv32mnbwmqsg";
+      name = "libkcddb-16.12.0.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkcompactdisc-16.08.3.tar.xz";
-      sha256 = "091jg5f8v4j8a5iam2ljycizvgncwn188lym9s757p6xap9j73f4";
-      name = "libkcompactdisc-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkcompactdisc-16.12.0.tar.xz";
+      sha256 = "0lh6gna28kxja9v5cmz4qnzdlzz3bnxs1x24v2nzvq4lds73rwrp";
+      name = "libkcompactdisc-16.12.0.tar.xz";
     };
   };
   libkdcraw = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkdcraw-16.08.3.tar.xz";
-      sha256 = "0svfi7cdasrx1xkmyhkzh5ynj29qn7ry3ryyylayjj1p9yrlqr2s";
-      name = "libkdcraw-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkdcraw-16.12.0.tar.xz";
+      sha256 = "0pz1jll1amc42gjzdf7ic43ncd73mrp4cjhwgwmqh7aik2sjmr5m";
+      name = "libkdcraw-16.12.0.tar.xz";
     };
   };
   libkdegames = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkdegames-16.08.3.tar.xz";
-      sha256 = "0mbp69clwk6qcv79gxadjl8ka7kbhlgavp3wlpbknxldr74zrqml";
-      name = "libkdegames-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkdegames-16.12.0.tar.xz";
+      sha256 = "0ql18w1gliz2k9g460fgh7pwy9r0p0narzc7bzdzv2pc4r2v7w0f";
+      name = "libkdegames-16.12.0.tar.xz";
     };
   };
   libkdepim = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkdepim-16.08.3.tar.xz";
-      sha256 = "1id6vhv6dlzyvw141kc2sawpjdqpdfq15dbnbj8hwr2g9jslyd6r";
-      name = "libkdepim-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkdepim-16.12.0.tar.xz";
+      sha256 = "09q2z688kkbwiysqzxq2id77fv7sxq3vbs1q88saw8qvhhb4vs5q";
+      name = "libkdepim-16.12.0.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkeduvocdocument-16.08.3.tar.xz";
-      sha256 = "0y74gyyxxjysacr4klia7kwm7wphj82ygdxljidbmvp5bmxc8iw9";
-      name = "libkeduvocdocument-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkeduvocdocument-16.12.0.tar.xz";
+      sha256 = "1kd795z0lkh1b3hgdca36l0wgac1m4g38q5igs40fjz6nakwqczk";
+      name = "libkeduvocdocument-16.12.0.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkexiv2-16.08.3.tar.xz";
-      sha256 = "0wlh2zxh4yzn5g1dl9ffkim5v8wi888mrfnfxw2y4yrzw65bk9yi";
-      name = "libkexiv2-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkexiv2-16.12.0.tar.xz";
+      sha256 = "019lnz2d5m47xx6h48ykhd1ln9bq0wch676ddpywp4kfnlyqs2vc";
+      name = "libkexiv2-16.12.0.tar.xz";
     };
   };
   libkface = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkface-16.08.3.tar.xz";
-      sha256 = "0xln9pz4v4gihz8pg1ijmp6ifmr0b5bp5fn6mkii8cwz1x12qvg7";
-      name = "libkface-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkface-16.12.0.tar.xz";
+      sha256 = "02i0qk5q0sbb2m34qg9zrm6whxm9qasi4h5k3fr110k8dwc393v7";
+      name = "libkface-16.12.0.tar.xz";
     };
   };
   libkgeomap = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkgeomap-16.08.3.tar.xz";
-      sha256 = "0rqscfd6jb1pypr8mdlc5jfn5wn4z5x553gp4nkpq37dwsgzsxm4";
-      name = "libkgeomap-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkgeomap-16.12.0.tar.xz";
+      sha256 = "0n17db1jb1xbjfdmrgi57ndhp4bgwwsk26026zxh1ipqavdrpjg8";
+      name = "libkgeomap-16.12.0.tar.xz";
     };
   };
   libkipi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkipi-16.08.3.tar.xz";
-      sha256 = "09pfsb7498bwzz1nxrmmddi7wj8a516xknzza08ls7pd6zm1y096";
-      name = "libkipi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkipi-16.12.0.tar.xz";
+      sha256 = "1pj3cpz7q1jiz2yhvk2g6fz2pwblblxj6qzlsyqs156j98ayjk6g";
+      name = "libkipi-16.12.0.tar.xz";
     };
   };
   libkleo = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkleo-16.08.3.tar.xz";
-      sha256 = "0jhhzvpgpn77qisxw0bv1zjcfwcrc7kwdffvqdnnc8hgjmvrb5c4";
-      name = "libkleo-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkleo-16.12.0.tar.xz";
+      sha256 = "0g394bykb9f93f3i4r9y666n72wsbk2njc4b86n5hkw94pcgavlq";
+      name = "libkleo-16.12.0.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkmahjongg-16.08.3.tar.xz";
-      sha256 = "0ymzxl37dscqn90dm90y7fxgqlrjqdx2djhqgc6nfk5g50rzlwry";
-      name = "libkmahjongg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkmahjongg-16.12.0.tar.xz";
+      sha256 = "1jh3qh3833faa66jvxy28j24zr9wg1chg0rx95zpjpqg9xllqzir";
+      name = "libkmahjongg-16.12.0.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkomparediff2-16.08.3.tar.xz";
-      sha256 = "019ibb277nqxygmky254p95n91kza92sb26xqrqz1mi8wvaqmi75";
-      name = "libkomparediff2-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkomparediff2-16.12.0.tar.xz";
+      sha256 = "1yxgy4hpd8am6501aqz3018d4v36ipp4g393xc0mq7ygbsmb9sj3";
+      name = "libkomparediff2-16.12.0.tar.xz";
     };
   };
   libksane = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libksane-16.08.3.tar.xz";
-      sha256 = "1wbvdffibifhdd7cdly7rf6kg25322xapnabylcyaz31r5qczq10";
-      name = "libksane-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libksane-16.12.0.tar.xz";
+      sha256 = "05m9fl22hfcd41jn2hxj9yms027rjs2gfrhsksvl80m18j6ix51b";
+      name = "libksane-16.12.0.tar.xz";
     };
   };
   libksieve = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libksieve-16.08.3.tar.xz";
-      sha256 = "0yi7x90k923v350bvsan7k40xrlz0w506j2ffw5xmr97zqnhhq47";
-      name = "libksieve-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libksieve-16.12.0.tar.xz";
+      sha256 = "1fcxs8bwb32pbprb8x4ld3s1m2mv44awlb9014nqb9gw8xikrci1";
+      name = "libksieve-16.12.0.tar.xz";
     };
   };
   lokalize = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/lokalize-16.08.3.tar.xz";
-      sha256 = "0vk3rpzm0bjfh6sr1dgqpsf81rg8vvynwqm68646pfj38k54yf8m";
-      name = "lokalize-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/lokalize-16.12.0.tar.xz";
+      sha256 = "06k5wkx8wmhrl0ff0rix9fr2hhbxh0cm0mskajwavg9hcd3aga36";
+      name = "lokalize-16.12.0.tar.xz";
     };
   };
   lskat = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/lskat-16.08.3.tar.xz";
-      sha256 = "19g2c0by67wnh8k8wg2wq45bablhzqaml04pvmy5zbf4vnvmcbyy";
-      name = "lskat-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/lskat-16.12.0.tar.xz";
+      sha256 = "1mlvg3iwz0klsnd258dgqs1zz7sz25l3bbwyvfz5r8j3k1gllw5q";
+      name = "lskat-16.12.0.tar.xz";
     };
   };
   mailcommon = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/mailcommon-16.08.3.tar.xz";
-      sha256 = "080wf6ly7wrrj8ic9nz2cs7qcj6qvmfm8nfvlwymkzn4yyshf9rv";
-      name = "mailcommon-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/mailcommon-16.12.0.tar.xz";
+      sha256 = "1a25b8akcf1k957jbbcr21ksw3kl0vbs2xn28hzqzlbg5hsnw9yy";
+      name = "mailcommon-16.12.0.tar.xz";
     };
   };
   mailimporter = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/mailimporter-16.08.3.tar.xz";
-      sha256 = "13cpfvbyr2i3ny3k0dd02353r693cn948cjakzw9jrfb7ha0rab8";
-      name = "mailimporter-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/mailimporter-16.12.0.tar.xz";
+      sha256 = "1z1lml4hlzzk7kj6ln3p0gz5pganwrjl57zvn0mpbwxsbpdkf8gk";
+      name = "mailimporter-16.12.0.tar.xz";
     };
   };
   marble = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/marble-16.12.0.tar.xz";
+      sha256 = "06hpwwqa62z63fsiw5qa50pbkjkyy93h14l9xphnwmcr8cjnfh8x";
+      name = "marble-16.12.0.tar.xz";
+    };
+  };
+  mbox-importer = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/marble-16.08.3.tar.xz";
-      sha256 = "0lxax24p3l04qcy2hmyb6c69s7cayjcq6m03nw8nbpjwlmik4b8w";
-      name = "marble-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/mbox-importer-16.12.0.tar.xz";
+      sha256 = "0pk751sjniz8kalydg2gl48w2v9jqcsp6qclgccxrm7rj7nsmyr2";
+      name = "mbox-importer-16.12.0.tar.xz";
     };
   };
   messagelib = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/messagelib-16.08.3.tar.xz";
-      sha256 = "11qk72h45adgf4vmqb6vy8far8j9yr3s3ndj415iw3s07wkinhqa";
-      name = "messagelib-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/messagelib-16.12.0.tar.xz";
+      sha256 = "0n65xk2prhwjn172b47qjvml20hmff9qspk6dczx3b8knamzsyj4";
+      name = "messagelib-16.12.0.tar.xz";
     };
   };
   minuet = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/minuet-16.08.3.tar.xz";
-      sha256 = "0p3x1f4nsamhrdnmvpmnv9swi96823sb2sh6r0lfgyzamkkj5mhm";
-      name = "minuet-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/minuet-16.12.0.tar.xz";
+      sha256 = "17yjs7hwr71f78zx89g83md5mad5g3rgxfxhnmc1hvwclcri12nv";
+      name = "minuet-16.12.0.tar.xz";
     };
   };
   okteta = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/okteta-16.08.3.tar.xz";
-      sha256 = "01pl32wzv46xxq3mgb0vpw35vwmmdrkc4qfsm750ay58x99wm5hq";
-      name = "okteta-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/okteta-16.12.0.tar.xz";
+      sha256 = "0n334ksh2c7s5bavhgks1a11mr1w6pf6lvfb51735r379xxh6yqh";
+      name = "okteta-16.12.0.tar.xz";
     };
   };
   okular = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/okular-16.08.3.tar.xz";
-      sha256 = "1wz4pmzi4wv5zc92lr8qrqfqmg2lymzfqhh6b33iqr39jkv504xx";
-      name = "okular-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/okular-16.12.0.tar.xz";
+      sha256 = "0a8g2845c0f6z2k6d4f8fccfa9zhqls2yaj1pkasrg8xmanmpmbd";
+      name = "okular-16.12.0.tar.xz";
     };
   };
   palapeli = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/palapeli-16.08.3.tar.xz";
-      sha256 = "13pcwpks5bg9bw43lb4k2is22a7mzhkwl0sclp7lb9wn8qc831ns";
-      name = "palapeli-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/palapeli-16.12.0.tar.xz";
+      sha256 = "1ix8xhsif0pa1zsgwn33sqf1kclkpz8mhbviqjzh5ds80dyychdn";
+      name = "palapeli-16.12.0.tar.xz";
     };
   };
   parley = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/parley-16.08.3.tar.xz";
-      sha256 = "1s3h4ywc84bnhm217jcffiwb3654j8nikl0zzzi1sigr9vhc9xmz";
-      name = "parley-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/parley-16.12.0.tar.xz";
+      sha256 = "1lvimp0fjy12973rjqa9y0680x19hqln2dmywqmg7fxyhk3ilwv3";
+      name = "parley-16.12.0.tar.xz";
     };
   };
   picmi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/picmi-16.08.3.tar.xz";
-      sha256 = "0qywy9n1ifyc5srqx3b0xzhmsv7h54llsxv0m9yxngrbnc7jc3bw";
-      name = "picmi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/picmi-16.12.0.tar.xz";
+      sha256 = "03i8g7c84cyg1bn1d70cf34pw2bgfsnhvvjfavzzmmb0kmkj5nhw";
+      name = "picmi-16.12.0.tar.xz";
     };
   };
   pimcommon = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/pimcommon-16.12.0.tar.xz";
+      sha256 = "1crz2g2wcgq22vxxywvislw0n7rc21z08rsgcyq6m0dqcv96063l";
+      name = "pimcommon-16.12.0.tar.xz";
+    };
+  };
+  pim-data-exporter = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/pim-data-exporter-16.12.0.tar.xz";
+      sha256 = "0x2nrspv4bc91ir361y6sp80a9c4nm8fwjzy76q3j23kvyk838m9";
+      name = "pim-data-exporter-16.12.0.tar.xz";
+    };
+  };
+  pim-sieve-editor = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/pim-sieve-editor-16.12.0.tar.xz";
+      sha256 = "0da0fav852yazrlpinnsr97jm1vc5335wc3wb1rbcamcrvkkpz5r";
+      name = "pim-sieve-editor-16.12.0.tar.xz";
+    };
+  };
+  pim-storage-service-manager = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/pimcommon-16.08.3.tar.xz";
-      sha256 = "06v8ak03rc7zmxmasqq12xi4misg73jag0vjy67a5izbqn613pry";
-      name = "pimcommon-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/pim-storage-service-manager-16.12.0.tar.xz";
+      sha256 = "1b3z8z921nfmqs2gn653jdsqma4xn3lf1imz942xbgc1w3000p64";
+      name = "pim-storage-service-manager-16.12.0.tar.xz";
     };
   };
   poxml = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/poxml-16.08.3.tar.xz";
-      sha256 = "0zp0lrlha5npagb4d04c2ga4kpxgi96si29xncff59nvw8l5p1cf";
-      name = "poxml-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/poxml-16.12.0.tar.xz";
+      sha256 = "18q5lmwx5vdmj2kdi45rhi6cqnk9wrd1v7xc0xn842gjd7y42zh0";
+      name = "poxml-16.12.0.tar.xz";
     };
   };
   print-manager = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/print-manager-16.08.3.tar.xz";
-      sha256 = "07bd7jyz2iwfw7vf63jkvhjk6la1gkjwz8nva3ms78b48byd96bx";
-      name = "print-manager-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/print-manager-16.12.0.tar.xz";
+      sha256 = "1na2kw6cdq2qkbjyaxi21cy4lkyalfyw50d6cvgpl4jgrmvdqc8h";
+      name = "print-manager-16.12.0.tar.xz";
     };
   };
   rocs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/rocs-16.08.3.tar.xz";
-      sha256 = "1z4l75gr5ixfzyk2198asbm8i6nv03wg0srxgf62pxx5ycvmkygw";
-      name = "rocs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/rocs-16.12.0.tar.xz";
+      sha256 = "0lw5mrxjhxwwh7ms5jn576y303jzk54h79vf2qmf6hkmhmwwggam";
+      name = "rocs-16.12.0.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/signon-kwallet-extension-16.08.3.tar.xz";
-      sha256 = "11n1ychcl3piar7mk3lqxi70vjw6558nwzlqkjprlj8kqbcwphg0";
-      name = "signon-kwallet-extension-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/signon-kwallet-extension-16.12.0.tar.xz";
+      sha256 = "0shgg850cgnr3iihdhf4v04fmp1lc3hblgfwsrcyys23zh2xfqr5";
+      name = "signon-kwallet-extension-16.12.0.tar.xz";
     };
   };
   spectacle = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/spectacle-16.08.3.tar.xz";
-      sha256 = "1ma5q9c66mbnbdv2izgfx7jpzlph3mvi9dkq89vkyr2hi3nznp4b";
-      name = "spectacle-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/spectacle-16.12.0.tar.xz";
+      sha256 = "1cri1yklzkdfhynfvlqrz21bmr58rcrlcg4g5n5wd71wl46v1m1i";
+      name = "spectacle-16.12.0.tar.xz";
     };
   };
   step = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/step-16.08.3.tar.xz";
-      sha256 = "0lii1jydca6ksvk0qqy08acq354xwwvh5rjkj58x836fxrb39y9d";
-      name = "step-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/step-16.12.0.tar.xz";
+      sha256 = "0ilnbk8ax18vk0sbziydm2mzlhp3kl3jymg7cllpb8kknsmjiky4";
+      name = "step-16.12.0.tar.xz";
     };
   };
   svgpart = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/svgpart-16.08.3.tar.xz";
-      sha256 = "0xriqcqffqdamxavby7gwjl4pxchslamci6xg0xwx7n0w9qa6vgv";
-      name = "svgpart-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/svgpart-16.12.0.tar.xz";
+      sha256 = "0cqlzxcnqsxyq60dlglpzz3081slr0fwf9bq1pv4d80fs84yj1nw";
+      name = "svgpart-16.12.0.tar.xz";
     };
   };
   sweeper = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/sweeper-16.08.3.tar.xz";
-      sha256 = "01c89p54h497fk9pwj0hz86vyfqnx83iajmr3pskfsbh601xmipd";
-      name = "sweeper-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/sweeper-16.12.0.tar.xz";
+      sha256 = "0lha6m8aa8jwlkcyzwc11l48197m90apwv5fbbiy67h2gj105izr";
+      name = "sweeper-16.12.0.tar.xz";
     };
   };
   syndication = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/syndication-16.08.3.tar.xz";
-      sha256 = "0dqhrzw8xbh1zpxkj40sw72g6sfzhm0slsnvmx3p3ivas0slmqbf";
-      name = "syndication-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/syndication-16.12.0.tar.xz";
+      sha256 = "1z0mfklr3f7081smxihvcck5arzvzqy3bnyf2wdj92wlj4k974km";
+      name = "syndication-16.12.0.tar.xz";
     };
   };
   umbrello = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/umbrello-16.08.3.tar.xz";
-      sha256 = "0r1cw17pyyiq4052bdms4vn1vwzwlcyymili0d9m1n0ib8q9dpsd";
-      name = "umbrello-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/umbrello-16.12.0.tar.xz";
+      sha256 = "01zkrlg1iz0qampzxp77kralz4s9kw02lz5x2114mfjh8l3h65f6";
+      name = "umbrello-16.12.0.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/zeroconf-ioslave-16.08.3.tar.xz";
-      sha256 = "16hani3ajdysyrw5gy86360zki54kgmlzn65ishl6lzp8c8bp7q9";
-      name = "zeroconf-ioslave-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/zeroconf-ioslave-16.12.0.tar.xz";
+      sha256 = "0alfyp22w72yf7gaxgiqini6nv0qkjjnkgicph9z2yiysywq57a2";
+      name = "zeroconf-ioslave-16.12.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/kde-5/plasma/fetch.sh b/pkgs/desktops/kde-5/plasma/fetch.sh
index 60928c3900d0..76f05bad0a77 100644
--- a/pkgs/desktops/kde-5/plasma/fetch.sh
+++ b/pkgs/desktops/kde-5/plasma/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.kde.org/stable/plasma/5.8.4/ -A '*.tar.xz' )
+WGET_ARGS=( http://download.kde.org/stable/plasma/5.8.5/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/kde-5/plasma/kde-gtk-config/0001-follow-symlinks.patch b/pkgs/desktops/kde-5/plasma/kde-gtk-config/0001-follow-symlinks.patch
index 759eda4cc134..d610d19eedd2 100644
--- a/pkgs/desktops/kde-5/plasma/kde-gtk-config/0001-follow-symlinks.patch
+++ b/pkgs/desktops/kde-5/plasma/kde-gtk-config/0001-follow-symlinks.patch
@@ -37,3 +37,16 @@ index 07c7ad7..b04d978 100644
 -- 
 2.6.2
 
+diff --git a/src/cursorthemesmodel.cpp b/src/cursorthemesmodel.cpp
+index 926a666..85b10f8 100644
+--- a/src/cursorthemesmodel.cpp
++++ b/src/cursorthemesmodel.cpp
+@@ -47,7 +47,7 @@ QList<QDir> CursorThemesModel::installedThemesPaths()
+ 
+     foreach(const QString& dir, dirs) {
+         QDir userIconsDir(dir);
+-        QDirIterator it(userIconsDir.path(), QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks);
++        QDirIterator it(userIconsDir.path(), QDir::NoDotAndDotDot|QDir::AllDirs);
+         while(it.hasNext()) {
+             QString currentPath = it.next();
+             QDir dir(currentPath);
diff --git a/pkgs/desktops/kde-5/plasma/oxygen.nix b/pkgs/desktops/kde-5/plasma/oxygen.nix
index f880f2e3ab23..ca63c8d7a377 100644
--- a/pkgs/desktops/kde-5/plasma/oxygen.nix
+++ b/pkgs/desktops/kde-5/plasma/oxygen.nix
@@ -15,6 +15,7 @@ let
     ];
   };
 in
-kdeWrapper unwrapped {
+kdeWrapper {
+  inherit unwrapped;
   targets = [ "bin/oxygen-demo5" "bin/oxygen-settings5" ];
 }
diff --git a/pkgs/desktops/kde-5/plasma/srcs.nix b/pkgs/desktops/kde-5/plasma/srcs.nix
index 75f44f47becf..03ee867453b6 100644
--- a/pkgs/desktops/kde-5/plasma/srcs.nix
+++ b/pkgs/desktops/kde-5/plasma/srcs.nix
@@ -3,323 +3,323 @@
 
 {
   bluedevil = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/bluedevil-5.8.4.tar.xz";
-      sha256 = "1c49f35574948q541q25wsalhdz0yji9x18hpg7lc9mb117114fq";
-      name = "bluedevil-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/bluedevil-5.8.5.tar.xz";
+      sha256 = "07gj3m5f0rk26n0xm4yddsfny6l2sh0airm45hb33p7m5inaqzgv";
+      name = "bluedevil-5.8.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/breeze-5.8.4.tar.xz";
-      sha256 = "0jxlvr9yf7pilwjvzzhhx8di6a2gx8812hl08fh4lszbkdia69yw";
-      name = "breeze-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/breeze-5.8.5.tar.xz";
+      sha256 = "1gcns00iq7a5f1a0w6vf8zck669gzcd785fiybnvc6s6q8x4bp61";
+      name = "breeze-5.8.5.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/breeze-grub-5.8.4.tar.xz";
-      sha256 = "1sysdw3agm568l8mc6bv7g2vhxny34h1b4k9wm36c1x1xyac72cm";
-      name = "breeze-grub-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/breeze-grub-5.8.5.tar.xz";
+      sha256 = "12ynrxdfcraphbwv9yrfhvwf3xkzrw0raqvgi7ksz5cvh78kl5qf";
+      name = "breeze-grub-5.8.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/breeze-gtk-5.8.4.tar.xz";
-      sha256 = "127hhlxicc3rsxxi9cwcqj32w3yyi20p1sfmfk7gjnklm6zv8b0a";
-      name = "breeze-gtk-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/breeze-gtk-5.8.5.tar.xz";
+      sha256 = "15dx5hl9w9fiash30vgkbww6h7hck0dr42hh8gzysn0xyf0fzpgd";
+      name = "breeze-gtk-5.8.5.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/breeze-plymouth-5.8.4.tar.xz";
-      sha256 = "0lsdincygh75yib1nfyqnwghnpi3pwjyjvkgyza142s49vynkdkj";
-      name = "breeze-plymouth-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/breeze-plymouth-5.8.5.tar.xz";
+      sha256 = "1ryb2jrzw0bzpi7ig4h5k0i33d2qviqsjxw7mnqxcb9q49a4ziq1";
+      name = "breeze-plymouth-5.8.5.tar.xz";
     };
   };
   discover = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/discover-5.8.4.tar.xz";
-      sha256 = "1wkwkk0cqyz9d68d9s651cjahimb9phwr7k55g6mkigdkljd18fx";
-      name = "discover-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/discover-5.8.5.tar.xz";
+      sha256 = "0fr6mksqw46aghfzj78nlq3f89xd63vq2hr4c3gb4vkl5y8v08hg";
+      name = "discover-5.8.5.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kactivitymanagerd-5.8.4.tar.xz";
-      sha256 = "0rb9gc584lhbqfn9q31rl1h0aqiv90b1cb5pd5rcsq6s2yz0g8i2";
-      name = "kactivitymanagerd-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kactivitymanagerd-5.8.5.tar.xz";
+      sha256 = "07cqnbyznn5wy7vrqyid8h5ah7h3sb3pb30qlm83b4m29bkhggwh";
+      name = "kactivitymanagerd-5.8.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kde-cli-tools-5.8.4.tar.xz";
-      sha256 = "0vzb5gq94hwyzz32z5gvdrpzj3ysvsqb6k25cfc3sy93hwla3a14";
-      name = "kde-cli-tools-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kde-cli-tools-5.8.5.tar.xz";
+      sha256 = "1ig9x5h9xkzis9izggkjpiiy4sm77pk347jdngx01qpacz68iyp7";
+      name = "kde-cli-tools-5.8.5.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kdecoration-5.8.4.tar.xz";
-      sha256 = "06ch3871yifkimqs67z3j7rv673qw6wa01x6qnc6899rckg1kdl4";
-      name = "kdecoration-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kdecoration-5.8.5.tar.xz";
+      sha256 = "1vhw57pj9i5224i9irk4qmingvkg5bip11vsqiwhmn5307bpnfiq";
+      name = "kdecoration-5.8.5.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kde-gtk-config-5.8.4.tar.xz";
-      sha256 = "15jw7wvk3jl9rbcm2f3vx6i5mjqzibj87l85r9cr33cxaq06wdn4";
-      name = "kde-gtk-config-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kde-gtk-config-5.8.5.tar.xz";
+      sha256 = "1j0mzmmdhqd3a8papps6cad0gqn081mc4kqzi2hjai7038l6951r";
+      name = "kde-gtk-config-5.8.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kdeplasma-addons-5.8.4.tar.xz";
-      sha256 = "0f1956dppgyx313ihjv8f21lql387rzzkvmg9y9lh7yidl75gfz4";
-      name = "kdeplasma-addons-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kdeplasma-addons-5.8.5.tar.xz";
+      sha256 = "181kagb4nbl9a7akk79slwkb7m2j4vyhabagih0z8l45wl5wrz9d";
+      name = "kdeplasma-addons-5.8.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kgamma5-5.8.4.tar.xz";
-      sha256 = "1r5mzdk2givjmq5j374hgbf17jni4n7836pli2vka4qbjbrlzfg1";
-      name = "kgamma5-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kgamma5-5.8.5.tar.xz";
+      sha256 = "073z4w4i2hwsqqgxcfl0w8d57nhzc069h9zwp7fv93aaw4mgzci2";
+      name = "kgamma5-5.8.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/khotkeys-5.8.4.tar.xz";
-      sha256 = "1q766aaq1l6ihgvjxlw69kpm91ai8nbcc9qc6xnz1924p9957nl3";
-      name = "khotkeys-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/khotkeys-5.8.5.tar.xz";
+      sha256 = "1fh0z9vfb908nbwj3snkf9z55jbcb5id87k5sa0v8dhazmp91ylh";
+      name = "khotkeys-5.8.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kinfocenter-5.8.4.tar.xz";
-      sha256 = "1mnvp4bkhvmpqfqjag46fcx0kr7w8mq29djqlfd9akypqmzszbvd";
-      name = "kinfocenter-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kinfocenter-5.8.5.tar.xz";
+      sha256 = "1fksnb9klbcrr9ly6dd2yx5y1ngcwcln43zykpc76pr4i49jpggp";
+      name = "kinfocenter-5.8.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kmenuedit-5.8.4.tar.xz";
-      sha256 = "0wm40swxarnzv7hs11r1wmj6b0yjby3sxk8n59z6s2zza64n6n8h";
-      name = "kmenuedit-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kmenuedit-5.8.5.tar.xz";
+      sha256 = "1vq5f69w75lj81nz75db88lqxc4zvhicd5w7r6k7amggnwxm9f3m";
+      name = "kmenuedit-5.8.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kscreen-5.8.4.tar.xz";
-      sha256 = "1j43gzxv9j4fjszc839968vmlsrqg7bapwvjnwfc3mc8z2w7a6hl";
-      name = "kscreen-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kscreen-5.8.5.tar.xz";
+      sha256 = "069x3vsfqirmq8r7yfa68srhjvygdwsxcj0b4vvb7zivs29zn1mh";
+      name = "kscreen-5.8.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kscreenlocker-5.8.4.tar.xz";
-      sha256 = "1n4wbzfi2h9lxj8g1qii43q205by1bqv48xxyr871mmmikxrk6qv";
-      name = "kscreenlocker-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kscreenlocker-5.8.5.tar.xz";
+      sha256 = "11b2v3chhk1ma5kjbmf35qahfr8gbaw78mcqs8vw5m9x74vlimkj";
+      name = "kscreenlocker-5.8.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/ksshaskpass-5.8.4.tar.xz";
-      sha256 = "033mjmry0hbz2daa9w0i2drxrdjyraynxhlnq0b331b6klxhzczc";
-      name = "ksshaskpass-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/ksshaskpass-5.8.5.tar.xz";
+      sha256 = "1gr48f4akrn0yhlnjw4yaas6ah5z40fb8iz06gi1dzry5axfmaxh";
+      name = "ksshaskpass-5.8.5.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/ksysguard-5.8.4.tar.xz";
-      sha256 = "1hmj32c2jzvk6fwbvdh3ij1651bfslfqhy52y79mc6q816wm7fv3";
-      name = "ksysguard-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/ksysguard-5.8.5.tar.xz";
+      sha256 = "1gd81y2a459j5k1mpikfrvwcz7v09m526nrl7kpr4l4a1ps8zfy9";
+      name = "ksysguard-5.8.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kwallet-pam-5.8.4.tar.xz";
-      sha256 = "149qwri47yjv85abfv48232ldvl464df4id9gz0kwjp3cd5n12cn";
-      name = "kwallet-pam-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kwallet-pam-5.8.5.tar.xz";
+      sha256 = "0310vr3p9fxl3vwdgklk0acx6w31pcpq8mi9yldahg1mkjqf7l44";
+      name = "kwallet-pam-5.8.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kwayland-integration-5.8.4.tar.xz";
-      sha256 = "1s3jy3bb15v49w9ym5d9x352lf57dsg72xqmw3w2jbvmmyacg2a7";
-      name = "kwayland-integration-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kwayland-integration-5.8.5.tar.xz";
+      sha256 = "11f63mq7crsbrpdib16q8xg0hk8jr5x1cyv43q8qdqm0591cglli";
+      name = "kwayland-integration-5.8.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kwin-5.8.4.tar.xz";
-      sha256 = "1zglmz2c2aiw46vm813m5hznqjx1phs90djlva9vcvv5rvz7y3fn";
-      name = "kwin-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kwin-5.8.5.tar.xz";
+      sha256 = "182z17d4sad9j15qagx9yz13wwzcyy6hlgpy5nlx6dlfcb8s00x7";
+      name = "kwin-5.8.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/kwrited-5.8.4.tar.xz";
-      sha256 = "055054i96yxi2pb5lg42d6yjhvwqc5vgqnrczh8f5g6j3ykl6p7s";
-      name = "kwrited-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/kwrited-5.8.5.tar.xz";
+      sha256 = "1nsr244niyq2bk29s0cqq1p2qj0h1hx4nl13nc3x3aycfhfkjfkr";
+      name = "kwrited-5.8.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/libkscreen-5.8.4.tar.xz";
-      sha256 = "1vrh4ympdgnvnrl7c4l3hizxza05y0dr4ii6h109r8iqfhbis56p";
-      name = "libkscreen-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/libkscreen-5.8.5.tar.xz";
+      sha256 = "1zj2nzyl0nmg5za3iwr4q4nzfv69f35f0394b6k0g3dgh1zxmby9";
+      name = "libkscreen-5.8.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/libksysguard-5.8.4.tar.xz";
-      sha256 = "0mc045qvkzsk1rhvasysbjcqvsm9nvmgha6ljsfn61gnwpb3fjzq";
-      name = "libksysguard-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/libksysguard-5.8.5.tar.xz";
+      sha256 = "1acp4kzdjhipsqw90n3rc1ydbkqhb12afwdsfl25fibv0c39avwp";
+      name = "libksysguard-5.8.5.tar.xz";
     };
   };
   milou = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/milou-5.8.4.tar.xz";
-      sha256 = "169bcdgbqddmfzz39wdy5cbqqm8djayr3bxn8j28pjkc4l8i93c8";
-      name = "milou-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/milou-5.8.5.tar.xz";
+      sha256 = "0lj5cb43jkqs8qg2acs39dkfwskbw135ap65vxiv27ivxscyvz3d";
+      name = "milou-5.8.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/oxygen-5.8.4.tar.xz";
-      sha256 = "1g8zm71k31smyzxc1kmvcl889ljfv6l0ks6g9888qyyzhbqps2p4";
-      name = "oxygen-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/oxygen-5.8.5.tar.xz";
+      sha256 = "199jcn6qzyihxmw38b1cl0ah0rzn7f574khx72n9x5y9143p9lh7";
+      name = "oxygen-5.8.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/plasma-desktop-5.8.4.tar.xz";
-      sha256 = "07dw8x74j0am52rxvig0jcwhlk3kx762hfw3vk6innjfcrkjx43q";
-      name = "plasma-desktop-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/plasma-desktop-5.8.5.tar.xz";
+      sha256 = "045990fvhqpwhfi6jqpkzhgbhc3lwvwhkia1y77m12n1djbynpnr";
+      name = "plasma-desktop-5.8.5.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/plasma-integration-5.8.4.tar.xz";
-      sha256 = "18w4ws0ydqf0lfd16svgs1sbf2q6rc1zkzfhxwj2jzdhqjqwdikn";
-      name = "plasma-integration-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/plasma-integration-5.8.5.tar.xz";
+      sha256 = "1sm7027ywz8xxqfsjv6jvk8zx11kx83rx88bb8cy31qfjipsakfb";
+      name = "plasma-integration-5.8.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/plasma-nm-5.8.4.tar.xz";
-      sha256 = "0dzk6wa6dsw9mlwxvhyhq8dmk88ia9paavcnw0am165ahpmkpzjq";
-      name = "plasma-nm-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/plasma-nm-5.8.5.tar.xz";
+      sha256 = "1g1yyzc8y2hsgycficvavpl5yizd54ns93cdky9cgsrnxlkfwbvc";
+      name = "plasma-nm-5.8.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/plasma-pa-5.8.4.tar.xz";
-      sha256 = "1p7f7ahr4xc50cn9iawkpq0xna7s7zar8vlkvizgji566sp1yf4i";
-      name = "plasma-pa-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/plasma-pa-5.8.5.tar.xz";
+      sha256 = "0vg1dyxfg8rxzyh0xnk41c95zp8rdbx1w462llrwchzp29p3xg1b";
+      name = "plasma-pa-5.8.5.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/plasma-sdk-5.8.4.tar.xz";
-      sha256 = "0nkrppv15l4v2f9g3ihixmgya1ky2zrih1ynak7kqkv43d4827s9";
-      name = "plasma-sdk-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/plasma-sdk-5.8.5.tar.xz";
+      sha256 = "13lyb5x4a8aq4fykvdv1137yvc4s4q31fdxhxppza1wkw8lvbvpd";
+      name = "plasma-sdk-5.8.5.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/plasma-tests-5.8.4.tar.xz";
-      sha256 = "0hh8rp7sw8lyc61pizhc64138sv41iv9gnn0flbblvd912990i6k";
-      name = "plasma-tests-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/plasma-tests-5.8.5.tar.xz";
+      sha256 = "0wgqyqlqygi3z0cccpfrpi259jp4yhh2g4x3mqcxisv58mbjrj1b";
+      name = "plasma-tests-5.8.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/plasma-workspace-5.8.4.tar.xz";
-      sha256 = "1hwdrwc43s0mfy86ywws2myr1byf4d1j7x685z05cvyg3ha2wwwd";
-      name = "plasma-workspace-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/plasma-workspace-5.8.5.tar.xz";
+      sha256 = "18bf5wmyb198jnbpivjjwsk65sksrvzlvykx3mr3wvj30mr0f9bd";
+      name = "plasma-workspace-5.8.5.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/plasma-workspace-wallpapers-5.8.4.tar.xz";
-      sha256 = "088vmni3krybg5j6bd0amfqn806pxqjnyb0pvlwbakw53yjbsva3";
-      name = "plasma-workspace-wallpapers-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/plasma-workspace-wallpapers-5.8.5.tar.xz";
+      sha256 = "116s9qw888lbgxc9ggxf7fa99vggixr2ig1715xb5zmqm14yznyz";
+      name = "plasma-workspace-wallpapers-5.8.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.8.4";
+    version = "1-5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/polkit-kde-agent-1-5.8.4.tar.xz";
-      sha256 = "0jh1msiaig47114ccdpxf3zl77vgs5wvbsl2vibc05i19alr99jg";
-      name = "polkit-kde-agent-1-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/polkit-kde-agent-1-5.8.5.tar.xz";
+      sha256 = "1dwk848wljcd9bi0h58h0ljnjlz1qq50rd7i38f3cb848iipisw7";
+      name = "polkit-kde-agent-1-5.8.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/powerdevil-5.8.4.tar.xz";
-      sha256 = "1b1cy98zjdc9w8jd0hqrzmvmvfxg5v6imd4pvnlgfix9bm0gcmcy";
-      name = "powerdevil-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/powerdevil-5.8.5.tar.xz";
+      sha256 = "0lj7jcaqfsipiwi7x4q684p4pfsqzflvddr7hrhirfl1p62bc704";
+      name = "powerdevil-5.8.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/sddm-kcm-5.8.4.tar.xz";
-      sha256 = "03d2x6hvjvwdmpcs04vs7jqp4nnvw1gmiwfra5xk432argf0nxyx";
-      name = "sddm-kcm-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/sddm-kcm-5.8.5.tar.xz";
+      sha256 = "0dcvk3f3cqq4z5hc63ccpxyl3kknjvd8jsnx7r2hfrwsw0y90fqc";
+      name = "sddm-kcm-5.8.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/systemsettings-5.8.4.tar.xz";
-      sha256 = "1j45yvvm8lx1nvwzq2x979s5x3k4i3phjcw73hxyqv9x7y0pnchv";
-      name = "systemsettings-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/systemsettings-5.8.5.tar.xz";
+      sha256 = "0pkwmgbjglbyc8i22hivh5gnaj742df3ff3f998k66k81mfjkwga";
+      name = "systemsettings-5.8.5.tar.xz";
     };
   };
   user-manager = {
-    version = "5.8.4";
+    version = "5.8.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.8.4/user-manager-5.8.4.tar.xz";
-      sha256 = "0m2yv7qlj0y95z5x3f008aww3jzrs5lf32k9czqia3fyy9szpa1d";
-      name = "user-manager-5.8.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.8.5/user-manager-5.8.5.tar.xz";
+      sha256 = "1ck8x860q3aqgbbgiwfdhs0i0bs2nhqqva19kl9x1b015p64gl5z";
+      name = "user-manager-5.8.5.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/xfce/applications/mousepad.nix b/pkgs/desktops/xfce/applications/mousepad.nix
index 26f01e253c0d..475b48343a57 100644
--- a/pkgs/desktops/xfce/applications/mousepad.nix
+++ b/pkgs/desktops/xfce/applications/mousepad.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
       dconf
     ];
 
+  configureFlags = [ "--enable-keyfile-settings" ];
+
   preFixup = ''
     wrapProgram "$out/bin/mousepad" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share" \
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 609ed57ab3cc..ace5f289ab4d 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -95,6 +95,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   xfce4_xkb_plugin              = callPackage ./panel-plugins/xfce4-xkb-plugin.nix              { };
   xfce4_weather_plugin          = callPackage ./panel-plugins/xfce4-weather-plugin.nix          { };
   xfce4_whiskermenu_plugin      = callPackage ./panel-plugins/xfce4-whiskermenu-plugin.nix      { };
+  xfce4_windowck_plugin         = callPackage ./panel-plugins/xfce4-windowck-plugin.nix         { };
   xfce4_pulseaudio_plugin       = callPackage ./panel-plugins/xfce4-pulseaudio-plugin.nix       { };
 
 }; # xfce_self
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix
new file mode 100644
index 000000000000..523283b453a7
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, pkgconfig, intltool, python3, imagemagick, libwnck, gtk2
+, exo, libxfce4ui, libxfce4util, xfce4panel, xfconf, xfce4_dev_tools }:
+
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-windowck-plugin";
+  version = "0.4.4";
+
+  src = fetchFromGitHub {
+    owner = "cedl38";
+    repo = "xfce4-windowck-plugin";
+    rev = "v${version}";
+    sha256 = "0c6a1ibh39dpq9x0dha5lsg0vzmgaf051fgwz0nlky0s94nwzvgv";
+  };
+  name = "${p_name}-${version}";
+
+  buildInputs = [ pkgconfig intltool python3 imagemagick libwnck gtk2
+    exo libxfce4ui libxfce4util xfce4panel xfconf xfce4_dev_tools ];
+
+  preConfigure = "./autogen.sh";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Set of two plugins which allows you to put the maximized window title and windows buttons on the panel";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.volth ];
+  };
+}
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index 97e95b29814d..59ce006e8357 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -3,11 +3,11 @@
 , withContrib ? true }:
 
 let
-  versionPkg = "0.2.12" ;
+  versionPkg = "0.2.13" ;
 
   contrib = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz" ;
-    sha256 = "16jzabmwq5yz72dzlkc2hmvf2lan83gayn21gbl65jgpwdsbh170" ;
+    sha256 = "1hsqvdwiydks46sfjmm04rmjcx5v25xpjgnq0b96psrdbd0ky2kf" ;
   };
 
   postInstallContrib = stdenv.lib.optionalString withContrib
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
-    sha256 = "0m8gmm1pnklixxw76yjjqqqixm2cyp91rnq4sj1k29qp4k9zxpl4";
+    sha256 = "01rkybkwgbpx6blv72n46ml9ii3p6kpxbpczsrpbjkqmf22b4vii";
   };
 
   buildInputs = [ gmp ];
@@ -45,8 +45,6 @@ stdenv.mkDerivation rec {
       builtins.toFile "setupHook.sh"
       (concatMapStringsSep "\n" builtins.readFile hookFiles);
 
-  patches = [ ./installed-lib-directory-version.patch ];
-
   postInstall = postInstallContrib + postInstallEmacs;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/ats2/installed-lib-directory-version.patch b/pkgs/development/compilers/ats2/installed-lib-directory-version.patch
deleted file mode 100644
index 686df69299f2..000000000000
--- a/pkgs/development/compilers/ats2/installed-lib-directory-version.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Change the name of the library directory to match the version of the package.
-
-diff -Naur ATS2-Postiats-0.2.12/configure postiats-new/configure
---- ATS2-Postiats-0.2.12/configure	2016-10-13 12:03:20.000000000 -0400
-+++ postiats-new/configure	2016-10-23 20:17:29.912579618 -0400
-@@ -1,6 +1,6 @@
- #! /bin/sh
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.69 for ATS2/Postiats 0.2.10.
-+# Generated by GNU Autoconf 2.69 for ATS2/Postiats 0.2.12.
- #
- # Report bugs to <gmpostiats@gmail.com>.
- #
-@@ -580,8 +580,8 @@
- # Identity of this package.
- PACKAGE_NAME='ATS2/Postiats'
- PACKAGE_TARNAME='ats2-postiats'
--PACKAGE_VERSION='0.2.10'
--PACKAGE_STRING='ATS2/Postiats 0.2.10'
-+PACKAGE_VERSION='0.2.12'
-+PACKAGE_STRING='ATS2/Postiats 0.2.12'
- PACKAGE_BUGREPORT='gmpostiats@gmail.com'
- PACKAGE_URL=''
- 
-@@ -1242,7 +1242,7 @@
-   # Omit some internal or obsolete options to make the list less imposing.
-   # This message is too long to be a string in the A/UX 3.1 sh.
-   cat <<_ACEOF
--\`configure' configures ATS2/Postiats 0.2.10 to adapt to many kinds of systems.
-+\`configure' configures ATS2/Postiats 0.2.12 to adapt to many kinds of systems.
- 
- Usage: $0 [OPTION]... [VAR=VALUE]...
- 
-@@ -1304,7 +1304,7 @@
- 
- if test -n "$ac_init_help"; then
-   case $ac_init_help in
--     short | recursive ) echo "Configuration of ATS2/Postiats 0.2.10:";;
-+     short | recursive ) echo "Configuration of ATS2/Postiats 0.2.12:";;
-    esac
-   cat <<\_ACEOF
- 
-@@ -1384,7 +1384,7 @@
- test -n "$ac_init_help" && exit $ac_status
- if $ac_init_version; then
-   cat <<\_ACEOF
--ATS2/Postiats configure 0.2.10
-+ATS2/Postiats configure 0.2.12
- generated by GNU Autoconf 2.69
- 
- Copyright (C) 2012 Free Software Foundation, Inc.
-@@ -1936,7 +1936,7 @@
- This file contains any messages produced by compilers while
- running configure, to aid debugging if configure makes a mistake.
- 
--It was created by ATS2/Postiats $as_me 0.2.10, which was
-+It was created by ATS2/Postiats $as_me 0.2.12, which was
- generated by GNU Autoconf 2.69.  Invocation command line was
- 
-   $ $0 $@
-@@ -4226,7 +4226,7 @@
- # report actual input values of CONFIG_FILES etc. instead of their
- # values after options handling.
- ac_log="
--This file was extended by ATS2/Postiats $as_me 0.2.10, which was
-+This file was extended by ATS2/Postiats $as_me 0.2.12, which was
- generated by GNU Autoconf 2.69.  Invocation command line was
- 
-   CONFIG_FILES    = $CONFIG_FILES
-@@ -4288,7 +4288,7 @@
- cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
- ac_cs_version="\\
--ATS2/Postiats config.status 0.2.10
-+ATS2/Postiats config.status 0.2.12
- configured by $0, generated by GNU Autoconf 2.69,
-   with options \\"\$ac_cs_config\\"
- 
-diff -Naur ATS2-Postiats-0.2.12/src/CBOOT/config.h postiats-new/src/CBOOT/config.h
---- ATS2-Postiats-0.2.12/src/CBOOT/config.h	2016-10-13 12:03:20.000000000 -0400
-+++ postiats-new/src/CBOOT/config.h	2016-10-23 20:16:34.613836556 -0400
-@@ -44,7 +44,7 @@
- #define PACKAGE_NAME "ATS2/Postiats"
- 
- /* Define to the full name and version of this package. */
--#define PACKAGE_STRING "ATS2/Postiats 0.2.10"
-+#define PACKAGE_STRING "ATS2/Postiats 0.2.12"
- 
- /* Define to the one symbol short name of this package. */
- #define PACKAGE_TARNAME "ats2-postiats"
-@@ -53,7 +53,7 @@
- #define PACKAGE_URL ""
- 
- /* Define to the version of this package. */
--#define PACKAGE_VERSION "0.2.10"
-+#define PACKAGE_VERSION "0.2.12"
- 
- /* The size of `void*', as computed by sizeof. */
- #define SIZEOF_VOIDP 8
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
new file mode 100644
index 000000000000..7162f85e05d3
--- /dev/null
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -0,0 +1,102 @@
+{ stdenv, fetchurl, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm_39, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  version = "0.20.4";
+  name = "crystal-${version}-1";
+  arch =
+    {
+      "x86_64-linux" = "linux-x86_64";
+      "i686-linux" = "linux-i686";
+      "x86_64-darwin" = "darwin-x86_64";
+    }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
+
+  prebuiltBinary = fetchurl {
+    url = "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-1-${arch}.tar.gz";
+    sha256 =
+      {
+        "x86_64-linux" = "cdc11c30235f8bd3b89e1fc13b56838f99d585715fb66563d6599026f5393e37";
+        "i686-linux" = "93e7df2bea3220728987a49a2f93d1c615e2ccae63843e0259a5d891c53a0b80";
+        "x86_64-darwin" = "3fd291a4a5c9eccdea933a9df25446c90d80660a17e89f83503fcb5b6deba03e";
+      }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
+  };
+
+  src = fetchurl {
+    url = "https://github.com/crystal-lang/crystal/archive/${version}.tar.gz";
+    sha256 = "fd099f278b71bbb5cad1927c93933d1feba554fbf8f6f4ab9165f535765f5e31";
+  };
+
+  # crystal on Darwin needs libiconv to build
+  buildInputs = [
+    boehmgc libatomic_ops pcre libevent llvm_39 makeWrapper
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    libiconv
+  ];
+
+  libPath = stdenv.lib.makeLibraryPath ([
+    boehmgc libatomic_ops pcre libevent
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    libiconv
+  ]);
+
+  unpackPhase = ''
+    tar zxf ${src}
+    tar zxf ${prebuiltBinary}
+  '';
+
+  sourceRoot = ".";
+
+  fixPrebuiltBinary = if stdenv.isDarwin then ''
+    wrapProgram $(pwd)/crystal-${version}-1/embedded/bin/crystal \
+        --suffix DYLD_LIBRARY_PATH : $libPath
+  ''
+  else ''
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      crystal-${version}-1/embedded/bin/crystal
+    patchelf --set-rpath ${ stdenv.lib.makeLibraryPath [ stdenv.cc.cc ] } \
+      crystal-${version}-1/embedded/bin/crystal
+  '';
+
+  buildPhase = ''
+    # patch the script which launches the prebuilt compiler
+    substituteInPlace $(pwd)/crystal-${version}-1/bin/crystal --replace \
+      "/usr/bin/env bash" "${stdenv.shell}"
+    substituteInPlace $(pwd)/crystal-${version}/bin/crystal --replace \
+      "/usr/bin/env bash" "${stdenv.shell}"
+
+    ${fixPrebuiltBinary}
+
+    cd crystal-${version}
+    make release=1 PATH="../crystal-${version}-1/bin:$PATH"
+    make doc
+  '';
+
+  installPhase = ''
+    install -Dm755 .build/crystal $out/bin/crystal
+    wrapProgram $out/bin/crystal \
+        --suffix CRYSTAL_PATH : $out/lib/crystal \
+        --suffix LIBRARY_PATH : $libPath
+
+    install -dm755 $out/lib/crystal
+    cp -r src/* $out/lib/crystal/
+
+    install -dm755 $out/share/doc/crystal/api
+    cp -r doc/* $out/share/doc/crystal/api/
+    cp -r samples $out/share/doc/crystal/
+
+    install -Dm644 etc/completion.bash $out/share/bash-completion/completions/crystal
+    install -Dm644 etc/completion.zsh $out/share/zsh/site-functions/_crystal
+
+    install -Dm644 LICENSE $out/share/licenses/crystal/LICENSE
+  '';
+
+  dontStrip = true;
+
+  meta = {
+    description = "A compiled language with Ruby like syntax and type inference";
+    homepage = "https://crystal-lang.org/";
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib.maintainers; [ mingchuan ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+  };
+}
+
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 3435b94c32e6..41162c4e50e7 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -20,10 +20,6 @@ stdenv.mkDerivation rec {
       substituteInPlace src/dmd/posix.mak \
           --replace g++ clang++ \
           --replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_
-
-      # Was not able to compile on darwin due to "__inline_isnanl"
-      # being undefined.
-      substituteInPlace src/dmd/root/port.c --replace __inline_isnanl __inline_isnan
   '';
 
   # Buid and install are based on http://wiki.dlang.org/Building_DMD
diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix
new file mode 100644
index 000000000000..30fee77321f5
--- /dev/null
+++ b/pkgs/development/compilers/ecl/16.1.2.nix
@@ -0,0 +1,59 @@
+{stdenv, fetchurl
+, libtool, autoconf, automake
+, gmp, mpfr, libffi, makeWrapper
+, noUnicode ? false
+, gcc
+, threadSupport ? true
+}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="ecl";
+    version="16.1.2";
+    name="${baseName}-${version}";
+    url="https://common-lisp.net/project/ecl/static/files/release/ecl-16.1.2.tgz";
+    sha256="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d";
+  };
+  buildInputs = [
+    libtool autoconf automake makeWrapper
+  ];
+  propagatedBuildInputs = [
+    libffi gmp mpfr gcc
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs propagatedBuildInputs;
+
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+
+  configureFlags = [
+    (if threadSupport then "--enable-threads" else "--disable-threads")
+    "--with-gmp-prefix=${gmp.dev}"
+    "--with-libffi-prefix=${libffi.dev}"
+    ]
+    ++
+    (stdenv.lib.optional (! noUnicode)
+      "--enable-unicode")
+    ;
+
+  hardeningDisable = [ "format" ];
+
+  postInstall = ''
+    sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config
+    wrapProgram "$out/bin/ecl" \
+      --prefix PATH ':' "${gcc}/bin" \
+      --prefix NIX_LDFLAGS ' ' "-L${gmp.lib or gmp.out or gmp}/lib" \
+      --prefix NIX_LDFLAGS ' ' "-L${libffi.lib or libffi.out or libffi}/lib"
+  '';
+
+  meta = {
+    inherit (s) version;
+    description = "Lisp implementation aiming to be small, fast and easy to embed";
+    license = stdenv.lib.licenses.mit ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index 60293fa2ec18..e506e3aace1f 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -9,11 +9,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="ecl";
-    version="16.1.2";
+    version="16.1.3";
     name="${baseName}-${version}";
-    hash="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d";
-    url="https://common-lisp.net/project/ecl/static/files/release/ecl-16.1.2.tgz";
-    sha256="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d";
+    hash="0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn";
+    url="https://common-lisp.net/project/ecl/static/files/release/ecl-16.1.3.tgz";
+    sha256="0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn";
   };
   buildInputs = [
     libtool autoconf automake makeWrapper
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index 5403c29baab4..c457ae158389 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -1,44 +1,52 @@
-{ stdenv, fetchFromGitHub, python }:
+{ stdenv, fetchFromGitHub, cmake, python, ... }:
 
 let
-  rev = "1.36.4";
+  rev = "1.37.1";
+  gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
 in
-
 stdenv.mkDerivation rec {
   name = "emscripten-fastcomp-${rev}";
 
-  srcFC = fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp";
-    sha256 = "0838rl0n9hyq5dd0gmj5rvigbmk5mhrhzyjk0zd8mjs2mk8z510l";
+    sha256 = "08jci6h73j4pcd6iq5r4zn8c6qpd6qxc7xivxh3iama9hghmxyk9";
     inherit rev;
   };
 
   srcFL = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp-clang";
-    sha256 = "169hfabamv3jmf88flhl4scwaxdh24196gwpz3sdb26lzcns519q";
+    sha256 = "053svm8vnsma61jzzr8n1224brmjw4pzvklh572bm1p7yg32chaw";
     inherit rev;
   };
 
-  buildInputs = [ python ];
-  buildCommand = ''
-    cp -as ${srcFC} $TMPDIR/src
-    chmod +w $TMPDIR/src/tools
-    cp -as ${srcFL} $TMPDIR/src/tools/clang
-
-    chmod +w $TMPDIR/src
-    mkdir $TMPDIR/src/build
-    cd $TMPDIR/src/build
-
-    ../configure --enable-optimized --disable-assertions --enable-targets=host,js
-    make
-    cp -a Release/bin $out
+  nativeBuildInputs = [ cmake python ];
+  preConfigure = ''
+    cp -Lr ${srcFL} tools/clang
+    chmod +w -R tools/clang
   '';
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_TARGETS_TO_BUILD='X86;JSBackend'"
+    "-DLLVM_INCLUDE_EXAMPLES=OFF"
+    "-DLLVM_INCLUDE_TESTS=OFF"
+    # "-DCLANG_INCLUDE_EXAMPLES=OFF"
+    "-DCLANG_INCLUDE_TESTS=OFF"
+  ] ++ (stdenv.lib.optional stdenv.isLinux
+    # necessary for clang to find crtend.o
+    "-DGCC_INSTALL_PREFIX=${gcc}"
+  );
+  enableParallelBuilding = true;
+
+  passthru = {
+    isClang = true;
+    inherit gcc;
+  };
 
   meta = with stdenv.lib; {
     homepage = https://github.com/kripken/emscripten-fastcomp;
-    description = "Emscripten llvm";
+    description = "Emscripten LLVM";
     platforms = platforms.all;
     maintainers = with maintainers; [ qknight matthewbauer ];
     license = stdenv.lib.licenses.ncsa;
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index c78808b81bce..f94e826defbb 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
 
 let
-  rev = "1.36.4";
+  rev = "1.37.1";
   appdir = "share/emscripten";
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten";
-    sha256 = "1c9592i891z1v9rp4a4lnsp14nwiqfxnh37g6xwwjd1bqx7x4hn7";
+    sha256 = "0xl8lv0ihxsnwnhma3i34pkbz0v1yyc93ac6mdqmzv6fx2wczm04";
     inherit rev;
   };
 
@@ -23,11 +23,13 @@ stdenv.mkDerivation {
     sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/${appdir}/config'," $out/${appdir}/tools/shared.py
     sed -i -e 's,^.*did not see a source tree above the LLVM.*$,      return True,' $out/${appdir}/tools/shared.py
     sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n  return,' $out/${appdir}/tools/shared.py
+    # fixes cmake support
+    sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" $out/${appdir}/emcc.py
     mkdir $out/bin
     ln -s $out/${appdir}/{em++,em-config,emar,embuilder.py,emcc,emcmake,emconfigure,emlink.py,emmake,emranlib,emrun,emscons} $out/bin
 
     echo "EMSCRIPTEN_ROOT = '$out/${appdir}'" > $out/${appdir}/config
-    echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/${appdir}/config
+    echo "LLVM_ROOT = '${emscriptenfastcomp}/bin'" >> $out/${appdir}/config
     echo "PYTHON = '${python}/bin/python'" >> $out/${appdir}/config
     echo "NODE_JS = '${nodejs}/bin/node'" >> $out/${appdir}/config
     echo "JS_ENGINES = [NODE_JS]" >> $out/${appdir}/config
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index acddc9081be0..3edfb177b118 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -59,7 +59,7 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "6.2.0";
+let version = "6.3.0";
 
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
@@ -216,7 +216,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "1idpf43988v1a6i8lw9ak1r7igcfg1bm5kn011iydlr2qygmhi4r";
+    sha256 = "17xjz30jb65hcf714vn9gcxvrrji8j20xm7n33qg1ywhyzryfsph";
   };
 
   inherit patches;
diff --git a/pkgs/development/compilers/gcl/2.6.13-pre.nix b/pkgs/development/compilers/gcl/2.6.13-pre.nix
new file mode 100644
index 000000000000..2a80eccfb403
--- /dev/null
+++ b/pkgs/development/compilers/gcl/2.6.13-pre.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchgit, mpfr, m4, binutils, fetchcvs, emacs, zlib, which
+, texinfo, libX11, xproto, inputproto, libXi, gmp, readline, strace
+, libXext, xextproto, libXt, libXaw, libXmu } :
+
+assert stdenv ? cc ;
+assert stdenv.cc.isGNU ;
+assert stdenv.cc ? libc ;
+assert stdenv.cc.libc != null ;
+
+stdenv.mkDerivation rec {
+  name = "gcl-${version}";
+  version = "2.6.13pre50";
+
+  src = fetchgit {
+    sha256 = "0vpxb6z5g9fjavrgx8gz8fsjvskfz64f63qibh5s00fvvndlwi88";
+    url = "http://git.savannah.gnu.org/r/gcl.git";
+    rev = "refs/tags/Version_2_6_13pre50";
+  };
+
+  postPatch = ''
+    sed -e 's/<= obj-date/<= (if (= 0 obj-date) 1 obj-date)/' -i lsp/make.lisp
+  '';
+
+  sourceRoot = "gcl/gcl";
+
+  patches = [];
+
+  buildInputs = [
+    mpfr m4 binutils emacs gmp
+    libX11 xproto inputproto libXi
+    libXext xextproto libXt libXaw libXmu
+    zlib which texinfo readline strace
+  ];
+
+  configureFlags = [
+    "--enable-ansi"
+  ];
+
+  hardeningDisable = [ "pic" "bindnow" ];
+
+  meta = {
+    description = "GNU Common Lisp compiler working via GCC";
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
index 25eabc769aa5..100bb87768b5 100644
--- a/pkgs/development/compilers/ghc/7.4.2-binary.nix
+++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix
@@ -65,6 +65,9 @@ stdenv.mkDerivation rec {
       find . -type f -perm -0100 \
           -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           --set-rpath "${stdenv.lib.makeLibraryPath [ "$out" gmp ]}" {} \;
+
+      paxmark m ./ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
+
       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 98a81b8e59e2..1834f3ae50b6 100644
--- a/pkgs/development/compilers/ghc/8.0.1.nix
+++ b/pkgs/development/compilers/ghc/8.0.1.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
-, hscolour, patchutils
+, hscolour, patchutils, sphinx
 }:
 
 let
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     (fetchFilteredPatch { url = https://git.haskell.org/ghc.git/patch/2f8cd14fe909a377b3e084a4f2ded83a0e6d44dd; sha256 = "06zvlgcf50ab58bw6yw3krn45dsmhg4cmlz4nqff8k4z1f1bj01v"; })
   ] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch;
 
-  buildInputs = [ ghc perl hscolour ];
+  buildInputs = [ ghc perl hscolour sphinx];
 
   enableParallelBuilding = true;
 
@@ -57,6 +57,8 @@ stdenv.mkDerivation rec {
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
   postInstall = ''
+    paxmark m $out/lib/${name}/bin/{ghc,haddock}
+
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
 
diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix
index 5a4355084357..5979eba3e100 100644
--- a/pkgs/development/compilers/ghc/8.0.2.nix
+++ b/pkgs/development/compilers/ghc/8.0.2.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
-, hscolour, patchutils
+, hscolour, patchutils, sphinx
 }:
 
 let
@@ -13,23 +13,17 @@ let
   });
 in
 stdenv.mkDerivation rec {
-  version = "8.0.1.20161117";
+  version = "8.0.2";
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/8.0.2-rc1/${name}-src.tar.xz";
-    sha256 = "08hpzvg059ha0knmlngd0winfkplkkb7dk88zfz3s177z38kd874";
+    url = "https://downloads.haskell.org/~ghc/8.0.2/${name}-src.tar.xz";
+    sha256 = "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi";
   };
 
-  patches = [
-    # Already applied?
-    # ./relocation.patch
-    # 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"; })
-  ] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch;
+  patches = [] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch;
 
-  buildInputs = [ ghc perl hscolour ];
+  buildInputs = [ ghc perl hscolour sphinx ];
 
   enableParallelBuilding = true;
 
@@ -57,6 +51,8 @@ stdenv.mkDerivation rec {
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
   postInstall = ''
+    paxmark m $out/lib/${name}/bin/{ghc,haddock}
+
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 23a1b2821492..971365eda48f 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,15 +1,19 @@
 { stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
-, autoconf, automake, happy, alex, crossSystem, selfPkgs, cross ? null
+, autoconf, automake, happy, alex, python3, crossSystem, selfPkgs, cross ? null
 }:
 
 let
   inherit (bootPkgs) ghc;
 
-  commonBuildInputs = [ ghc perl autoconf automake happy alex ];
+  commonBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
 
-  version = "8.1.20161115";
+  version = "8.1.20170106";
+  rev = "b4f2afe70ddbd0576b4eba3f82ba1ddc52e9b3bd";
 
   commonPreConfigure =  ''
+    echo ${version} >VERSION
+    echo ${rev} >GIT_COMMIT_ID
+    ./boot
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
@@ -17,29 +21,23 @@ let
     export NIX_LDFLAGS+=" -no_dtrace_dof"
   '';
 in stdenv.mkDerivation (rec {
-  inherit version;
+  inherit version rev;
   name = "ghc-${version}";
-  rev = "017d11e0a36866b05ace32ece1af11adf652a619";
 
   src = fetchgit {
     url = "git://git.haskell.org/ghc.git";
     inherit rev;
-    sha256 = "1ryggmz961qd0fl50rkjjvi6g9azwla2vx9310a9nzjaj5x6ib4y";
+    sha256 = "1h064nikx5srsd7qvz19f6dxvnpfjp0b3b94xs1f4nar18hzf4j0";
   };
 
-  postPatch = ''
-    echo ${version} >VERSION
-    echo ${rev} >GIT_COMMIT_ID
-    patchShebangs .
-    ./boot
-  '';
+  postPatch = "patchShebangs .";
+
+  preConfigure = commonPreConfigure;
 
   buildInputs = commonBuildInputs;
 
   enableParallelBuilding = true;
 
-  preConfigure = commonPreConfigure;
-
   configureFlags = [
     "CC=${stdenv.cc}/bin/cc"
     "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
@@ -52,7 +50,11 @@ in stdenv.mkDerivation (rec {
   # that in turn causes GHCi to abort
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
+  checkTarget = "test";
+
   postInstall = ''
+    paxmark m $out/lib/${name}/bin/{ghc,haddock}
+
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
 
@@ -83,9 +85,6 @@ in stdenv.mkDerivation (rec {
 } // stdenv.lib.optionalAttrs (cross != null) {
   name = "${cross.config}-ghc-${version}";
 
-  # Some fixes for cross-compilation to iOS. See https://phabricator.haskell.org/D2710 (D2711,D2712,D2713)
-  patches = [ ./D2710.patch ./D2711.patch ./D2712.patch ./D2713.patch ];
-
   preConfigure = commonPreConfigure + ''
     sed 's|#BuildFlavour  = quick-cross|BuildFlavour  = perf-cross|' mk/build.mk.sample > mk/build.mk
   '';
diff --git a/pkgs/development/compilers/ghc/nokinds.nix b/pkgs/development/compilers/ghc/nokinds.nix
deleted file mode 100644
index a041ff02f936..000000000000
--- a/pkgs/development/compilers/ghc/nokinds.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }:
-
-let
-  inherit (bootPkgs) ghc;
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
-    DYNAMIC_BY_DEFAULT = NO
-    SRC_HC_OPTS        = -H64m -O -fasm
-    GhcLibHcOpts       = -O -dcore-lint
-    GhcStage1HcOpts    = -Rghc-timing -O -fasm
-    GhcStage2HcOpts    = -Rghc-timing -O0 -DDEBUG
-    SplitObjs          = NO
-    HADDOCK_DOCS       = NO
-    BUILD_DOCBOOK_HTML = NO
-    BUILD_DOCBOOK_PS   = NO
-    BUILD_DOCBOOK_PDF  = NO
-    LAX_DEPENDENCIES   = YES
-    ${stdenv.lib.optionalString stdenv.isDarwin ''
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
-    ''}
-  '';
-
-in
-
-stdenv.mkDerivation rec {
-  version = "7.11.20150826";
-  name = "ghc-${version}"; # We cannot add a "nokinds" tag here; see git comment for details.
-  rev = "5f7f64b7fc879b5ecfd6987ec5565bd90f7c0179";
-
-  src = fetchgit {
-    url = "https://github.com/goldfirere/ghc.git";
-    inherit rev;
-    sha256 = "183l4v6aw52r3ydwl8bxg1lh3cwfakb35rpy6mjg23dqmqsynmcn";
-  };
-
-  patches = [ ./relocation.patch ];
-
-  postUnpack = ''
-    pushd ghc-${builtins.substring 0 7 rev}
-    echo ${version} >VERSION
-    echo ${rev} >GIT_COMMIT_ID
-    patchShebangs .
-    ./boot
-    popd
-  '';
-
-  buildInputs = [ ghc perl autoconf automake happy alex ];
-
-  preConfigure = ''
-    echo >mk/build.mk "${buildMK}"
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
-  '';
-
-  configureFlags = [
-    "--with-gcc=${stdenv.cc}/bin/cc"
-    "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
-  ];
-
-  enableParallelBuilding = true;
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
-
-  passthru = {
-    inherit bootPkgs;
-  };
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The dependently-typed 'nokinds' branch of the Glasgow Haskell Compiler by Richard Eisenberg";
-    maintainers = with stdenv.lib.maintainers; [ deepfire ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix
index f8b861311d60..393278be49ef 100644
--- a/pkgs/development/compilers/ghcjs/base.nix
+++ b/pkgs/development/compilers/ghcjs/base.nix
@@ -183,4 +183,5 @@ in mkDerivation (rec {
   license = stdenv.lib.licenses.bsd3;
   platforms = ghc.meta.platforms;
   maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan ];
+  broken = true;  # http://hydra.nixos.org/build/45110274
 })
diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix
index 63b4b4c2c4f3..cd03c246624e 100644
--- a/pkgs/development/compilers/glslang/default.nix
+++ b/pkgs/development/compilers/glslang/default.nix
@@ -21,5 +21,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "Khronos reference front-end for GLSL and ESSL";
+    license = licenses.asl20;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix
index 273d768ce21f..eb4c64ed3340 100644
--- a/pkgs/development/compilers/go/1.4.nix
+++ b/pkgs/development/compilers/go/1.4.nix
@@ -9,11 +9,12 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.4.3";
+  version = "1.4-bootstrap-20161024";
+  revision = "79d85a4965ea7c46db483314c3981751909d7883";
 
   src = fetchurl {
-    url = "https://github.com/golang/go/archive/go${version}.tar.gz";
-    sha256 = "0rcrhb3r997dw3d02r37zp26ln4q9n77fqxbnvw04zs413md5s35";
+    url = "https://github.com/golang/go/archive/${revision}.tar.gz";
+    sha256 = "1ljbllwjysya323xxm9s792z8y9jdw19n8sj3mlc8picjclrx5xf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -89,7 +90,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./remove-tools-1.4.patch
-    ./new-binutils.patch
+    ./creds-test-1.4.patch
   ];
 
   GOOS = if stdenv.isDarwin then "darwin" else "linux";
diff --git a/pkgs/development/compilers/go/1.6.nix b/pkgs/development/compilers/go/1.6.nix
index db6573417bf4..982446f4fdb1 100644
--- a/pkgs/development/compilers/go/1.6.nix
+++ b/pkgs/development/compilers/go/1.6.nix
@@ -72,6 +72,8 @@ stdenv.mkDerivation rec {
     sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
     # Remove the coverage test as we have removed this utility
     sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go
+    # Remove the timezone naming test
+    sed -i '/TestLoadFixed/areturn' src/time/time_test.go
 
     sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go
     sed -i 's,/etc/services,${iana_etc}/etc/services,' src/net/port_unix.go
@@ -110,6 +112,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./remove-tools-1.5.patch
+    ./creds-test.patch
   ];
 
   GOOS = if stdenv.isDarwin then "darwin" else "linux";
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index 16de9b0edbf5..0df2e8d6f7e9 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -66,6 +66,8 @@ stdenv.mkDerivation rec {
     sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
     # Remove the coverage test as we have removed this utility
     sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go
+    # Remove the timezone naming test
+    sed -i '/TestLoadFixed/areturn' src/time/time_test.go
 
     sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go
     sed -i 's,/etc/services,${iana_etc}/etc/services,' src/net/port_unix.go
@@ -101,7 +103,11 @@ stdenv.mkDerivation rec {
     sed -i '1 a\exit 0' misc/cgo/errors/test.bash
   '';
 
-  patches = [ ./remove-tools-1.7.patch ./cacert-1.7.patch ];
+  patches =
+    [ ./remove-tools-1.7.patch
+      ./cacert-1.7.patch
+      ./creds-test.patch
+    ];
 
   SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
diff --git a/pkgs/development/compilers/go/creds-test-1.4.patch b/pkgs/development/compilers/go/creds-test-1.4.patch
new file mode 100644
index 000000000000..98cec532dcca
--- /dev/null
+++ b/pkgs/development/compilers/go/creds-test-1.4.patch
@@ -0,0 +1,17 @@
+diff --git a/go-go1.4.3/src/syscall/creds_test.go b/go-go1.4.3/src/syscall/creds_test.go
+index b1894c6..b2d6b4e 100644
+--- a/src/syscall/creds_test.go
++++ b/src/syscall/creds_test.go
+@@ -56,9 +56,10 @@ func TestSCMCredentials(t *testing.T) {
+ 		ucred.Gid = 0
+ 		oob := syscall.UnixCredentials(&ucred)
+ 		_, _, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil)
+-		if err.(*net.OpError).Err != syscall.EPERM {
+-			t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err)
++		if err.(*net.OpError).Err != syscall.EPERM && err.(*net.OpError).Err != syscall.EINVAL {
++			t.Fatalf("WriteMsgUnix failed with %v, want EPERM or EINVAL", err)
+ 		}
++
+ 	}
+
+ 	ucred.Pid = int32(os.Getpid())
diff --git a/pkgs/development/compilers/go/creds-test.patch b/pkgs/development/compilers/go/creds-test.patch
new file mode 100644
index 000000000000..09f78959ff9c
--- /dev/null
+++ b/pkgs/development/compilers/go/creds-test.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' ./result/src/syscall/creds_test.go go-go1.7.4-src/src/syscall/creds_test.go
+--- ./result/src/syscall/creds_test.go	1970-01-01 01:00:01.000000000 +0100
++++ go-go1.7.4-src/src/syscall/creds_test.go	2016-12-21 14:06:39.559932164 +0100
+@@ -62,8 +62,8 @@
+ 		if sys, ok := err.(*os.SyscallError); ok {
+ 			err = sys.Err
+ 		}
+-		if err != syscall.EPERM {
+-			t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err)
++		if err != syscall.EPERM && err != syscall.EINVAL {
++			t.Fatalf("WriteMsgUnix failed with %v, want EPERM or EINVAL", err)
+ 		}
+ 	}
+ 
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index a2afcc773802..a4077408ef00 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchgit, ocaml, zlib, neko, camlp4 }:
 
 stdenv.mkDerivation {
-  name = "haxe-3.1.3";
+  name = "haxe-3.2.1";
 
   buildInputs = [ocaml zlib neko camlp4];
 
   src = fetchgit {
     url = "https://github.com/HaxeFoundation/haxe.git";
-    sha256 = "0d8s9yqsqcbr2lfw4xnmg7vzgb6k1jq6hlwwaf1kmn9wxpvcc6x9";
+    sha256 = "1x9ay5a2llq46fww3k07jxx8h1vfpyxb522snc6702a050ki5vz3";
     fetchSubmodules = true;
 
-    # Tag 3.1.3
-    rev = "7be30670b2f1f9b6082499c8fb9e23c0a6df6c28";
+    # Tag 3.2.1
+    rev = "deab4424399b520750671e51e5f5c2684e942c17";
   };
 
   prePatch = ''
diff --git a/pkgs/development/compilers/haxe/haxelib-nix.patch b/pkgs/development/compilers/haxe/haxelib-nix.patch
index da7e4c8dacb8..ed370e8efd12 100644
--- a/pkgs/development/compilers/haxe/haxelib-nix.patch
+++ b/pkgs/development/compilers/haxe/haxelib-nix.patch
@@ -1,10 +1,10 @@
-diff --git a/extra/haxelib_src/src/tools/haxelib/Main.hx b/extra/haxelib_src/src/tools/haxelib/Main.hx
-index a44a785..0eb811a 100644
+diff --git a/src/tools/haxelib/Main.hx b/src/tools/haxelib/Main.hx
+index dc18815..def5231 100644
 --- a/extra/haxelib_src/src/tools/haxelib/Main.hx
 +++ b/extra/haxelib_src/src/tools/haxelib/Main.hx
-@@ -996,21 +996,26 @@ class Main {
+@@ -1301,21 +1301,26 @@ class Main {
  	}
- 
+
  	function checkRec( prj : String, version : String, l : List<{ project : String, version : String, info : Infos }> ) {
 -		var pdir = getRepository() + Data.safe(prj);
 -		if( !FileSystem.exists(pdir) )
@@ -44,7 +44,7 @@ index a44a785..0eb811a 100644
  		var json = try File.getContent(vdir+"/"+Data.JSON) catch( e : Dynamic ) null;
  		var inf = Data.readData(json,false);
  		l.add({ project : prj, version : version, info: inf });
-@@ -1025,15 +1030,21 @@ class Main {
+@@ -1330,15 +1335,21 @@ class Main {
  			var a = args[argcur++].split(":");
  			checkRec(a[0],a[1],list);
  		}
@@ -73,10 +73,10 @@ index a44a785..0eb811a 100644
  			var ndir = dir + "ndll";
  			if( FileSystem.exists(ndir) ) {
  				var sysdir = ndir+"/"+Sys.systemName();
-@@ -1153,21 +1164,39 @@ class Main {
- 		print('  Path: $devPath');
+@@ -1491,23 +1502,43 @@ class Main {
+ 			);
  	}
- 
+
 +	function getNixLib(project:String):Null<String>
 +	{
 +		var hlibPath = Sys.getEnv("HAXELIB_PATH");
@@ -91,7 +91,7 @@ index a44a785..0eb811a 100644
 +		}
 +		return null;
 +	}
-+
+
  	function run() {
 -		var rep = getRepository();
  		var project = param("Library");
@@ -103,10 +103,10 @@ index a44a785..0eb811a 100644
 -		pdir += "/";
 -		var version = temp[1] != null ? temp[1] : getCurrent(pdir);
 -		var dev = try getDev(pdir) catch ( e : Dynamic ) null;
--		var vdir = dev!=null ? dev : pdir + Data.safe(version);
--		var rdir = vdir + "/run.n";
--		if( !FileSystem.exists(rdir) )
--			throw "Library "+project+" version "+version+" does not have a run script";
+-		var vdir = dev != null ? dev : pdir + Data.safe(version);
+
+ 		args.push(cli.cwd);
++
 +		var vdir = this.getNixLib(project);
 +		if (vdir == null) {
 +			var rep = getRepository();
@@ -121,6 +121,8 @@ index a44a785..0eb811a 100644
 +			if( !FileSystem.exists(rdir) )
 +				throw "Library "+project+" version "+version+" does not have a run script";
 +		}
- 		args.push(Sys.getCwd());
- 		Sys.setCwd(vdir);
- 		var cmd = "neko run.n";
+ 		cli.cwd = vdir;
+-
+ 		var callArgs =
+ 			switch try [Data.readData(File.getContent(vdir + '/haxelib.json'), false), null] catch (e:Dynamic) [null, e] {
+ 				case [null, e]:
diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix
index 3df20086f79b..b7155defb437 100644
--- a/pkgs/development/compilers/llvm/3.7/default.nix
+++ b/pkgs/development/compilers/llvm/3.7/default.nix
@@ -1,6 +1,6 @@
-{ newScope, stdenv, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun }:
+{ newScope, stdenv, cmake, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun }:
 let
-  callPackage = newScope (self // { inherit stdenv isl version fetch; });
+  callPackage = newScope (self // { inherit stdenv cmake libxml2 python2 isl version fetch; });
 
   version = "3.7.1";
 
diff --git a/pkgs/development/compilers/llvm/3.7/libc++/default.nix b/pkgs/development/compilers/llvm/3.7/libc++/default.nix
index 62402142a129..1196645b923e 100644
--- a/pkgs/development/compilers/llvm/3.7/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.7/libc++/default.nix
@@ -14,7 +14,10 @@ stdenv.mkDerivation rec {
     cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include")
   '';
 
-  patches = [ ./darwin.patch ];
+  patches = [
+    ./darwin.patch
+    ./r242056.patch
+  ];
 
   buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
diff --git a/pkgs/development/compilers/llvm/3.7/libc++/r242056.patch b/pkgs/development/compilers/llvm/3.7/libc++/r242056.patch
new file mode 100644
index 000000000000..96245e76653a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.7/libc++/r242056.patch
@@ -0,0 +1,16 @@
+--- a/include/string	2015/07/13 20:04:56	242056
++++ b/include/string	2015/07/18 20:40:46	242623
+@@ -1936,7 +1936,12 @@
+ template <class _CharT, class _Traits, class _Allocator>
+ inline _LIBCPP_INLINE_VISIBILITY
+ basic_string<_CharT, _Traits, _Allocator>::basic_string(const allocator_type& __a)
+-    : __r_(__a)
++#if _LIBCPP_STD_VER <= 14
++        _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
++#else
++        _NOEXCEPT
++#endif
++: __r_(__a)
+ {
+ #if _LIBCPP_DEBUG_LEVEL >= 2
+     __get_db()->__insert_c(this);
diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix
index 6eadb91141d9..e6c804c96b1f 100644
--- a/pkgs/development/compilers/llvm/3.9/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix
@@ -6,7 +6,7 @@ let
     name = "clang-${version}";
 
     unpackPhase = ''
-      unpackFile ${fetch "cfe" "0a1x32rxrq4ln079xf58irg56gjdxcfgwa00ws4hqv9pv73sg5km"}
+      unpackFile ${fetch "cfe" "0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76"}
       mv cfe-${version}.src clang
       sourceRoot=$PWD/clang
       unpackFile ${clang-tools-extra_src}
diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix
index 49fdad931b69..a01e47efb753 100644
--- a/pkgs/development/compilers/llvm/3.9/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/default.nix
@@ -2,7 +2,7 @@
 let
   callPackage = newScope (self // { inherit stdenv isl version fetch; });
 
-  version = "3.9.0";
+  version = "3.9.1";
 
   fetch = fetch_v version;
   fetch_v = ver: name: sha256: fetchurl {
@@ -10,8 +10,8 @@ let
     inherit sha256;
   };
 
-  compiler-rt_src = fetch "compiler-rt" "16m5g0hf8yg9npnw25j2a86g34nsvk9rsm3c84gbch2prm7j5rg0";
-  clang-tools-extra_src = fetch "clang-tools-extra" "052zg0h5vbmxnh2ikc743rw3649f112dfyn8hg39x6cfxi3fqyjv";
+  compiler-rt_src = fetch "compiler-rt" "16gc2gdmp5c800qvydrdhsp0bzb97s8wrakl6i8a4lgslnqnf2fk";
+  clang-tools-extra_src = fetch "clang-tools-extra" "0d9nh7j7brbh9avigcn69dlaihsl9p3cf9s45mw6fxzzvrdvd999";
 
   self = {
     llvm = callPackage ./llvm.nix {
diff --git a/pkgs/development/compilers/llvm/3.9/libc++/default.nix b/pkgs/development/compilers/llvm/3.9/libc++/default.nix
index 3b7caaa24bf5..7a53ffa0d8fc 100644
--- a/pkgs/development/compilers/llvm/3.9/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/libc++/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "libc++-${version}";
 
-  src = fetch "libcxx" "01jvgwi9zd46bb1f93c561212bjzg02q2akacvsj4qsw6r8qvcyh";
+  src = fetch "libcxx" "0qbl3afl2p2h87p977lsqr5kykl6cgjpkzczs0g6a3pn53j1bri5";
 
   postUnpack = ''
     unpackFile ${libcxxabi.src}
diff --git a/pkgs/development/compilers/llvm/3.9/libc++abi.nix b/pkgs/development/compilers/llvm/3.9/libc++abi.nix
index 2baac6386a57..aff4205d6a96 100644
--- a/pkgs/development/compilers/llvm/3.9/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/3.9/libc++abi.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "libc++abi-${version}";
 
-  src = fetch "libcxxabi" "06c05jlwfgm2q5xhy5wzmsi9bmfphzh22wpmbph84s452wksjdxh";
+  src = fetch "libcxxabi" "1qi9q06zanqm8awzq83810avmvi52air6gr9zfip8mbg5viqn3cj";
 
   buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
 
diff --git a/pkgs/development/compilers/llvm/3.9/lldb.nix b/pkgs/development/compilers/llvm/3.9/lldb.nix
index 55c00eb07fcb..5d8878b3b06d 100644
--- a/pkgs/development/compilers/llvm/3.9/lldb.nix
+++ b/pkgs/development/compilers/llvm/3.9/lldb.nix
@@ -15,7 +15,7 @@
 stdenv.mkDerivation {
   name = "lldb-${version}";
 
-  src = fetch "lldb" "1113s6crh94hzk9h9lqrvng0lsy174ml2rq0r962ngqy843hwa31";
+  src = fetch "lldb" "1z30ljmcpp261bjng1i5k3bb9jkrs1cr97z04qs4s3zql6r12cvy";
 
   postUnpack = ''
     # Hack around broken standalone build as of 3.8
diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix
index 8086f980bcf5..b64cf4fed5b0 100644
--- a/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -19,7 +19,7 @@
 }:
 
 let
-  src = fetch "llvm" "0j49lkd5d7nnpdqzaybs2472bvcxyx0i4r3iccwf3kj2v9wk3iv6";
+  src = fetch "llvm" "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z";
   shlib = if stdenv.isDarwin then "dylib" else "so";
 
   # Used when creating a version-suffixed symlink of libLLVM.dylib
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 0dfdea6d3d14..eed702f85128 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -1,26 +1,32 @@
-{ stdenv, fetchurl, unzip }:
+{ stdenv, lib, fetchurl, makeWrapper, gcc }:
 
 stdenv.mkDerivation rec {
-  name = "nim-0.15.2";
+  name = "nim-${version}";
+  version = "0.16.0";
 
   src = fetchurl {
     url = "http://nim-lang.org/download/${name}.tar.xz";
-    sha256 = "12pyzjx7x4hclzrf3zf6r1qjlp60bzsaqrz0rax2rak2c8qz4pch";
+    sha256 = "0rsibhkc5n548bn9yyb9ycrdgaph5kq84sfxc9gabjs7pqirh6cy";
   };
 
+  buildInputs  = [ makeWrapper ];
+
   buildPhase   = "sh build.sh";
+
   installPhase =
     ''
       install -Dt "$out/bin" bin/nim
       substituteInPlace install.sh --replace '$1/nim' "$out"
       sh install.sh $out
+      wrapProgram $out/bin/nim \
+        --suffix PATH : ${lib.makeBinPath [ gcc ]}
     '';
 
   meta = with stdenv.lib;
     { description = "Statically typed, imperative programming language";
       homepage = http://nim-lang.org/;
       license = licenses.mit;
-      maintainers = with maintainers; [ ehmry ];
+      maintainers = with maintainers; [ ehmry peterhoeg ];
       platforms = platforms.linux ++ platforms.darwin; # arbitrary
     };
 }
diff --git a/pkgs/development/compilers/rust/beta.nix b/pkgs/development/compilers/rust/beta.nix
index a4e55f970eba..5205c8fc93f2 100644
--- a/pkgs/development/compilers/rust/beta.nix
+++ b/pkgs/development/compilers/rust/beta.nix
@@ -1,27 +1,56 @@
-{ stdenv, callPackage, rustPlatform,
+{ stdenv, callPackage, rustPlatform, cacert, gdb,
   targets ? [], targetToolchains ? [], targetPatches ? [] }:
 
 rec {
-  rustc = callPackage ./rustc.nix {
-    shortVersion = "beta-2016-11-16";
-    forceBundledLLVM = false;
+  rustc = stdenv.lib.overrideDerivation (callPackage ./rustc.nix {
+    shortVersion = "beta-2017-01-07";
+    forceBundledLLVM = true; # TODO: figure out why linking fails without this
     configureFlags = [ "--release-channel=beta" ];
-    srcRev = "e627a2e6edbc7b7fd205de8ca7c86cff76655f4d";
-    srcSha = "14sbhn6dp6rri1rpkspjlmy359zicwmyppdak52xj1kqhcjn71wa";
+    srcRev = "a035041ba450ce3061d78a2bdb9c446eb5321d0d";
+    srcSha = "12xsm0yp1y39fvf9j218gxv73j8hhahc53jyv3q58kiriyqvfc1s";
     patches = [
-      ./patches/disable-lockfile-check-beta.patch
+     ./patches/disable-lockfile-check-nightly.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
     inherit targets;
     inherit targetPatches;
     inherit targetToolchains;
     inherit rustPlatform;
-  };
+  }) (oldAttrs: {
+    nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ gdb rustPlatform.rust.cargo ];
+    postUnpack = ''
+      export CARGO_HOME="$(realpath deps)"
+      export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
+    '';
+    postPatch = ''
+      ${oldAttrs.postPatch}
+
+      # Remove failing debuginfo tests because of old gdb version: https://github.com/rust-lang/rust/issues/38948#issuecomment-271443596
+      rm -vr src/test/debuginfo/borrowed-enum.rs || true
+      rm -vr src/test/debuginfo/generic-struct-style-enum.rs || true
+      rm -vr src/test/debuginfo/generic-tuple-style-enum.rs || true
+      rm -vr src/test/debuginfo/packed-struct.rs || true
+      rm -vr src/test/debuginfo/recursive-struct.rs || true
+      rm -vr src/test/debuginfo/struct-in-enum.rs || true
+      rm -vr src/test/debuginfo/struct-style-enum.rs || true
+      rm -vr src/test/debuginfo/tuple-style-enum.rs || true
+      rm -vr src/test/debuginfo/union-smoke.rs || true
+      rm -vr src/test/debuginfo/unique-enum.rs || true
+
+      # make external cargo work until https://github.com/rust-lang/rust/issues/38950 is fixed
+      sed -i "s#    def cargo(self):#    def cargo(self):\n        return \"${rustPlatform.rust.cargo}/bin/cargo\"#g" src/bootstrap/bootstrap.py
+      substituteInPlace \
+        src/bootstrap/config.rs \
+        --replace \
+        'self.cargo = Some(push_exe_path(path, &["bin", "cargo"]));' \
+        ''$'self.cargo = Some(\n                        "${rustPlatform.rust.cargo}\\\n                        /bin/cargo".into());'
+    '';
+  });
 
   cargo = callPackage ./cargo.nix rec {
-    version = "0.14.0";
-    srcRev = "eca9e159b6b0d484788ac757cf23052eba75af55";
-    srcSha = "1zm5rzw1mvixnkzr4775pcxx6k235qqxbysyp179cbxsw3dm045s";
-    depsSha256 = "0gpn0cpwgpzwhc359qn6qplx371ag9pqbwayhqrsydk1zm5bm3zr";
+    version = "beta-2017-01-10";
+    srcRev = "6dd4ff0f5b59fff524762c4a7b65882adda713c0";
+    srcSha = "1x6d42qq2zhr1iaw0m0nslhv6c1w6x6schmd96max0p9xb47l9zj";
+    depsSha256 = "1sywnhzgambmqsjs2xlnzracfv7vjljha55hgf8wca2marafr5dp";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index b912a9d7933c..93deee01e56e 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -14,16 +14,16 @@ let
     then "x86_64-apple-darwin"
     else abort "missing boostrap url for platform ${stdenv.system}";
 
-  # fetch hashes by running `print-hashes.sh 1.12.1`
+  # fetch hashes by running `print-hashes.sh 1.13.0`
   bootstrapHash =
     if stdenv.system == "i686-linux"
-    then "ede9b9d14d1ddbc29975d1ead73fcf2758719b4b371363afe1c32eb8d6e96bb3"
+    then "239734113f6750d31085c7a08c260d492991cc1ef10817b6d44154515f3f9439"
     else if stdenv.system == "x86_64-linux"
-    then "9e546aec13e389429ba2d86c8f4e67eba5af146c979e4faa16ffb40ddaf9984c"
+    then "95f4c372b1b81ac1038161e87e932dd7ab875d25c167a861c3949b0f6a65516d"
     else if stdenv.system == "i686-darwin"
-    then "2648645c4fe1ecf36beb7de63501dd99e9547a7a6d5683acf2693b919a550b69"
+    then "f6e01cab3bf8d0a6fe9cc2447aa10ce894569daaa72d44063c229da918b96023"
     else if stdenv.system == "x86_64-darwin"
-    then "0ac5e58dba3d24bf09dcc90eaac02d2df053122b0def945ec4cfe36ac6d4d011"
+    then "f538ca5732b844cf7f00fc4aaaf200a49a845b58b4ec8aef38da0b00e2cf6efe"
     else throw "missing boostrap hash for platform ${stdenv.system}";
 
   needsPatchelf = stdenv.isLinux;
@@ -33,7 +33,7 @@ let
      sha256 = bootstrapHash;
   };
 
-  version = "1.12.1";
+  version = "1.13.0";
 in
 
 rec {
diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix
index 537764ebca2b..f0d7e0dabc27 100644
--- a/pkgs/development/compilers/rust/cargo.nix
+++ b/pkgs/development/compilers/rust/cargo.nix
@@ -23,17 +23,6 @@ rustPlatform.buildRustPackage rec {
 
   LIBGIT2_SYS_USE_PKG_CONFIG=1;
 
-  configurePhase = ''
-    ./configure --enable-optimize --prefix=$out --local-cargo=${rustPlatform.rust.cargo}/bin/cargo
-  '';
-
-  buildPhase = "make";
-
-  installPhase = ''
-    make install
-    ${postInstall}
-  '';
-
   postInstall = ''
     rm "$out/lib/rustlib/components" \
        "$out/lib/rustlib/install.log" \
@@ -60,7 +49,7 @@ rustPlatform.buildRustPackage rec {
     cargo test
   '';
 
-  # Disable check phase as there are failures (author_prefers_cargo test fails)
+  # Disable check phase as there are failures (4 tests fail)
   doCheck = false;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index c090cc07d01f..7b8d5a3d1ef7 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -4,18 +4,18 @@
 let
   rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
 in
-
 rec {
   rustc = callPackage ./rustc.nix {
-    shortVersion = "1.13";
+    shortVersion = "1.14";
     isRelease = true;
     forceBundledLLVM = false;
     configureFlags = [ "--release-channel=stable" ];
-    srcRev = "2c6933acc05c61e041be764cb1331f6281993f3f";
-    srcSha = "1w0alyyc29cy2lczrqvg1kfycjxy0xg8fpzdac80m88fxpv23glp";
+    srcRev = "e8a0123241f0d397d39cd18fcc4e5e7edde22730";
+    srcSha = "1sla3gnx9dqvivnyhvwz299mc3jmdy805q2y5xpmpi1vhfk0bafx";
 
     patches = [
       ./patches/disable-lockfile-check-stable.patch
+      ./patches/darwin-disable-fragile-tcp-tests.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
 
     inherit targets;
@@ -25,10 +25,10 @@ rec {
   };
 
   cargo = callPackage ./cargo.nix rec {
-    version = "0.14.0";
-    srcRev = "eca9e159b6b0d484788ac757cf23052eba75af55";
-    srcSha = "1zm5rzw1mvixnkzr4775pcxx6k235qqxbysyp179cbxsw3dm045s";
-    depsSha256 = "0gpn0cpwgpzwhc359qn6qplx371ag9pqbwayhqrsydk1zm5bm3zr";
+    version = "0.15.0";
+    srcRev = "298a0127f703d4c2500bb06d309488b92ef84ae1";
+    srcSha = "0v74r18vszapw2rfk7w72czkp9gbq4s1sggphm5vx0kyh058dxc5";
+    depsSha256 = "0ksiywli8r4lkprfknm0yz1w27060psi3db6wblqmi8sckzdm44h";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/nightly.nix b/pkgs/development/compilers/rust/nightly.nix
index 81741105e261..d9ae8c140abe 100644
--- a/pkgs/development/compilers/rust/nightly.nix
+++ b/pkgs/development/compilers/rust/nightly.nix
@@ -1,13 +1,13 @@
-{ stdenv, callPackage, rustPlatform,
+{ stdenv, callPackage, rustPlatform, cacert, gdb,
   targets ? [], targetToolchains ? [], targetPatches ? [] }:
 
 rec {
-  rustc = callPackage ./rustc.nix {
-    shortVersion = "nightly-2016-11-23";
-    forceBundledLLVM = false;
+  rustc = stdenv.lib.overrideDerivation (callPackage ./rustc.nix {
+    shortVersion = "nightly-2017-01-10";
+    forceBundledLLVM = true; # TODO: figure out why linking fails without this
     configureFlags = [ "--release-channel=nightly" ];
-    srcRev = "d5814b03e652043be607f96e24709e06c2b55429";
-    srcSha = "0x2vr1mda0mr8q28h96zfpv0f26dyrg8jwxznlh6gk0y0mprgcbr";
+    srcRev = "7bffede97cf58f7159e261eac592f9cf88ce209d";
+    srcSha = "1784jvsf9g03cglwask1zhjmba4ghycbin3rw0hmhb41cz2y4q8v";
     patches = [
      ./patches/disable-lockfile-check-nightly.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
@@ -15,13 +15,42 @@ rec {
     inherit targetPatches;
     inherit targetToolchains;
     inherit rustPlatform;
-  };
+  }) (oldAttrs: {
+    nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ gdb rustPlatform.rust.cargo ];
+    postUnpack = ''
+      export CARGO_HOME="$(realpath deps)"
+      export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
+    '';
+    postPatch = ''
+      ${oldAttrs.postPatch}
+
+      # Remove failing debuginfo tests because of old gdb version: https://github.com/rust-lang/rust/issues/38948#issuecomment-271443596
+      rm -vr src/test/debuginfo/borrowed-enum.rs || true
+      rm -vr src/test/debuginfo/generic-struct-style-enum.rs || true
+      rm -vr src/test/debuginfo/generic-tuple-style-enum.rs || true
+      rm -vr src/test/debuginfo/packed-struct.rs || true
+      rm -vr src/test/debuginfo/recursive-struct.rs || true
+      rm -vr src/test/debuginfo/struct-in-enum.rs || true
+      rm -vr src/test/debuginfo/struct-style-enum.rs || true
+      rm -vr src/test/debuginfo/tuple-style-enum.rs || true
+      rm -vr src/test/debuginfo/union-smoke.rs || true
+      rm -vr src/test/debuginfo/unique-enum.rs || true
+
+      # make external cargo work until https://github.com/rust-lang/rust/issues/38950 is fixed
+      sed -i "s#    def cargo(self):#    def cargo(self):\n        return \"${rustPlatform.rust.cargo}/bin/cargo\"#g" src/bootstrap/bootstrap.py
+      substituteInPlace \
+        src/bootstrap/config.rs \
+        --replace \
+        'self.cargo = Some(push_exe_path(path, &["bin", "cargo"]));' \
+        ''$'self.cargo = Some(\n                        "${rustPlatform.rust.cargo}\\\n                        /bin/cargo".into());'
+    '';
+  });
 
   cargo = callPackage ./cargo.nix rec {
-    version = "nightly-2016-07-25";
-    srcRev = "f09ef68cc47956ccc5f99212bdcdd15298c400a0";
-    srcSha = "1r6q9jd0fl6mzhwkvrrcv358q2784hg51dfpy28xgh4n61m7c155";
-    depsSha256 = "055ky0lkrcsi976kmvc4lqyv0sjdpcj3jv36kz9hkqq0gip3crjc";
+    version = "nightly-2017-01-10";
+    srcRev = "6dd4ff0f5b59fff524762c4a7b65882adda713c0";
+    srcSha = "1x6d42qq2zhr1iaw0m0nslhv6c1w6x6schmd96max0p9xb47l9zj";
+    depsSha256 = "1sywnhzgambmqsjs2xlnzracfv7vjljha55hgf8wca2marafr5dp";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/nightlyBin.nix b/pkgs/development/compilers/rust/nightlyBin.nix
index a60d17fb7cbe..bac35c790d03 100644
--- a/pkgs/development/compilers/rust/nightlyBin.nix
+++ b/pkgs/development/compilers/rust/nightlyBin.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, makeWrapper, cacert, zlib }:
+{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage }:
 
 let
   inherit (stdenv.lib) optionalString;
 
-  platform = if stdenv.system == "x86_64-linux" 
+  platform = if stdenv.system == "x86_64-linux"
     then "x86_64-unknown-linux-gnu"
     else abort "missing boostrap url for platform ${stdenv.system}";
 
   bootstrapHash =
     if stdenv.system == "x86_64-linux"
-    then "1afsqaavhwiaxm38zr08cbq0985c7lrb1jzdcmq0jh6y8rb8ikff"
+    then "05bppmc6hqgv2g4x76rj95xf40x2aikqmcnql5li27rqwliyxznj"
     else throw "missing boostrap hash for platform ${stdenv.system}";
 
   needsPatchelf = stdenv.isLinux;
@@ -19,10 +19,12 @@ let
      sha256 = bootstrapHash;
   };
 
-  version = "2016-12-05";
+  version = "2016-12-29";
 in
 
 rec {
+  inherit buildRustPackage;
+
   rustc = stdenv.mkDerivation rec {
     name = "rustc-nightly-${version}";
 
@@ -47,6 +49,37 @@ rec {
         patchelf \
           --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
           "$out/bin/rustc"
+        patchelf \
+          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+          "$out/bin/rustdoc"
+      ''}
+    '';
+
+  };
+  cargo = stdenv.mkDerivation rec {
+    name = "cargo-nightly-${version}";
+
+    inherit version;
+    inherit src;
+
+    meta = with stdenv.lib; {
+      homepage = http://www.rust-lang.org/;
+      description = "A safe, concurrent, practical language";
+      maintainers = with maintainers; [ qknight ];
+      license = [ licenses.mit licenses.asl20 ];
+    };
+
+    buildInputs = [ makeWrapper ];
+    phases = ["unpackPhase" "installPhase"];
+
+    installPhase = ''
+      ./install.sh --prefix=$out \
+        --components=cargo
+
+      ${optionalString needsPatchelf ''
+        patchelf \
+          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+          "$out/bin/cargo"
       ''}
     '';
   };
diff --git a/pkgs/development/compilers/rust/patches/darwin-disable-fragile-tcp-tests.patch b/pkgs/development/compilers/rust/patches/darwin-disable-fragile-tcp-tests.patch
new file mode 100644
index 000000000000..5c51886b4d83
--- /dev/null
+++ b/pkgs/development/compilers/rust/patches/darwin-disable-fragile-tcp-tests.patch
@@ -0,0 +1,36 @@
+From 0becb0b7cff0176279fc9f94c91299d788a43941 Mon Sep 17 00:00:00 2001
+From: Moritz Ulrich <moritz@tarn-vedra.de>
+Date: Sun, 8 Jan 2017 10:28:17 +0100
+Subject: [PATCH] Disable libstd::net::tcp::{ttl, timeouts} on Darwin
+
+---
+ src/libstd/net/tcp.rs | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs
+index 0e7c5b0671..189c31b958 100644
+--- a/src/libstd/net/tcp.rs
++++ b/src/libstd/net/tcp.rs
+@@ -1022,7 +1022,10 @@ mod tests {
+ 
+     // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code
+     //        no longer has rounding errors.
+-    #[cfg_attr(any(target_os = "bitrig", target_os = "netbsd", target_os = "openbsd"), ignore)]
++  #[cfg_attr(any(target_os = "bitrig",
++                 target_os = "netbsd",
++                 target_os = "openbsd",
++                 target_os = "macos"), ignore)]
+     #[test]
+     fn timeouts() {
+         let addr = next_test_ip4();
+@@ -1101,6 +1104,7 @@ mod tests {
+         assert_eq!(false, t!(stream.nodelay()));
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn ttl() {
+         let ttl = 100;
+-- 
+2.11.0
+
diff --git a/pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch b/pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch
index 0c01cb1a7f19..c5009b7ba672 100644
--- a/pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch
+++ b/pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch
@@ -11,12 +11,13 @@ diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs
 index 2839bbd..50142ff 100644
 --- a/src/tools/tidy/src/main.rs
 +++ b/src/tools/tidy/src/main.rs
-@@ -47,7 +47,7 @@ fn main() {
+@@ -48,7 +48,7 @@ fn main() {
      errors::check(&path, &mut bad);
      cargo::check(&path, &mut bad);
      features::check(&path, &mut bad);
 -    cargo_lock::check(&path, &mut bad);
 +    //cargo_lock::check(&path, &mut bad);
+     pal::check(&path, &mut bad);
  
      if bad {
          panic!("some tidy checks failed");
diff --git a/pkgs/development/compilers/sbcl/1.3.12.nix b/pkgs/development/compilers/sbcl/1.3.12.nix
new file mode 100644
index 000000000000..8fa4741a4a14
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/1.3.12.nix
@@ -0,0 +1,104 @@
+{ stdenv, fetchurl, writeText, sbclBootstrap
+, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
+, threadSupport ? (stdenv.isi686 || stdenv.isx86_64)
+  # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
+  # Note that the created binaries still need `patchelf --set-interpreter ...`
+  # to get rid of ${glibc} dependency.
+, purgeNixReferences ? false
+}:
+
+stdenv.mkDerivation rec {
+  name    = "sbcl-${version}";
+  version = "1.3.12";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
+    sha256 = "1hjr2xqazy4j0m58y4na6fz8ii3xflqairxy7vpd7ajbs00yqfc0";
+  };
+
+  patchPhase = ''
+    echo '"${version}.nixos"' > version.lisp-expr
+    echo "
+    (lambda (features)
+      (flet ((enable (x)
+               (pushnew x features))
+             (disable (x)
+               (setf features (remove x features))))
+    ''
+    + (if threadSupport then "(enable :sb-thread)" else "(disable :sb-thread)")
+    + stdenv.lib.optionalString stdenv.isArm "(enable :arm)"
+    + ''
+      )) " > customize-target-features.lisp
+
+    pwd
+
+    # SBCL checks whether files are up-to-date in many places..
+    # Unfortunately, same timestamp is not good enough
+    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
+    sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date input/a)'
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-fasl/a)'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
+
+    # Fix the tests
+    sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
+
+    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
+    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
+
+    # Use whatever `cc` the stdenv provides
+    substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
+
+    substituteInPlace src/runtime/Config.x86-64-darwin \
+      --replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
+  ''
+  + (if purgeNixReferences
+    then
+      # This is the default location to look for the core; by default in $out/lib/sbcl
+      ''
+        sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
+          -i src/runtime/runtime.c
+      ''
+    else
+      # Fix software version retrieval
+      ''
+        sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp
+      ''
+    );
+
+
+  preBuild = ''
+    export INSTALL_ROOT=$out
+    mkdir -p test-home
+    export HOME=$PWD/test-home
+  '';
+
+  buildPhase = ''
+    sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}"
+  '';
+
+  installPhase = ''
+    INSTALL_ROOT=$out sh install.sh
+  '';
+
+  # Specifying $SBCL_HOME is only truly needed with `purgeNixReferences = true`.
+  setupHook = writeText "setupHook.sh" ''
+    envHooks+=(_setSbclHome)
+    _setSbclHome() {
+      export SBCL_HOME='@out@/lib/sbcl/'
+    }
+  '';
+
+  meta = sbclBootstrap.meta // {
+    inherit version;
+    updateWalker = true;
+  };
+}
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 8fa4741a4a14..85c558c92e8e 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.3.12";
+  version = "1.3.13";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "1hjr2xqazy4j0m58y4na6fz8ii3xflqairxy7vpd7ajbs00yqfc0";
+    sha256 = "1k3nij1pchkard02p51mbbsn4rrj116v1apjjpd3f9h2m7j3asac";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/compilers/teyjus/default.nix b/pkgs/development/compilers/teyjus/default.nix
index fafc58371ef9..301915b7a26b 100644
--- a/pkgs/development/compilers/teyjus/default.nix
+++ b/pkgs/development/compilers/teyjus/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchzip, omake, ocaml, flex, bison }:
+{ stdenv, fetchurl, omake, ocaml, flex, bison }:
 
 stdenv.mkDerivation {
-  name = "teyjus-2.1";
+  name = "teyjus-2.0b2";
 
-  src = fetchzip {
-    url = https://github.com/teyjus/teyjus/archive/v2.1.tar.gz;
-    sha256 = "064jqf68zpmvndgyhilmxfhnvx1bzm8avhgw82csj5wxw5ky6glz";
+  src = fetchurl {
+    url = "https://teyjus.googlecode.com/files/teyjus-source-2.0-b2.tar.gz";
+    sha256 = "f589fb460d7095a6e674b7a6413772c41b98654c38602c3e8c477a976da99052";
   };
 
   patches = [ ./fix-lex-to-flex.patch ];
diff --git a/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch b/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
index 52d259bb64de..d2da1d3facca 100644
--- a/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
+++ b/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
@@ -1,23 +1,23 @@
---- a/source/OMakefile	1970-01-01 00:00:01.000000000 +0000
-+++ b/source/OMakefile	2016-12-02 08:48:42.000000000 +0000
-@@ -183,18 +183,18 @@
+diff --git a/source/OMakefile b/source/OMakefile
+index 6b19d84..095b8b6 100644
+--- a/source/OMakefile
++++ b/source/OMakefile
+@@ -164,12 +164,17 @@ LNK_MAIN = $(FNT)/linkerfront
  DEP_MAIN = $(FNT)/dependfront

- PAR_MAIN = $(FNT)/parsefront

  

+ ############################################################

++# Nixpkgs specific changes

++#

++

 +LEX = flex

 +

- ############################################################

++############################################################

  # Platform specific changes

  #

  

- if $(mem $(SYSNAME), Linux)

-     YACC = bison -by

--    LEX = flex

-     export

- 

  if $(mem $(OSTYPE), Cygwin Win32)

      YACC = bison -by

 -    LEX = flex

-     CC = i686-pc-mingw32-gcc

+     CFLAGS += -mno-cygwin

      INC_C[] += $(INC)/byteswap $(INC)/search

      export

diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index 189b12206400..81cfdecdfffb 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -1,24 +1,39 @@
-{ callPackage, coq, fetchurl }:
+{ callPackage, fetchurl, coq }:
 
-let src = 
-  if coq.coq-version == "8.4" then
+if coq.coq-version == "8.4" then
 
-    fetchurl {
-      url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
-      sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
-    }
+callPackage ./generic.nix {
+
+  name = "coq-mathcomp-1.6-${coq.coq-version}";
+  src = fetchurl {
+    url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
+    sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
+  };
+
+}
+
+else if coq.coq-version == "8.5" then
 
-  else if coq.coq-version == "8.5" then
+callPackage ./generic.nix {
 
-    fetchurl {
-      url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
-      sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
-    }
+  name = "coq-mathcomp-1.6-${coq.coq-version}";
+  src = fetchurl {
+    url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
+    sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
+  };
 
-  else throw "No mathcomp package for Coq version ${coq.coq-version}";
+}
 
-in
+else if coq.coq-version == "8.6" then
 
 callPackage ./generic.nix {
-  inherit src;
+
+  name = "coq-mathcomp-1.6.1-${coq.coq-version}";
+  src = fetchurl {
+    url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
+    sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
+  };
+
 }
+
+else throw "No ssreflect package for Coq version ${coq.coq-version}"
diff --git a/pkgs/development/coq-modules/mathcomp/generic.nix b/pkgs/development/coq-modules/mathcomp/generic.nix
index b257c81e85f8..9a6a98609d29 100644
--- a/pkgs/development/coq-modules/mathcomp/generic.nix
+++ b/pkgs/development/coq-modules/mathcomp/generic.nix
@@ -1,12 +1,11 @@
 { stdenv, fetchurl, coq, ssreflect, ncurses, which
 , graphviz, ocamlPackages, withDoc ? false
-, src
+, src, name
 }:
 
 stdenv.mkDerivation {
 
-  name = "coq-mathcomp-1.6-${coq.coq-version}";
-
+  inherit name;
   inherit src;
 
   nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
index 8ba49d06bae9..16147c4dc2ae 100644
--- a/pkgs/development/coq-modules/ssreflect/default.nix
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -4,6 +4,7 @@ if coq.coq-version == "8.4" then
 
 callPackage ./generic.nix {
 
+  name = "coq-ssreflect-1.6-${coq.coq-version}";
   src = fetchurl {
     url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
     sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
@@ -15,6 +16,7 @@ else if coq.coq-version == "8.5" then
 
 callPackage ./generic.nix {
 
+  name = "coq-ssreflect-1.6-${coq.coq-version}";
   src = fetchurl {
     url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
     sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
@@ -22,4 +24,16 @@ callPackage ./generic.nix {
 
 }
 
+else if coq.coq-version == "8.6" then
+
+callPackage ./generic.nix {
+
+  name = "coq-ssreflect-1.6.1-${coq.coq-version}";
+  src = fetchurl {
+    url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
+    sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
+  };
+
+}
+
 else throw "No ssreflect package for Coq version ${coq.coq-version}"
diff --git a/pkgs/development/coq-modules/ssreflect/generic.nix b/pkgs/development/coq-modules/ssreflect/generic.nix
index 891a4e2885a6..3362e8839a75 100644
--- a/pkgs/development/coq-modules/ssreflect/generic.nix
+++ b/pkgs/development/coq-modules/ssreflect/generic.nix
@@ -1,12 +1,11 @@
 { stdenv, fetchurl, coq, ncurses, which
 , graphviz, withDoc ? false
-, src, patches ? []
+, src, name, patches ? []
 }:
 
 stdenv.mkDerivation {
 
-  name = "coq-ssreflect-1.6-${coq.coq-version}";
-
+  inherit name;
   inherit src;
 
   nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index eee8f9df457d..3c48be531412 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -42,7 +42,8 @@ self: super: {
   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; };
+  # test phase requires networking
+  mysql = dontCheck (super.mysql.override { mysql = pkgs.mysql.lib; });
 
   # Link the proper version.
   zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; };
@@ -53,10 +54,14 @@ self: super: {
     src = pkgs.fetchFromGitHub {
       owner = "joeyh";
       repo = "git-annex";
-      sha256 = "1a87kllzxmjwkz5arq4c3bp7qfkabn0arbli6s6i68fkgm19s4gr";
+      sha256 = "1vy6bj7f8zyj4n1r0gpi0r7mxapsrjvhwmsi5sbnradfng5j3jya";
       rev = drv.version;
     };
   })).overrideScope (self: super: {
+    # https://github.com/bitemyapp/esqueleto/issues/8
+    esqueleto = self.esqueleto_2_4_3;
+    # https://github.com/yesodweb/yesod/issues/1324
+    yesod-persistent = self.yesod-persistent_1_4_1_1;
     # https://github.com/prowdsponsor/esqueleto/issues/137
     persistent = self.persistent_2_2_4_1;
     persistent-template = self.persistent-template_2_1_8_1;
@@ -189,7 +194,8 @@ self: super: {
     then dontCheck (overrideCabal super.hakyll (drv: {
       testToolDepends = [];
     }))
-    else super.hakyll;
+    # https://github.com/jaspervdj/hakyll/issues/491
+    else dontCheck super.hakyll;
 
   # Heist's test suite requires system pandoc
   heist = overrideCabal super.heist (drv: {
@@ -996,7 +1002,7 @@ self: super: {
 
   # The most current version needs some packages to build that are not in LTS 7.x.
   stack = super.stack.overrideScope (self: super: {
-    http-client = self.http-client_0_5_4;
+    http-client = self.http-client_0_5_5;
     http-client-tls = self.http-client-tls_0_3_3;
     http-conduit = self.http-conduit_2_2_3;
     optparse-applicative = dontCheck self.optparse-applicative_0_13_0_0;
@@ -1093,7 +1099,7 @@ self: super: {
 
   # https://github.com/NixOS/nixpkgs/issues/19612
   wai-app-file-cgi = (dontCheck super.wai-app-file-cgi).overrideScope (self: super: {
-    http-client = self.http-client_0_5_3_2;
+    http-client = self.http-client_0_5_5;
     http-client-tls = self.http-client-tls_0_3_3;
     http-conduit = self.http-conduit_2_2_3;
   });
@@ -1134,4 +1140,10 @@ self: super: {
   # requires vty 5.13
   brick = super.brick.overrideScope (self: super: { vty = self.vty_5_14; });
 
+  # https://github.com/krisajenkins/elm-export/pull/22
+  elm-export = doJailbreak super.elm-export;
+
+  turtle_1_3_0 = super.turtle_1_3_0.overrideScope (self: super: {
+    optparse-applicative = self.optparse-applicative_0_13_0_0;
+  });
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
index b01620e7a9ab..276048977011 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
@@ -63,4 +63,7 @@ self: super: {
   # https://github.com/christian-marie/xxhash/issues/3
   xxhash = doJailbreak super.xxhash;
 
+  # https://github.com/Deewiant/glob/issues/8
+  Glob = doJailbreak super.Glob;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
index 559096ebd28d..c6fcf0bff07a 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-head.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -19,6 +19,7 @@ self: super: {
   directory = null;
   filepath = null;
   ghc-prim = null;
+  ghci = null;
   haskeline = null;
   hoopl = null;
   hpc = null;
@@ -34,7 +35,7 @@ self: super: {
   xhtml = null;
 
   # jailbreak-cabal can use the native Cabal library.
-  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
+  jailbreak-cabal = super.jailbreak-cabal_1_3_2.override { Cabal = null; };
 
   # haddock: No input file(s).
   nats = dontHaddock super.nats;
@@ -85,4 +86,11 @@ self: super: {
   # Won't work with LLVM 3.5.
   llvm-general = markBrokenVersion "3.4.5.3" super.llvm-general;
 
+  # A bunch of jailbreaks due to 'base' bump
+  old-locale = doJailbreak super.old-locale;
+  primitive = doJailbreak super.primitive;
+  test-framework = doJailbreak super.test-framework;
+  atomic-primops = doJailbreak (appendPatch super.atomic-primops ./patches/atomic-primops-Cabal-1.25.patch);
+  hashable = doJailbreak super.hashable;
+  stm = doJailbreak super.stm;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix b/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix
deleted file mode 100644
index 413984a7bd31..000000000000
--- a/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ pkgs }:
-
-with import ./lib.nix { inherit pkgs; };
-
-self: super: {
-
-  # Use the latest LLVM.
-  inherit (pkgs) llvmPackages;
-
-  # Disable GHC 7.11.x core libraries.
-  array = null;
-  base = null;
-  binary = null;
-  bin-package-db = null;
-  bytestring = null;
-  Cabal = null;
-  containers = null;
-  deepseq = null;
-  directory = null;
-  filepath = null;
-  ghc-prim = null;
-  haskeline = null;
-  hoopl = null;
-  hpc = null;
-  integer-gmp = null;
-  pretty = null;
-  process = null;
-  rts = null;
-  template-haskell = null;
-  terminfo = null;
-  time = null;
-  transformers = null;
-  unix = null;
-  xhtml = null;
-
-  # Don't use jailbreak built with Cabal 1.22.x because of https://github.com/peti/jailbreak-cabal/issues/9.
-  jailbreak-cabal = pkgs.haskell.packages.ghc784.jailbreak-cabal;
-
-  # GHC 7.10.x's Haddock binary cannot generate hoogle files.
-  # https://ghc.haskell.org/trac/ghc/ticket/9921
-  mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; doHaddock = false; });
-
-  # haddock: No input file(s).
-  nats = dontHaddock super.nats;
-  bytestring-builder = dontHaddock super.bytestring-builder;
-
-  # We have time 1.5
-  aeson = disableCabalFlag super.aeson "old-locale";
-
-  # Show works differently for record syntax now, breaking haskell-src-exts' parser tests
-  # https://github.com/haskell-suite/haskell-src-exts/issues/224
-  haskell-src-exts = dontCheck super.haskell-src-exts;
-
-  mono-traversable = appendPatch super.mono-traversable (pkgs.fetchpatch {
-    url = "https://github.com/snoyberg/mono-traversable/pull/77.patch";
-    sha256 = "1qrvrh3cqfkymi5yb9y9z88rq4n7ag0ac2k00mcnqh4dz1vh4fg1";
-  });
-  yesod-auth = appendPatch super.yesod-auth (pkgs.fetchpatch {
-    url = "https://github.com/yesodweb/yesod/pull/1006.patch";
-    sha256 = "0l6wjj8cfz6jy6j92kywsccafyffhlm5240q82bzirb278adqvar";
-    stripLen = 1;
-  });
-
-  # 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";
-  });
-  utf8-string = overrideCabal super.utf8-string (drv: {
-    postPatch = "sed -i -e 's|base >= 3 && < 4.8|base|' utf8-string.cabal";
-  });
-
-  # bos/attoparsec#92
-  attoparsec = dontCheck super.attoparsec;
-
-  # test suite hangs silently for at least 10 minutes
-  split = dontCheck super.split;
-
-  # Test suite fails with some (seemingly harmless) error.
-  # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24
-  syb = dontCheck super.syb;
-
-  # Test suite has stricter version bounds
-  retry = dontCheck super.retry;
-
-  # Test suite fails with time >= 1.5
-  http-date = dontCheck super.http-date;
-
-  # Version 1.19.5 fails its test suite.
-  happy = dontCheck super.happy;
-
-  # Workaround for a workaround, see comment for "ghcjs" flag.
-  jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
-            in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
-                                          self.webkitgtk3-javascriptcore ];
-
-  # The compat library is empty in the presence of mtl 2.2.x.
-  mtl-compat = dontHaddock super.mtl-compat;
-
-  # Won't work with LLVM 3.5.
-  llvm-general = markBrokenVersion "3.4.5.3" super.llvm-general;
-
-}
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 099735eb769e..d07a9be0c4e9 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -37,7 +37,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 7.13
+  # LTS Haskell 7.14
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Vector ==2.3.2
@@ -51,7 +51,7 @@ default-package-overrides:
   - adjunctions ==4.3
   - adler32 ==0.1.1.0
   - aeson ==0.11.2.1
-  - aeson-better-errors ==0.9.0.1
+  - aeson-better-errors ==0.9.1.0
   - aeson-casing ==0.1.0.5
   - aeson-compat ==0.3.6
   - aeson-generic-compat ==0.0.1.0
@@ -324,7 +324,7 @@ default-package-overrides:
   - clckwrks-theme-bootstrap ==0.4.2
   - cli ==0.1.2
   - clientsession ==0.9.1.2
-  - Clipboard ==2.3.0.1
+  - Clipboard ==2.3.0.2
   - clock ==0.7.2
   - clumpiness ==0.17.0.0
   - ClustalParser ==1.1.4
@@ -393,6 +393,8 @@ default-package-overrides:
   - cryptohash ==0.11.9
   - cryptohash-conduit ==0.1.1
   - cryptohash-cryptoapi ==0.1.4
+  - cryptohash-md5 ==0.11.100.1
+  - cryptohash-sha1 ==0.11.100.1
   - cryptohash-sha256 ==0.11.100.1
   - cryptol ==2.4.0
   - cryptonite ==0.19
@@ -433,7 +435,7 @@ default-package-overrides:
   - dependent-sum ==0.3.2.2
   - dependent-sum-template ==0.0.0.5
   - derive ==2.5.26
-  - deriving-compat ==0.3.4
+  - deriving-compat ==0.3.5
   - descriptive ==0.9.4
   - diagrams ==1.3.0.1
   - diagrams-cairo ==1.3.1.1
@@ -476,7 +478,7 @@ default-package-overrides:
   - docvim ==0.3.2.1
   - dotenv ==0.3.1.0
   - dotnet-timespan ==0.0.1.0
-  - double-conversion ==2.0.1.0
+  - double-conversion ==2.0.2.0
   - download ==0.3.2.5
   - dpor ==0.2.0.0
   - drawille ==0.1.2.0
@@ -586,7 +588,7 @@ default-package-overrides:
   - foreign-store ==0.2
   - formatting ==6.2.4
   - fortran-src ==0.1.0.4
-  - Frames ==0.1.8
+  - Frames ==0.1.9
   - free ==4.12.4
   - free-vl ==0.1.4
   - freenect ==1.2.1
@@ -847,14 +849,12 @@ default-package-overrides:
   - highlighting-kate ==0.6.3
   - hinotify ==0.3.9
   - hint ==0.6.0
+  - hip ==1.2.0.0
   - histogram-fill ==0.8.4.1
   - hit ==0.6.3
   - hjsmin ==0.2.0.2
   - hjsonpointer ==1.0.0.2
   - hjsonschema ==1.1.0.1
-  - hledger ==1.0.1
-  - hledger-interest ==1.5.1
-  - hledger-lib ==1.0.1
   - hlibgit2 ==0.18.0.15
   - hlibsass ==0.1.5.0
   - hlint ==1.9.35
@@ -1320,7 +1320,7 @@ default-package-overrides:
   - persistent-refs ==0.4
   - persistent-sqlite ==2.6
   - persistent-template ==2.5.1.6
-  - pgp-wordlist ==0.1.0.1
+  - pgp-wordlist ==0.1.0.2
   - phantom-state ==0.2.1.2
   - picoparsec ==0.1.2.3
   - pinboard ==0.9.6
@@ -1591,7 +1591,7 @@ default-package-overrides:
   - snap-core ==1.0.1.0
   - snap-server ==1.0.1.1
   - snowflake ==0.1.1.1
-  - soap ==0.2.3.2
+  - soap ==0.2.3.3
   - soap-openssl ==0.1.0.2
   - soap-tls ==0.1.1.2
   - socket ==0.6.1.0
@@ -1638,7 +1638,7 @@ default-package-overrides:
   - STMonadTrans ==0.3.4
   - stopwatch ==0.1.0.3
   - storable-complex ==0.2.2
-  - storable-endian ==0.2.5
+  - storable-endian ==0.2.6
   - storable-record ==0.0.3.1
   - store ==0.2.1.2
   - store-core ==0.2.0.2
@@ -1689,7 +1689,7 @@ default-package-overrides:
   - tar ==0.5.0.3
   - tardis ==0.4.1.0
   - tasty ==0.11.0.4
-  - tasty-ant-xml ==1.0.2
+  - tasty-ant-xml ==1.0.3
   - tasty-dejafu ==0.3.0.2
   - tasty-expected-failure ==0.11.0.4
   - tasty-golden ==2.3.1.1
@@ -1746,7 +1746,7 @@ default-package-overrides:
   - th-reify-many ==0.1.6
   - th-to-exp ==0.0.1.0
   - th-utilities ==0.2.0.1
-  - these ==0.7.2
+  - these ==0.7.3
   - threads ==0.5.1.4
   - through-text ==0.1.0.0
   - thumbnail-plus ==1.0.5
@@ -1755,7 +1755,7 @@ default-package-overrides:
   - time-compat ==0.1.0.3
   - time-lens ==0.4.0.1
   - time-locale-compat ==0.1.1.3
-  - time-parsers ==0.1.1.0
+  - time-parsers ==0.1.2.0
   - timeit ==1.0.0.0
   - timelens ==0.2.0.2
   - timemap ==0.0.4
@@ -1842,7 +1842,7 @@ default-package-overrides:
   - utility-ht ==0.0.12
   - uu-interleaved ==0.2.0.0
   - uu-parsinglib ==2.9.1.1
-  - uuid ==1.3.12
+  - uuid ==1.3.13
   - uuid-orphans ==1.4.1
   - uuid-types ==1.0.3
   - vado ==0.0.7
@@ -1864,7 +1864,7 @@ default-package-overrides:
   - versions ==3.0.0
   - vhd ==0.2.2
   - ViennaRNAParser ==1.2.9
-  - vinyl ==0.5.2
+  - vinyl ==0.5.3
   - vinyl-utils ==0.3.0.0
   - void ==0.7.1
   - vty ==5.11.3
@@ -1930,7 +1930,7 @@ default-package-overrides:
   - Workflow ==0.8.3
   - wrap ==0.0.0
   - wreq ==0.4.1.0
-  - writer-cps-mtl ==0.1.1.0
+  - writer-cps-mtl ==0.1.1.1
   - writer-cps-transformers ==0.1.1.0
   - wuss ==1.1.3
   - X11 ==1.6.1.2
@@ -1982,7 +1982,7 @@ default-package-overrides:
   - yesod-gitrev ==0.1.0.0
   - yesod-job-queue ==0.3.0.1
   - yesod-newsfeed ==1.6
-  - yesod-persistent ==1.4.0.6
+  - yesod-persistent ==1.4.1.0
   - yesod-sitemap ==1.4.0.1
   - yesod-static ==1.5.1.1
   - yesod-static-angular ==0.1.8
@@ -1996,7 +1996,7 @@ default-package-overrides:
   - yjtools ==0.9.18
   - zero ==0.1.4
   - zeromq4-haskell ==0.6.5
-  - zip ==0.1.3
+  - zip ==0.1.4
   - zip-archive ==0.3.0.5
   - zippers ==0.2.2
   - zlib ==0.6.1.2
@@ -2007,6 +2007,7 @@ default-package-overrides:
 
 extra-packages:
   - aeson < 0.8                         # newer versions don't work with GHC 6.12.3
+  - aeson < 1.1                         # required by stack
   - aeson-pretty < 0.8                  # required by elm compiler
   - binary > 0.7 && < 0.8               # binary 0.8.x is the latest, but it's largely unsupported so far
   - Cabal == 1.18.*                     # required for cabal-install et al on old GHC versions
@@ -2014,6 +2015,7 @@ 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
+  - esqueleto < 2.5                     # needed for git-annex: https://github.com/bitemyapp/esqueleto/issues/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
@@ -2065,10 +2067,13 @@ package-maintainers:
     - ghc-srcspan-plugin
     - located-base
   jb55:
-    - skeletons
+    - bson-lens
     - cased
+    - elm-export-persistent
     - pipes-csv
     - pipes-mongodb
+    - skeletons
+    - streaming-wai
   khumba:
     - hoppy-docs
     - hoppy-generator
@@ -2254,12 +2259,26 @@ dont-distribute-packages:
   amazon-emailer:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazon-products:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-apigateway:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-appstream:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-budgets:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-codebuild:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-elbv2:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-health:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-kinesis-analytics:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lightsail:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-opsworks-cm:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-pinpoint:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-polly:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-rds:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-rekognition:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-servicecatalog:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-shield:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-sms:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-snowball:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-sqs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-stepfunctions:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-xray:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amby:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   AMI:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ampersand:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   amqp-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2662,6 +2681,7 @@ dont-distribute-packages:
   cabalvchk:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabocha:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   cached-io:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cacophony:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   caffegraph:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cake3:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   cakyrespa:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2774,6 +2794,7 @@ dont-distribute-packages:
   chuchu:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   chunks:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   chunky:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cielo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   cil:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cinvoke:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   cio:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2907,6 +2928,7 @@ dont-distribute-packages:
   concraft-hr:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   concraft-pl:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   concraft:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  concrete-haskell:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   concrete-typerep:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   concurrent-state:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   Concurrential:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2922,6 +2944,7 @@ dont-distribute-packages:
   conduit-resumablesink:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   conf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   conffmt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  config-ini:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   config-select:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ConfigFileTH:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Configger:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3040,6 +3063,7 @@ dont-distribute-packages:
   CSPM-Interpreter:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   CSPM-ToProlog:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   cspmchecker:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cspretty:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   css:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   csv-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ctemplate:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3048,6 +3072,7 @@ dont-distribute-packages:
   cubicbezier:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cuboid:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   cudd:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cue-sheet:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   currency-convert:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   curry-base:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   curry-frontend:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3250,6 +3275,7 @@ dont-distribute-packages:
   direct-http:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   direct-plugins:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   directed-cubical:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  directory-tree:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   dirfiles:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   discogs-haskell:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   discordian-calendar:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3347,6 +3373,7 @@ dont-distribute-packages:
   dynamic-plot:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   dynamic-pp:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   DynamicTimeWarp:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dynamodb-simple:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   dynobud:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   DysFRP-Cairo:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   DysFRP-Craftwerk:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3388,7 +3415,6 @@ dont-distribute-packages:
   electrum-mnemonic:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   elevator:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   elision:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  elm-export:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   elocrypt:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   emacs-keys:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   email-postmark:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3571,6 +3597,7 @@ dont-distribute-packages:
   fixed-point:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-precision:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-storable-array:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fixed-width:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixfile:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fizz-buzz:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   flamethrower:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3689,6 +3716,7 @@ dont-distribute-packages:
   fuzzy-timings:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   fuzzytime:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fwgl-glfw:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fwgl-javascript:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   fwgl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   g-npm:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gact:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3768,9 +3796,12 @@ dont-distribute-packages:
   ghcjs-dom-jsaddle:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghcjs-dom-jsffi:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghcjs-dom:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghcjs-hplay:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghcjs-promise:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghclive:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ght:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gdk:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-girepository:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gst:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gstaudio:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gstbase:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3798,6 +3829,7 @@ dont-distribute-packages:
   git-date:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-gpush:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-jump:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  git-mediate:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-object:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-repair:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-sanity:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3980,7 +4012,9 @@ dont-distribute-packages:
   gyah-bin:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   h-booru:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   h-gpgme:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  h-reversi:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   h2048:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  H:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   haar:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hach:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hack-contrib-press:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4036,12 +4070,13 @@ dont-distribute-packages:
   hakyll-ogmarkup:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-R:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-sass:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hakyll-series:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-shakespeare:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hakyll:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   halberd:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   halfs:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   halipeto:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   halma:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hamilton:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HaMinitel:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hampp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hamsql:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4105,6 +4140,7 @@ dont-distribute-packages:
   harvest-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   has-th:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   has:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hasbolt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hascal:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hascas:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hascat-lib:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4123,6 +4159,7 @@ dont-distribute-packages:
   hasim:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hask-home:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hask:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskakafka:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskanoid:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskarrow:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskbot-core:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4163,6 +4200,7 @@ dont-distribute-packages:
   haskell-tools-ast:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-backend-ghc:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-cli:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-tools-daemon:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-demo:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-prettyprint:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-refactor:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4229,6 +4267,7 @@ dont-distribute-packages:
   hasql-class:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-cursor-query:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-cursor-transaction:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hasql-generic:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-postgres-options:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-postgres:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-transaction:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4237,6 +4276,7 @@ dont-distribute-packages:
   haste-gapi:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   haste-perch:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   haste:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hastily:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hat:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hate:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hatex-guide:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4542,6 +4582,7 @@ dont-distribute-packages:
   hpasteit:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPath:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpath:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hpc-coveralls:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpc-tracer:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpdft:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPi:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4677,6 +4718,7 @@ dont-distribute-packages:
   hspec-shouldbe:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hspec-snap:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hspec-test-sandbox:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hspec-webdriver:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   HsPerl5:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hspread:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hspresent:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4864,6 +4906,7 @@ dont-distribute-packages:
   ImperativeHaskell:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   implicit-logging:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   implicit-params:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  implicit:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   imports:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   impossible:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   improve:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4886,6 +4929,7 @@ dont-distribute-packages:
   informative:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   inject-function:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   inline-java:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  inline-r:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   inserts:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   inspector-wrecker:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   instant-aeson:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4938,6 +4982,7 @@ dont-distribute-packages:
   isobmff-builder:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   isohunt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   isotope:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  itemfield:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   iter-stats:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   iteratee-compress:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   iteratee-mtl:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4992,6 +5037,8 @@ dont-distribute-packages:
   jsaddle-dom:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-hello:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-warp:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jsaddle-webkit2gtk:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jsaddle-webkitgtk:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-wkwebview:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5037,8 +5084,15 @@ dont-distribute-packages:
   jvm:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   JYU-Utils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   kafka-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-glut:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-joystick:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-leap:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-spacenav:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-vrpn:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   kaleidoscope:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Kalman:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kalman:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   kangaroo:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   kanji:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   kansas-lava-cores:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5091,6 +5145,7 @@ dont-distribute-packages:
   kontra-config:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   korfu:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   kqueue:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  krapsh:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Kriens:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   krpc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   KSP:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5109,6 +5164,7 @@ dont-distribute-packages:
   lambda-canvas:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-devs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-options:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lambda-sampler:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-toolbox:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda2js:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdaBase:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5170,17 +5226,20 @@ dont-distribute-packages:
   latex-formulae-hakyll:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   latex-formulae-image:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   latex-formulae-pandoc:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  latex-function-tables:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   LATS:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   launchpad-control:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   layers:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   layout-bootstrap:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   lazyarray:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lazyset:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   lazysplines:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   LazyVault:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lcs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ldif:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   leaf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   leaky:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  leapseconds:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   learn-physics-examples:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   learn-physics:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   leetify:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5220,8 +5279,10 @@ dont-distribute-packages:
   libhbb:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   libjenkins:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   liblastfm:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  liblawless:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   liblinear-enumerator:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   libltdl:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  libmolude:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   liboleg:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libpafe:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libpq:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5317,6 +5378,8 @@ dont-distribute-packages:
   loch:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   locked-poll:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   log-effect:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  log-elasticsearch:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  log-postgres:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   log-utils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   log2json:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   log:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5377,6 +5440,7 @@ dont-distribute-packages:
   lzma-enumerator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   maam:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   macbeth-lib:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  machinecell:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   machines-zlib:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   macosx-make-standalone:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   mage:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5452,6 +5516,7 @@ dont-distribute-packages:
   mdapi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mdcat:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mdp:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mealstrom:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   MeanShift:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Measure:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mecab:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5584,6 +5649,7 @@ dont-distribute-packages:
   Monatron-IO:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Monatron:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   mondo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  money:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mongodb-queue:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   mongoDB:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mongrel2-handler:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5638,6 +5704,7 @@ dont-distribute-packages:
   multiplate:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   multirec-alt-deriver:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   multirec-binary:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  multirec:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   multisetrewrite:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Munkres-simple:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   muon:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5664,12 +5731,12 @@ dont-distribute-packages:
   mysnapsession-example:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mysnapsession:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   mysql-effect:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mysql-haskell-nem:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   mysql-haskell-openssl:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mysql-haskell:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   mysql-simple-quasi:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   mysql-simple-typed:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   mysql-simple:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  mysql:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mystem:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   myTestlll:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   mywatch:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5720,6 +5787,7 @@ dont-distribute-packages:
   nettle-openflow:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   nettle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   netwire-input-glfw:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  netwire-input-javascript:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   netwire-input:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   netwire-vinylglfw-examples:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   netwire:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5758,6 +5826,7 @@ dont-distribute-packages:
   newtype-generics:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   newtype-th:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   next-ref:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nfc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ngrams-loader:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   NGrams:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   niagra:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5908,6 +5977,7 @@ dont-distribute-packages:
   panda:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-csv2table:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-japanese-filters:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pandoc-placetable:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-plantuml-diagrams:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-unlit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   PandocAgda:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6026,6 +6096,7 @@ dont-distribute-packages:
   pipes-async:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-attoparsec-streaming:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-binary:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-cacophony:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-cereal-plus:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-cereal:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-conduit:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6139,6 +6210,7 @@ dont-distribute-packages:
   press:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   presto-hdbc:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pretty-error:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pretty-simple:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   primitive-simd:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   PrimitiveArray-Pretty:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   primula-board:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6227,6 +6299,7 @@ dont-distribute-packages:
   qhull-simple:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   QIO:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   QLearn:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  qr-repa:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   qt:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   qtah-cpp-qt5:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   qtah-examples:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6480,6 +6553,7 @@ dont-distribute-packages:
   rope:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   rose-trie:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   roshask:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rosmsg-bin:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   rosso:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   rounding:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   roundtrip-aeson:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6696,6 +6770,7 @@ dont-distribute-packages:
   shellish:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   shellmate-extras:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   shelltestrunner:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  shikensu:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   shoap:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   shorten-strings:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   showdown:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6782,9 +6857,11 @@ dont-distribute-packages:
   snap-cors:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-error-collector:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-extras:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  snap-loader-dynamic:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-predicates:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-routes:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  snap-templates:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-testing:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-web-routes:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6822,6 +6899,7 @@ dont-distribute-packages:
   snaplet-scoped-session:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-sedna:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-ses-html:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  snaplet-sqlite-simple-jwt-auth:               [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-sqlite-simple:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-stripe:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-tasks:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6887,12 +6965,15 @@ dont-distribute-packages:
   splines:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   split-record:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   splitter:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Spock-api-ghcjs:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Spock-auth:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Spock-digestive:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   spoonutil:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   spoty:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Sprig:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   spritz:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sproxy-web:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sproxy2:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   spsa:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   sql-simple-mysql:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   sql-simple-pool:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7138,6 +7219,7 @@ dont-distribute-packages:
   texrunner:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-all:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-and-plots:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  text-icu-normalized:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-json-qq:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-normal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-position:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7210,7 +7292,9 @@ dont-distribute-packages:
   TimePiece:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeplot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeprint:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  timeseries:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   timestamp-subprocess-lines:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  timezone-unix:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   TinyLaunchbury:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   tinyMesh:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   TinyURL:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7253,6 +7337,7 @@ dont-distribute-packages:
   traildb:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   trajectory:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   transactional-events:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  transf:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   transformations:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   TransformeR:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   transformers-compose:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7260,6 +7345,7 @@ dont-distribute-packages:
   transformers-eff:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   transformers-runnable:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   TransformersStepByStep:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  transient-universe:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   translatable-intset:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   translate:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   travis-meta-yaml:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7318,6 +7404,7 @@ dont-distribute-packages:
   txtblk:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   TYB:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   typalyze:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  type-assertions:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-cache:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-cereal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-combinators-quote:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7408,6 +7495,7 @@ dont-distribute-packages:
   usb-hid:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   usb-iteratee:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   usb-safe:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  users-mysql-haskell:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   users-persistent:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   utc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   utf8-prelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7510,6 +7598,7 @@ dont-distribute-packages:
   wai-middleware-preprocessor:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-route:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-static-caching:                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wai-middleware-static:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-responsible:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-router:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-routes:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7527,6 +7616,7 @@ dont-distribute-packages:
   watchdog:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   watcher:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   watchit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wave:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   WaveFront:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   wavesurfer:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   wavy:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7550,10 +7640,13 @@ dont-distribute-packages:
   webcrank-dispatch:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   webcrank-wai:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   webcrank:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  webdriver-angular:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   webdriver-snoy:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  webdriver:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   WeberLogic:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   webify:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   webkit-javascriptcore:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  webkit2gtk3-javascriptcore:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Webrexp:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   webserver:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   websnap:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7615,6 +7708,7 @@ dont-distribute-packages:
   wxFruit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   WxGeneric:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   wxhnotepad:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wxSimpleCanvas:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   wxturtle:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   wyvern:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   x-dsp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7644,6 +7738,7 @@ dont-distribute-packages:
   xml-enumerator-combinators:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-enumerator:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-html-conduit-lens:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  xml-isogen:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-monad:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-parsec:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-pipe:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7787,6 +7882,7 @@ dont-distribute-packages:
   zip-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   zipedit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   zipkin:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  zipper:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   zlib-enum:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ZMachine:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   zmcat:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 6c75c1f35507..092d4ae45242 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -86,7 +86,7 @@ let
   # We cannot enable -j<n> parallelism for libraries because GHC is far more
   # likely to generate a non-determistic library ID in that case. Further
   # details are at <https://github.com/peti/ghc-library-id-bug>.
-  enableParallelBuilding = versionOlder "7.8" ghc.version && !hasActiveLibrary;
+  enableParallelBuilding = (versionOlder "7.8" ghc.version && !hasActiveLibrary) || versionOlder "8.0.1" ghc.version;
 
   crossCabalFlags = [
     "--with-ghc=${ghc.cross.config}-ghc"
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 840c45d3d019..453ce86a060e 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -726,35 +726,33 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ abbradar ];
      }) {inherit (pkgs) emacs;};
 
-  "Agda_2_5_1_2" = callPackage
+  "Agda_2_5_2" = callPackage
     ({ mkDerivation, alex, array, base, binary, boxes, bytestring
-     , containers, cpphs, data-hash, deepseq, directory, EdisonAPI
-     , EdisonCore, edit-distance, emacs, equivalence, filemanip
-     , filepath, geniplate-mirror, happy, hashable, hashtables
-     , haskeline, haskell-src-exts, monadplus, mtl, parallel, pretty
-     , process, QuickCheck, strict, template-haskell, text, time
-     , transformers, transformers-compat, unordered-containers, xhtml
-     , zlib
+     , containers, cpphs, data-hash, deepseq, directory, EdisonCore
+     , edit-distance, emacs, equivalence, filepath, geniplate-mirror
+     , gitrev, happy, hashable, hashtables, haskeline, ieee754
+     , monadplus, mtl, murmur-hash, parallel, pretty, process
+     , regex-tdfa, strict, template-haskell, text, time, transformers
+     , transformers-compat, unordered-containers, xhtml, zlib
      }:
      mkDerivation {
        pname = "Agda";
-       version = "2.5.1.2";
-       sha256 = "fb272bd6f7d532320c669b96faa85088b37bae02d906e9a9f764bc8e8639fb5e";
+       version = "2.5.2";
+       sha256 = "d812cec3bf7f03c4b27248572475c7e060154102771a8434cc11ba89f5691439";
+       revision = "1";
+       editedCabalFile = "44f0f96c5d26202f964c575e5f94fe52686f4b889078ddfdafef0c6fd2571b47";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base binary boxes bytestring containers data-hash deepseq
-         directory EdisonAPI EdisonCore edit-distance equivalence filepath
-         geniplate-mirror hashable hashtables haskeline haskell-src-exts
-         monadplus mtl parallel pretty process QuickCheck strict
+         directory EdisonCore edit-distance equivalence filepath
+         geniplate-mirror gitrev hashable hashtables haskeline ieee754
+         monadplus mtl murmur-hash parallel pretty process regex-tdfa strict
          template-haskell text time transformers transformers-compat
          unordered-containers xhtml zlib
        ];
        libraryToolDepends = [ alex cpphs happy ];
-       executableHaskellDepends = [
-         base binary containers directory filemanip filepath
-         haskell-src-exts mtl process
-       ];
+       executableHaskellDepends = [ base directory filepath process ];
        executableToolDepends = [ emacs ];
        postInstall = ''
          files=("$out/share/"*"-ghc-"*"/Agda-"*"/lib/prim/Agda/"{Primitive.agda,Builtin"/"*.agda})
@@ -1388,6 +1386,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "BioHMM" = callPackage
+    ({ mkDerivation, base, colour, diagrams-cairo, diagrams-lib
+     , directory, either-unwrap, filepath, parsec, ParsecTools
+     , StockholmAlignment, SVGFonts, text, vector
+     }:
+     mkDerivation {
+       pname = "BioHMM";
+       version = "1.0.3";
+       sha256 = "88963139ccce5e5ab1125bf590847d403d08a9b9f17f91a4fcb704a6881f6335";
+       libraryHaskellDepends = [
+         base colour diagrams-cairo diagrams-lib directory either-unwrap
+         filepath parsec ParsecTools StockholmAlignment SVGFonts text vector
+       ];
+       description = "Libary for Hidden Markov Models in HMMER3 format";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "Biobase" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
      , directory, either-unwrap, file-embed, filemanip, filepath
@@ -1660,8 +1675,8 @@ self: {
      }:
      mkDerivation {
        pname = "BitStringRandomMonad";
-       version = "0.1.0.0";
-       sha256 = "70acdb3e821d9fb17190b6bb9882217f31ae44e6d2ddf28f644a8f271156b785";
+       version = "0.1.1.1";
+       sha256 = "496715852ecfd5651fee81eba635b88865ef6dbc87792e56ea47eeac36fd9c36";
        libraryHaskellDepends = [
          base bitstring bytestring mtl parallel primitive transformers
          vector
@@ -2746,8 +2761,8 @@ self: {
     ({ mkDerivation, base, directory, unix, utf8-string, X11 }:
      mkDerivation {
        pname = "Clipboard";
-       version = "2.3.0.1";
-       sha256 = "f559fa28d98f98355b6478b583f8f111e00573fd5b70111ad6ca11c12388ee1c";
+       version = "2.3.0.2";
+       sha256 = "c746972095b1c4473208992bb6f267a9b3ba2620b722922f0f4c35d71c71e939";
        libraryHaskellDepends = [ base directory unix utf8-string X11 ];
        homepage = "http://haskell.org/haskellwiki/Clipboard";
        description = "System clipboard interface";
@@ -5434,17 +5449,23 @@ self: {
      }) {};
 
   "Frames" = callPackage
-    ({ mkDerivation, base, ghc-prim, pipes, primitive, readable
-     , template-haskell, text, transformers, vector, vinyl
+    ({ mkDerivation, base, directory, ghc-prim, hspec, htoml, pipes
+     , pretty, primitive, readable, regex-applicative, template-haskell
+     , temporary, text, transformers, unordered-containers, vector
+     , vinyl
      }:
      mkDerivation {
        pname = "Frames";
-       version = "0.1.8";
-       sha256 = "5b695c025c1e153d40b5ac8a526ca4986b1b4ae9350354e6373593b15d9c3e57";
+       version = "0.1.9";
+       sha256 = "18eaea64c8f3ff7156ca1dcc372bae3e8ff7538cffce4c415710eae770eb6b25";
        libraryHaskellDepends = [
          base ghc-prim pipes primitive readable template-haskell text
          transformers vector vinyl
        ];
+       testHaskellDepends = [
+         base directory hspec htoml pretty regex-applicative
+         template-haskell temporary text unordered-containers
+       ];
        description = "Data frames For working with tabular data files";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -5694,6 +5715,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) freeglut; inherit (pkgs) mesa;};
 
+  "GLURaw_2_0_0_3" = callPackage
+    ({ mkDerivation, base, freeglut, mesa, OpenGLRaw, transformers }:
+     mkDerivation {
+       pname = "GLURaw";
+       version = "2.0.0.3";
+       sha256 = "582cf8c0c1b8c0123ee9a8a06eba65fffded6decfe4e2e08bfea308f55f7ccee";
+       libraryHaskellDepends = [ base OpenGLRaw transformers ];
+       librarySystemDepends = [ freeglut mesa ];
+       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) freeglut; inherit (pkgs) mesa;};
+
   "GLUT" = callPackage
     ({ mkDerivation, array, base, containers, OpenGL, StateVar
      , transformers
@@ -6164,6 +6199,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Glob_0_7_14" = 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.14";
+       sha256 = "2837b88916e8ba4314fdbb556de8b0e7f577b848d3e80a08959b6ef47e1c842b";
+       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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "GlomeTrace" = callPackage
     ({ mkDerivation, array, base, GlomeVec }:
      mkDerivation {
@@ -6585,6 +6644,7 @@ self: {
        homepage = "https://tweag.github.io/HaskellR";
        description = "The Haskell/R mixed programming environment";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "HARM" = callPackage
@@ -8089,6 +8149,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "HTTP_4000_3_4" = callPackage
+    ({ mkDerivation, array, base, bytestring, case-insensitive, conduit
+     , conduit-extra, deepseq, http-types, httpd-shed, HUnit, mtl
+     , network, network-uri, parsec, pureMD5, split, test-framework
+     , test-framework-hunit, time, wai, warp
+     }:
+     mkDerivation {
+       pname = "HTTP";
+       version = "4000.3.4";
+       sha256 = "a4066d6fe45fa41d1c3e262e1100c740dc35cddec34c576723bdc35a8dcfc322";
+       libraryHaskellDepends = [
+         array base bytestring mtl network network-uri parsec time
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive conduit conduit-extra deepseq
+         http-types httpd-shed HUnit mtl network network-uri pureMD5 split
+         test-framework test-framework-hunit wai warp
+       ];
+       homepage = "https://github.com/haskell/HTTP";
+       description = "A library for client-side HTTP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "HTTP-Simple" = callPackage
     ({ mkDerivation, base, HTTP, network }:
      mkDerivation {
@@ -8380,6 +8464,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "HaTeX_3_17_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, matrix, parsec
+     , QuickCheck, tasty, tasty-quickcheck, text, transformers
+     , wl-pprint-extras
+     }:
+     mkDerivation {
+       pname = "HaTeX";
+       version = "3.17.1.0";
+       sha256 = "c497c6b2853018b09016c4422f22d18956881fc774066626d7c43c8b8f0917c3";
+       libraryHaskellDepends = [
+         base bytestring containers matrix parsec QuickCheck text
+         transformers wl-pprint-extras
+       ];
+       testHaskellDepends = [
+         base QuickCheck tasty tasty-quickcheck text
+       ];
+       homepage = "https://github.com/Daniel-Diaz/HaTeX/blob/master/README.md";
+       description = "The Haskell LaTeX library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "HaTeX-meta" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, filepath, ghc
      , haddock, haskell-src-exts, mtl, parsec
@@ -9638,6 +9744,8 @@ self: {
        pname = "IPv6Addr";
        version = "0.6.2.0";
        sha256 = "c0123cbacaba0266ea6eed1cf0ceb0cf323600e9eaa0ca855090edae0b085926";
+       revision = "1";
+       editedCabalFile = "7da9aae32a048aca882ec02c1f184ed24e53119de5345ff8b8d6fc62ccd6808e";
        libraryHaskellDepends = [
          attoparsec base iproute network network-info random text
        ];
@@ -9649,6 +9757,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "IPv6Addr_0_6_3" = callPackage
+    ({ mkDerivation, attoparsec, base, HUnit, iproute, network
+     , network-info, random, test-framework, test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "IPv6Addr";
+       version = "0.6.3";
+       sha256 = "d51d7316a72e7cbe680cafda0b422d07bf9755261f040061ae72351aaf470e02";
+       revision = "1";
+       editedCabalFile = "55425a8e76d1b236298bd447f5ff7d4280a8eb51e0c1e363ed2c6a418dadbb85";
+       libraryHaskellDepends = [
+         attoparsec base iproute network network-info random text
+       ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit text
+       ];
+       homepage = "https://github.com/MichelBoucey/IPv6Addr";
+       description = "Library to deal with IPv6 address text representations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "IcoGrid" = callPackage
     ({ mkDerivation, array, base, GlomeVec }:
      mkDerivation {
@@ -9992,6 +10122,8 @@ self: {
        pname = "JuicyPixels";
        version = "3.2.8";
        sha256 = "038c6547d543442a93b2028be4b84c225bb7a6fa913e1fc57325c58d043d5644";
+       revision = "1";
+       editedCabalFile = "5211841fbb8a9a7fe19ce715a749149ab03c28344531bc3163f8580b611a2e3e";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq mtl primitive
          transformers vector zlib
@@ -10630,8 +10762,8 @@ self: {
      }:
      mkDerivation {
        pname = "Lazy-Pbkdf2";
-       version = "2.1.1";
-       sha256 = "a79a0282997dfc4905314bded417f7631c6665802c9fa5103aad999e1832daa9";
+       version = "2.1.2";
+       sha256 = "8a39397ba2756a1a3a7a7802e5d4cb824377289acb8c21aec37a76494daba1a3";
        libraryHaskellDepends = [ base binary bytestring ];
        testHaskellDepends = [
          base base16-bytestring binary bytestring cryptonite memory
@@ -10820,8 +10952,8 @@ self: {
     ({ mkDerivation, base, directory, filepath, List, transformers }:
      mkDerivation {
        pname = "ListTree";
-       version = "0.2.2";
-       sha256 = "b261ac13493c992c44156f81ad194e43f2ab5aa2ae5ea0596414280c3a8addba";
+       version = "0.2.3";
+       sha256 = "0b3aa1d34193d9f7f90b4afeea681a79ab1595e8e651cae093f8fca3c50f60cc";
        libraryHaskellDepends = [
          base directory filepath List transformers
        ];
@@ -11031,8 +11163,8 @@ self: {
     ({ mkDerivation, base, bytestring, hidapi, mtl }:
      mkDerivation {
        pname = "MBot";
-       version = "0.1.0.2";
-       sha256 = "147655ce2a168c963fa04130b0f6196cb3679dbc8512d04dbff3c12406d16ec2";
+       version = "0.1.1.0";
+       sha256 = "6752fb112e01c02273ef55254b0f9cb16bbff4954592372ba9c152d9cb41dc12";
        libraryHaskellDepends = [ base bytestring hidapi mtl ];
        description = "Haskell interface for controlling the mBot educational robot";
        license = stdenv.lib.licenses.gpl3;
@@ -11407,8 +11539,8 @@ self: {
      }:
      mkDerivation {
        pname = "MiniAgda";
-       version = "0.2014.9.12";
-       sha256 = "16e457ddf76d11c05905e057381fccb0373c021dbccfbcabeb31f2929a9e0792";
+       version = "0.2016.12.19";
+       sha256 = "c182c028ecf764a4f363426fbd101eb1e3c9283d5558cae898cdbd45847d4fca";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -11652,6 +11784,22 @@ self: {
        license = "unknown";
      }) {};
 
+  "MonadRandom_0_5" = callPackage
+    ({ mkDerivation, base, fail, mtl, primitive, random, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "MonadRandom";
+       version = "0.5";
+       sha256 = "e239800faed1142b348d1125232ee1266209865ff6aa09516d4d516bec88c3dc";
+       libraryHaskellDepends = [
+         base fail mtl primitive random transformers transformers-compat
+       ];
+       description = "Random-number generation monad";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "MonadRandomLazy" = callPackage
     ({ mkDerivation, base, MonadRandom, mtl, random }:
      mkDerivation {
@@ -14196,22 +14344,22 @@ self: {
     ({ mkDerivation, aeson, base, biocore, biofasta, BlastHTTP
      , blastxml, bytestring, cassava, ClustalParser, cmdargs, containers
      , directory, edit-distance, either-unwrap, EntrezHTTP, filepath
-     , hierarchical-clustering, HTTP, http-conduit, hxt, matrix, network
-     , parsec, process, pureMD5, random, split, Taxonomy, text, time
-     , transformers, vector, ViennaRNAParser
+     , hierarchical-clustering, HTTP, http-conduit, http-types, hxt
+     , matrix, network, parsec, process, pureMD5, random, split
+     , Taxonomy, text, time, transformers, vector, ViennaRNAParser
      }:
      mkDerivation {
        pname = "RNAlien";
-       version = "1.2.6";
-       sha256 = "a3a0de2cde3813f9e7f87f27f8ebf306bcb6da8da6b818624a335c329e051874";
+       version = "1.2.8";
+       sha256 = "f4d754abee29eebb424ffb6d498de24544de1895a5ace4e47863870f62d2b94a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base biocore biofasta BlastHTTP blastxml bytestring cassava
          ClustalParser cmdargs containers directory edit-distance
          either-unwrap EntrezHTTP filepath hierarchical-clustering HTTP
-         http-conduit hxt matrix network parsec process pureMD5 random
-         Taxonomy text transformers vector ViennaRNAParser
+         http-conduit http-types hxt matrix network parsec process pureMD5
+         random Taxonomy text transformers vector ViennaRNAParser
        ];
        executableHaskellDepends = [
          base biocore biofasta bytestring cassava cmdargs containers
@@ -15757,12 +15905,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "Spintax_0_3_0_0" = callPackage
+  "Spintax_0_3_1" = callPackage
     ({ mkDerivation, attoparsec, base, extra, mtl, mwc-random, text }:
      mkDerivation {
        pname = "Spintax";
-       version = "0.3.0.0";
-       sha256 = "b417809b3734c582f1a08be3a14845b913562077bfc35b3bf067ced2309b0ffc";
+       version = "0.3.1";
+       sha256 = "335e13554aa0a13c97b4f9258be904e3007c35a56e8131bdb363c5f7930fc521";
        libraryHaskellDepends = [
          attoparsec base extra mtl mwc-random text
        ];
@@ -15826,6 +15974,7 @@ self: {
        homepage = "https://www.spock.li";
        description = "Another Haskell web framework for rapid development";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Spock-api-server" = callPackage
@@ -16017,6 +16166,23 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "StockholmAlignment" = callPackage
+    ({ mkDerivation, base, colour, diagrams-cairo, diagrams-lib
+     , directory, either-unwrap, filepath, parsec, ParsecTools, SVGFonts
+     , text, vector
+     }:
+     mkDerivation {
+       pname = "StockholmAlignment";
+       version = "1.0.0";
+       sha256 = "0b1234009521e37f69d734391138bec11c7c3d2df2496c939268fbff2cb1c86b";
+       libraryHaskellDepends = [
+         base colour diagrams-cairo diagrams-lib directory either-unwrap
+         filepath parsec ParsecTools SVGFonts text vector
+       ];
+       description = "Libary for Stockholm aligmnent format";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "Stomp" = callPackage
     ({ mkDerivation, base, binary, bytestring, network, time
      , utf8-string
@@ -17040,16 +17206,17 @@ self: {
      }) {};
 
   "Unique" = callPackage
-    ({ mkDerivation, base, containers, extra, hashable
-     , unordered-containers
+    ({ mkDerivation, base, containers, extra, hashable, hspec
+     , QuickCheck, unordered-containers
      }:
      mkDerivation {
        pname = "Unique";
-       version = "0.4.5";
-       sha256 = "207488edc9915f826c7ef72386fccbad265a32394364fa9bcba73209e150e58b";
+       version = "0.4.6";
+       sha256 = "4fd37ceafe74b95af73f01ccc64a5c1e3282e6b74ab2dd193507aac289ae2480";
        libraryHaskellDepends = [
          base containers extra hashable unordered-containers
        ];
+       testHaskellDepends = [ base containers hspec QuickCheck ];
        description = "It provides the functionality like unix \"uniq\" utility";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -17614,24 +17781,26 @@ self: {
      }) {advapi32 = null; gdi32 = null; shell32 = null; 
          shfolder = null; user32 = null; winmm = null;};
 
-  "Win32_2_4_0_0" = callPackage
-    ({ mkDerivation, advapi32, base, bytestring, gdi32, shell32
-     , shfolder, shlwapi, user32, winmm
+  "Win32_2_5_0_0" = callPackage
+    ({ mkDerivation, advapi32, base, bytestring, filepath, gdi32, imm32
+     , msimg32, ntdll, shell32, shfolder, shlwapi, user32, winmm
      }:
      mkDerivation {
        pname = "Win32";
-       version = "2.4.0.0";
-       sha256 = "e99e020ddd510f3b7012e15346284288a4535c88b369fafa91584e0d9a86cecb";
-       libraryHaskellDepends = [ base bytestring ];
+       version = "2.5.0.0";
+       sha256 = "45d7fd5f251ba418d649100cfea9d924b7ef42a8c35df5bb373fd6dd687d2694";
+       libraryHaskellDepends = [ base bytestring filepath ];
        librarySystemDepends = [
-         advapi32 gdi32 shell32 shfolder shlwapi user32 winmm
+         advapi32 gdi32 imm32 msimg32 ntdll shell32 shfolder shlwapi user32
+         winmm
        ];
        homepage = "https://github.com/haskell/win32";
        description = "A binding to part of the Win32 library";
        license = stdenv.lib.licenses.bsd3;
        platforms = stdenv.lib.platforms.none;
-     }) {advapi32 = null; gdi32 = null; shell32 = null; 
-         shfolder = null; shlwapi = null; user32 = null; winmm = null;};
+     }) {advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null; 
+         ntdll = null; shell32 = null; shfolder = null; shlwapi = null; 
+         user32 = null; winmm = null;};
 
   "Win32-console" = callPackage
     ({ mkDerivation, base, Win32 }:
@@ -17903,6 +18072,26 @@ self: {
          inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
          inherit (pkgs.xorg) libXrender;};
 
+  "X11_1_7" = callPackage
+    ({ mkDerivation, base, data-default, libX11, libXext, libXinerama
+     , libXrandr, libXrender
+     }:
+     mkDerivation {
+       pname = "X11";
+       version = "1.7";
+       sha256 = "9e7a67b9521fc0140b4804928f3821b6c3d3950fdc1d9c55478844dc4f57f5f4";
+       libraryHaskellDepends = [ base data-default ];
+       librarySystemDepends = [
+         libX11 libXext libXinerama libXrandr libXrender
+       ];
+       homepage = "https://github.com/xmonad/X11";
+       description = "A binding to the X11 graphics library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXext; 
+         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
+         inherit (pkgs.xorg) libXrender;};
+
   "X11-extras" = callPackage
     ({ mkDerivation, base, libX11, X11 }:
      mkDerivation {
@@ -18207,6 +18396,8 @@ self: {
        pname = "YamlReference";
        version = "0.10.0";
        sha256 = "4d89cd7714f25c82c6a49a99e8d8b1789640222a1b5863da0a7aa3f4566b9205";
+       revision = "1";
+       editedCabalFile = "987331ab821e7171c21f2b79eb678f2ece44759d4eb1155e5ca93ac2396a99dd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -19992,6 +20183,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aeson_1_1_0_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat, base-orphans
+     , base16-bytestring, bytestring, containers, deepseq, directory
+     , dlist, filepath, 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, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "1.1.0.0";
+       sha256 = "5810fc5f664855ba6457d119fffd176ee93e60a27e88f5eedc349d7d75f18880";
+       libraryHaskellDepends = [
+         attoparsec base base-compat bytestring containers deepseq dlist
+         ghc-prim hashable scientific tagged template-haskell text time
+         time-locale-compat unordered-containers uuid-types vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base-compat base-orphans base16-bytestring
+         bytestring containers directory dlist filepath generic-deriving
+         ghc-prim hashable hashable-time HUnit QuickCheck
+         quickcheck-instances scientific tagged template-haskell
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time time-locale-compat unordered-containers uuid-types vector
+       ];
+       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 {
@@ -20012,26 +20235,6 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-better-errors";
-       version = "0.9.0.1";
-       sha256 = "125f4453f945b5b051fa596cd148b7db0414942cdfbe1d6fd0359989ab45d8e6";
-       revision = "1";
-       editedCabalFile = "8aa3d1ad76116aad051bc6adce10e2798191bdd6ecf84145687e5c77d3a7a2c2";
-       libraryHaskellDepends = [
-         aeson base bytestring dlist mtl scientific text transformers
-         transformers-compat unordered-containers vector void
-       ];
-       homepage = "https://github.com/hdgarrood/aeson-better-errors";
-       description = "Better error messages when decoding JSON values";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "aeson-better-errors_0_9_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, dlist, mtl, scientific
-     , text, transformers, transformers-compat, unordered-containers
-     , vector, void
-     }:
-     mkDerivation {
-       pname = "aeson-better-errors";
        version = "0.9.1.0";
        sha256 = "68f001bf055ec7b755d91019f2a0ef136307d157a231acddad6b4cc561f67327";
        libraryHaskellDepends = [
@@ -20041,7 +20244,6 @@ self: {
        homepage = "https://github.com/hdgarrood/aeson-better-errors";
        description = "Better error messages when decoding JSON values";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-bson" = callPackage
@@ -20100,8 +20302,8 @@ self: {
        pname = "aeson-compat";
        version = "0.3.6";
        sha256 = "7aa365d9f44f708f25c939489528836aa10b411e0a3e630c8c2888670874d142";
-       revision = "1";
-       editedCabalFile = "8e6a7142358e3189e10f906f5a0d2ae2306a2191f9ebf8a7ad85a6c70e15e6d9";
+       revision = "2";
+       editedCabalFile = "1000ae33d38d919e685b31f6f4de79bab9298318ced3ded0ff7e4a24c10258c3";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring containers exceptions
          hashable nats scientific semigroups tagged text time
@@ -20158,6 +20360,8 @@ self: {
        pname = "aeson-extra";
        version = "0.4.0.0";
        sha256 = "78ecedf65f8b68c09223912878e2a055aa38536489eddc9b47911cbc05aba594";
+       revision = "1";
+       editedCabalFile = "2a114863b515ec4b326bd31e4493ce2bcf7598b03361f76b44637e62d334b621";
        libraryHaskellDepends = [
          aeson aeson-compat attoparsec base base-compat bytestring
          containers exceptions hashable parsec recursion-schemes scientific
@@ -20414,6 +20618,8 @@ self: {
        pname = "aeson-schema";
        version = "0.4.1.1";
        sha256 = "30e95de2018a74ba0883f681723a0797d08c52b73433e5f70e86c71ad64abcc5";
+       revision = "1";
+       editedCabalFile = "8eaab2581d0f6108befe4112cd0749876e14670ebebcff228f07985c508589e6";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers ghc-prim mtl QuickCheck
          regex-base regex-compat regex-pcre scientific syb template-haskell
@@ -20519,8 +20725,8 @@ self: {
        pname = "aeson-utils";
        version = "0.3.0.2";
        sha256 = "71814b1be8849f945395eb81217a2ad464f2943134c50c09afd8a3126add4b1f";
-       revision = "3";
-       editedCabalFile = "38b41ff11ca87f3f1d64c141382f6fbb11f28447056f7e11b93516c4c09520f0";
+       revision = "4";
+       editedCabalFile = "48548049168c1e48d31414994dcea638dec56dba620c1752b41d4fa975b7020e";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring scientific text
        ];
@@ -20558,6 +20764,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "affection" = callPackage
+    ({ mkDerivation, babl, base, clock, containers, gegl, glib, linear
+     , monad-loops, mtl, sdl2, text
+     }:
+     mkDerivation {
+       pname = "affection";
+       version = "0.0.0.1";
+       sha256 = "4d66b2b478888db84d13cd3557cc938902a97958e87bb9ea70dce9cd60e41f51";
+       libraryHaskellDepends = [
+         babl base clock containers gegl glib linear monad-loops mtl sdl2
+         text
+       ];
+       homepage = "https://github.com/nek0/affection#readme";
+       description = "A simple Game Engine using SDL";
+       license = stdenv.lib.licenses.lgpl3;
+     }) {};
+
   "affine-invariant-ensemble-mcmc" = callPackage
     ({ mkDerivation, base, containers, mwc-random, primitive, split
      , vector
@@ -21282,6 +21505,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "algebraic-prelude" = callPackage
+    ({ mkDerivation, algebra, base, basic-prelude, lens, semigroups }:
+     mkDerivation {
+       pname = "algebraic-prelude";
+       version = "0.1.0.1";
+       sha256 = "8bb052b29571d4c07c03d14eb17f9d302f18e619bbe743509b9ec6e4fde2192d";
+       libraryHaskellDepends = [
+         algebra base basic-prelude lens semigroups
+       ];
+       homepage = "https://github.com/konn/algebraic-prelude#readme";
+       description = "Algebraically structured Prelude";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "algo-s" = callPackage
     ({ mkDerivation, base, bytestring, errors, foldl, hspec, mwc-random
      , optparse-applicative, primitive, QuickCheck, smallcheck
@@ -21880,6 +22117,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon AppStream SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-autoscaling" = callPackage
@@ -21935,6 +22173,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Budgets SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-certificatemanager" = callPackage
@@ -22323,6 +22562,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CodeBuild SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-codecommit" = callPackage
@@ -23422,6 +23662,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Health APIs and Notifications SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-iam" = callPackage
@@ -23792,6 +24033,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Lightsail SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-marketplace-analytics" = callPackage
@@ -23958,6 +24200,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon OpsWorks for Chef Automate SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-pinpoint" = callPackage
@@ -23976,6 +24219,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Pinpoint SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-polly" = callPackage
@@ -23994,6 +24238,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Polly SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-rds" = callPackage
@@ -24087,6 +24332,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Rekognition SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-route53" = callPackage
@@ -24200,6 +24446,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "amazonka-s3-streaming" = callPackage
+    ({ mkDerivation, amazonka, amazonka-core, amazonka-s3, base
+     , bytestring, conduit, conduit-extra, dlist, exceptions, lens
+     , lifted-async, mmap, mmorph, mtl, resourcet, text
+     }:
+     mkDerivation {
+       pname = "amazonka-s3-streaming";
+       version = "0.1.0.4";
+       sha256 = "ecd0dfe5b024a326e96224ba6f406b44f1279eaef4d44904167a8f5a1f3d881d";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         amazonka amazonka-core amazonka-s3 base bytestring conduit dlist
+         exceptions lens lifted-async mmap mmorph mtl resourcet
+       ];
+       executableHaskellDepends = [
+         amazonka amazonka-core amazonka-s3 base bytestring conduit
+         conduit-extra text
+       ];
+       homepage = "https://github.com/Axman6/amazonka-s3-streaming#readme";
+       description = "Provides conduits to upload data to S3 using the Multipart API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "amazonka-sdb" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24309,6 +24579,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Shield SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-sms" = callPackage
@@ -24327,6 +24598,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Server Migration Service SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-snowball" = callPackage
@@ -24476,6 +24748,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Step Functions SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-storagegateway" = callPackage
@@ -24761,6 +25034,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon X-Ray SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amby" = callPackage
@@ -24785,6 +25059,7 @@ self: {
        homepage = "https://github.com/jsermeno/amby#readme";
        description = "Statistical data visualization";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ampersand" = callPackage
@@ -24870,17 +25145,20 @@ self: {
 
   "amqp-worker" = callPackage
     ({ mkDerivation, aeson, amqp, base, bytestring, data-default
-     , exceptions, monad-control, mtl, resource-pool, split, tasty
-     , tasty-hunit, text, transformers-base
+     , exceptions, monad-control, monad-loops, mtl, resource-pool, split
+     , tasty, tasty-hunit, text, transformers-base
      }:
      mkDerivation {
        pname = "amqp-worker";
-       version = "0.2.2";
-       sha256 = "4d45b13eb6d58763f7da1d058ebca6163e37775c25898869811c684719d975e4";
+       version = "0.2.4";
+       sha256 = "cc46b8d7f02c02dacc3e7a7c7d5e6c0d2338aec9afc4ca8e4f8c0d4f616a405f";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          aeson amqp base bytestring data-default exceptions monad-control
-         mtl resource-pool split text transformers-base
+         monad-loops mtl resource-pool split text transformers-base
        ];
+       executableHaskellDepends = [ aeson base exceptions text ];
        testHaskellDepends = [
          aeson amqp base bytestring tasty tasty-hunit text
        ];
@@ -24901,6 +25179,28 @@ self: {
        license = "GPL";
      }) {};
 
+  "analyze" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, cassava
+     , exceptions, foldl, free, hashable, lucid, QuickCheck, tasty
+     , tasty-hunit, tasty-quickcheck, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "analyze";
+       version = "0.1.0.0";
+       sha256 = "af261961e6229173ff4e54c46b7bed8ba4b5ced5ad18888bc7c804fc316b4445";
+       libraryHaskellDepends = [
+         aeson base binary bytestring cassava exceptions foldl free hashable
+         lucid text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring exceptions foldl QuickCheck tasty tasty-hunit
+         tasty-quickcheck text unordered-containers vector
+       ];
+       homepage = "https://github.com/ejconlon/analyze#readme";
+       description = "making data science easy and safe with data frames";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "analyze-client" = callPackage
     ({ mkDerivation, base, bytestring, http-conduit
      , MonadCatchIO-transformers, mtl, snap, snap-core, time
@@ -25193,6 +25493,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "anonymous-sums_0_6_0_0" = callPackage
+    ({ mkDerivation, base, lens, template-haskell }:
+     mkDerivation {
+       pname = "anonymous-sums";
+       version = "0.6.0.0";
+       sha256 = "c7c5c13cb19ce97fdb621794cd1de7e34ab7aba8bdc5bcc9309107b1ff3ec2ad";
+       libraryHaskellDepends = [ base lens template-haskell ];
+       homepage = "http://www.github.com/massysett/anonymous-sums";
+       description = "Anonymous sum types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "anonymous-sums-tests" = callPackage
     ({ mkDerivation, anonymous-sums, base, QuickCheck }:
      mkDerivation {
@@ -25212,10 +25525,10 @@ self: {
      }:
      mkDerivation {
        pname = "ansi-pretty";
-       version = "0.1.2.0";
-       sha256 = "11079e97b7faaf3825d0ab2bb3e111b5d1b9085343e6505fc2b58240c4eaa424";
-       revision = "3";
-       editedCabalFile = "f95f677bc3d419b5ad555799a7456684a11612e35ab08e2fe557323ed22d3127";
+       version = "0.1.2.1";
+       sha256 = "708819f93f1759919a19dcfccddf3ddc8d9fba930cb73fab3ec9f6f5691394c6";
+       revision = "1";
+       editedCabalFile = "266eb754d15de06de1d488c82564bbf6c359e4e94e5210a58f2c18917a19d78d";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers generics-sop
          nats scientific semigroups tagged text time unordered-containers
@@ -25924,6 +26237,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "apioiaf-client" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, lens, wreq }:
+     mkDerivation {
+       pname = "apioiaf-client";
+       version = "0.2.1.0";
+       sha256 = "15561082ee74c3a64786347f9d8206896b70b1d3475e9dfa0318e2ed84703c6a";
+       libraryHaskellDepends = [ aeson base bytestring lens wreq ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/kberger/anapioficeandfire-haskell#readme";
+       description = "Consumer library for anapioficeandfire.com";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "apis" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, directory
      , ecma262, exceptions, filemanip, filepath, hslogger, hxt, mtl
@@ -26009,6 +26335,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "app-settings_0_2_0_10" = callPackage
+    ({ mkDerivation, base, containers, directory, hspec, HUnit, mtl
+     , parsec, text
+     }:
+     mkDerivation {
+       pname = "app-settings";
+       version = "0.2.0.10";
+       sha256 = "88dd9df76930467c14b764108cda92676a6702f68ad38a09c26e740bce29ac28";
+       libraryHaskellDepends = [
+         base containers directory mtl parsec text
+       ];
+       testHaskellDepends = [
+         base containers directory hspec HUnit mtl parsec text
+       ];
+       homepage = "https://github.com/emmanueltouzery/app-settings";
+       description = "A library to manage application settings (INI file-like)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "appar" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -26371,6 +26717,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs.xorg) libXScrnSaver;};
 
+  "arbtt_0_9_0_12" = 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.12";
+       sha256 = "3bdd4171a6d68ff3604eb752d04fdc6e819ab90f021e65ff12f5f6c7e62e87cf";
+       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";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs.xorg) libXScrnSaver;};
+
   "archive" = callPackage
     ({ mkDerivation, base, bytestring, debian, debian-mirror, directory
      , Extra, filepath, help, HUnit, mtl, network, old-locale, pretty
@@ -28370,6 +28746,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "autoexporter_1_0_0" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath }:
+     mkDerivation {
+       pname = "autoexporter";
+       version = "1.0.0";
+       sha256 = "459baf1bbb143a92a25f1de7b9ec416a5ee214bb763bfb5f5e49e10678aba0f3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base Cabal directory filepath ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/tfausak/autoexporter#readme";
+       description = "Automatically re-export modules";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "autom" = callPackage
     ({ mkDerivation, base, bytestring, colour, ghc-prim, gloss
      , JuicyPixels, random, vector
@@ -28531,10 +28923,10 @@ self: {
      }:
      mkDerivation {
        pname = "avers";
-       version = "0.0.17.0";
-       sha256 = "3e6b4a39ccb99373a1a574625b86d4948f4ba4a747652e3c5ddd8d8b09fe212d";
-       revision = "1";
-       editedCabalFile = "76f5fea6b94a6dd6041577fd29de245130f3003c73296a94baea62f066b9b474";
+       version = "0.0.17.1";
+       sha256 = "1b45d8aa036b3c2ec7ea180327ff3cdce28dc1e1ef319c062be79f0ffa7626f5";
+       revision = "5";
+       editedCabalFile = "319f1526093b829e5cbb6fe1591f77f3f5be25da83df7790e37741272e711b24";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock containers cryptonite
          filepath inflections memory MonadRandom mtl network network-uri
@@ -28560,6 +28952,8 @@ self: {
        pname = "avers-api";
        version = "0.0.17.0";
        sha256 = "affeffe0ac3c3eb15823fdb4c61654783ef8aff076bfb20b55c3df34be088182";
+       revision = "1";
+       editedCabalFile = "6ce2a1a63ecf6fcc5cd1d25ce3ee5b2756ebea0a78b7cc3a94fe73b3097668e3";
        libraryHaskellDepends = [
          aeson avers base bytestring cookie http-api-data servant text time
          vector
@@ -28601,8 +28995,8 @@ self: {
        pname = "avers-server";
        version = "0.0.17.0";
        sha256 = "6da0c28f2b75989805cb4c2c7bf10b1b6ac4211f310d2bb902a4a7725ce05c3c";
-       revision = "1";
-       editedCabalFile = "8fb371992bc5535a3d923ec6e16e975ac3d5efaadbb1ae8d4e08400b318f92dc";
+       revision = "3";
+       editedCabalFile = "025cc10ba6aa604876978781fcfbffbce27867d9155257411a7a40d4c4687988";
        libraryHaskellDepends = [
          aeson avers avers-api base base64-bytestring bytestring
          bytestring-conversion containers cookie cryptonite either
@@ -28756,6 +29150,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aws_0_15" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, blaze-builder, byteable, bytestring
+     , case-insensitive, cereal, conduit, conduit-extra, containers
+     , cryptohash, data-default, directory, errors, filepath
+     , http-client, http-client-tls, http-conduit, http-types
+     , lifted-base, monad-control, mtl, network, old-locale, QuickCheck
+     , quickcheck-instances, resourcet, safe, scientific, tagged, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, transformers
+     , transformers-base, unordered-containers, utf8-string, vector
+     , xml-conduit
+     }:
+     mkDerivation {
+       pname = "aws";
+       version = "0.15";
+       sha256 = "53c73595bddd5614d980486a380d4ce83c100fd25b5fa35d477609f1bd03b11b";
+       libraryHaskellDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         blaze-builder byteable bytestring case-insensitive cereal conduit
+         conduit-extra containers cryptohash data-default directory filepath
+         http-conduit http-types lifted-base monad-control mtl network
+         old-locale resourcet safe scientific tagged text time transformers
+         unordered-containers utf8-string vector xml-conduit
+       ];
+       testHaskellDepends = [
+         aeson base bytestring errors http-client http-client-tls http-types
+         lifted-base monad-control mtl QuickCheck quickcheck-instances
+         resourcet tagged tasty tasty-hunit tasty-quickcheck text time
+         transformers transformers-base
+       ];
+       homepage = "http://github.com/aristidb/aws";
+       description = "Amazon Web Services (AWS) for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aws-cloudfront-signer" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, base, base64-bytestring
      , bytestring, crypto-pubkey-types, RSA, time
@@ -29375,6 +29805,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "babl" = callPackage
+    ({ mkDerivation, babl, base }:
+     mkDerivation {
+       pname = "babl";
+       version = "0.0.0.2";
+       sha256 = "c06c27e50875ab4fca4322112648006c49dc06158457fdb405df50eac9223245";
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ babl ];
+       libraryPkgconfigDepends = [ babl ];
+       homepage = "http://github.com/nek0/babl#readme";
+       description = "Haskell bindings to BABL library";
+       license = stdenv.lib.licenses.lgpl3;
+     }) {inherit (pkgs) babl;};
+
   "babylon" = callPackage
     ({ mkDerivation, array, base, containers, random, wx, wxcore }:
      mkDerivation {
@@ -31206,6 +31650,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "binary-ext" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
+     , directory, filepath, HUnit, QuickCheck, random, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "binary-ext";
+       version = "1.0";
+       sha256 = "0b7b4c7d4d2e5a08cf046eabbc66269aa187cfed4fcaeefcc5d95b4305a04837";
+       libraryHaskellDepends = [
+         array base binary bytestring containers
+       ];
+       testHaskellDepends = [
+         array base binary bytestring Cabal containers directory filepath
+         HUnit QuickCheck random test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/A1-Triard/binary-ext";
+       description = "An alternate with typed errors for Data.Binary.Get monad from 'binary' library.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "binary-file" = callPackage
     ({ mkDerivation, base, bytestring, monads-tf, peggy
      , template-haskell
@@ -31318,6 +31783,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "binary-orphans_0_1_5_2" = callPackage
+    ({ mkDerivation, aeson, base, binary, case-insensitive, hashable
+     , QuickCheck, quickcheck-instances, scientific, tagged, tasty
+     , tasty-quickcheck, text, text-binary, time, unordered-containers
+     , vector, vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "binary-orphans";
+       version = "0.1.5.2";
+       sha256 = "7c644fb1d1657719c04c0f115a36efaeba7287c953de826b55c28fae87aca33d";
+       libraryHaskellDepends = [
+         aeson base binary case-insensitive hashable scientific tagged text
+         text-binary time unordered-containers vector
+         vector-binary-instances
+       ];
+       testHaskellDepends = [
+         aeson base binary case-insensitive hashable QuickCheck
+         quickcheck-instances scientific tagged tasty tasty-quickcheck text
+         time unordered-containers vector
+       ];
+       homepage = "https://github.com/phadej/binary-orphans#readme";
+       description = "Orphan instances for binary";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "binary-parser" = callPackage
     ({ mkDerivation, base-prelude, bytestring, success, text
      , transformers
@@ -31490,6 +31981,8 @@ self: {
        pname = "binary-tagged";
        version = "0.1.4.2";
        sha256 = "311fab8c2bac00cb6785cb144e25ed58b2efce85e5dc64e30e2b5a2a16cdc784";
+       revision = "1";
+       editedCabalFile = "51f87f18bfe7ba8a3edc318cfb95f4aae9c2bb3feb54277553ac895b09ce0cf1";
        libraryHaskellDepends = [
          aeson array base base16-bytestring binary bytestring containers
          generics-sop hashable nats scientific semigroups SHA tagged text
@@ -31677,32 +32170,32 @@ self: {
      }) {K8055D = null;};
 
   "bindings-apr" = callPackage
-    ({ mkDerivation, apr-1, base, bindings-DSL }:
+    ({ mkDerivation, apr, base, bindings-DSL }:
      mkDerivation {
        pname = "bindings-apr";
        version = "0.1";
        sha256 = "d324f6517ad3615aa7065e5f2a247f146655a7315ac70006ef0ded4bce0f873b";
        libraryHaskellDepends = [ base bindings-DSL ];
-       libraryPkgconfigDepends = [ apr-1 ];
+       libraryPkgconfigDepends = [ apr ];
        homepage = "http://cielonegro.org/Bindings-APR.html";
        description = "Low level bindings to Apache Portable Runtime (APR)";
        license = stdenv.lib.licenses.publicDomain;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {apr-1 = null;};
+     }) {inherit (pkgs) apr;};
 
   "bindings-apr-util" = callPackage
-    ({ mkDerivation, apr-util-1, base, bindings-apr, bindings-DSL }:
+    ({ mkDerivation, apr-util, base, bindings-apr, bindings-DSL }:
      mkDerivation {
        pname = "bindings-apr-util";
        version = "0.1";
        sha256 = "9d93dae4cb05d24a2fe50778bdf972df23ca0be5e8f85a85bb744e757720206b";
        libraryHaskellDepends = [ base bindings-apr bindings-DSL ];
-       libraryPkgconfigDepends = [ apr-util-1 ];
+       libraryPkgconfigDepends = [ apr-util ];
        homepage = "http://cielonegro.org/Bindings-APR.html";
        description = "Low level bindings to Apache Portable Runtime Utility (APR Utility)";
        license = stdenv.lib.licenses.publicDomain;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {apr-util-1 = null;};
+     }) {apr-util = null;};
 
   "bindings-audiofile" = callPackage
     ({ mkDerivation, audiofile, base, bindings-DSL }:
@@ -32158,12 +32651,12 @@ self: {
      }) {};
 
   "bindings-portaudio" = callPackage
-    ({ mkDerivation, base, bindings-DSL, portaudio }:
+    ({ mkDerivation, base, bindings-DSL, portaudio, vector }:
      mkDerivation {
        pname = "bindings-portaudio";
-       version = "0.1";
-       sha256 = "22aa0157723500351d014ef609b4a6167e9e9ae69ddcc33e71d3c908c0c09d71";
-       libraryHaskellDepends = [ base bindings-DSL ];
+       version = "0.2";
+       sha256 = "362cfad6f1527d887224564682a7ff8f40c73ceed8ee803c78609bc523bab74b";
+       libraryHaskellDepends = [ base bindings-DSL vector ];
        libraryPkgconfigDepends = [ portaudio ];
        description = "Low-level bindings to portaudio library";
        license = stdenv.lib.licenses.bsd3;
@@ -32491,32 +32984,32 @@ self: {
      }) {};
 
   "biohazard" = callPackage
-    ({ mkDerivation, aeson, async, attoparsec, base, binary, bytestring
-     , bytestring-mmap, containers, deepseq, directory, exceptions
-     , filepath, hashable, hmatrix, iteratee, ListLike
-     , nonlinear-optimization, primitive, random, scientific, stm
-     , strict, template-haskell, text, transformers, unix
-     , unordered-containers, Vec, vector, vector-algorithms
-     , vector-th-unbox, zlib
+    ({ mkDerivation, aeson, aeson-pretty, async, attoparsec, base
+     , base-prelude, binary, bytestring, bytestring-mmap, containers
+     , directory, exceptions, filepath, hashable, hybrid-vectors
+     , iteratee, ListLike, nonlinear-optimization, primitive, process
+     , random, scientific, shake, stm, template-haskell, text
+     , transformers, unix, unordered-containers, vector
+     , vector-algorithms, vector-binary-instances, vector-th-unbox, zlib
      }:
      mkDerivation {
        pname = "biohazard";
-       version = "0.6.6.1";
-       sha256 = "ad458331686a5a0ac2ace70d63ddccd3cbd76aba2da6c4a38b8b70540789e28f";
+       version = "0.6.9";
+       sha256 = "b69e935377daf170cea90cfb5d7cc765527d5b606d1dacf30b93cccfb2228628";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async attoparsec base binary bytestring bytestring-mmap
-         containers deepseq directory exceptions filepath iteratee ListLike
-         nonlinear-optimization primitive random scientific stm
-         template-haskell text transformers unix unordered-containers Vec
-         vector vector-algorithms vector-th-unbox zlib
+         aeson aeson-pretty async attoparsec base base-prelude binary
+         bytestring bytestring-mmap containers directory exceptions filepath
+         hashable hybrid-vectors iteratee ListLike nonlinear-optimization
+         primitive random scientific stm template-haskell text transformers
+         unix unordered-containers vector vector-algorithms
+         vector-binary-instances vector-th-unbox zlib
        ];
        executableHaskellDepends = [
-         aeson async base binary bytestring containers directory filepath
-         hashable hmatrix iteratee nonlinear-optimization primitive random
-         strict text transformers unix unordered-containers Vec vector
-         vector-algorithms vector-th-unbox
+         aeson aeson-pretty async base binary bytestring containers
+         directory filepath process random shake stm text transformers unix
+         unordered-containers vector vector-algorithms vector-th-unbox
        ];
        homepage = "http://github.com/udo-stenzel/biohazard";
        description = "bioinformatics support library";
@@ -32810,7 +33303,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "bitcoin-payment-channel_0_6_0_0" = callPackage
+  "bitcoin-payment-channel_0_6_0_1" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, base64-bytestring
      , bytestring, cereal, errors, haskoin-core, hexstring, QuickCheck
      , scientific, string-conversions, tagged, test-framework
@@ -32818,8 +33311,8 @@ self: {
      }:
      mkDerivation {
        pname = "bitcoin-payment-channel";
-       version = "0.6.0.0";
-       sha256 = "487e5bb74a3a6c6829971d1071576b302c70298160f9b03654911e2094bcc011";
+       version = "0.6.0.1";
+       sha256 = "10085ef9254d88a4494986f372b07d4109d1767196cc6d230c02ffe18f5f1abd";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cereal errors haskoin-core
          hexstring QuickCheck scientific string-conversions tagged text time
@@ -33398,8 +33891,8 @@ self: {
        pname = "blank-canvas";
        version = "0.6";
        sha256 = "2a0e5c4fc50b1ce43e56b1a11056186c21d565e225da36f90c58f8c0a70f48b3";
-       revision = "7";
-       editedCabalFile = "b965b55168cd3f25ee55944fb39f9509c847bb48f69e8ec443614fc8ff4960dd";
+       revision = "9";
+       editedCabalFile = "14307379cfd353cceede81149b2cae2f357d27ee23816203fd1757804e6b5b48";
        libraryHaskellDepends = [
          aeson base base-compat base64-bytestring bytestring colour
          containers data-default-class http-types kansas-comet mime-types
@@ -34198,6 +34691,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "bogocopy" = callPackage
+    ({ mkDerivation, base, directory, filemanip, filepath
+     , optparse-applicative, shelly, text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "bogocopy";
+       version = "0.1.0.2";
+       sha256 = "4b2d4e376b8908805a09404fac4a7b73efd3f4549a515eb8e180fe46221de834";
+       revision = "2";
+       editedCabalFile = "bf8d78b2879369efdce0953e4613ca0dd1712c4e051adc5e5f66feda39757a5a";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base directory filemanip filepath optparse-applicative shelly text
+         transformers unix
+       ];
+       homepage = "https://github.com/phlummox/bogocopy";
+       description = "Copy a directory tree, making zero-size sparse copies of big files";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "bogre-banana" = callPackage
     ({ mkDerivation, base, hogre, hois, monad-control, random
      , reactive-banana
@@ -34218,16 +34732,22 @@ self: {
 
   "bolt" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, cereal, containers
-     , hashable, network, network-uri, text, unordered-containers
+     , hashable, network, network-uri, scientific, tasty
+     , tasty-quickcheck, text, transformers, unordered-containers
      , vector
      }:
      mkDerivation {
        pname = "bolt";
-       version = "0.1.0.3";
-       sha256 = "7779436fc5da3ea036547273a82dd10909caebf76a294b3741aa5097b75aaa22";
+       version = "0.2.2.0";
+       sha256 = "07d04b418f1106f4fb4e11f8466d18121f7d63d162e86389a69a58f23270339b";
        libraryHaskellDepends = [
          base bifunctors bytestring cereal containers hashable network
-         network-uri text unordered-containers vector
+         network-uri scientific text transformers unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         base bytestring cereal tasty tasty-quickcheck text
+         unordered-containers vector
        ];
        homepage = "https://github.com/bflyblue/bolt#readme";
        description = "Bolt driver for Neo4j";
@@ -34549,8 +35069,8 @@ self: {
     ({ mkDerivation, base, gtk, transformers, X11 }:
      mkDerivation {
        pname = "boring-window-switcher";
-       version = "0.1.0.1";
-       sha256 = "4d966b56d3a6badb666c8947df23557db9544e469514d0a5b68934c644f5645b";
+       version = "0.1.0.2";
+       sha256 = "e7e568de0b410fd878c6cd6ce9eae66f51e3e98c83090ad5dec23b5738c9721f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base gtk transformers X11 ];
@@ -34679,6 +35199,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "bower-json_1_0_0_1" = callPackage
+    ({ mkDerivation, aeson, aeson-better-errors, base, bytestring
+     , deepseq, ghc-prim, mtl, scientific, tasty, tasty-hunit, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "bower-json";
+       version = "1.0.0.1";
+       sha256 = "7aa954e2b1bf79307db710c158108bd9ddb45b333ca96072cdbfaf96c77b7e73";
+       libraryHaskellDepends = [
+         aeson aeson-better-errors base bytestring deepseq ghc-prim mtl
+         scientific text transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring tasty tasty-hunit text unordered-containers
+       ];
+       homepage = "https://github.com/hdgarrood/bower-json";
+       description = "Read bower.json from Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bowntz" = callPackage
     ({ mkDerivation, base, containers, GLUT, hosc, hsc3, random }:
      mkDerivation {
@@ -34781,13 +35323,13 @@ self: {
     ({ mkDerivation, array, base }:
      mkDerivation {
        pname = "brainfuck-tut";
-       version = "0.7.0.1";
-       sha256 = "761ef393826ecc54b9a5ab2d37b0c1af9db169bf6edb02282df67a71e02a1855";
+       version = "0.7.0.2";
+       sha256 = "fd5ebdd26c1bcee0e064288e71f92bc8f458768058bfbbaa368f562f44090939";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ array base ];
        executableHaskellDepends = [ array base ];
-       homepage = "https://gitlab.com/cpp.cabrera/brainfuck-tut";
+       homepage = "https://gitlab.com/queertypes/brainfuck-tut";
        description = "A simple BF interpreter";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -34860,16 +35402,16 @@ self: {
 
   "brick" = callPackage
     ({ mkDerivation, base, containers, contravariant, data-default
-     , deepseq, microlens, microlens-mtl, microlens-th, template-haskell
-     , text, text-zipper, transformers, vector, vty
+     , deepseq, dlist, microlens, microlens-mtl, microlens-th, stm
+     , template-haskell, text, text-zipper, transformers, vector, vty
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.15.2";
-       sha256 = "7407473d133588df46c43480a2b41a50a04a7f0e63a996c6422a07592b8ca85e";
+       version = "0.16";
+       sha256 = "ebc1dea2d4891e7a66d3b3ee965b6ed16c9ad74ab5143836fa7e1c81dc0c19ff";
        libraryHaskellDepends = [
-         base containers contravariant data-default deepseq microlens
-         microlens-mtl microlens-th template-haskell text text-zipper
+         base containers contravariant data-default deepseq dlist microlens
+         microlens-mtl microlens-th stm template-haskell text text-zipper
          transformers vector vty
        ];
        homepage = "https://github.com/jtdaugherty/brick/";
@@ -35006,6 +35548,7 @@ self: {
        homepage = "https://github.com/jb55/bson-lens";
        description = "BSON lenses";
        license = stdenv.lib.licenses.mit;
+       maintainers = with stdenv.lib.maintainers; [ jb55 ];
      }) {};
 
   "bson-mapping" = callPackage
@@ -35101,6 +35644,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "buchhaltung" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, array, async, base, boxes
+     , bytestring, cassava, containers, data-default, Decimal, deepseq
+     , directory, edit-distance, file-embed, filepath, formatting
+     , hashable, haskeline, hint, hledger, hledger-lib, lens
+     , lifted-base, ListLike, megaparsec, MissingH, monad-control, mtl
+     , optparse-applicative, parsec, process, regex-compat, regex-tdfa
+     , regex-tdfa-text, safe, semigroups, split, strict, temporary, text
+     , time, transformers, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "buchhaltung";
+       version = "0.0.3";
+       sha256 = "6ba38b02094431f1f24e698eed4b4dc3c0169f2154d2b66a584c16162c4cf276";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson ansi-wl-pprint array async base boxes bytestring cassava
+         containers data-default Decimal deepseq directory edit-distance
+         file-embed filepath formatting hashable haskeline hint hledger
+         hledger-lib lens lifted-base ListLike megaparsec MissingH
+         monad-control mtl optparse-applicative parsec process regex-compat
+         regex-tdfa regex-tdfa-text safe semigroups split strict temporary
+         text time transformers unordered-containers vector yaml
+       ];
+       homepage = "http://johannesgerer.com/buchhaltung";
+       description = "Automates most of your plain text accounting data entry in ledger format";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "buffer-builder" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
      , deepseq, HTF, mtl, quickcheck-instances, text
@@ -36927,8 +37500,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.0.3";
-       sha256 = "d3e2f376bf255daab8ea476831c8f4948e774e7307b19dbceb15a7f0df882654";
+       version = "2.0.4";
+       sha256 = "b20b597df92787ba878073cd7cc855b3c0186f1781ac65056f261c420a1c7fe3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -37168,6 +37741,30 @@ self: {
        homepage = "https://github.com/centromere/cacophony";
        description = "A library implementing the Noise protocol";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cacophony_0_9_1" = callPackage
+    ({ mkDerivation, aeson, async, base, base16-bytestring, bytestring
+     , cryptonite, directory, exceptions, free, hlint, lens, memory
+     , monad-coroutine, mtl, safe-exceptions, text, transformers
+     }:
+     mkDerivation {
+       pname = "cacophony";
+       version = "0.9.1";
+       sha256 = "cb60834c8b0571f2b2b54b6f9847960c71ffe5350c60791c439de6ba54c67c02";
+       libraryHaskellDepends = [
+         base bytestring cryptonite exceptions free lens memory
+         monad-coroutine mtl safe-exceptions transformers
+       ];
+       testHaskellDepends = [
+         aeson async base base16-bytestring bytestring directory free hlint
+         lens memory mtl text
+       ];
+       homepage = "https://github.com/centromere/cacophony";
+       description = "A library implementing the Noise protocol";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "caf" = callPackage
@@ -38484,8 +39081,8 @@ self: {
        pname = "cassava-megaparsec";
        version = "0.1.0";
        sha256 = "8d77229766aec5e9e31e145138be981cca791699a3d66010619604827c590702";
-       revision = "3";
-       editedCabalFile = "1be19f40219b8f6a9e91dc3bfe8905a3ccc920f56dbf82c14f74d05c4c7378c9";
+       revision = "4";
+       editedCabalFile = "ce616d726f30d6015744bc8087cadb575f16c1e51d20b507dcd75dbeca25119e";
        libraryHaskellDepends = [
          base bytestring cassava containers megaparsec unordered-containers
          vector
@@ -38731,6 +39328,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cayley-client_0_3_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
+     , exceptions, hspec, http-client, http-conduit, lens, lens-aeson
+     , mtl, text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "cayley-client";
+       version = "0.3.1";
+       sha256 = "c2d8eeeebf3814a10abfadb032132c8f1deff393909312d17755a9547463ebf7";
+       revision = "1";
+       editedCabalFile = "2f59497bc4c4e60596223f1f64ccb621a5f7906c06fac51780875c9c8923bdde";
+       libraryHaskellDepends = [
+         aeson attoparsec base binary bytestring exceptions http-client
+         http-conduit lens lens-aeson mtl text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [ aeson base hspec unordered-containers ];
+       homepage = "https://github.com/MichelBoucey/cayley-client";
+       description = "A Haskell client for the Cayley graph database";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cayley-dickson" = callPackage
     ({ mkDerivation, base, random }:
      mkDerivation {
@@ -38752,8 +39372,8 @@ self: {
      }:
      mkDerivation {
        pname = "cblrepo";
-       version = "0.23.0";
-       sha256 = "bbb17315e0618e121f8c339a4758d41a0a4b9d7b594168978fdc13d7fff93281";
+       version = "0.24.0";
+       sha256 = "03c1728d5f5ac702e334d3b7ccf0ceb42c00f93dba6cce2cdd655f5d74f4af7a";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
@@ -39448,6 +40068,19 @@ self: {
        license = "LGPL";
      }) {};
 
+  "charsetdetect-ae_1_1_0_2" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "charsetdetect-ae";
+       version = "1.1.0.2";
+       sha256 = "1393fae432a88fbc5fda643cf545a91469a341218e72464960bde48b27ba0fbe";
+       libraryHaskellDepends = [ base bytestring ];
+       homepage = "http://github.com/aelve/charsetdetect-ae";
+       description = "Character set detection using Mozilla's Universal Character Set Detector";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "chart-histogram" = callPackage
     ({ mkDerivation, base, Chart }:
      mkDerivation {
@@ -39816,6 +40449,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "choice" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "choice";
+       version = "0.2.0";
+       sha256 = "89a70894e54acc8e1a178e6110f46b0efed6e8389c7fec9060048d154aa1f72e";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/mboes/choice#readme";
+       description = "A solution to boolean blindness";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
   "choose" = callPackage
     ({ mkDerivation, base, MonadRandom }:
      mkDerivation {
@@ -40112,6 +40757,7 @@ self: {
        homepage = "https://github.com/beijaflor-io/haskell-cielo";
        description = "Cielo API v3 Bindings for Haskell";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cil" = callPackage
@@ -40880,6 +41526,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "classy-prelude-yesod_1_1_0" = callPackage
+    ({ mkDerivation, aeson, base, classy-prelude
+     , classy-prelude-conduit, data-default, http-conduit, http-types
+     , persistent, yesod, yesod-newsfeed, yesod-static
+     }:
+     mkDerivation {
+       pname = "classy-prelude-yesod";
+       version = "1.1.0";
+       sha256 = "2b7672093e16850dba4c118c56d8626d8049e3c29b163c8389619bfc265f5b58";
+       libraryHaskellDepends = [
+         aeson base classy-prelude classy-prelude-conduit data-default
+         http-conduit http-types persistent yesod yesod-newsfeed
+         yesod-static
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable";
+       description = "Provide a classy prelude including common Yesod functionality";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classyplate" = callPackage
     ({ mkDerivation, base, template-haskell, type-list }:
      mkDerivation {
@@ -40952,6 +41618,40 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) openssl;};
 
+  "clckwrks_0_24_0" = callPackage
+    ({ mkDerivation, acid-state, aeson, aeson-qq, attoparsec, base
+     , blaze-html, bytestring, cereal, containers, directory, filepath
+     , happstack-authenticate, happstack-hsp, happstack-jmacro
+     , happstack-server, happstack-server-tls, hsp, hsx-jmacro, hsx2hs
+     , ixset, jmacro, lens, mtl, network, network-uri, old-locale
+     , openssl, process, random, reform, reform-happstack, reform-hsp
+     , safecopy, stm, text, time, time-locale-compat
+     , unordered-containers, userid, utf8-string, uuid-orphans
+     , uuid-types, vector, web-plugins, web-routes, web-routes-happstack
+     , web-routes-hsp, web-routes-th, xss-sanitize
+     }:
+     mkDerivation {
+       pname = "clckwrks";
+       version = "0.24.0";
+       sha256 = "aae3a0d63da228eb0876505ec574f90955d5f2c3512003b57371d988b94a2e5c";
+       libraryHaskellDepends = [
+         acid-state aeson aeson-qq attoparsec base blaze-html bytestring
+         cereal containers directory filepath happstack-authenticate
+         happstack-hsp happstack-jmacro happstack-server
+         happstack-server-tls hsp hsx-jmacro hsx2hs ixset jmacro lens mtl
+         network network-uri old-locale process random reform
+         reform-happstack reform-hsp safecopy stm text time
+         time-locale-compat unordered-containers userid utf8-string
+         uuid-orphans uuid-types vector web-plugins web-routes
+         web-routes-happstack web-routes-hsp web-routes-th xss-sanitize
+       ];
+       librarySystemDepends = [ openssl ];
+       homepage = "http://www.clckwrks.com/";
+       description = "A secure, reliable content management system (CMS) and blogging platform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) openssl;};
+
   "clckwrks-cli" = callPackage
     ({ mkDerivation, acid-state, base, clckwrks, haskeline, mtl
      , network, parsec
@@ -40971,6 +41671,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "clckwrks-cli_0_2_17_1" = callPackage
+    ({ mkDerivation, acid-state, base, clckwrks, haskeline, mtl
+     , network, parsec
+     }:
+     mkDerivation {
+       pname = "clckwrks-cli";
+       version = "0.2.17.1";
+       sha256 = "d3f5546425c363b8d25d9d5060839431176829c017994709fc0060868ced25ea";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         acid-state base clckwrks haskeline mtl network parsec
+       ];
+       homepage = "http://www.clckwrks.com/";
+       description = "a command-line interface for adminstrating some aspects of clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "clckwrks-dot-com" = callPackage
     ({ mkDerivation, base, clckwrks, clckwrks-plugin-media
      , clckwrks-plugin-page, clckwrks-theme-clckwrks, containers
@@ -41068,6 +41787,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "clckwrks-plugin-media_0_6_16_1" = callPackage
+    ({ mkDerivation, acid-state, attoparsec, base, blaze-html, cereal
+     , clckwrks, containers, directory, filepath, gd, happstack-server
+     , hsp, hsx2hs, ixset, magic, mtl, reform, reform-happstack
+     , reform-hsp, safecopy, text, web-plugins, web-routes
+     , web-routes-th
+     }:
+     mkDerivation {
+       pname = "clckwrks-plugin-media";
+       version = "0.6.16.1";
+       sha256 = "acd1df19bf6b98d18202c925f7cf6800d378c190d36e5a88422dda3e19eaf079";
+       libraryHaskellDepends = [
+         acid-state attoparsec base blaze-html cereal clckwrks containers
+         directory filepath gd happstack-server hsp ixset magic mtl reform
+         reform-happstack reform-hsp safecopy text web-plugins web-routes
+         web-routes-th
+       ];
+       libraryToolDepends = [ hsx2hs ];
+       homepage = "http://clckwrks.com/";
+       description = "media plugin for clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "clckwrks-plugin-page" = callPackage
     ({ mkDerivation, acid-state, aeson, attoparsec, base, clckwrks
      , containers, directory, filepath, happstack-hsp, happstack-server
@@ -41094,6 +41837,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "clckwrks-plugin-page_0_4_3_7" = callPackage
+    ({ mkDerivation, acid-state, aeson, attoparsec, base, clckwrks
+     , containers, directory, filepath, happstack-hsp, happstack-server
+     , hsp, hsx2hs, ixset, mtl, old-locale, random, reform
+     , reform-happstack, reform-hsp, safecopy, tagsoup, template-haskell
+     , text, time, time-locale-compat, uuid, uuid-orphans, web-plugins
+     , web-routes, web-routes-happstack, web-routes-th
+     }:
+     mkDerivation {
+       pname = "clckwrks-plugin-page";
+       version = "0.4.3.7";
+       sha256 = "4f621eea6793307fb025ac9738f273c61c0e643f604bd2489b2bdf6fc06639d7";
+       libraryHaskellDepends = [
+         acid-state aeson attoparsec base clckwrks containers directory
+         filepath happstack-hsp happstack-server hsp hsx2hs ixset mtl
+         old-locale random reform reform-happstack reform-hsp safecopy
+         tagsoup template-haskell text time time-locale-compat uuid
+         uuid-orphans web-plugins web-routes web-routes-happstack
+         web-routes-th
+       ];
+       homepage = "http://www.clckwrks.com/";
+       description = "support for CMS/Blogging in clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "clckwrks-theme-bootstrap" = callPackage
     ({ mkDerivation, base, clckwrks, happstack-authenticate, hsp
      , hsx-jmacro, hsx2hs, jmacro, mtl, text, web-plugins
@@ -41112,6 +41881,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "clckwrks-theme-bootstrap_0_4_2_1" = callPackage
+    ({ mkDerivation, base, clckwrks, happstack-authenticate, hsp
+     , hsx-jmacro, hsx2hs, jmacro, mtl, text, web-plugins
+     }:
+     mkDerivation {
+       pname = "clckwrks-theme-bootstrap";
+       version = "0.4.2.1";
+       sha256 = "44c1fda59c72b807c4abe63d19c98de1b0523d78dd3392bb68064dd3f18878d6";
+       libraryHaskellDepends = [
+         base clckwrks happstack-authenticate hsp hsx-jmacro hsx2hs jmacro
+         mtl text web-plugins
+       ];
+       homepage = "http://www.clckwrks.com/";
+       description = "simple bootstrap based template for clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "clckwrks-theme-clckwrks" = callPackage
     ({ mkDerivation, base, clckwrks, containers, happstack-authenticate
      , hsp, hsx2hs, mtl, text, web-plugins
@@ -41400,22 +42187,22 @@ self: {
 
   "clit" = callPackage
     ({ mkDerivation, aeson, authenticate-oauth, base, bytestring
-     , http-client, http-client-tls, http-types, optparse-applicative
-     , split
+     , data-default, http-client, http-client-tls, http-types, lens
+     , optparse-applicative, split
      }:
      mkDerivation {
        pname = "clit";
-       version = "0.1.0.0";
-       sha256 = "7845c4a1d58becddb4683fa2972e3aa40eb62ca43d63e7c9b63905666af23c6b";
+       version = "0.2.0.2";
+       sha256 = "f8c363812b610c79d0fe7275404fca65e073c4bcd11c53afafcffd485c4e47db";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson authenticate-oauth base bytestring http-client
-         http-client-tls http-types optparse-applicative split
+         aeson authenticate-oauth base bytestring data-default http-client
+         http-client-tls http-types lens optparse-applicative split
        ];
        executableHaskellDepends = [ base ];
        homepage = "https://github.com/vmchale/command-line-tweeter#readme";
-       description = "Post tweets that you pipe to stdin";
+       description = "Post tweets from stdin";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -42553,6 +43340,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "colorless" = callPackage
+    ({ mkDerivation, base, megaparsec, pregame }:
+     mkDerivation {
+       pname = "colorless";
+       version = "0.0.0";
+       sha256 = "1ae808ffc4522981fd50833e5384173b72dae3c6b9e609f9dbfa791b625ee22c";
+       libraryHaskellDepends = [ base megaparsec pregame ];
+       homepage = "http://github.com/jxv/colorless#readme";
+       description = "Yet another IDL for RPC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "colors" = callPackage
     ({ mkDerivation, base, lens, linear, profunctors }:
      mkDerivation {
@@ -43023,6 +43822,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "compactmap_0_1_4_2" = callPackage
+    ({ mkDerivation, base, containers, hspec, QuickCheck, vector }:
+     mkDerivation {
+       pname = "compactmap";
+       version = "0.1.4.2";
+       sha256 = "36fd80c2f29446bba183c3b7182de9d869a1718c456ae3463ea66b332e6cf6ec";
+       libraryHaskellDepends = [ base vector ];
+       testHaskellDepends = [ base containers hspec QuickCheck ];
+       description = "A read-only memory-efficient key-value store";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "compare-type" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -43365,17 +44177,35 @@ self: {
      }) {};
 
   "computational-algebra" = callPackage
-    ({ mkDerivation, algebra, base, containers, equational-reasoning
-     , heaps, lens, monad-loops, monomorphic, peggy, singletons
-     , sized-vector, tagged, type-natural
+    ({ mkDerivation, algebra, algebraic-prelude, arithmoi, base
+     , constraints, containers, control-monad-loop, convertible, deepseq
+     , dlist, entropy, equational-reasoning, ghc-typelits-knownnat
+     , hashable, heaps, hmatrix, hspec, HUnit, hybrid-vectors, lens
+     , matrix, monad-loops, MonadRandom, mono-traversable, monomorphic
+     , mtl, parallel, primes, process, QuickCheck, quickcheck-instances
+     , reflection, semigroups, singletons, sized, smallcheck, tagged
+     , template-haskell, test-framework, test-framework-hunit, text
+     , type-natural, unamb, unordered-containers, vector
      }:
      mkDerivation {
        pname = "computational-algebra";
-       version = "0.3.0.0";
-       sha256 = "9dd0b12afcdf642cfed686820d2523291cb62a064122c51c78e45dfeae5e9226";
-       libraryHaskellDepends = [
-         algebra base containers equational-reasoning heaps lens monad-loops
-         monomorphic peggy singletons sized-vector tagged type-natural
+       version = "0.5.0.0";
+       sha256 = "fce631557cfcef120382e91744279f5e7a61c0afaae95cf2159195f7e57fda49";
+       libraryHaskellDepends = [
+         algebra algebraic-prelude arithmoi base constraints containers
+         control-monad-loop convertible deepseq dlist entropy
+         equational-reasoning ghc-typelits-knownnat hashable heaps hmatrix
+         hybrid-vectors lens matrix monad-loops MonadRandom mono-traversable
+         monomorphic mtl parallel primes reflection semigroups singletons
+         sized tagged template-haskell text type-natural unamb
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         algebra base constraints containers convertible deepseq
+         equational-reasoning hspec HUnit lens matrix MonadRandom
+         monomorphic process QuickCheck quickcheck-instances reflection
+         singletons sized smallcheck tagged test-framework
+         test-framework-hunit text type-natural vector
        ];
        homepage = "https://github.com/konn/computational-algebra";
        description = "Well-kinded computational algebra library, currently supporting Groebner basis";
@@ -43514,6 +44344,7 @@ self: {
        homepage = "https://github.com/hltcoe";
        description = "Library for the Concrete data format";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "concrete-relaxng-parser" = callPackage
@@ -43633,8 +44464,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-machines";
-       version = "0.2.3.1";
-       sha256 = "6d67692d241a0e160ace89ecd8bbb2e28cc90651c7d9996f6686de7856731eee";
+       version = "0.2.3.3";
+       sha256 = "e5204231e35181e56b9313f6dbe83d531b3f6c3f6dfbe3a1c465e5b6b2a24924";
        libraryHaskellDepends = [
          async base containers lifted-async machines monad-control
          semigroups time transformers transformers-base
@@ -43662,6 +44493,23 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "concurrent-output_1_7_8" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, directory, exceptions
+     , process, stm, terminal-size, text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "concurrent-output";
+       version = "1.7.8";
+       sha256 = "8c9b0ab30ff9ea930039efcd9cc3d8541f0647c617afc17370de9de793ca9a6f";
+       libraryHaskellDepends = [
+         ansi-terminal async base directory exceptions process stm
+         terminal-size text transformers unix
+       ];
+       description = "Ungarble output from several threads or commands";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "concurrent-rpc" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -44219,24 +45067,24 @@ self: {
      }) {};
 
   "config-ini" = callPackage
-    ({ mkDerivation, base, directory, ini, megaparsec, QuickCheck, text
-     , transformers, unordered-containers
+    ({ mkDerivation, base, directory, doctest, ini, megaparsec
+     , microlens, QuickCheck, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "config-ini";
-       version = "0.1.1.0";
-       sha256 = "ef88423e53604474a4e1b2bfb0f0824efed740af25f2b1841577838bc96d10ac";
-       revision = "1";
-       editedCabalFile = "8665338f86052e9963fe0472b0c1e30c865e14f8450d16bc35519bf5e07f2032";
+       version = "0.1.2.0";
+       sha256 = "d3a2b77545fba315db644ce177248e59f918cf4b6e17123c04d66e8bb3c7ee15";
        libraryHaskellDepends = [
          base megaparsec text transformers unordered-containers
        ];
        testHaskellDepends = [
-         base directory ini QuickCheck text unordered-containers
+         base directory doctest ini microlens QuickCheck text
+         unordered-containers
        ];
        homepage = "https://github.com/aisamanra/config-ini";
        description = "A library for simple INI-based configuration files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "config-manager" = callPackage
@@ -44650,14 +45498,14 @@ self: {
      }) {};
 
   "constraint-classes" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, constraints, transformers }:
      mkDerivation {
        pname = "constraint-classes";
-       version = "0.4.0";
-       sha256 = "0a5dda19ad7688081e43ec1445eac7a1ae0c4ae54139c4b92fd91e5f872a45b8";
-       libraryHaskellDepends = [ base ];
+       version = "0.5.1";
+       sha256 = "5e26e76d7d1bcbdf77a384ffc74eb36a39f82e23a29d3ee80b6bf29ab7ce6921";
+       libraryHaskellDepends = [ base constraints transformers ];
        homepage = "http://github.com/guaraqe/constraint-classes#readme";
-       description = "Prelude classes using ConstraintKinds";
+       description = "Various typeclasses using ConstraintKinds";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -44834,15 +45682,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "containers_0_5_8_1" = callPackage
+  "containers_0_5_9_1" = callPackage
     ({ mkDerivation, array, base, ChasingBottoms, deepseq, ghc-prim
      , HUnit, QuickCheck, test-framework, test-framework-hunit
      , test-framework-quickcheck2, transformers
      }:
      mkDerivation {
        pname = "containers";
-       version = "0.5.8.1";
-       sha256 = "f7e65874f5592c7fd7c24aaca67d8ccf87887e5a69ea8e97890c40c3bb07f142";
+       version = "0.5.9.1";
+       sha256 = "132d2ab0d56a631fc883bc843c5661380135e19992f724897d24cf6ead450a23";
        libraryHaskellDepends = [ array base deepseq ghc-prim ];
        testHaskellDepends = [
          array base ChasingBottoms deepseq ghc-prim HUnit QuickCheck
@@ -46518,8 +47366,8 @@ self: {
      }:
      mkDerivation {
        pname = "crawlchain";
-       version = "0.1.1.4";
-       sha256 = "0754ba3c874648e6c6e84c17d2d729cc3427f3cad2f1d0f37fbbcb4841020917";
+       version = "0.1.1.7";
+       sha256 = "93c39d63111fd8bdc4222a763ff1cb289b4e1e9b5342a3f0273fa6180a6062f1";
        libraryHaskellDepends = [
          base bytestring directory HTTP network-uri split tagsoup time
        ];
@@ -46940,6 +47788,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "cron_0_5_0" = callPackage
+    ({ mkDerivation, attoparsec, base, data-default-class, generics-sop
+     , mtl, mtl-compat, old-locale, quickcheck-instances, semigroups
+     , tasty, tasty-hunit, tasty-quickcheck, text, time
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "cron";
+       version = "0.5.0";
+       sha256 = "ebffcf17d4ce054b50e97034ca94e73c82803494e0a507b49844740a968535b7";
+       libraryHaskellDepends = [
+         attoparsec base data-default-class mtl mtl-compat old-locale
+         semigroups text time
+       ];
+       testHaskellDepends = [
+         attoparsec base generics-sop quickcheck-instances semigroups tasty
+         tasty-hunit tasty-quickcheck text time transformers-compat
+       ];
+       homepage = "http://github.com/michaelxavier/cron";
+       description = "Cron datatypes and Attoparsec parser";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cron-compat" = callPackage
     ({ mkDerivation, attoparsec, base, cron, derive, hspec
      , hspec-expectations, mtl, mtl-compat, old-locale, QuickCheck, text
@@ -47133,10 +48005,10 @@ self: {
      }:
      mkDerivation {
        pname = "crypto-enigma";
-       version = "0.0.2.6";
-       sha256 = "eb162e2b4ea2d73bb3594e12438f02988e338ae58c602e817a31970163533142";
+       version = "0.0.2.8";
+       sha256 = "7868ad36d39243fef45e1f76be73709778442ad69dc18ad8066650a748c6e837";
        revision = "1";
-       editedCabalFile = "4cc74c0744e15e1149d7419e47232db6f0bf53a56360f35d71665b180c2f2a53";
+       editedCabalFile = "7a7c682466a7ea07d0a755cb3f3c696083921734a90bcad745226b45b605a97e";
        libraryHaskellDepends = [ base containers MissingH mtl split ];
        testHaskellDepends = [ base HUnit QuickCheck ];
        homepage = "https://github.com/orome/crypto-enigma-hs";
@@ -47535,15 +48407,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "cryptonite_0_20" = callPackage
+  "cryptonite_0_21" = callPackage
     ({ mkDerivation, base, byteable, bytestring, deepseq, ghc-prim
      , integer-gmp, memory, tasty, tasty-hunit, tasty-kat
      , tasty-quickcheck
      }:
      mkDerivation {
        pname = "cryptonite";
-       version = "0.20";
-       sha256 = "261bfac4e032f24658a31d8c34abd0c0f64f9de07be69ad43a9139a7c0b5c354";
+       version = "0.21";
+       sha256 = "639a66aee1c3fa64161b1886d319612b8ce92f751adde476fdc35aea730262ee";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim integer-gmp memory
        ];
@@ -47580,8 +48452,8 @@ self: {
      }:
      mkDerivation {
        pname = "cryptonite-openssl";
-       version = "0.3";
-       sha256 = "43c8f8b4259f103be4408734f604c55a0053e60d302890174ba4773828bdee26";
+       version = "0.5";
+       sha256 = "a10bc2030bd3696c190562853a794c392ff1e5ab9b4adc6c05697526dc9ce25c";
        libraryHaskellDepends = [ base bytestring cryptonite memory ];
        librarySystemDepends = [ openssl ];
        testHaskellDepends = [
@@ -47781,6 +48653,7 @@ self: {
        libraryHaskellDepends = [ base containers pretty ];
        description = "AST and pretty printer for CSPm";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "css" = callPackage
@@ -47846,8 +48719,8 @@ self: {
      }:
      mkDerivation {
        pname = "csv-conduit";
-       version = "0.6.6";
-       sha256 = "7329056af16c2f81382ad0cc3437232b80e9910288daf687519a2e2cd2ee5d8b";
+       version = "0.6.7";
+       sha256 = "501e6b0b7c6f0e80ba381b5f18af5ec343eb5e1afb4f5fc4e5e318ce51eeb33d";
        libraryHaskellDepends = [
          array attoparsec base blaze-builder bytestring conduit
          conduit-extra containers data-default ghc-prim mmorph monad-control
@@ -48093,8 +48966,10 @@ self: {
      }:
      mkDerivation {
        pname = "cuda";
-       version = "0.7.5.1";
-       sha256 = "0910d9e4f0b3a46d9bda2de495ae9024799c21764bc543b99edea64e65180385";
+       version = "0.7.5.2";
+       sha256 = "749b2411255f699289d2989c8720b751940678bfbb621ccd8bb98eaf0a7b94d6";
+       revision = "1";
+       editedCabalFile = "dd05fcdff465dcbe7252532e3b9ba481d76548611e02bc28fce734378c093dee";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
@@ -48121,6 +48996,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {cudd = null;};
 
+  "cue-sheet" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , exceptions, hspec, hspec-megaparsec, megaparsec, mtl, QuickCheck
+     , text
+     }:
+     mkDerivation {
+       pname = "cue-sheet";
+       version = "0.1.0";
+       sha256 = "cb4d369b3eb3859b9006dce4f9b45a3b9dafb75370d02bf5f178f06905dd05f1";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class exceptions megaparsec
+         mtl QuickCheck text
+       ];
+       testHaskellDepends = [
+         base bytestring exceptions hspec hspec-megaparsec QuickCheck text
+       ];
+       homepage = "https://github.com/mrkkrp/cue-sheet";
+       description = "Support for construction, rendering, and parsing of CUE sheets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cufft" = callPackage
     ({ mkDerivation, base, c2hs, Cabal, cuda, directory, filepath
      , template-haskell
@@ -48522,8 +49419,8 @@ self: {
      }:
      mkDerivation {
        pname = "damnpacket";
-       version = "1.0.2";
-       sha256 = "b00c792670558fc2849f932232361fe4b59c7ce62009e5efbab71a162438ea05";
+       version = "1.1.0";
+       sha256 = "68284ed9c5cd54c5697f8202bcb8001d22497a5b225489729a660c4ba8a3bd1f";
        libraryHaskellDepends = [
          attoparsec base bytestring fail html-entities template-haskell text
          th-lift-instances
@@ -49289,7 +50186,7 @@ self: {
 
   "data-default-extra" = callPackage
     ({ mkDerivation, base, data-default-class
-     , data-default-instances-base, data-default-instances-bytestring
+     , data-default-instances-bytestring
      , data-default-instances-case-insensitive
      , data-default-instances-containers
      , data-default-instances-new-base
@@ -49299,11 +50196,10 @@ self: {
      }:
      mkDerivation {
        pname = "data-default-extra";
-       version = "0.0.1";
-       sha256 = "ddd73777101f49566654bae02203424bc7f4dd55ba5b839b5d2d8d4fa6d0812e";
+       version = "0.1.0";
+       sha256 = "7feaac7ae76fae615736d9a1577cb26ebd11a9cae48c88235821497fd5dee5f9";
        libraryHaskellDepends = [
-         base data-default-class data-default-instances-base
-         data-default-instances-bytestring
+         base data-default-class data-default-instances-bytestring
          data-default-instances-case-insensitive
          data-default-instances-containers data-default-instances-new-base
          data-default-instances-old-locale data-default-instances-text
@@ -49354,6 +50250,8 @@ self: {
        pname = "data-default-instances-bytestring";
        version = "0.0.1";
        sha256 = "4c431278d0dc1054fd531281db70d8615f88d9b2a29924aba2567fb3cf647220";
+       revision = "1";
+       editedCabalFile = "592075c7d9f5bde9fe98d31dd2b7412cdb4bb29158b49bee04379fe0895aed3e";
        libraryHaskellDepends = [ base bytestring data-default-class ];
        homepage = "https://github.com/trskop/data-default-extra";
        description = "Default instances for (lazy and strict) ByteString, Builder and ShortByteString";
@@ -49367,6 +50265,8 @@ self: {
        pname = "data-default-instances-case-insensitive";
        version = "0.0.1";
        sha256 = "430135708ad9d0730a4c3a3d1eb574bdc6f07547a5a9c5f30202e1e786070ab4";
+       revision = "1";
+       editedCabalFile = "45a89ccc5e4e6dbca37c7c0826c1f1c75d774d49afa9ce94f0412edee53f1371";
        libraryHaskellDepends = [ case-insensitive data-default-class ];
        homepage = "https://github.com/trskop/data-default-extra";
        description = "Default instance for CI type from case-insensitive package";
@@ -49397,16 +50297,12 @@ self: {
      }) {};
 
   "data-default-instances-new-base" = callPackage
-    ({ mkDerivation, base, data-default-class
-     , data-default-instances-base
-     }:
+    ({ mkDerivation, base, data-default-class }:
      mkDerivation {
        pname = "data-default-instances-new-base";
-       version = "0.0.1";
-       sha256 = "d923d291a26817f2bc54ba110efc8cb1cefcdb17c7a5af8e2d12506c594b7edc";
-       libraryHaskellDepends = [
-         base data-default-class data-default-instances-base
-       ];
+       version = "0.0.2";
+       sha256 = "831df35c14859b066767b56c746611aa9268e6352d2a45f6704d3859bf3ef143";
+       libraryHaskellDepends = [ base data-default-class ];
        homepage = "https://github.com/trskop/data-default-extra";
        description = "Default instances for types in newer versions of base package";
        license = stdenv.lib.licenses.bsd3;
@@ -49430,6 +50326,8 @@ self: {
        pname = "data-default-instances-text";
        version = "0.0.1";
        sha256 = "db5d4c46cf36ce5956ffd0affe0f2c48e1c000b9bd61821d3e6c1b0171060cdf";
+       revision = "1";
+       editedCabalFile = "5a8acbe0d420430c2cc2dc7865fa69d179c9ad43dda47aefcc6560fed72e2204";
        libraryHaskellDepends = [ base data-default-class text ];
        homepage = "https://github.com/trskop/data-default-extra";
        description = "Default instances for (lazy and strict) Text and Text Builder";
@@ -49443,6 +50341,8 @@ self: {
        pname = "data-default-instances-unordered-containers";
        version = "0.0.1";
        sha256 = "b382a7ea90fd61127782e95fa5e7ee3a17969b762bf0aac4efd15fa7c2552fc0";
+       revision = "1";
+       editedCabalFile = "fc2e79e605ef4fd67f222d11f43aaed40fbc08e3ca421cd29f5982a391f90ebe";
        libraryHaskellDepends = [
          data-default-class unordered-containers
        ];
@@ -49458,6 +50358,8 @@ self: {
        pname = "data-default-instances-vector";
        version = "0.0.1";
        sha256 = "9ac84473a3af8b0c5e795ea5f84a34a0c18c3b2d5e17ce428206203f9d794666";
+       revision = "1";
+       editedCabalFile = "8a78beb491235231802c98fb1a58fea519359be1c9374b9f08d37feed34a385e";
        libraryHaskellDepends = [ data-default-class vector ];
        homepage = "https://github.com/trskop/data-default-extra";
        description = "Default instances for types defined in vector package";
@@ -49698,8 +50600,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "data-flags";
-       version = "0.0.3.2";
-       sha256 = "9e8944d63a314a116d1cc8ecb115ad0ea8dabd5ccb84dbbefd332e641430794a";
+       version = "0.0.3.3";
+       sha256 = "a1e390d6a58b45c5f9a193c8244badf31f104fad26d5178298c8043ad136faaa";
        libraryHaskellDepends = [ base template-haskell ];
        homepage = "https://github.com/mvv/data-flags";
        description = "A package for working with bit masks and flags in general";
@@ -49996,8 +50898,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-msgpack";
-       version = "0.0.8";
-       sha256 = "069552052ce2f62b64621513df5e4eec4a9dc9aa02f28e8095373724fc696ae0";
+       version = "0.0.9";
+       sha256 = "432b1e3f1cfbfe7cb165b139cb7379906b0f3126c381a64160aeb1f393b04b5c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -50270,14 +51172,14 @@ self: {
 
   "data-serializer" = callPackage
     ({ mkDerivation, base, binary, bytestring, cereal, data-endian
-     , parsers, tasty, tasty-quickcheck
+     , parsers, semigroups, tasty, tasty-quickcheck
      }:
      mkDerivation {
        pname = "data-serializer";
-       version = "0.2";
-       sha256 = "1e134ab268125d0202ed95c723cd903283e8dc111918498cf27696820285a584";
+       version = "0.3";
+       sha256 = "c8befa7acf0293b0a367bf8100d19e8cf1ad4b4b48358394daa578103a505e2e";
        libraryHaskellDepends = [
-         base binary bytestring cereal data-endian parsers
+         base binary bytestring cereal data-endian parsers semigroups
        ];
        testHaskellDepends = [
          base binary bytestring cereal tasty tasty-quickcheck
@@ -50380,8 +51282,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-sword";
-       version = "0.2";
-       sha256 = "57db4db48eb3bda4a8b70c781c64342241ee7d7b53f020262dc3c7506f8eec95";
+       version = "0.2.0.1";
+       sha256 = "d2348ed2515a484866d92185640db0d20991ec9b0c6a891ed229ff41d5f304d1";
        libraryHaskellDepends = [
          base data-bword hashable template-haskell
        ];
@@ -50639,8 +51541,8 @@ self: {
      }:
      mkDerivation {
        pname = "datasets";
-       version = "0.2.2";
-       sha256 = "d79ae10e42a208a4413f8b4851c18cff671ec0f578108f2f71bbf7cba215f127";
+       version = "0.2.3";
+       sha256 = "f155d4aea31d03fd14c7050793d9e90685ba8858460ce7c3716919bd00c12ea4";
        libraryHaskellDepends = [
          aeson base bytestring cassava directory file-embed filepath
          hashable microlens stringsearch text time vector wreq
@@ -51079,6 +51981,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dcpu16" = callPackage
+    ({ mkDerivation, base, bytestring, containers, filepath
+     , optparse-applicative, parsec, sdl2, spool, vector
+     }:
+     mkDerivation {
+       pname = "dcpu16";
+       version = "0.1.0.0";
+       sha256 = "d3838fcd4838a668319791c4996a2af7e11f6a0496485c61389f40e376f335bc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers parsec sdl2 spool vector
+       ];
+       executableHaskellDepends = [ base filepath optparse-applicative ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/githubuser/dcpu16#readme";
+       description = "Initial project template from stack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ddate" = callPackage
     ({ mkDerivation, base, dates, time }:
      mkDerivation {
@@ -51562,18 +52484,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "declarative_0_3_4" = callPackage
-    ({ mkDerivation, base, hasty-hamiltonian, lens, mcmc-types
-     , mighty-metropolis, mwc-probability, pipes, primitive
+  "declarative_0_5_1" = callPackage
+    ({ mkDerivation, base, hasty-hamiltonian, kan-extensions, lens
+     , mcmc-types, mighty-metropolis, mwc-probability, pipes, primitive
      , speedy-slice, transformers
      }:
      mkDerivation {
        pname = "declarative";
-       version = "0.3.4";
-       sha256 = "4d731ea4199f322fa8028a44ed3e5155e2ae58f27542f1e8a8f0ee4116ec226b";
+       version = "0.5.1";
+       sha256 = "4ed591067e741682da3f319284dbf1d77c70bdf9d5c78e32575d5018d3f4c624";
        libraryHaskellDepends = [
-         base hasty-hamiltonian lens mcmc-types mighty-metropolis
-         mwc-probability pipes primitive speedy-slice transformers
+         base hasty-hamiltonian kan-extensions lens mcmc-types
+         mighty-metropolis mwc-probability pipes primitive speedy-slice
+         transformers
        ];
        testHaskellDepends = [ base mwc-probability ];
        homepage = "http://github.com/jtobin/declarative";
@@ -52197,6 +53120,19 @@ self: {
        license = "unknown";
      }) {};
 
+  "dependent-map_0_2_4_0" = callPackage
+    ({ mkDerivation, base, containers, dependent-sum }:
+     mkDerivation {
+       pname = "dependent-map";
+       version = "0.2.4.0";
+       sha256 = "5db396bdb5d156434af920c074316c3b84b4d39ba8e1cd349c7bb6679cb28246";
+       libraryHaskellDepends = [ base containers dependent-sum ];
+       homepage = "https://github.com/mokus0/dependent-map";
+       description = "Dependent finite maps (partial dependent products)";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dependent-state" = callPackage
     ({ mkDerivation, base, lens, mtl, prologue }:
      mkDerivation {
@@ -52292,12 +53228,12 @@ self: {
      }) {};
 
   "deque" = callPackage
-    ({ mkDerivation, base-prelude }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "deque";
-       version = "0.1";
-       sha256 = "881f1118d18e1868a04443e2826aede8316a266ad93ce1e00a999834fa028e2d";
-       libraryHaskellDepends = [ base-prelude ];
+       version = "0.2";
+       sha256 = "86768d22492c58b35688c28592b222cb16cc996ca6576b35add9c54a470d3e56";
+       libraryHaskellDepends = [ base ];
        homepage = "https://github.com/nikita-volkov/deque";
        description = "Double-ended queue";
        license = stdenv.lib.licenses.mit;
@@ -52489,28 +53425,6 @@ self: {
 
   "deriving-compat" = callPackage
     ({ mkDerivation, base, base-compat, base-orphans, containers
-     , ghc-boot-th, ghc-prim, hspec, QuickCheck, template-haskell
-     , transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "deriving-compat";
-       version = "0.3.4";
-       sha256 = "77c68a5c69be9c4385a163501da2d8dacf590a3d948bb1d01f570ef4abb0bf3d";
-       libraryHaskellDepends = [
-         base containers ghc-boot-th ghc-prim template-haskell transformers
-         transformers-compat
-       ];
-       testHaskellDepends = [
-         base base-compat base-orphans hspec QuickCheck template-haskell
-         transformers transformers-compat
-       ];
-       homepage = "https://github.com/haskell-compat/deriving-compat";
-       description = "Backports of GHC deriving extensions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "deriving-compat_0_3_5" = callPackage
-    ({ mkDerivation, base, base-compat, base-orphans, containers
      , ghc-boot-th, ghc-prim, hspec, QuickCheck, tagged
      , template-haskell, transformers, transformers-compat
      }:
@@ -52529,7 +53443,6 @@ self: {
        homepage = "https://github.com/haskell-compat/deriving-compat";
        description = "Backports of GHC deriving extensions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "derp" = callPackage
@@ -53011,6 +53924,8 @@ self: {
        pname = "diagrams-contrib";
        version = "1.4.0.1";
        sha256 = "1194be9ab13c8660ef1c56c35b3a6578953db51e173de96eb8d49603e855750c";
+       revision = "1";
+       editedCabalFile = "58ebbd4d2285416111e8582c133d68ced6ecb5a2a94d5dc07cca899a971b02f8";
        libraryHaskellDepends = [
          base circle-packing colour containers cubicbezier data-default
          data-default-class diagrams-core diagrams-lib diagrams-solve
@@ -53732,6 +54647,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diff3_0_3_0" = callPackage
+    ({ mkDerivation, base, Diff, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "diff3";
+       version = "0.3.0";
+       sha256 = "8dc57a5f7070efe7227d3afaf5cf4d084c134e2cc0426e98421cdb720cacea25";
+       libraryHaskellDepends = [ base Diff ];
+       testHaskellDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/ocharles/diff3.git";
+       description = "Perform a 3-way difference of documents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diffarray" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
@@ -54434,6 +55367,7 @@ self: {
        homepage = "http://brandon.si/code/directory-tree-module-released/";
        description = "A simple directory-like tree datatype, with useful IO functions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dirfiles" = callPackage
@@ -54626,6 +55560,20 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "distance" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "distance";
+       version = "0.1.0.0";
+       sha256 = "007cfb1c56ff8e8f905dad7c1630630162ffb8520925f028cf82e93ba7cd4a58";
+       revision = "1";
+       editedCabalFile = "b8629453e8a81834e23eb577c6b304891ff60f36b956d03e59da854ba8adda47";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/agrafix/distance#readme";
+       description = "Useful distance datatype and functions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "distributed-closure" = callPackage
     ({ mkDerivation, base, binary, bytestring, constraints, hspec
      , QuickCheck, syb, template-haskell
@@ -54969,6 +55917,8 @@ self: {
        pname = "distributed-process-simplelocalnet";
        version = "0.2.3.3";
        sha256 = "7b98498f2d6ce185ae0a855ff35e97a9ad1bd1ec7872b2d75aa0bb1f1fb24316";
+       revision = "1";
+       editedCabalFile = "4ccf03a12611141e322511b6370e2f757e215f17e68fc3f68485ec5b48fa8f70";
        libraryHaskellDepends = [
          base binary bytestring containers data-accessor distributed-process
          network network-multicast network-transport network-transport-tcp
@@ -55189,6 +56139,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "distributive_0_5_1" = callPackage
+    ({ mkDerivation, base, base-orphans, directory, doctest, filepath
+     , tagged, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "distributive";
+       version = "0.5.1";
+       sha256 = "8fd0968c19b00b64c8219b81903c72841494460fcf1c10e84fa44f321bb3ae92";
+       libraryHaskellDepends = [
+         base base-orphans tagged transformers transformers-compat
+       ];
+       testHaskellDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/distributive/";
+       description = "Distributive functors -- Dual to Traversable";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diversity" = callPackage
     ({ mkDerivation, base, containers, data-ordlist, fasta
      , math-functions, MonadRandom, optparse-applicative, parsec, pipes
@@ -55846,22 +56814,23 @@ self: {
      }) {};
 
   "dom-parser" = callPackage
-    ({ mkDerivation, base, data-default, hspec, lens, mtl, open-union
-     , semigroups, shakespeare, text, transformers, type-fun
-     , xml-conduit, xml-lens
+    ({ mkDerivation, base, case-insensitive, containers, data-default
+     , hspec, lens, mtl, open-union, scientific, semigroups, shakespeare
+     , text, transformers, type-fun, xml-conduit, xml-lens
      }:
      mkDerivation {
        pname = "dom-parser";
-       version = "0.1.1";
-       sha256 = "e001c486adb3b2c6c6ab18e70205dc759ea018b6db084f8668bb424b623e4e03";
+       version = "2.0.0";
+       sha256 = "9de203857330d7d3b27e18e458a7548dc4e449bff3b7b95de2d40a1556cccf38";
        libraryHaskellDepends = [
-         base lens mtl open-union semigroups shakespeare text transformers
-         type-fun xml-conduit xml-lens
+         base case-insensitive containers lens mtl open-union scientific
+         semigroups text transformers type-fun xml-conduit xml-lens
        ];
        testHaskellDepends = [
          base data-default hspec lens semigroups shakespeare text
          xml-conduit
        ];
+       homepage = "https://github.com/typeable/dom-parser";
        description = "Simple monadic DOM parser";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -56077,25 +57046,6 @@ self: {
      }) {};
 
   "double-conversion" = callPackage
-    ({ mkDerivation, base, bytestring, ghc-prim, integer-gmp
-     , test-framework, test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "double-conversion";
-       version = "2.0.1.0";
-       sha256 = "0072b5b05631081c2eb73cda9dd660e384a7e988d3867b8b05540ef7648a920c";
-       libraryHaskellDepends = [
-         base bytestring ghc-prim integer-gmp text
-       ];
-       testHaskellDepends = [
-         base bytestring test-framework test-framework-quickcheck2 text
-       ];
-       homepage = "https://github.com/bos/double-conversion";
-       description = "Fast conversion between double precision floating point and text";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "double-conversion_2_0_2_0" = callPackage
     ({ mkDerivation, base, bytestring, ghc-prim, HUnit, test-framework
      , test-framework-hunit, test-framework-quickcheck2, text
      }:
@@ -56111,7 +57061,6 @@ self: {
        homepage = "https://github.com/bos/double-conversion";
        description = "Fast conversion between double precision floating point and text";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "double-metaphone" = callPackage
@@ -56536,6 +57485,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "drifter-postgresql_0_1_0" = callPackage
+    ({ mkDerivation, base, containers, drifter, either, mtl
+     , postgresql-simple, tasty, tasty-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "drifter-postgresql";
+       version = "0.1.0";
+       sha256 = "10df8309986c23f947949a28f9fb16ec6632f1d509ab0fe010a74f9068b90325";
+       libraryHaskellDepends = [
+         base containers drifter either mtl postgresql-simple time
+       ];
+       testHaskellDepends = [
+         base drifter either postgresql-simple tasty tasty-hunit text
+       ];
+       homepage = "http://github.com/michaelxavier/drifter-postgresql";
+       description = "PostgreSQL support for the drifter schema migration tool";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "drmaa" = callPackage
     ({ mkDerivation, base, drmaa, inline-c, shelly, text }:
      mkDerivation {
@@ -57250,8 +58219,8 @@ self: {
      }:
      mkDerivation {
        pname = "dynamodb-simple";
-       version = "0.2.0.0";
-       sha256 = "d1fbc3a6f4df1b8a8a5125227e3492299cca6b88cec6b24d838ade5f081406b9";
+       version = "0.4.0.0";
+       sha256 = "62a0361b19d0929a95d1821f8214aa44a87b7ffe1e0405abd84b4f81fc16ca79";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-dynamodb base bytestring
          conduit containers double-conversion exceptions generics-sop
@@ -57266,6 +58235,7 @@ self: {
        homepage = "https://github.com/ondrap/dynamodb-simple";
        description = "Typesafe library for working with DynamoDB database";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dynobud" = callPackage
@@ -57566,6 +58536,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "echo" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "echo";
+       version = "0.1.1";
+       sha256 = "e1fc1756f255e47db28c6c0520c43fe45ac0c1093009f378683273ebe02851c6";
+       libraryHaskellDepends = [ base process ];
+       homepage = "https://github.com/RyanGlScott/echo";
+       description = "A cross-platform, cross-console way to handle echoing terminal input";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ecma262" = callPackage
     ({ mkDerivation, base, containers, data-default, lens, parsec, safe
      , transformers
@@ -57995,20 +58977,20 @@ self: {
 
   "egison" = callPackage
     ({ mkDerivation, array, base, containers, directory, filepath, ghc
-     , ghc-paths, Glob, haskeline, HUnit, mtl, parsec, process, random
-     , regex-tdfa, test-framework, test-framework-hunit, text
-     , transformers, unordered-containers, vector
+     , ghc-paths, Glob, haskeline, HUnit, monad-parallel, mtl, parsec
+     , process, random, regex-tdfa, test-framework, test-framework-hunit
+     , text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.6.3";
-       sha256 = "178eebc1798fb6d1c2fceeb8f68c2b7cd87a25ff35db9274c2115e6b5100e6d5";
+       version = "3.6.4";
+       sha256 = "8900413b3f0e42c0907bec37dfd2ed0d2f6c618836ea6054615a786ff4fcf5f3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base containers directory ghc ghc-paths haskeline mtl parsec
-         process random regex-tdfa text transformers unordered-containers
-         vector
+         array base containers directory ghc ghc-paths haskeline
+         monad-parallel mtl parsec process random regex-tdfa text
+         transformers unordered-containers vector
        ];
        executableHaskellDepends = [
          array base containers directory filepath ghc ghc-paths haskeline
@@ -58147,6 +59129,8 @@ self: {
        pname = "either";
        version = "4.4.1.1";
        sha256 = "b087cb0fb63fec2fbdcac05fef0d03751daef5deb86cda3c732b9a6a31e634d3";
+       revision = "1";
+       editedCabalFile = "3276aff42f5ede169a424cdfbb69ae3ca7d9d4f95996e679c2d9ea1dae939db1";
        libraryHaskellDepends = [
          base bifunctors exceptions free mmorph monad-control MonadRandom
          mtl profunctors semigroupoids semigroups transformers
@@ -58199,6 +59183,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ekg_0_4_0_12" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, ekg-core, ekg-json
+     , filepath, network, snap-core, snap-server, text, time
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg";
+       version = "0.4.0.12";
+       sha256 = "f30e8c1e76410c3c76ec8cf59f0e1a381a83d302c02b5a95049238aa50eb9844";
+       libraryHaskellDepends = [
+         aeson base bytestring ekg-core ekg-json filepath network snap-core
+         snap-server text time transformers unordered-containers
+       ];
+       homepage = "https://github.com/tibbe/ekg";
+       description = "Remote monitoring of processes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ekg-bosun" = callPackage
     ({ mkDerivation, aeson, base, ekg-core, http-client, lens, network
      , network-uri, old-locale, text, time, unordered-containers, vector
@@ -58304,6 +59307,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ekg-json_0_1_0_4" = callPackage
+    ({ mkDerivation, aeson, base, ekg-core, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg-json";
+       version = "0.1.0.4";
+       sha256 = "6afc7c146e4891824bb672af94ef3cade56ebf17cc51a3ca9ffdd2ce4345e479";
+       libraryHaskellDepends = [
+         aeson base ekg-core text unordered-containers
+       ];
+       homepage = "https://github.com/tibbe/ekg-json";
+       description = "JSON encoding of ekg metrics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ekg-log" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, ekg-core
      , fast-logger, filepath, text, time, unix, unordered-containers
@@ -58614,7 +59633,6 @@ self: {
        homepage = "http://github.com/krisajenkins/elm-export";
        description = "A library to generate Elm types from Haskell source";
        license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "elm-export-persistent" = callPackage
@@ -58632,6 +59650,7 @@ self: {
        homepage = "https://github.com/jb55/elm-export-persistent";
        description = "elm-export persistent entities";
        license = stdenv.lib.licenses.mit;
+       maintainers = with stdenv.lib.maintainers; [ jb55 ];
      }) {};
 
   "elm-get" = callPackage
@@ -59234,8 +60253,8 @@ self: {
      }:
      mkDerivation {
        pname = "engine-io";
-       version = "1.2.13";
-       sha256 = "5fc53f8a4a0ba563b9592e7bf3d9475a4a7ce165c66cd63a303567f6a941cf45";
+       version = "1.2.14";
+       sha256 = "f321e826d56d7f14b4e027ddb57be59b2efa34a714e566e23a6bcee192ab6f33";
        libraryHaskellDepends = [
          aeson async attoparsec base base64-bytestring bytestring either
          free monad-loops mwc-random stm stm-delay text transformers
@@ -59333,6 +60352,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "entangle" = callPackage
+    ({ mkDerivation, base, containers, matrix, mtl, quipper-core }:
+     mkDerivation {
+       pname = "entangle";
+       version = "0.1.1";
+       sha256 = "2836f6645c71d68ad1fcc30b0f3186bc9cf85f0703f3c89da58564cd05eedabc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers matrix mtl quipper-core
+       ];
+       executableHaskellDepends = [ base matrix quipper-core ];
+       description = "An application (and library) to convert quipper circuits into Qpmc models";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "entropy" = callPackage
     ({ mkDerivation, base, bytestring, unix }:
      mkDerivation {
@@ -60198,7 +61233,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "esqueleto" = callPackage
+  "esqueleto_2_4_3" = callPackage
     ({ mkDerivation, base, blaze-html, bytestring, conduit, containers
      , hspec, HUnit, monad-control, monad-logger, persistent
      , persistent-sqlite, persistent-template, QuickCheck, resourcet
@@ -60225,6 +61260,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "esqueleto" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, conduit, containers
+     , hspec, HUnit, monad-control, monad-logger, persistent
+     , persistent-sqlite, persistent-template, QuickCheck, resourcet
+     , tagged, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "esqueleto";
+       version = "2.5.0";
+       sha256 = "2cba54c813bb506024889b29ceb75079e31e4172dc79cfa1e48c84337e064fa2";
+       libraryHaskellDepends = [
+         base blaze-html bytestring conduit monad-logger persistent
+         resourcet tagged text transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base conduit containers hspec HUnit monad-control monad-logger
+         persistent persistent-sqlite persistent-template QuickCheck
+         resourcet text transformers
+       ];
+       homepage = "https://github.com/bitemyapp/esqueleto";
+       description = "Type-safe EDSL for SQL queries on persistent backends";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ess" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -60416,6 +61476,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "eths-rlp" = callPackage
+    ({ mkDerivation, base, binary, binary-strict, bytestring, doctest
+     , hspec, QuickCheck, quickcheck-instances
+     }:
+     mkDerivation {
+       pname = "eths-rlp";
+       version = "0.1.0.0";
+       sha256 = "aa24e8f30bbb1eff7bd4cbfc635224f772d5bdba26a1db6ef346415b8d2ea09b";
+       libraryHaskellDepends = [ base binary binary-strict bytestring ];
+       testHaskellDepends = [
+         base bytestring doctest hspec QuickCheck quickcheck-instances
+       ];
+       description = "Ethereum Recursive Length Prefix Encoding";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ety" = callPackage
     ({ mkDerivation, base, bytestring, curl, random, text-icu
      , utf8-string, xml
@@ -60599,6 +61675,78 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "eventsource-api" = callPackage
+    ({ mkDerivation, aeson, base, containers, mtl, protolude
+     , unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "eventsource-api";
+       version = "1.0.0";
+       sha256 = "3d72797d5d9b81f2f5f1e613d6681983d9fd541a6b5dd773d92b1982ced422e8";
+       libraryHaskellDepends = [
+         aeson base containers mtl protolude unordered-containers uuid
+       ];
+       homepage = "https://github.com/YoEight/eventsource-api#readme";
+       description = "Provides a eventsourcing high level API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "eventsource-geteventstore-store" = callPackage
+    ({ mkDerivation, aeson, base, eventsource-api
+     , eventsource-store-specs, eventstore, mtl, protolude, tasty
+     , tasty-hspec
+     }:
+     mkDerivation {
+       pname = "eventsource-geteventstore-store";
+       version = "1.0.0";
+       sha256 = "d14e33e0f73d2c6344d251253cd9f29551dd08ed627fa9b68845ac8e236dbafb";
+       libraryHaskellDepends = [
+         aeson base eventsource-api eventstore mtl protolude
+       ];
+       testHaskellDepends = [
+         base eventsource-api eventsource-store-specs eventstore protolude
+         tasty tasty-hspec
+       ];
+       homepage = "https://github.com/YoEight/eventsource-api#readme";
+       description = "GetEventStore store implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "eventsource-store-specs" = callPackage
+    ({ mkDerivation, aeson, base, eventsource-api, mtl, protolude
+     , tasty, tasty-hspec, uuid
+     }:
+     mkDerivation {
+       pname = "eventsource-store-specs";
+       version = "1.0.0";
+       sha256 = "11aa3453084571533ae6c7367b2f4e41de7af78f99b4d79e6b9b935dd3399047";
+       libraryHaskellDepends = [
+         aeson base eventsource-api mtl protolude tasty tasty-hspec uuid
+       ];
+       homepage = "https://github.com/YoEight/eventsource-api#readme";
+       description = "Provides common test specification for Store implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "eventsource-stub-store" = callPackage
+    ({ mkDerivation, base, containers, eventsource-api
+     , eventsource-store-specs, mtl, protolude, stm, tasty, tasty-hspec
+     }:
+     mkDerivation {
+       pname = "eventsource-stub-store";
+       version = "1.0.0";
+       sha256 = "6c50fd40a886098fb95f129d4769b68ffe3ffdb9135234d4db921ff6f5d17fef";
+       libraryHaskellDepends = [
+         base containers eventsource-api mtl protolude stm
+       ];
+       testHaskellDepends = [
+         base eventsource-store-specs protolude tasty tasty-hspec
+       ];
+       homepage = "https://github.com/YoEight/eventsource-api#readme";
+       description = "An in-memory stub store implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "eventsourced" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, HUnit, wai
      , wai-extra, warp
@@ -60929,6 +62077,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "executable-hash_0_2_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cryptohash, directory
+     , executable-path, file-embed, filepath, template-haskell
+     }:
+     mkDerivation {
+       pname = "executable-hash";
+       version = "0.2.0.4";
+       sha256 = "34eaf5662d90d3b7841f66b322ac5bc54900b0e3cb06792852b08b3c05a42ba4";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [
+         base bytestring Cabal cryptohash directory file-embed filepath
+         template-haskell
+       ];
+       libraryHaskellDepends = [
+         base bytestring cryptohash directory executable-path file-embed
+         template-haskell
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       homepage = "http://github.com/fpco/executable-hash";
+       description = "Provides the SHA1 hash of the program executable";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "executable-path" = callPackage
     ({ mkDerivation, base, directory, filepath, unix }:
      mkDerivation {
@@ -61960,21 +63134,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fast-nats" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fast-nats";
+       version = "0.1.0.1";
+       sha256 = "8197f83252621182c32350c20f995fb3ad3549499e2fbf2687235ff80024e3ce";
+       libraryHaskellDepends = [ base ];
+       description = "Natural Numbers with no overhead";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "fast-tags" = callPackage
-    ({ mkDerivation, array, async, base, bytestring, containers, cpphs
-     , deepseq, directory, filepath, mtl, tasty, tasty-hunit, text
-     , utf8-string
+    ({ mkDerivation, alex, array, async, base, bytestring, containers
+     , cpphs, deepseq, directory, filepath, mtl, tasty, tasty-hunit
+     , text, utf8-string
      }:
      mkDerivation {
        pname = "fast-tags";
-       version = "1.2";
-       sha256 = "59033dc40770e9f96207b2ba6b458c68a3138f0102787e4858b71a4299d90eef";
+       version = "1.2.1";
+       sha256 = "6802c0275d28695c475d2cb41c4e2644b04d6f43befff0b6ac950081eb4cc0d3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array async base bytestring containers cpphs deepseq directory
          filepath mtl text utf8-string
        ];
+       libraryToolDepends = [ alex ];
        executableHaskellDepends = [
          async base bytestring containers directory filepath text
        ];
@@ -62100,6 +63286,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "fastpbkdf2" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, openssl
+     , tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "fastpbkdf2";
+       version = "0.1.0.0";
+       sha256 = "843103419b79f8fc21062e6842dace2a6e0c214f20c496a4268e1377c512f2f9";
+       libraryHaskellDepends = [ base bytestring ];
+       librarySystemDepends = [ openssl ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring tasty tasty-hunit
+       ];
+       homepage = "https://github.com/adinapoli/fastpbkdf2-hs#readme";
+       description = "Haskell bindings to the fastpbkdf2 C library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {inherit (pkgs) openssl;};
+
   "fathead-util" = callPackage
     ({ mkDerivation, base, bytestring, cassava, hxt, network-uri, text
      }:
@@ -62173,6 +63377,8 @@ self: {
        pname = "fay";
        version = "0.23.1.16";
        sha256 = "c46ef8cb7980bcf62ef7ccc9897e9c4246e6bec8cafc06d49ebe1d5bcd618a64";
+       revision = "3";
+       editedCabalFile = "636e2fbbe689dde982c327a7fc33871804ec66e47105d6cbffd6ce09716c241f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -62590,6 +63796,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "feed_0_3_12_0" = callPackage
+    ({ mkDerivation, base, HUnit, old-locale, old-time, test-framework
+     , test-framework-hunit, time, time-locale-compat, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "feed";
+       version = "0.3.12.0";
+       sha256 = "cc2d6a3b91027d75b91a0a4c0f83f2df68bee3ce0d7338ea5ae0bcab6dd47942";
+       libraryHaskellDepends = [
+         base old-locale old-time time time-locale-compat utf8-string xml
+       ];
+       testHaskellDepends = [
+         base HUnit old-locale old-time test-framework test-framework-hunit
+         time time-locale-compat utf8-string xml
+       ];
+       homepage = "https://github.com/bergmark/feed";
+       description = "Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "feed-cli" = callPackage
     ({ mkDerivation, base, directory, feed, old-locale, old-time, time
      , xml
@@ -63487,6 +64714,8 @@ self: {
        pname = "find-clumpiness";
        version = "0.2.0.1";
        sha256 = "87db2a011a2662481f59ac03f64e95ef6692519386aee51417c3894c2174da22";
+       revision = "1";
+       editedCabalFile = "8a86eb5b9161789d9cd65fb4d555442e1b1eb89e46ce7f4db928f700f6ee05ef";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -63610,12 +64839,14 @@ self: {
      }) {};
 
   "finite-typelits" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "finite-typelits";
-       version = "0.1.0.0";
-       sha256 = "1729a66604cf852f1370f3575ac7cd74777df17106929c2afa57cf6c8fc78c58";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.1.0";
+       sha256 = "40cbe752fa659fdebd5afeb7a15177746b08227cf6add085481b94f53f8c858b";
+       revision = "1";
+       editedCabalFile = "4c5ae66b960dcede29688c32b9fb0d839a4bfb53bcde8e13f6a62b7f4fd55b4f";
+       libraryHaskellDepends = [ base deepseq ];
        homepage = "https://github.com/mniip/finite-typelits";
        description = "A type inhabited by finitely many values, indexed by type-level naturals";
        license = stdenv.lib.licenses.bsd3;
@@ -63966,6 +65197,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Fixed width subsets of an Int64/Word64";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fixedprec" = callPackage
@@ -63997,20 +65229,20 @@ self: {
      }) {};
 
   "fixfile" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
+    ({ mkDerivation, array, base, bytestring, cereal, containers
      , directory, exceptions, filepath, hashable, hashtables, lens, mtl
      , QuickCheck, tasty, tasty-quickcheck, temporary, vector
      }:
      mkDerivation {
        pname = "fixfile";
-       version = "0.6.0.0";
-       sha256 = "37183ade31510ba1c3801adf5df112f7ef6291b478934d0c51839510e536888c";
+       version = "0.7.0.0";
+       sha256 = "b49027c747a7112256aec9b9ac33f4617c3ec0cfdd5943d7c81c6c9885f10b70";
        libraryHaskellDepends = [
-         array base binary bytestring containers directory filepath hashable
+         array base bytestring cereal containers directory filepath hashable
          hashtables lens mtl temporary vector
        ];
        testHaskellDepends = [
-         base binary bytestring directory exceptions lens mtl QuickCheck
+         base bytestring cereal directory exceptions lens mtl QuickCheck
          tasty tasty-quickcheck temporary
        ];
        homepage = "https://github.com/revnull/fixfile";
@@ -64044,6 +65276,27 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {};
 
+  "fixie" = callPackage
+    ({ mkDerivation, base, containers, data-default-class, either
+     , haskell-src-exts, haskell-src-meta, hspec, hspec-discover, mtl
+     , template-haskell, text, th-orphans, transformers
+     }:
+     mkDerivation {
+       pname = "fixie";
+       version = "1.0.0";
+       sha256 = "b016c231a391816d4dca407f06e64b87d1c29b55fddcae9e0fc28df942bc4f6d";
+       libraryHaskellDepends = [
+         base containers data-default-class either haskell-src-exts
+         haskell-src-meta mtl template-haskell text th-orphans
+       ];
+       testHaskellDepends = [
+         base hspec hspec-discover mtl template-haskell transformers
+       ];
+       homepage = "http://github.com/jxv/fixie#readme";
+       description = "Opininated testing framework for mtl style (spies, stubs, and mocks)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fixplate" = callPackage
     ({ mkDerivation, base, containers, QuickCheck, tasty
      , tasty-quickcheck
@@ -64108,6 +65361,49 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "flac" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , directory, exceptions, filepath, FLAC, hspec, mtl, temporary
+     , text, transformers, vector, wave
+     }:
+     mkDerivation {
+       pname = "flac";
+       version = "0.1.1";
+       sha256 = "58b7287cb39bdfc39cf7aab95b87d81111234fed502a8d1743ecfbcef001873e";
+       revision = "1";
+       editedCabalFile = "482d7352bb284c86021b513c37837746fe8a293146c3cf0d91b91dbc4a34ae34";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class directory exceptions
+         filepath mtl text transformers vector wave
+       ];
+       librarySystemDepends = [ FLAC ];
+       testHaskellDepends = [
+         base bytestring data-default-class directory filepath hspec
+         temporary transformers vector wave
+       ];
+       homepage = "https://github.com/mrkkrp/flac";
+       description = "Complete high-level binding to libFLAC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {FLAC = null;};
+
+  "flac-picture" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, directory
+     , flac, hspec, JuicyPixels, temporary
+     }:
+     mkDerivation {
+       pname = "flac-picture";
+       version = "0.1.0";
+       sha256 = "3c36dff9cebb44502a69e300f233e792900d051bd7eadc2c7390feb53efb3293";
+       libraryHaskellDepends = [ base bytestring flac JuicyPixels ];
+       testHaskellDepends = [
+         base bytestring data-default-class directory flac hspec JuicyPixels
+         temporary
+       ];
+       homepage = "https://github.com/mrkkrp/flac-picture";
+       description = "Support for writing picture to FLAC metadata blocks with JuicyPixels";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "flaccuraterip" = callPackage
     ({ mkDerivation, base, binary, deepseq, HTTP, optparse-applicative
      , process
@@ -64186,15 +65482,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "flat-mcmc_1_4_2" = callPackage
+  "flat-mcmc_1_5_0" = callPackage
     ({ mkDerivation, base, formatting, mcmc-types, monad-par
      , monad-par-extras, mwc-probability, pipes, primitive, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "flat-mcmc";
-       version = "1.4.2";
-       sha256 = "0da3a4fc0d29b994c7aa8a9e5d3f902f15e5a61bde143300438ecaa2318631fa";
+       version = "1.5.0";
+       sha256 = "87cea9deac6e2d32d9984741ba222ccb2fb0d5f8c58e843684476bfe7632f1fd";
        libraryHaskellDepends = [
          base formatting mcmc-types monad-par monad-par-extras
          mwc-probability pipes primitive text transformers vector
@@ -64610,8 +65906,8 @@ self: {
      }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.5.0.0";
-       sha256 = "95590b3e27edd3b79a33dd872a5c7a3d6f4a436db63eea7fe282066e1319f506";
+       version = "0.5.0.1";
+       sha256 = "440e605c927bbd10b5b6bb17d2b608797747f6780eb7014eb29998519fd3b495";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring text ];
@@ -64889,6 +66185,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "foldl_1_2_3" = callPackage
+    ({ mkDerivation, base, bytestring, comonad, containers
+     , contravariant, mwc-random, primitive, profunctors, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "foldl";
+       version = "1.2.3";
+       sha256 = "fb081168f7736a04dc68db348d2e0bc58d535da5ed74c4394a022dbaa46d3f25";
+       libraryHaskellDepends = [
+         base bytestring comonad containers contravariant mwc-random
+         primitive profunctors text transformers vector
+       ];
+       description = "Composable, streaming, and efficient left folds";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foldl-incremental" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, foldl
      , histogram-fill, mwc-random, pipes, QuickCheck, tasty
@@ -64918,14 +66232,14 @@ self: {
      }:
      mkDerivation {
        pname = "foldl-statistics";
-       version = "0.1.4.0";
-       sha256 = "0d800d6202b6411207154f1c7d1be8f77fef7e332ccaf3c486db972c935cf414";
+       version = "0.1.4.2";
+       sha256 = "1cfa6d6d36ff40529319a6f790bf130b6b4d650f1b8db5ee739cf4b44d5c8be0";
        libraryHaskellDepends = [
          base foldl math-functions profunctors semigroups
        ];
        testHaskellDepends = [
-         base foldl profunctors quickcheck-instances statistics tasty
-         tasty-quickcheck vector
+         base foldl profunctors quickcheck-instances semigroups statistics
+         tasty tasty-quickcheck vector
        ];
        homepage = "http://github.com/Data61/foldl-statistics#readme";
        description = "Statistical functions from the statistics package implemented as Folds";
@@ -65222,6 +66536,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "forest" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, deepseq, hashable
+     , profunctors, semigroupoids
+     }:
+     mkDerivation {
+       pname = "forest";
+       version = "0.1";
+       sha256 = "4de243b4eddddc534881617c6335e0658496ad67c2ebc65ba148b2965fe64460";
+       libraryHaskellDepends = [
+         aeson base bifunctors deepseq hashable profunctors semigroupoids
+       ];
+       homepage = "https://github.com/duairc/forest";
+       description = "Tree and Forest types";
+       license = stdenv.lib.licenses.mpl20;
+     }) {};
+
   "forger" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -65541,8 +66871,8 @@ self: {
      }:
      mkDerivation {
        pname = "foundation";
-       version = "0.0.2";
-       sha256 = "d879240154104273197249b4fbd2bd6d6ad9739166a8a75e9484bf87b6d9388f";
+       version = "0.0.3";
+       sha256 = "72d7f2af963d42cb7e1164b854978ad3f351175449ba2d27c6b639ffca0b75fa";
        libraryHaskellDepends = [ base ghc-prim ];
        testHaskellDepends = [
          base mtl QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -66251,16 +67581,19 @@ self: {
      }) {};
 
   "friday" = callPackage
-    ({ mkDerivation, base, convertible, deepseq, primitive, QuickCheck
-     , ratio-int, test-framework, test-framework-quickcheck2
+    ({ mkDerivation, base, containers, convertible, deepseq, primitive
+     , QuickCheck, ratio-int, test-framework, test-framework-quickcheck2
      , transformers, vector
      }:
      mkDerivation {
        pname = "friday";
-       version = "0.2.2.0";
-       sha256 = "d9a59b716eec813d6108d535b2a180d51f152cb04103670535a7ade7e1ab8833";
+       version = "0.2.3.1";
+       sha256 = "0827492c1a6116baa5c4866539a4cfa0f6d81bf31f6573616bf5ac4484199613";
+       revision = "1";
+       editedCabalFile = "a8b4d38b593d866bebbdf141273ce70d2af8ca3351af86ea334dd5bce9252e58";
        libraryHaskellDepends = [
-         base convertible deepseq primitive ratio-int transformers vector
+         base containers convertible deepseq primitive ratio-int
+         transformers vector
        ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2 vector
@@ -67237,6 +68570,7 @@ self: {
        homepage = "https://github.com/ziocroc/FWGL";
        description = "FWGL GHCJS backend";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "g-npm" = callPackage
@@ -67628,6 +68962,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gegl" = callPackage
+    ({ mkDerivation, babl, base, containers, gegl, glib, inline-c
+     , monad-loops, random, split, template-haskell
+     }:
+     mkDerivation {
+       pname = "gegl";
+       version = "0.0.0.2";
+       sha256 = "475adb9ff07a1e8cc314e441c76e76e46919e842c77ec092b9ed8d7847549e95";
+       libraryHaskellDepends = [
+         babl base containers glib inline-c monad-loops random split
+         template-haskell
+       ];
+       librarySystemDepends = [ gegl ];
+       libraryPkgconfigDepends = [ gegl ];
+       homepage = "https://github.com/nek0/gegl#readme";
+       description = "Haskell bindings to GEGL library";
+       license = stdenv.lib.licenses.lgpl3;
+     }) {inherit (pkgs) gegl;};
+
   "gelatin" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, directory
      , file-embed, FontyFruity, gl, GLFW-b, JuicyPixels, lens, linear
@@ -67788,8 +69141,8 @@ self: {
        pname = "generic-aeson";
        version = "0.2.0.8";
        sha256 = "de29fa648b9eb6c9e678b0715a530efaf70aac8f1ad8becc22d7ef1411ded5cb";
-       revision = "2";
-       editedCabalFile = "1796cd85bd71d6f83a9dfd2f56cbb90c0059591e4e3bbf6e38864435f726c971";
+       revision = "3";
+       editedCabalFile = "ed9572e401789a0bff470b31f6cb127e77a43a831ba07b5eb5705a3b770d2263";
        libraryHaskellDepends = [
          aeson attoparsec base generic-deriving mtl tagged text
          unordered-containers vector
@@ -69089,11 +70442,14 @@ self: {
      }) {};
 
   "ghc-paths" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, Cabal, directory }:
      mkDerivation {
        pname = "ghc-paths";
        version = "0.1.0.9";
        sha256 = "afa68fb86123004c37c1dc354286af2d87a9dcfb12ddcb80e8bd0cd55bc87945";
+       revision = "1";
+       editedCabalFile = "b47858cf533ae8d72bd422106bcb9e075ae477ab2e537f59ffe437277840bcef";
+       setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base ];
        description = "Knowledge of GHC's installation directories";
        license = stdenv.lib.licenses.bsd3;
@@ -69151,8 +70507,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-prof";
-       version = "1.0.1";
-       sha256 = "3949eb1542f92ed99b38d4f2eb3efb6161fe3250a778b71e638af52463c23de4";
+       version = "1.3.0.1";
+       sha256 = "8bb866a2389005d91f15a1546ef92e1055b854c9a14dda97d0d92fb0fa598b82";
        libraryHaskellDepends = [
          attoparsec base containers scientific text time
        ];
@@ -69558,8 +70914,8 @@ self: {
     ({ mkDerivation, base, ghcjs-dom-jsaddle, text, transformers }:
      mkDerivation {
        pname = "ghcjs-dom";
-       version = "0.7.0.3";
-       sha256 = "e2c65cfafc438029ef8e9ad504ca01e9c92168d9e6f863411a3e8c6ea62cde33";
+       version = "0.7.0.4";
+       sha256 = "1c9e57e7de17179c2aca7c6a0417304fa2229b498431f1137dc0a606d8315bac";
        libraryHaskellDepends = [
          base ghcjs-dom-jsaddle text transformers
        ];
@@ -69601,8 +70957,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "ghcjs-dom-jsffi";
-       version = "0.7.0.3";
-       sha256 = "77ecc2d8ee887d4a35cf6161106e278613fe7552569af3a49f136c64dddde0be";
+       version = "0.7.0.4";
+       sha256 = "2a44162bf30cb0ebee18b76db5831804add52d3a4bba4c183d0229b975c15619";
        isLibrary = false;
        isExecutable = false;
        description = "DOM library using JSFFI and GHCJS";
@@ -69639,6 +70995,7 @@ self: {
        homepage = "https://github.com/agocorona/ghcjs-hplay";
        description = "Client-side web EDSL for transient nodes running in the web browser";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghcjs-perch" = callPackage
@@ -69662,8 +71019,26 @@ self: {
        homepage = "https://github.com/vwwv/ghcjs-promise";
        description = "Bidirectional bidings to javascript's promise";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ghcjs-vdom" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, ghcjs-base
+     , ghcjs-ffiqq, ghcjs-prim, split, template-haskell
+     }:
+     mkDerivation {
+       pname = "ghcjs-vdom";
+       version = "0.2.0.0";
+       sha256 = "4a53dba09fc79b495f172584d0fa4e60d14453466098d9e221c8f3d0dc5d68c5";
+       libraryHaskellDepends = [
+         base containers ghc-prim ghcjs-base ghcjs-ffiqq ghcjs-prim split
+         template-haskell
+       ];
+       description = "Virtual-dom bindings for GHCJS";
+       license = stdenv.lib.licenses.mit;
+       broken = true;
+     }) {ghcjs-ffiqq = null; ghcjs-prim = null;};
+
   "ghcjs-websockets" = callPackage
     ({ mkDerivation, base, base64-bytestring, binary, bytestring
      , ghcjs-base, text
@@ -69682,6 +71057,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ghcjs-xhr" = callPackage
+    ({ mkDerivation, base, ghcjs-base, text }:
+     mkDerivation {
+       pname = "ghcjs-xhr";
+       version = "0.1.0.0";
+       sha256 = "14e8a6342d2ef912e14cd5a4bdc9f8712a6a92e43b2acc87d8e030085a51d91e";
+       libraryHaskellDepends = [ base ghcjs-base text ];
+       homepage = "https://github.com/tdammers/ghcjs-xhr";
+       description = "XmlHttpRequest (\"AJAX\") bindings for GHCJS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ghclive" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , containers, diagrams-lib, diagrams-svg, directory, file-embed
@@ -69767,18 +71154,18 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) atk;};
 
-  "gi-atk_2_0_9" = callPackage
+  "gi-atk_2_0_11" = callPackage
     ({ mkDerivation, atk, base, bytestring, Cabal, containers, gi-glib
      , gi-gobject, haskell-gi, haskell-gi-base, text, transformers
      }:
      mkDerivation {
        pname = "gi-atk";
-       version = "2.0.9";
-       sha256 = "246b50192e25a6f125cb51b2c57a38cb76702fe02c7b87b89e548851479598bf";
+       version = "2.0.11";
+       sha256 = "32594ce32ab70fcf7b7e4d2fd212a4714c72d28776be7649f88a989b40632d9b";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi-base text
-         transformers
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ atk ];
        doHaddock = false;
@@ -69813,18 +71200,19 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) cairo; inherit (pkgs) gobjectIntrospection;};
 
-  "gi-cairo_1_0_9" = callPackage
+  "gi-cairo_1_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cairo, containers
      , gobjectIntrospection, haskell-gi, haskell-gi-base, text
      , transformers
      }:
      mkDerivation {
        pname = "gi-cairo";
-       version = "1.0.9";
-       sha256 = "acdc06c2543aae4462dee525b7fb806fd974e58d3d1b3482167f5bde2eb14a99";
+       version = "1.0.11";
+       sha256 = "a70bbb9b120d10c95e1bc603511d542b38cecf1025bed870e6dbe2bd2d7e552f";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers haskell-gi-base text transformers
+         base bytestring containers haskell-gi haskell-gi-base text
+         transformers
        ];
        libraryPkgconfigDepends = [ cairo gobjectIntrospection ];
        doHaddock = false;
@@ -69861,19 +71249,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {gtk3 = pkgs.gnome3.gtk;};
 
-  "gi-gdk_3_0_9" = callPackage
+  "gi-gdk_3_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo
      , gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject, gi-pango, gtk3
      , haskell-gi, haskell-gi-base, text, transformers
      }:
      mkDerivation {
        pname = "gi-gdk";
-       version = "3.0.9";
-       sha256 = "6a908ed5be0a79c0d25a82ddcad4c910e2e65f756696141aaac970ac853fee22";
+       version = "3.0.11";
+       sha256 = "b1947f5abad3e500ac748ccea44275050c8a7261d0f81e49aee21a4266cf34b1";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-cairo gi-gdkpixbuf gi-gio gi-glib
-         gi-gobject gi-pango haskell-gi-base text transformers
+         gi-gobject gi-pango haskell-gi haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ gtk3 ];
        doHaddock = false;
@@ -69909,18 +71297,18 @@ self: {
      }) {inherit (pkgs) gdk_pixbuf; 
          inherit (pkgs) gobjectIntrospection;};
 
-  "gi-gdkpixbuf_2_0_9" = callPackage
+  "gi-gdkpixbuf_2_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gdk_pixbuf
      , gi-gio, gi-glib, gi-gobject, gobjectIntrospection, haskell-gi
      , haskell-gi-base, text, transformers
      }:
      mkDerivation {
        pname = "gi-gdkpixbuf";
-       version = "2.0.9";
-       sha256 = "880089ae75884e8e89b2ebba3d524c9f07864b37f3dc8475fea14ed18a01efb0";
+       version = "2.0.11";
+       sha256 = "068c4e9df68a03180dc0f174414af010877ffc781d35d2776e01a63bd1a80149";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-glib gi-gobject
+         base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
          haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ gdk_pixbuf gobjectIntrospection ];
@@ -69957,19 +71345,19 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib; inherit (pkgs) gobjectIntrospection;};
 
-  "gi-gio_2_0_9" = callPackage
+  "gi-gio_2_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
      , gi-gobject, glib, gobjectIntrospection, haskell-gi
      , haskell-gi-base, text, transformers
      }:
      mkDerivation {
        pname = "gi-gio";
-       version = "2.0.9";
-       sha256 = "fb08fb617f7d845d8e6f50802ad6f30e6063ee71c05dc10da29f581227f16bb8";
+       version = "2.0.11";
+       sha256 = "d63f1c32a935cb818f8f2c1d70dbf4f71cc65a23e200744a93dee66ade50f039";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi-base text
-         transformers
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ glib gobjectIntrospection ];
        doHaddock = false;
@@ -69987,18 +71375,19 @@ self: {
      }:
      mkDerivation {
        pname = "gi-girepository";
-       version = "1.0.9";
-       sha256 = "773fc9bb6d55006f12f68fdb4a68edc25fdc74448549a819ecb4f88a2f0b0efb";
+       version = "1.0.11";
+       sha256 = "3779ee7c9e97a96b05f43607adbde81addf0451b0a1f21e94a9a4353cec1fde2";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-gobject haskell-gi-base text
-         transformers
+         base bytestring containers gi-gobject haskell-gi haskell-gi-base
+         text transformers
        ];
        libraryPkgconfigDepends = [ gobjectIntrospection ];
        doHaddock = false;
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "GIRepository (gobject-introspection) bindings";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) gobjectIntrospection;};
 
   "gi-glib" = callPackage
@@ -70022,18 +71411,19 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib; inherit (pkgs) gobjectIntrospection;};
 
-  "gi-glib_2_0_9" = callPackage
+  "gi-glib_2_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, glib
      , gobjectIntrospection, haskell-gi, haskell-gi-base, text
      , transformers
      }:
      mkDerivation {
        pname = "gi-glib";
-       version = "2.0.9";
-       sha256 = "1b295151c9d5f83c13c01204f67c10d071173377a67d6c1d4e8093a253c86555";
+       version = "2.0.11";
+       sha256 = "f707cc142c6c7a202b86a5804af38c53fd74c99ee2092946e3f39451220d94e9";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers haskell-gi-base text transformers
+         base bytestring containers haskell-gi haskell-gi-base text
+         transformers
        ];
        libraryPkgconfigDepends = [ glib gobjectIntrospection ];
        doHaddock = false;
@@ -70065,18 +71455,18 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib; inherit (pkgs) gobjectIntrospection;};
 
-  "gi-gobject_2_0_9" = callPackage
+  "gi-gobject_2_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib
      , gobjectIntrospection, haskell-gi, haskell-gi-base, text
      , transformers
      }:
      mkDerivation {
        pname = "gi-gobject";
-       version = "2.0.9";
-       sha256 = "8525c707a7f6569ac57da4c16fc5c2ea174f4282c8436ba789d36d22cdbe7f1a";
+       version = "2.0.11";
+       sha256 = "fcfe35af13e118db109b9b0d969b89bb5c2a0162a1c3d1fc9413cafcd173058c";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-glib haskell-gi-base text
+         base bytestring containers gi-glib haskell-gi haskell-gi-base text
          transformers
        ];
        libraryPkgconfigDepends = [ glib gobjectIntrospection ];
@@ -70095,12 +71485,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gst";
-       version = "1.0.9";
-       sha256 = "4ed3756052c41b4198d7c3cfd5d179f2d0f49d2a43d20f2be320d85c0a61b22e";
+       version = "1.0.11";
+       sha256 = "36e63c2330cb274ac6ac8b1a5d4b06a590e10d91ed4209555a72a85dc0c2591a";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi-base text
-         transformers
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ gstreamer ];
        doHaddock = false;
@@ -70117,12 +71507,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstaudio";
-       version = "1.0.9";
-       sha256 = "c6021390e020c2d5c21b003bffb6340059feca7ea416fcad60d5c6bb0c0841c8";
+       version = "1.0.11";
+       sha256 = "faca30e17c95fc5fc00e72bbaef20bbb9edf2a4785f6bad6f6b4a742006d2f5d";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
-         haskell-gi-base text transformers
+         haskell-gi haskell-gi-base text transformers
        ];
        librarySystemDepends = [ gobjectIntrospection ];
        libraryPkgconfigDepends = [ gst_plugins_base ];
@@ -70141,11 +71531,11 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstbase";
-       version = "1.0.9";
-       sha256 = "5e86bc44fcc16d4009a5cd881169d29abffbd08e8ff0a07098b9e54729137e5d";
+       version = "1.0.11";
+       sha256 = "ca1cf846609ee3a340161747df48885432304b4a4339d3328d3f8b5e683ff577";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject gi-gst
+         base bytestring containers gi-glib gi-gobject gi-gst haskell-gi
          haskell-gi-base text transformers
        ];
        librarySystemDepends = [ gobjectIntrospection ];
@@ -70165,12 +71555,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstvideo";
-       version = "1.0.9";
-       sha256 = "1d36e8f907c6ece57c1db76b9a3ebf866b2ce57f9312c0153ab2e1259356c6ab";
+       version = "1.0.11";
+       sha256 = "9f2b49fc2ee31fb4ee4f2bf82f509a8b9d4dc963eff0da62efa6b60e760f42e7";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
-         haskell-gi-base text transformers
+         haskell-gi haskell-gi-base text transformers
        ];
        librarySystemDepends = [ gobjectIntrospection ];
        libraryPkgconfigDepends = [ gst_plugins_base ];
@@ -70205,19 +71595,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {gtk3 = pkgs.gnome3.gtk;};
 
-  "gi-gtk_3_0_9" = callPackage
+  "gi-gtk_3_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
      , gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject
      , gi-pango, gtk3, haskell-gi, haskell-gi-base, text, transformers
      }:
      mkDerivation {
        pname = "gi-gtk";
-       version = "3.0.9";
-       sha256 = "5b7b6d064b97066c058288a366e37dffa0b330a4a1d15f3018ed46d2b3a877f3";
+       version = "3.0.11";
+       sha256 = "a4bce9a9ea706a880bb9e8f6a2f8eb872b66acf550f8f42dd13a552b4d725f3f";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
-         gi-gio gi-glib gi-gobject gi-pango haskell-gi-base text
+         gi-gio gi-glib gi-gobject gi-pango haskell-gi haskell-gi-base text
          transformers
        ];
        libraryPkgconfigDepends = [ gtk3 ];
@@ -70236,8 +71626,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtk-hs";
-       version = "0.3.2.0";
-       sha256 = "1e028105e79012de9bc54d576bc888994f950512c4ef1b72ad0776bcdeb4a1e6";
+       version = "0.3.4.0";
+       sha256 = "2e7ce60dded6d70a4598001469894d1f415bc28d600e5a6ac9f4558c624200e4";
        libraryHaskellDepends = [
          base base-compat containers gi-gdk gi-gdkpixbuf gi-glib gi-gobject
          gi-gtk haskell-gi-base mtl text transformers
@@ -70255,12 +71645,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtkosxapplication";
-       version = "2.0.9";
-       sha256 = "d4661ae492916d4fc16f34b234e6c22917f3fc8bf37aef0ae6f2dd17123b7834";
+       version = "2.0.11";
+       sha256 = "4d64ad35431052f221a37998b8ca7fa8850a9a98d2741133f64f978b2e3bcad7";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gdkpixbuf gi-gobject gi-gtk
-         haskell-gi-base text transformers
+         haskell-gi haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ gtk-mac-integration-gtk3 ];
        doHaddock = false;
@@ -70278,13 +71668,13 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtksource";
-       version = "3.0.9";
-       sha256 = "3ba4e8d8b446c4c37248748535951e31803140a69cf53a69bdb0e68e254b5090";
+       version = "3.0.11";
+       sha256 = "fb130bc4894aa689ecccb01be94ef246585ddba296fef5145a688e9c14027646";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
-         gi-gio gi-glib gi-gobject gi-gtk gi-pango haskell-gi-base text
-         transformers
+         gi-gio gi-glib gi-gobject gi-gtk gi-pango haskell-gi
+         haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ gtksourceview ];
        doHaddock = false;
@@ -70315,17 +71705,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {javascriptcoregtk = null; inherit (pkgs) webkitgtk;};
 
-  "gi-javascriptcore_4_0_9" = callPackage
+  "gi-javascriptcore_4_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, haskell-gi
      , haskell-gi-base, javascriptcoregtk, text, transformers, webkitgtk
      }:
      mkDerivation {
        pname = "gi-javascriptcore";
-       version = "4.0.9";
-       sha256 = "9acd59b75799a572919c3a65541de73296b6f33f54572902c91eeb93ee7a5375";
+       version = "4.0.11";
+       sha256 = "d67899269ffeba7fa266644fb6d540c74d36fa9e15ca1890fc2c6bb1fa19e066";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers haskell-gi-base text transformers
+         base bytestring containers haskell-gi haskell-gi-base text
+         transformers
        ];
        libraryPkgconfigDepends = [ javascriptcoregtk webkitgtk ];
        doHaddock = false;
@@ -70343,12 +71734,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-notify";
-       version = "0.7.9";
-       sha256 = "7c87c5003d96303398ccca3c2e256d409c8853a7007158e052469ac650aa0221";
+       version = "0.7.11";
+       sha256 = "206eaf4d06e5837e21f665212517c27c201e48bb306ea0ea77e05ce9e8d059ce";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gdkpixbuf gi-glib gi-gobject
-         haskell-gi-base text transformers
+         haskell-gi haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ libnotify ];
        doHaddock = false;
@@ -70385,19 +71776,19 @@ self: {
      }) {inherit (pkgs) cairo; inherit (pkgs) gobjectIntrospection; 
          inherit (pkgs.gnome2) pango;};
 
-  "gi-pango_1_0_9" = callPackage
+  "gi-pango_1_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cairo, containers
      , gi-glib, gi-gobject, gobjectIntrospection, haskell-gi
      , haskell-gi-base, pango, text, transformers
      }:
      mkDerivation {
        pname = "gi-pango";
-       version = "1.0.9";
-       sha256 = "2410b013c336f70b0711aa52b2ff9145945b5fd4b246b09703adac86ca00df1b";
+       version = "1.0.11";
+       sha256 = "8e709c61b8e6a8d2973d7206b15e324327d79ec4b6c301b949837d33d1f7ec66";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi-base text
-         transformers
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ cairo gobjectIntrospection pango ];
        doHaddock = false;
@@ -70420,12 +71811,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-pangocairo";
-       version = "1.0.9";
-       sha256 = "7c9e3c78703852ab5e879f8b3ecbb3e6898389d10d1458e3b6341ada252464a4";
+       version = "1.0.11";
+       sha256 = "604c2759510e6987fb2ca63c4b20940147fd07fcf56f701c221bf836de0481ad";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-cairo gi-glib gi-gobject gi-pango
-         haskell-gi-base text transformers
+         haskell-gi haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ pango ];
        doHaddock = false;
@@ -70442,12 +71833,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-poppler";
-       version = "0.18.9";
-       sha256 = "6566f9698ff21dc0eac6b8fb79db191ad48044b424a8d7a2b931ca69a1d517a8";
+       version = "0.18.11";
+       sha256 = "76ec68a35a83c99d3c8fd3374b02b0fede275ced4c21d4c967d817411a8c581b";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-cairo gi-gio gi-glib gi-gobject
-         haskell-gi-base text transformers
+         haskell-gi haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ poppler ];
        doHaddock = false;
@@ -70477,18 +71868,18 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs.gnome2) libsoup;};
 
-  "gi-soup_2_4_9" = callPackage
+  "gi-soup_2_4_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
      , gi-glib, gi-gobject, haskell-gi, haskell-gi-base, libsoup, text
      , transformers
      }:
      mkDerivation {
        pname = "gi-soup";
-       version = "2.4.9";
-       sha256 = "e4e45ac1d877e1334ee6b57154422dad87e3e03c2f453f34c05e75aafb7a5daa";
+       version = "2.4.11";
+       sha256 = "5488104e98b7a295b44990d0063b162c951b8a1eec5df35a42bd4ba828dbd0ad";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-glib gi-gobject
+         base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
          haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ libsoup ];
@@ -70506,12 +71897,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-vte";
-       version = "2.91.10";
-       sha256 = "8da2e88e7b00ac3f7ab1523836415a53cb92f3c6da576d48fc9fd363f88b3bf0";
+       version = "2.91.12";
+       sha256 = "c286d581ad3f3e25dc4f7b5b8439d4e6a0e2d6312218e5cc528c490c07573670";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-gdk gi-gio gi-glib gi-gobject
-         gi-gtk gi-pango haskell-gi-base text transformers
+         gi-gtk gi-pango haskell-gi haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ vte ];
        doHaddock = false;
@@ -70544,7 +71935,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {webkit = null;};
 
-  "gi-webkit_3_0_9" = callPackage
+  "gi-webkit_3_0_11" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
      , gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject
      , gi-gtk, gi-javascriptcore, gi-soup, haskell-gi, haskell-gi-base
@@ -70552,13 +71943,13 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit";
-       version = "3.0.9";
-       sha256 = "5cd7b6d244b3aeb9eba3f437d40e3b3fbc2fcb253d84d1d5e1e105e7deefc976";
+       version = "3.0.11";
+       sha256 = "d707c10a9f758d5bee1fe59639fb6773a1fcdb596bc86b46c7ce19639556ff3f";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
          gi-gio gi-glib gi-gobject gi-gtk gi-javascriptcore gi-soup
-         haskell-gi-base text transformers
+         haskell-gi haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ webkit ];
        doHaddock = false;
@@ -70576,13 +71967,13 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit2";
-       version = "4.0.9";
-       sha256 = "982635e1c9f7f726100ed980eb12f7bee523d4b8aae14889c10024409f112be5";
+       version = "4.0.11";
+       sha256 = "bc43fb893695cd0395ffdd3381e857d5201e2a7209feb6f6024e0d832219070b";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gio gi-glib
-         gi-gobject gi-gtk gi-javascriptcore gi-soup haskell-gi-base text
-         transformers
+         gi-gobject gi-gtk gi-javascriptcore gi-soup haskell-gi
+         haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ webkit2gtk webkitgtk ];
        doHaddock = false;
@@ -70600,12 +71991,12 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit2webextension";
-       version = "4.0.9";
-       sha256 = "df4bac3557c8b29c1fd6b8e7da859a394eef2df5bed12dab5491a57b585835ac";
+       version = "4.0.11";
+       sha256 = "b16b5b2f54bceaa777c64bb5ed19244815892dafcd8b4ce949c6a858ccf19033";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gobject gi-gtk gi-javascriptcore
-         gi-soup haskell-gi-base text transformers
+         gi-soup haskell-gi haskell-gi-base text transformers
        ];
        libraryPkgconfigDepends = [ webkit2gtk-web-extension webkitgtk ];
        doHaddock = false;
@@ -70657,8 +72048,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.3.7.2";
-       sha256 = "53b18bf7146c4d46347eb74a64add43167220377d75fb572afe5bb1e0ac173dd";
+       version = "0.3.9.1";
+       sha256 = "28f26b37cd2daedd841516f0e538877f84932a9813096a34e8c820de44c0323c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -70745,6 +72136,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "gipeda_0_3_3_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cassava
+     , concurrent-output, containers, directory, extra, file-embed
+     , filepath, gitlib, gitlib-libgit2, scientific, shake, split
+     , tagged, text, transformers, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "gipeda";
+       version = "0.3.3.1";
+       sha256 = "be7aafd3390c5d498c39482ff862a302c3bf2d7cecdba4940141297728bbb143";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base bytestring cassava concurrent-output containers
+         directory extra file-embed filepath gitlib gitlib-libgit2
+         scientific shake split tagged text transformers
+         unordered-containers vector yaml
+       ];
+       homepage = "https://github.com/nomeata/gipeda";
+       description = "Git Performance Dashboard";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "giphy-api" = callPackage
     ({ mkDerivation, aeson, base, basic-prelude, bytestring, containers
      , directory, hspec, http-api-data, http-client, http-client-tls
@@ -70772,7 +72187,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "giphy-api_0_5_1_0" = callPackage
+  "giphy-api_0_5_2_0" = callPackage
     ({ mkDerivation, aeson, base, basic-prelude, bytestring, containers
      , directory, hspec, http-api-data, http-client, http-client-tls
      , lens, microlens, microlens-th, mtl, network-uri, servant
@@ -70780,8 +72195,8 @@ self: {
      }:
      mkDerivation {
        pname = "giphy-api";
-       version = "0.5.1.0";
-       sha256 = "b4b33df49353f67621fba1655cf5938c5ca6f1e563e349a3f9a43edc6a98fa99";
+       version = "0.5.2.0";
+       sha256 = "447111d3fa32a76ffc50b26fbec59d9e9a097d7e2facb04a7a272cb9abd97ce9";
        libraryHaskellDepends = [
          aeson base containers http-api-data http-client http-client-tls
          microlens microlens-th mtl network-uri servant servant-client text
@@ -70866,25 +72281,24 @@ self: {
      , clientsession, concurrent-output, conduit, conduit-extra
      , containers, crypto-api, cryptonite, curl, data-default, DAV, dbus
      , directory, disk-free-space, dlist, dns, edit-distance, esqueleto
-     , exceptions, fdo-notify, feed, filepath, free, git, gnupg, gnutls
+     , exceptions, fdo-notify, feed, filepath, free, git, gnupg
      , hinotify, hslogger, http-client, http-conduit, http-types, IfElse
      , 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, socks, stm, stm-chans, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-rerun, template-haskell, text, time
-     , torrent, transformers, 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
+     , mtl, network, network-info, network-multicast, 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, socks, stm, stm-chans, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-rerun, template-haskell
+     , text, time, torrent, transformers, unix, unix-compat
+     , unordered-containers, utf8-string, uuid, wai, wai-extra, warp
+     , warp-tls, wget, which, yesod, yesod-core, yesod-default
+     , yesod-form, yesod-static
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20161210";
-       sha256 = "b568cceda32908e7cd66b34181811d4da3d3197d71009eac20c1c4c4379f6381";
+       version = "6.20170101";
+       sha256 = "5fbf88652a84278275d9d4bec083189f590b045e23a73bfe8d395c3e356e3f53";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-fs3"
@@ -70902,17 +72316,17 @@ self: {
          case-insensitive clientsession concurrent-output conduit
          conduit-extra containers crypto-api cryptonite data-default DAV
          dbus directory disk-free-space dlist dns edit-distance esqueleto
-         exceptions fdo-notify feed filepath free gnutls hinotify hslogger
+         exceptions fdo-notify feed filepath free hinotify hslogger
          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 socks stm stm-chans tasty
-         tasty-hunit tasty-quickcheck tasty-rerun template-haskell text time
-         torrent 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
+         network-multicast network-uri old-locale optparse-applicative
+         path-pieces persistent persistent-sqlite persistent-template
+         process QuickCheck random regex-tdfa resourcet SafeSemaphore sandi
+         securemem shakespeare socks stm stm-chans tasty tasty-hunit
+         tasty-quickcheck tasty-rerun template-haskell text time torrent
+         transformers unix unix-compat unordered-containers utf8-string uuid
+         wai wai-extra warp warp-tls yesod yesod-core yesod-default
+         yesod-form yesod-static
        ];
        executableSystemDepends = [
          bup curl git gnupg lsof openssh perl rsync wget which
@@ -71069,6 +72483,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "git-mediate" = callPackage
+    ({ mkDerivation, ansi-terminal, base, base-compat, Diff, directory
+     , filepath, mtl, optparse-applicative, process, unix
+     }:
+     mkDerivation {
+       pname = "git-mediate";
+       version = "1.0.1";
+       sha256 = "12320be6a3a0c8f982346c3fdb15e2102339ca2ae454b413d2664124f08c3c57";
+       revision = "1";
+       editedCabalFile = "208ad1540eab41d7530395ef31095f6aa8a1c0e415f6e9f6236418f6d4ebb32d";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         ansi-terminal base base-compat Diff directory filepath mtl
+         optparse-applicative process unix
+       ];
+       homepage = "https://github.com/Peaker/git-mediate";
+       description = "Remove trivial conflict markers in a git repository";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "git-monitor" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , gitlib, gitlib-libgit2, lifted-async, logging, old-locale
@@ -71263,6 +72699,8 @@ self: {
        pname = "github";
        version = "0.15.0";
        sha256 = "f091c35c446619bace51bd4d3831563cccfbda896954ed98d2aed818feead609";
+       revision = "1";
+       editedCabalFile = "d56da89ceea0c330c54b4820d397e3cea2bba43978ca4dfa42bb153459d29f7d";
        libraryHaskellDepends = [
          aeson aeson-compat base base-compat base16-bytestring binary
          binary-orphans byteable bytestring containers cryptohash deepseq
@@ -71335,8 +72773,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "0.2.0";
-       sha256 = "847d33683b290360fdaa1a42dcbe5767920392e86abc357973d1e1afd2fac6c8";
+       version = "1.0.1";
+       sha256 = "a0e58b9e855cdf8617ba42436c974776800573951dcf680ec3072651fc10c5b5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -71707,8 +73145,8 @@ self: {
      }:
      mkDerivation {
        pname = "gitter";
-       version = "0.0.0.1";
-       sha256 = "cc755243b8be4a235aaf8ed3dc4aa6d1b5dcecf602c3457131ac96e6bd665a97";
+       version = "0.1";
+       sha256 = "640371046315d609811e3062edc202e386722165f84fbe1f15e22a5e2d66324a";
        libraryHaskellDepends = [
          aeson base bytestring exceptions lens lens-aeson mtl text wreq
        ];
@@ -71795,15 +73233,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "glabrous_0_2_0" = callPackage
+  "glabrous_0_2_3" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , cereal, cereal-text, directory, either, hspec, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "glabrous";
-       version = "0.2.0";
-       sha256 = "2c4b636c0f53ddd51f6bc8f0e208cca8cf1326ce107b7164ca80ea629fed8dbb";
+       version = "0.2.3";
+       sha256 = "f9e1c11f1702a1710cd172c972d618dcecc62197b7b37f66aa31a2aad45e4bad";
        libraryHaskellDepends = [
          aeson aeson-pretty attoparsec base bytestring cereal cereal-text
          either text unordered-containers
@@ -71902,6 +73340,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "gli" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , friendly-time, http-client, http-client-tls, http-conduit
+     , network-uri, optparse-applicative, process, text, time, yaml
+     }:
+     mkDerivation {
+       pname = "gli";
+       version = "0.0.1.1";
+       sha256 = "0f328a32ec9d700fc89d4e517917f5d47053ff822ad3eb29129100cc43f6943b";
+       revision = "1";
+       editedCabalFile = "209b399769c48d612e034f597367705b1cea6a3eccabaf35213af7429e1d273f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring containers friendly-time
+         http-client http-client-tls http-conduit network-uri
+         optparse-applicative process text time yaml
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/goromlagche/gli#readme";
+       description = "Tiny cli to fetch PR info from gitlab";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "glib" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, glib
      , gtk2hs-buildtools, text, utf8-string
@@ -71965,26 +73428,26 @@ self: {
      }) {};
 
   "glirc" = callPackage
-    ({ mkDerivation, async, attoparsec, base, bytestring, Cabal
-     , config-value, containers, data-default-class, directory, filepath
-     , gitrev, hashable, hookup, HsOpenSSL, HUnit, irc-core
-     , kan-extensions, lens, memory, network, process, regex-tdfa, socks
-     , split, stm, text, time, transformers, unix, unordered-containers
-     , vector, vty
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring
+     , bytestring, Cabal, config-value, containers, data-default-class
+     , directory, filepath, gitrev, hashable, hookup, HsOpenSSL, HUnit
+     , irc-core, kan-extensions, lens, network, process, regex-tdfa
+     , socks, split, stm, text, time, transformers, unix
+     , unordered-containers, vector, vty
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.20.1.1";
-       sha256 = "63f0f8d82ea8d2f90103faf9ccd9fa301275b9400bbf1c3db62f8c51cbfa40fe";
-       revision = "3";
-       editedCabalFile = "d9ff6df2f3d84db85981806342ea6a4022a155283f9d4569753ac7ecf5535005";
+       version = "2.20.2";
+       sha256 = "acefc316a6075dbeb2fa95bf1ee99a8e4c3097eaf5be9273d676719d07a94b00";
+       revision = "1";
+       editedCabalFile = "4eb4ef433d48ddf947ede4423212b39ea82b665e50b17d2a0cf6ac3154cc33dd";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
        libraryHaskellDepends = [
-         async attoparsec base bytestring config-value containers
-         data-default-class directory filepath gitrev hashable hookup
-         HsOpenSSL irc-core kan-extensions lens memory network process
+         async attoparsec base base64-bytestring bytestring config-value
+         containers data-default-class directory filepath gitrev hashable
+         hookup HsOpenSSL irc-core kan-extensions lens network process
          regex-tdfa socks split stm text time transformers unix
          unordered-containers vector vty
        ];
@@ -72155,6 +73618,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "gloss_1_10_2_5" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, ghc-prim
+     , gloss-rendering, GLUT, OpenGL
+     }:
+     mkDerivation {
+       pname = "gloss";
+       version = "1.10.2.5";
+       sha256 = "e5c7c345892829f72966b5ade73b98702fe3a0c325e27c7b92e24c1a5ddc42c5";
+       libraryHaskellDepends = [
+         base bmp bytestring containers ghc-prim gloss-rendering GLUT OpenGL
+       ];
+       homepage = "http://gloss.ouroborus.net";
+       description = "Painless 2D vector graphics, animations and simulations";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gloss-accelerate" = callPackage
     ({ mkDerivation, accelerate, base, gloss, gloss-rendering }:
      mkDerivation {
@@ -73633,6 +75113,8 @@ self: {
        pname = "gogol-core";
        version = "0.1.1";
        sha256 = "8f6c7dee658281c5d006c5ec4b475665544989c4d9141737e040857e15f3d483";
+       revision = "1";
+       editedCabalFile = "54bcd3f073a1f1d76726446c4efb96c8b573c3020ffbf6296313c9f6f76d1436";
        libraryHaskellDepends = [
          aeson attoparsec base bifunctors bytestring case-insensitive
          conduit dlist exceptions hashable http-api-data http-client
@@ -75499,6 +76981,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "google-oauth2-jwt_0_1_3" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, HsOpenSSL
+     , RSA, text, unix-time
+     }:
+     mkDerivation {
+       pname = "google-oauth2-jwt";
+       version = "0.1.3";
+       sha256 = "1597575b4d03fea87e7411dd905b2db59221a6050986bd4cffadf4473da1c00b";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring HsOpenSSL RSA text unix-time
+       ];
+       homepage = "https://github.com/MichelBoucey/google-oauth2-jwt";
+       description = "Get a signed JWT for Google Service Accounts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "google-search" = callPackage
     ({ mkDerivation, base, free, nats, text, time }:
      mkDerivation {
@@ -75567,6 +77066,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gopher-proxy" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, directory, errors
+     , http-types, lucid, mime-types, network, optparse-applicative
+     , text, wai, warp
+     }:
+     mkDerivation {
+       pname = "gopher-proxy";
+       version = "0.1.1.1";
+       sha256 = "8d85cc17d211d6c7600ff8b1da3bd0b5fbbe0bcd2ffd6629719a94674b4acf4d";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         attoparsec base bytestring directory errors http-types lucid
+         mime-types network optparse-applicative text wai warp
+       ];
+       homepage = "https://github.com/sternenseemann/gopher-proxy";
+       description = "proxy gopher over http";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "gopherbot" = callPackage
     ({ mkDerivation, base, HDBC, HDBC-postgresql, MissingH, network
      , parsec, unix
@@ -77769,6 +79288,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "h-reversi" = callPackage
+    ({ mkDerivation, base, blank-canvas, containers, hspec, QuickCheck
+     , split, stm, text
+     }:
+     mkDerivation {
+       pname = "h-reversi";
+       version = "0.1.0.3";
+       sha256 = "919633a7c253004c166b06a1b390581519f3164a2e9ca83ac4cbffe178392ee2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blank-canvas containers split stm text
+       ];
+       executableHaskellDepends = [
+         base blank-canvas containers split stm text
+       ];
+       testHaskellDepends = [
+         base containers hspec QuickCheck split text
+       ];
+       homepage = "https://github.com/apoorvingle/h-reversi";
+       description = "Reversi game in haskell/blank-canvas";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "h2048" = callPackage
     ({ mkDerivation, base, HUnit, MonadRandom, mtl, text, transformers
      , vty, vty-ui
@@ -78653,20 +80197,19 @@ self: {
      }) {};
 
   "hack2-interface-wai" = callPackage
-    ({ mkDerivation, air, base, bytestring, case-insensitive
-     , containers, data-default, hack2, http-types, mtl, network, safe
-     , wai
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , data-default, hack2, http-types, network, safe, wai
      }:
      mkDerivation {
        pname = "hack2-interface-wai";
-       version = "2012.5.25";
-       sha256 = "bcd41cc56d8c21b778083b3efdb34f6d34892b0ee3272c9842e17785c6dadea3";
+       version = "2017.1.4";
+       sha256 = "db7e508b87c8bb0a0b0eb4a00558ca5feadd4ddbf290da5cc5bb3511a37352ea";
        libraryHaskellDepends = [
-         air base bytestring case-insensitive containers data-default hack2
-         http-types mtl network safe wai
+         base bytestring case-insensitive containers data-default hack2
+         http-types network safe wai
        ];
        homepage = "https://github.com/nfjinjing/hack2-interface-wai";
-       description = "Hack2 interface of WAI";
+       description = "Hack2 interface to WAI";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -78834,6 +80377,8 @@ self: {
        pname = "hackage-security";
        version = "0.5.2.2";
        sha256 = "507a837851264a774c8f4d400f798c3dac5be11dc428fe72d33ef594ca533c41";
+       revision = "1";
+       editedCabalFile = "abb26d1da6e07e187a4494591154080415152787c2583c09acf522ab929b9642";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring Cabal
          containers cryptohash-sha256 directory ed25519 filepath ghc-prim
@@ -79199,6 +80744,8 @@ self: {
        pname = "haddock-api";
        version = "2.17.3";
        sha256 = "8d35a256c2ee07083c1e1a8b08e536069ffdad27598bed69d88847fb51234dc7";
+       revision = "1";
+       editedCabalFile = "5d33603e8e6befb2c2ed2dd8c5029b78e1377a387b165671105cadb9cb7df4f8";
        libraryHaskellDepends = [
          array base bytestring Cabal containers deepseq directory filepath
          ghc ghc-boot ghc-paths haddock-library transformers xhtml
@@ -79697,8 +81244,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll";
-       version = "4.9.2.0";
-       sha256 = "20f1e5be71290445626ccf716e6b312bf3f5ebf780ce9481d574a83681ef2e3f";
+       version = "4.9.3.0";
+       sha256 = "f15c6cd2118501fa6be44e3cb3d9f37a22fced0fd1ebd64236277e2daf622e7a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79725,7 +81272,6 @@ self: {
        homepage = "http://jaspervdj.be/hakyll";
        description = "A static website compiler library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) utillinux;};
 
   "hakyll-R" = callPackage
@@ -79933,8 +81479,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-sass";
-       version = "0.2.2";
-       sha256 = "14e3076b7921f37ecd0edf736be931536705461b66755387ec7813aa5e3e8302";
+       version = "0.2.3";
+       sha256 = "ebc3abf417733f776e0235573b9b36113c130d0b1e7748361ff0d649bad67422";
        libraryHaskellDepends = [
          aeson-pretty base data-default-class filepath hakyll hsass
        ];
@@ -79954,6 +81500,7 @@ self: {
        homepage = "https://github.com/oisdk/hakyll-series";
        description = "Adds series functionality to hakyll";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hakyll-shakespeare" = callPackage
@@ -80054,26 +81601,32 @@ self: {
      }) {};
 
   "halive" = callPackage
-    ({ mkDerivation, base, bin-package-db, containers, directory
-     , filepath, foreign-store, fsnotify, ghc, ghc-paths, process
-     , transformers
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , foreign-store, fsnotify, ghc, ghc-boot, ghc-paths, gl, linear
+     , mtl, process, random, sdl2, signal, stm, text, time, transformers
      }:
      mkDerivation {
        pname = "halive";
-       version = "0.1.0.7";
-       sha256 = "1c0e073e4769fedec470f7518fb1e20eff8d5b7a56fe8a03ec186aaf5ae71398";
+       version = "0.1.2";
+       sha256 = "465255836639653f42763d8b04a39840af35bde77b3cdfc53a419a44a96f902d";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base containers foreign-store ];
+       libraryHaskellDepends = [
+         base containers directory filepath foreign-store fsnotify ghc
+         ghc-boot ghc-paths mtl process signal stm time transformers
+       ];
        executableHaskellDepends = [
-         base bin-package-db directory filepath fsnotify ghc ghc-paths
-         process transformers
+         base directory filepath fsnotify ghc ghc-paths process stm
+         transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers filepath foreign-store gl linear mtl
+         random sdl2 stm text time
        ];
        homepage = "https://github.com/lukexi/halive";
        description = "A live recompiler";
        license = stdenv.lib.licenses.bsd2;
-       broken = true;
-     }) {bin-package-db = null;};
+     }) {};
 
   "halma" = callPackage
     ({ mkDerivation, async, base, containers, data-default
@@ -80173,6 +81726,7 @@ self: {
        homepage = "https://github.com/mstksg/hamilton";
        description = "Physics on generalized coordinate systems using Hamiltonian Mechanics and AD";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hamlet" = callPackage
@@ -80528,8 +82082,8 @@ self: {
      }) {};
 
   "happindicator" = callPackage
-    ({ mkDerivation, appindicator, array, base, bytestring, containers
-     , glib, gtk, gtk2hs-buildtools, mtl
+    ({ mkDerivation, array, base, bytestring, containers, glib, gtk
+     , gtk2hs-buildtools, libappindicator-gtk2, mtl
      }:
      mkDerivation {
        pname = "happindicator";
@@ -80538,26 +82092,26 @@ self: {
        libraryHaskellDepends = [
          array base bytestring containers glib gtk mtl
        ];
-       libraryPkgconfigDepends = [ appindicator ];
+       libraryPkgconfigDepends = [ libappindicator-gtk2 ];
        libraryToolDepends = [ gtk2hs-buildtools ];
        description = "Binding to the appindicator library";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {appindicator = null;};
+     }) {inherit (pkgs) libappindicator-gtk2;};
 
   "happindicator3" = callPackage
-    ({ mkDerivation, appindicator, base, glib, gtk3 }:
+    ({ mkDerivation, base, glib, gtk3, libappindicator-gtk3 }:
      mkDerivation {
        pname = "happindicator3";
        version = "0.2.1";
        sha256 = "225156270dc7cb2bb399aee76c9273a62683d8835c7045027a7906a3cf010326";
        libraryHaskellDepends = [ base glib gtk3 ];
-       libraryPkgconfigDepends = [ appindicator ];
+       libraryPkgconfigDepends = [ libappindicator-gtk3 ];
        homepage = "https://github.com/mlacorte/happindicator3";
        description = "Binding to the appindicator library";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {appindicator = null;};
+     }) {inherit (pkgs) libappindicator-gtk3;};
 
   "happraise" = callPackage
     ({ mkDerivation, base, directory, filepath }:
@@ -81521,8 +83075,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt";
-       version = "0.1.0.2";
-       sha256 = "0ef9006c38adb2d4caf4de88c1ac9b3ad26175fc2c4c54ac70ac5e4750062462";
+       version = "0.1.0.4";
+       sha256 = "d17bffafa4c729eab2e9b288c636d201013dd05ed04656e40de5a5fb7bc052a4";
        libraryHaskellDepends = [
          base binary bytestring containers data-binary-ieee754 data-default
          hex network network-simple text transformers
@@ -81533,6 +83087,7 @@ self: {
        homepage = "https://github.com/zmactep/hasbolt#readme";
        description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hascal" = callPackage
@@ -81722,6 +83277,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hashable_1_2_5_0" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, HUnit, integer-gmp
+     , QuickCheck, random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, unix
+     }:
+     mkDerivation {
+       pname = "hashable";
+       version = "1.2.5.0";
+       sha256 = "153eb1614a739f3ccf8c5fcd4230a17b8b24862ab727c46dd4acd22bc15fb2bc";
+       libraryHaskellDepends = [
+         base bytestring ghc-prim integer-gmp text
+       ];
+       testHaskellDepends = [
+         base bytestring ghc-prim HUnit QuickCheck random test-framework
+         test-framework-hunit test-framework-quickcheck2 text unix
+       ];
+       homepage = "http://github.com/tibbe/hashable";
+       description = "A class for types that can be converted to a hash value";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hashable-extras" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, directory, doctest
      , filepath, hashable, transformers, transformers-compat
@@ -81730,6 +83307,8 @@ self: {
        pname = "hashable-extras";
        version = "0.2.3";
        sha256 = "03e0303a50e265d8682402152c90e199d0f4685a1e553bf20a380652d6f06b6a";
+       revision = "1";
+       editedCabalFile = "8d70988312a39286abbbbbcae27964def38ed93ae680fad6c2900d5a962948c7";
        libraryHaskellDepends = [
          base bifunctors bytestring hashable transformers
          transformers-compat
@@ -81830,8 +83409,8 @@ self: {
        pname = "hashing";
        version = "0.1.0.1";
        sha256 = "e5a4a19c6cd6f0a0adda381db76d608d23f8d303e68f1d744735433f91f49410";
-       revision = "1";
-       editedCabalFile = "a50b8538d365ef9fbdc0083c3de91fbdbcebe5e630f36330475e0d10243e2596";
+       revision = "2";
+       editedCabalFile = "98861f16791946cdf28e3c7a6ee9ac8b72d546d6e33c569c7087ef18253294e7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ array base bytestring ];
@@ -81999,6 +83578,7 @@ self: {
        homepage = "http://github.com/cosbynator/haskakafka";
        description = "Kafka bindings for Haskell";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) rdkafka;};
 
   "haskanoid" = callPackage
@@ -83231,8 +84811,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-ast";
-       version = "0.3.0.1";
-       sha256 = "5eab56307a8f415114da1c891e1753ccfe7febe8fe04c0280a8eb5b4e20c8728";
+       version = "0.4.1.1";
+       sha256 = "857c0f5b57d129aa49fd8b5375703638c4cd1e5cd4c85d5160d7ad13d308f88e";
        libraryHaskellDepends = [
          base ghc mtl references template-haskell uniplate
        ];
@@ -83303,8 +84883,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-backend-ghc";
-       version = "0.3.0.1";
-       sha256 = "a63cd589f21a534bd0e68f27307a791f2257ab6e8eca7c76832a26e2b17868a3";
+       version = "0.4.1.1";
+       sha256 = "d01fe6e236fb57e7d79b35ada30e8aa0ff56f626444f25bd907bb8e785de3006";
        libraryHaskellDepends = [
          base bytestring containers ghc haskell-tools-ast mtl references
          safe split template-haskell transformers uniplate
@@ -83316,48 +84896,103 @@ self: {
      }) {};
 
   "haskell-tools-cli" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, ghc
-     , ghc-paths, haskell-tools-ast, haskell-tools-prettyprint
-     , haskell-tools-refactor, HUnit, mtl, references, split
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , ghc, ghc-paths, haskell-tools-ast, haskell-tools-prettyprint
+     , haskell-tools-refactor, knob, mtl, references, split, tasty
+     , tasty-hunit
      }:
      mkDerivation {
        pname = "haskell-tools-cli";
-       version = "0.3.0.1";
-       sha256 = "0e60a276383fff8b9cceda6fe82d45001156db5d3888b1914b16b04280f697b2";
+       version = "0.4.1.1";
+       sha256 = "7c843bcd923987679d17359b2881173af72b5beea8b66db241058c69d2a1530f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers directory ghc ghc-paths haskell-tools-ast
+         base containers directory filepath ghc ghc-paths haskell-tools-ast
          haskell-tools-prettyprint haskell-tools-refactor mtl references
          split
        ];
        executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base directory filepath HUnit ];
+       testHaskellDepends = [
+         base bytestring directory filepath knob tasty tasty-hunit
+       ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Command-line frontend for Haskell-tools Refact";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-tools-daemon" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , filepath, ghc, ghc-paths, haskell-tools-ast
+     , haskell-tools-prettyprint, haskell-tools-refactor, HUnit, mtl
+     , network, references, split, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "haskell-tools-daemon";
+       version = "0.4.1.1";
+       sha256 = "c1334b480b4c7ed5fb918ad887ee50a4eaa610b8c626ae00154eecdf2bb11dc1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers directory filepath ghc ghc-paths
+         haskell-tools-ast haskell-tools-prettyprint haskell-tools-refactor
+         mtl network references split
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath HUnit network tasty
+         tasty-hunit
+       ];
+       homepage = "https://github.com/haskell-tools/haskell-tools";
+       description = "Background process for Haskell-tools refactor that editors can connect to";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-tools-debug" = callPackage
+    ({ mkDerivation, base, ghc, ghc-paths, haskell-tools-ast
+     , haskell-tools-backend-ghc, haskell-tools-prettyprint
+     , haskell-tools-refactor, references
+     }:
+     mkDerivation {
+       pname = "haskell-tools-debug";
+       version = "0.4.1.1";
+       sha256 = "092da28a3924ec7855f910123cc6d3adaf02c8aea28c09d370ca40e4b66df02c";
+       libraryHaskellDepends = [
+         base ghc ghc-paths haskell-tools-ast haskell-tools-backend-ghc
+         haskell-tools-prettyprint haskell-tools-refactor references
+       ];
+       homepage = "https://github.com/haskell-tools/haskell-tools";
+       description = "Debugging Tools for Haskell-tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-tools-demo" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, ghc, ghc-paths, haskell-tools-ast
      , haskell-tools-backend-ghc, haskell-tools-prettyprint
-     , haskell-tools-refactor, http-types, mtl, references, transformers
-     , wai, wai-websockets, warp, websockets
+     , haskell-tools-refactor, http-types, HUnit, mtl, network
+     , references, tasty, tasty-hunit, transformers, wai, wai-websockets
+     , warp, websockets
      }:
      mkDerivation {
        pname = "haskell-tools-demo";
-       version = "0.3.0.1";
-       sha256 = "9c85cd53b3cb18a1f6355b1d7f9c9f702ad82cead9f6b2e2d20d4ff1de5ca744";
-       isLibrary = false;
+       version = "0.4.1.1";
+       sha256 = "97e23bce841240eb60f9d959922e5e262dd2d5351954ac1b183aa96910fe0b2b";
+       isLibrary = true;
        isExecutable = true;
-       executableHaskellDepends = [
+       libraryHaskellDepends = [
          aeson base bytestring containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
          haskell-tools-prettyprint haskell-tools-refactor http-types mtl
          references transformers wai wai-websockets warp websockets
        ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath HUnit network tasty
+         tasty-hunit websockets
+       ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "A web-based demo for Haskell-tools Refactor";
        license = stdenv.lib.licenses.bsd3;
@@ -83370,8 +85005,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-prettyprint";
-       version = "0.3.0.1";
-       sha256 = "13356a19d14a0d0c6a95b0ec56600fd4166dcee23ddef80fe0913b5d734ade5c";
+       version = "0.4.1.1";
+       sha256 = "2d0b5df63f5709359ad5bbc7c67475bf511cc732f1ad682c71506b196519eae8";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast mtl references split uniplate
        ];
@@ -83385,13 +85020,14 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, either
      , filepath, ghc, ghc-paths, haskell-tools-ast
      , haskell-tools-backend-ghc, haskell-tools-prettyprint
-     , haskell-tools-rewrite, HUnit, mtl, old-time, polyparse
-     , references, split, template-haskell, time, transformers, uniplate
+     , haskell-tools-rewrite, mtl, old-time, polyparse, references
+     , split, tasty, tasty-hunit, template-haskell, time, transformers
+     , uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-refactor";
-       version = "0.3.0.1";
-       sha256 = "0fc7d41b05d130f57681f90a571ad9e112186a3fe5395c6ecc4575814aa8b2f5";
+       version = "0.4.1.1";
+       sha256 = "a6f1cf8f908f10424919ded1077abe4f15c423548830c4c1a0c117f8a8d8e894";
        libraryHaskellDepends = [
          base Cabal containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
@@ -83401,9 +85037,9 @@ self: {
        testHaskellDepends = [
          base Cabal containers directory either filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
-         haskell-tools-prettyprint haskell-tools-rewrite HUnit mtl old-time
-         polyparse references split template-haskell time transformers
-         uniplate
+         haskell-tools-prettyprint haskell-tools-rewrite mtl old-time
+         polyparse references split tasty tasty-hunit template-haskell time
+         transformers uniplate
        ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Refactoring Tool for Haskell";
@@ -83412,17 +85048,22 @@ self: {
      }) {};
 
   "haskell-tools-rewrite" = callPackage
-    ({ mkDerivation, base, containers, ghc, haskell-tools-ast
-     , haskell-tools-prettyprint, mtl, references
+    ({ mkDerivation, base, containers, directory, filepath, ghc
+     , haskell-tools-ast, haskell-tools-prettyprint, mtl, references
+     , tasty, tasty-hunit
      }:
      mkDerivation {
        pname = "haskell-tools-rewrite";
-       version = "0.3.0.1";
-       sha256 = "190e3aaa5a2a77e4106dd7ae243605b5036b82848197d0ab747c91b89a6b3aa6";
+       version = "0.4.1.1";
+       sha256 = "17b2523cbf0b13fc83a28e3b2a55dc7a9118c26ee87c180ec3db46f6571668c8";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast haskell-tools-prettyprint mtl
          references
        ];
+       testHaskellDepends = [
+         base directory filepath haskell-tools-ast haskell-tools-prettyprint
+         tasty tasty-hunit
+       ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Facilities for generating new parts of the Haskell-Tools AST";
        license = stdenv.lib.licenses.bsd3;
@@ -84759,6 +86400,28 @@ self: {
        homepage = "https://github.com/chris-kahn/hasql-generic#readme";
        description = "Generic encoder and decoder deriving for Hasql";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hasql-migration" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, contravariant
+     , cryptohash, data-default-class, directory, hasql
+     , hasql-transaction, hspec, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "hasql-migration";
+       version = "0.1.1";
+       sha256 = "0cb83fffe9ebda4632fd426a97506c9c5f803c42a01d0987e7752240aceff595";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring contravariant cryptohash
+         data-default-class directory hasql hasql-transaction text time
+       ];
+       testHaskellDepends = [
+         base bytestring hasql hasql-transaction hspec transformers
+       ];
+       homepage = "https://github.com/tvh/hasql-migration";
+       description = "PostgreSQL Schema Migrations";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "hasql-optparse-applicative" = callPackage
@@ -84767,8 +86430,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-optparse-applicative";
-       version = "0.2";
-       sha256 = "c006e033547c82b4986e8bbc09997f73bb5bb75a7e08e10fb29ba06117aaa42b";
+       version = "0.2.1";
+       sha256 = "170d8a1322866f048d5d05c19cd04f881bbaee0dc4a06a3503280c7a8491d5ea";
        libraryHaskellDepends = [
          base-prelude hasql hasql-pool optparse-applicative
        ];
@@ -84938,8 +86601,8 @@ self: {
      }:
      mkDerivation {
        pname = "haste-compiler";
-       version = "0.5.5.0";
-       sha256 = "9e6d526193f73ae90e863b9fff0dcf8b3e028f430d3157ee3eb1a9a46fae250c";
+       version = "0.5.5.1";
+       sha256 = "c93d1dce0f0024ecae56019b1c7a5b68ca37cf32ba7a8ee7b2f248981af4865c";
        configureFlags = [ "-fportable" ];
        libraryHaskellDepends = [
          base binary bytestring containers data-binary-ieee754 directory
@@ -85020,6 +86683,7 @@ self: {
        homepage = "http://bitbucket.org/sras/hastily";
        description = "A program to download subtitle files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hasty-hamiltonian" = callPackage
@@ -85039,6 +86703,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hasty-hamiltonian_1_3_0" = callPackage
+    ({ mkDerivation, ad, base, kan-extensions, lens, mcmc-types
+     , mwc-probability, pipes, primitive, transformers
+     }:
+     mkDerivation {
+       pname = "hasty-hamiltonian";
+       version = "1.3.0";
+       sha256 = "15f713bc72cda97a5efad2c75d38915f3b765966142710f069db72ff49eefb31";
+       libraryHaskellDepends = [
+         base kan-extensions lens mcmc-types mwc-probability pipes primitive
+         transformers
+       ];
+       testHaskellDepends = [ ad base mwc-probability ];
+       homepage = "http://github.com/jtobin/hasty-hamiltonian";
+       description = "Speedy traversal through parameter space";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hat" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , haskeline, haskell-src-exts, old-locale, old-time, polyparse
@@ -85608,18 +87291,22 @@ self: {
      }) {};
 
   "hburg" = callPackage
-    ({ mkDerivation, array, base, containers, filepath, haskell98, mtl
+    ({ mkDerivation, alex, array, base, containers, filepath, happy
+     , mtl, pretty, utf8-string
      }:
      mkDerivation {
        pname = "hburg";
-       version = "1.1.2";
-       sha256 = "db311af08ba1a90fdb5b8bd66d02ac073e004f19631419da9615165d1f04ed0d";
+       version = "1.1.3";
+       sha256 = "fe1ce07466f899d4149f68fdef21f1969228f8cc7db26f5c23b058c7a4d651ba";
+       revision = "2";
+       editedCabalFile = "c60173c9ea5804ed889632498f121be17ad755fef0486bedf6009bee9538b7ce";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         array base containers filepath haskell98 mtl
+         array base containers filepath mtl pretty utf8-string
        ];
-       homepage = "http://www.bytelabs.org/hburg.html";
+       executableToolDepends = [ alex happy ];
+       homepage = "https://www.bytelabs.org/project/haskell-bottom-up-rewrite-generator/";
        description = "Haskell Bottom Up Rewrite Generator";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -86013,6 +87700,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hdevtools_0_1_5_0" = callPackage
+    ({ mkDerivation, base, Cabal, cmdargs, directory, filepath, ghc
+     , ghc-boot, ghc-paths, network, process, syb, time, transformers
+     , unix
+     }:
+     mkDerivation {
+       pname = "hdevtools";
+       version = "0.1.5.0";
+       sha256 = "ed81236f3809a367c5f4401905ae283f8de92cd5b26c0b8370586ab7690d04e7";
+       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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hdf" = callPackage
     ({ mkDerivation, base, directory, fgl, fgl-visualize, filepath
      , hosc, hsc3, murmur-hash, process, split, transformers
@@ -86312,19 +88020,19 @@ self: {
      }) {};
 
   "heckle" = callPackage
-    ({ mkDerivation, base, blaze-html, dates, directory, filepath
+    ({ mkDerivation, base, blaze-html, directory, filepath
      , optparse-applicative, optparse-generic, pandoc, pandoc-types
-     , process, split, tagsoup
+     , process, split, tagsoup, time
      }:
      mkDerivation {
        pname = "heckle";
-       version = "2.0.1.5";
-       sha256 = "64655fc2c10b00e31cbd8ba6ca6a339fdb184f580f56e24258ecf85605e7d97b";
+       version = "2.0.1.9";
+       sha256 = "b8a14e8e80dfc0190088e8f05baf9b47c46ac72e6b8ec5f36be244087b0469ba";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base blaze-html dates directory filepath pandoc pandoc-types
-         process split tagsoup
+         base blaze-html directory filepath pandoc pandoc-types process
+         split tagsoup time
        ];
        executableHaskellDepends = [
          base directory filepath optparse-applicative optparse-generic
@@ -86520,8 +88228,8 @@ self: {
        pname = "heist";
        version = "1.0.1.0";
        sha256 = "fd4ff3c1bfc1473feb9e913a5cdecaf56bc9db022abc27a76768cb6345c68bcb";
-       revision = "1";
-       editedCabalFile = "35cc7972ed625260f5f5885852551b9151cea0fad1c9855af09c5d82e20ae830";
+       revision = "2";
+       editedCabalFile = "17d5d80fc0a124f4e7159d50458067418ee6578484fb71b64f128aecc45cb663";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder blaze-html bytestring
          containers directory directory-tree dlist filepath hashable
@@ -86574,6 +88282,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "helf" = callPackage
+    ({ mkDerivation, alex, array, base, containers, happy, mtl, pretty
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "helf";
+       version = "0.2016.12.25";
+       sha256 = "7d96b7bb7716b16d0b7b744629b3702766ec5e825cdd9b5015ada24d34a71a0e";
+       revision = "1";
+       editedCabalFile = "a3d5ffe78978b357890472700f2c0d5ac796f312909777476d89941753994385";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         array base containers mtl pretty QuickCheck
+       ];
+       executableToolDepends = [ alex happy ];
+       homepage = "http://www2.tcs.ifi.lmu.de/~abel/projects.html#helf";
+       description = "Typechecking terms of the Edinburgh Logical Framework (LF)";
+       license = "unknown";
+     }) {};
+
   "helics" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-show
      , data-default-class, newrelic-collector-client, newrelic-common
@@ -87253,8 +88982,8 @@ self: {
      }:
      mkDerivation {
        pname = "heterocephalus";
-       version = "1.0.2.0";
-       sha256 = "d0ec193259c06ae95d5e05c17cd42087465e876d04248212d58dc4ccd72004f3";
+       version = "1.0.2.3";
+       sha256 = "653de3568644936d8e011bb329efd763d3b9d9f03101b9cf6486c45532453046";
        libraryHaskellDepends = [
          base blaze-html blaze-markup containers dlist parsec shakespeare
          template-haskell text
@@ -87371,10 +89100,8 @@ self: {
     ({ mkDerivation, base, bytestring, extra }:
      mkDerivation {
        pname = "hexml";
-       version = "0.1";
-       sha256 = "dab6b475d2c9e9e1b733c37d3a97ebd7f1ef1db606b17c97544ce53d9748226a";
-       revision = "1";
-       editedCabalFile = "a46997607148d6e6ddb555d128cf73c9dfe29b1aeccf383beb283e4d06ff79f6";
+       version = "0.3.1";
+       sha256 = "90d31d91beb87bfb9c0f1b867061b3db6d14dcbf9da87a483d620617aca0b1b0";
        libraryHaskellDepends = [ base bytestring extra ];
        testHaskellDepends = [ base bytestring ];
        homepage = "https://github.com/ndmitchell/hexml#readme";
@@ -87560,8 +89287,8 @@ self: {
      }:
      mkDerivation {
        pname = "heyefi";
-       version = "1.0.0.0";
-       sha256 = "76faae3d15478468c5c77021e8de886143da550e11e540fbd0e4abf8e1f24886";
+       version = "1.1.0.0";
+       sha256 = "ddbb1e25fd3b46ce1fc867563215392d2a5c0d85f1f7f864d3a3dce36954cc13";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -87932,6 +89659,8 @@ self: {
        pname = "hgettext";
        version = "0.1.30";
        sha256 = "26453a4d359c99c41d462db9f8c9144d172523b3fa7076117a877e6c43f3ffdd";
+       revision = "2";
+       editedCabalFile = "b2aff15e79fb791bf70c0d12182e79b7e686b356f0637d9355c4c823c1a9c5c8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88526,8 +90255,8 @@ self: {
      }:
      mkDerivation {
        pname = "hindent";
-       version = "5.2.1";
-       sha256 = "0c3118ccf087bea9dfaa9cbcb76bd6ed35919acd2fa511c741e97277b6b01c53";
+       version = "5.2.2";
+       sha256 = "1fc9a92a501552b17219a13fd691e380cc2e2bbf4d768788f13b47639ff4237d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88816,6 +90545,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hip_1_3_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, Chart, Chart-diagrams, colour
+     , deepseq, directory, filepath, hspec, JuicyPixels, netpbm
+     , primitive, process, QuickCheck, repa, temporary, vector
+     }:
+     mkDerivation {
+       pname = "hip";
+       version = "1.3.0.0";
+       sha256 = "ee4e288bcb2ab1937d3eaa5bcf8017bff07debc8aeda3e768fe542923696b9bf";
+       libraryHaskellDepends = [
+         base bytestring Chart Chart-diagrams colour deepseq directory
+         filepath JuicyPixels netpbm primitive process repa temporary vector
+       ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/lehins/hip";
+       description = "Haskell Image Processing (HIP) Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hipbot" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, blaze-builder, bytestring
      , either, exceptions, http-client, http-client-tls, http-types, jwt
@@ -89275,6 +91024,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hjsonpointer_1_1_0_0" = callPackage
+    ({ mkDerivation, aeson, base, hashable, hspec, http-types
+     , QuickCheck, semigroups, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hjsonpointer";
+       version = "1.1.0.0";
+       sha256 = "af2ea643f97d8ed1aca85651b8b65dbabc4967753f0024255baa36d410177dfa";
+       libraryHaskellDepends = [
+         aeson base hashable QuickCheck semigroups text unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base hspec http-types QuickCheck text unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/seagreen/hjsonpointer";
+       description = "JSON Pointer library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hjsonschema" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , directory, file-embed, filepath, hjsonpointer, http-client
@@ -89302,26 +91073,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hjsonschema_1_2_0_2" = callPackage
+  "hjsonschema_1_3_0_0" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
-     , directory, file-embed, filepath, hjsonpointer, hspec, http-client
-     , http-types, pcre-heavy, profunctors, QuickCheck, scientific
-     , semigroups, text, unordered-containers, vector, wai-app-static
-     , warp
+     , directory, file-embed, filepath, hashable, hjsonpointer, hspec
+     , http-client, http-types, pcre-heavy, profunctors, protolude
+     , QuickCheck, scientific, semigroups, text, unordered-containers
+     , vector, wai-app-static, warp
      }:
      mkDerivation {
        pname = "hjsonschema";
-       version = "1.2.0.2";
-       sha256 = "dc6aa03f842609ed43910510a3d5bf58bab38e94d3117ec9f669ef50ce33dd00";
+       version = "1.3.0.0";
+       sha256 = "ad54c4ee176376ef2fb7a92b5d6f35e70900fbc032000438fc37d3bdd7df819b";
        libraryHaskellDepends = [
-         aeson base bytestring containers file-embed filepath hjsonpointer
-         http-client http-types pcre-heavy profunctors QuickCheck scientific
-         semigroups text unordered-containers vector
+         aeson base bytestring containers file-embed filepath hashable
+         hjsonpointer http-client http-types pcre-heavy profunctors
+         protolude QuickCheck scientific semigroups text
+         unordered-containers vector
        ];
        testHaskellDepends = [
          aeson async base bytestring directory filepath hjsonpointer hspec
-         profunctors QuickCheck semigroups text unordered-containers vector
-         wai-app-static warp
+         profunctors protolude QuickCheck semigroups text
+         unordered-containers vector wai-app-static warp
        ];
        homepage = "https://github.com/seagreen/hjsonschema";
        description = "JSON Schema library";
@@ -89436,8 +91208,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.0.1";
-       sha256 = "835de42bebfbf55a53714c24ea4df31b625ee12f0766aa83aa552ba6c39b7104";
+       version = "1.1";
+       sha256 = "b254b2a3918e047ca031f6dfafc42dd5fcb4b859157fae2d019dcd95262408e5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -89476,8 +91248,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-api";
-       version = "1.0";
-       sha256 = "80f4f4eef2c1df68e8013e78a1c5165a0f7c5150f7c4249353698afa078056fd";
+       version = "1.1";
+       sha256 = "182b8bdaf2b4b7d621a8570f0fa81a34de4f34f1a41f8dca6d60c05dd5701b1c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -89515,8 +91287,8 @@ self: {
     ({ mkDerivation, base, hledger-lib, text, time }:
      mkDerivation {
        pname = "hledger-diff";
-       version = "0.2.0.6";
-       sha256 = "0ef38d60055fb632f3a686b5ce8aee0af5637e51b17d4c5a27764dd485c52b75";
+       version = "0.2.0.7";
+       sha256 = "54ff8674369de54eeb6e62a7a11c9e98c2c4c32730f48d2e714bc304417df6f4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base hledger-lib text time ];
@@ -89534,10 +91306,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-iadd";
-       version = "1.1.1";
-       sha256 = "89a1d0846caccdd7a7272821cef105ec6fb405d4b3390b0e335fc036e25c8386";
-       revision = "1";
-       editedCabalFile = "518e975bfd1de87c7cfbbaaa0f710d450e3f5e344725510377cb64abcf11baee";
+       version = "1.1.2";
+       sha256 = "2a224047975e11f7c443c21a8f67bd0b58a058de370a9103ae020d3968450e17";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -89583,8 +91353,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-irr";
-       version = "0.1.1.9";
-       sha256 = "76266868cb7a1a82483f1f622b3a5f88bc1d2eec8691f264c12761df74147016";
+       version = "0.1.1.10";
+       sha256 = "98106ff70769503a8056da205dcca59bc8b1fd6b2a9e1e47c56c90a4f373add4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -89598,27 +91368,30 @@ self: {
   "hledger-lib" = callPackage
     ({ mkDerivation, array, base, base-compat, blaze-markup, bytestring
      , cmdargs, containers, csv, data-default, Decimal, deepseq
-     , directory, doctest, filepath, Glob, HUnit, megaparsec, mtl
-     , mtl-compat, old-time, parsec, pretty-show, regex-tdfa, safe
-     , semigroups, split, test-framework, test-framework-hunit, text
-     , time, transformers, uglymemo, utf8-string
+     , directory, doctest, filepath, Glob, hashtables, HUnit, megaparsec
+     , mtl, mtl-compat, old-time, parsec, parsers, pretty-show
+     , regex-tdfa, safe, semigroups, split, system-filepath
+     , test-framework, test-framework-hunit, text, time, transformers
+     , trifecta, uglymemo, utf8-string
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.0.1";
-       sha256 = "9a30c51859a4e75a9d3fdd123cb1d13e250f345911ce2b3acefbd921e4248ac6";
+       version = "1.1";
+       sha256 = "4142142fb92e6c1affc1420e3478449cf0d9d696ab05cc801338a562a5560556";
        libraryHaskellDepends = [
          array base base-compat blaze-markup bytestring cmdargs containers
-         csv data-default Decimal deepseq directory filepath HUnit
-         megaparsec mtl mtl-compat old-time parsec pretty-show regex-tdfa
-         safe semigroups split text time transformers uglymemo utf8-string
+         csv data-default Decimal deepseq directory filepath hashtables
+         HUnit megaparsec mtl mtl-compat old-time parsec parsers pretty-show
+         regex-tdfa safe semigroups split system-filepath text time
+         transformers trifecta uglymemo utf8-string
        ];
        testHaskellDepends = [
          array base base-compat blaze-markup bytestring cmdargs containers
          csv data-default Decimal deepseq directory doctest filepath Glob
-         HUnit megaparsec mtl mtl-compat old-time pretty-show regex-tdfa
-         safe split test-framework test-framework-hunit text time
-         transformers uglymemo utf8-string
+         hashtables HUnit megaparsec mtl mtl-compat old-time parsec parsers
+         pretty-show regex-tdfa safe split system-filepath test-framework
+         test-framework-hunit text time transformers trifecta uglymemo
+         utf8-string
        ];
        homepage = "http://hledger.org";
        description = "Core data types, parsers and functionality for the hledger accounting tools";
@@ -89626,24 +91399,23 @@ self: {
      }) {};
 
   "hledger-ui" = callPackage
-    ({ mkDerivation, ansi-terminal, base, base-compat, brick, cmdargs
-     , containers, data-default, filepath, hledger, hledger-lib, HUnit
-     , megaparsec, microlens, microlens-platform, pretty-show, process
-     , safe, split, text, text-zipper, time, transformers, vector, vty
+    ({ mkDerivation, ansi-terminal, async, base, base-compat, brick
+     , cmdargs, containers, data-default, directory, filepath, fsnotify
+     , hledger, hledger-lib, HUnit, megaparsec, microlens
+     , microlens-platform, pretty-show, process, safe, split, text
+     , text-zipper, time, transformers, vector, vty
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.0.5";
-       sha256 = "ba859b4c1f8199413c30ddc0db2a7e11206d79ae235e6d9005de6d6cc1b98875";
-       revision = "2";
-       editedCabalFile = "6ef7d005fa20fd8c0001944f37f618305af941d1a8bdb91c6a4f2422fa23b69f";
+       version = "1.1";
+       sha256 = "2a059c50a02a360b5fa501fcb4a29ad5197b763a5e38572405a3c3a380cf6ea3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         ansi-terminal base base-compat brick cmdargs containers
-         data-default filepath hledger hledger-lib HUnit megaparsec
-         microlens microlens-platform pretty-show process safe split text
-         text-zipper time transformers vector vty
+         ansi-terminal async base base-compat brick cmdargs containers
+         data-default directory filepath fsnotify hledger hledger-lib HUnit
+         megaparsec microlens microlens-platform pretty-show process safe
+         split text text-zipper time transformers vector vty
        ];
        homepage = "http://hledger.org";
        description = "Curses-style user interface for the hledger accounting tool";
@@ -89681,8 +91453,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.0.1";
-       sha256 = "e552af5e781ecc8e46bc7ff5a17333c739b18b9cbdcdca08840703b0b7cc59f8";
+       version = "1.1";
+       sha256 = "da0c0c1096497737540efdc85cbb95cd01cbd48410491d8b2c26529b4151a2ca";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -90115,8 +91887,8 @@ self: {
     ({ mkDerivation, base, hmatrix, QuadProgpp, vector }:
      mkDerivation {
        pname = "hmatrix-quadprogpp";
-       version = "0.3.0.0";
-       sha256 = "fd11ea7d5dca8e703a5b0b80832883f27d2dd3941d19171b0f05a163d68b31fb";
+       version = "0.3.0.1";
+       sha256 = "b4a9284ad7af2a6f3e4bb57fa38160b2f4131959ff82f7e2ef74a7bdc753d1d4";
        libraryHaskellDepends = [ base hmatrix vector ];
        librarySystemDepends = [ QuadProgpp ];
        description = "Bindings to the QuadProg++ quadratic programming library";
@@ -90385,6 +92157,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) mpfr;};
 
+  "hmpfr_0_4_2_1" = callPackage
+    ({ mkDerivation, base, integer-gmp, mpfr }:
+     mkDerivation {
+       pname = "hmpfr";
+       version = "0.4.2.1";
+       sha256 = "ccb27dec6053e05b58ba6c1b27373ed78fb91ee0792c08158c59eec409ac0a11";
+       libraryHaskellDepends = [ base integer-gmp ];
+       librarySystemDepends = [ mpfr ];
+       homepage = "https://github.com/michalkonecny/hmpfr";
+       description = "Haskell binding to the MPFR library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) mpfr;};
+
   "hmt" = callPackage
     ({ mkDerivation, array, base, bytestring, colour, containers
      , data-ordlist, directory, filepath, lazy-csv, logict
@@ -90443,25 +92229,24 @@ self: {
 
   "hnetcdf" = callPackage
     ({ mkDerivation, base, c2hs, containers, directory, either, errors
-     , filepath, hmatrix, HUnit, netcdf, QuickCheck, repa
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , transformers, vector
+     , filepath, HUnit, netcdf, QuickCheck, repa, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     , vector
      }:
      mkDerivation {
        pname = "hnetcdf";
-       version = "0.3.0.0";
-       sha256 = "3a8c5c30a9210e4a7af213a0d0967515f692876f23c78582f7896559d69f098c";
+       version = "0.4.0.0";
+       sha256 = "70ea9ddc84b29848fc000d9eaaea5d7d6273597662437591354a8b5c12b2d795";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers either errors filepath hmatrix repa transformers
-         vector
+         base containers either errors filepath repa transformers vector
        ];
        librarySystemDepends = [ netcdf ];
        libraryToolDepends = [ c2hs ];
-       executableHaskellDepends = [ base containers hmatrix repa vector ];
+       executableHaskellDepends = [ base containers repa vector ];
        testHaskellDepends = [
-         base containers directory errors hmatrix HUnit QuickCheck repa
+         base containers directory errors HUnit QuickCheck repa
          test-framework test-framework-hunit test-framework-quickcheck2
          vector
        ];
@@ -90579,14 +92364,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hoauth2_0_5_6_0" = callPackage
+  "hoauth2_0_5_7" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
      , text, unordered-containers
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "0.5.6.0";
-       sha256 = "e678e9d0029b354f255b9796dddac5de0c9894261e54591b0435685a787e2dad";
+       version = "0.5.7";
+       sha256 = "7b196e4b70b8207c4beb3479f5ab4476c17d9c0ec7d8f1fcb658590641e9b9ec";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit http-types text
          unordered-containers
@@ -91294,23 +93079,23 @@ self: {
      , conduit-extra, connection, containers, deepseq, directory, extra
      , filepath, haskell-src-exts, http-conduit, http-types, js-flot
      , js-jquery, mmap, network, network-uri, old-locale, process
-     , QuickCheck, resourcet, tar, template-haskell, text, time
-     , transformers, uniplate, utf8-string, vector, wai, wai-logger
-     , warp, warp-tls, zlib
+     , process-extras, QuickCheck, resourcet, tar, template-haskell
+     , text, time, transformers, uniplate, utf8-string, vector, wai
+     , wai-logger, warp, warp-tls, zlib
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.6";
-       sha256 = "fd151310dcdb4fc8c317aabe0faf0b9563ccd59471de12ea3f10136c6f134712";
+       version = "5.0.8";
+       sha256 = "a5096f5a5786a654a7fd7eb8b019899056c70f51c3fe207df67ecd1c83400dd5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base binary bytestring cmdargs conduit conduit-extra
          connection containers deepseq directory extra filepath
          haskell-src-exts http-conduit http-types js-flot js-jquery mmap
-         network network-uri old-locale process QuickCheck resourcet tar
-         template-haskell text time transformers uniplate utf8-string vector
-         wai wai-logger warp warp-tls zlib
+         network network-uri old-locale process process-extras QuickCheck
+         resourcet tar template-haskell text time transformers uniplate
+         utf8-string vector wai wai-logger warp warp-tls zlib
        ];
        executableHaskellDepends = [ base ];
        testTarget = "--test-option=--no-net";
@@ -91575,8 +93360,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-docs";
-       version = "0.2.1";
-       sha256 = "213baa6a2a53f9b0efec11affcdf0ddb24e86a462a333f7a9d81df829f4d55a0";
+       version = "0.3.0";
+       sha256 = "e6663e8654fe93daa5a4628219eea03e2b6f31d7894a9f7c4180f43f92921d8f";
        libraryHaskellDepends = [
          base haskell-src hoppy-generator hoppy-runtime
        ];
@@ -91592,8 +93377,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-generator";
-       version = "0.2.1";
-       sha256 = "b03dacf5d0b85b859d01c8cb29045092ad64cb983ec162d37f87ecabc9d052ba";
+       version = "0.3.0";
+       sha256 = "48d8e8c41c1204ced517a337d454a1dc87bd6a5ef3697f09756fac22e4d374ef";
        libraryHaskellDepends = [
          base containers directory filepath haskell-src mtl
        ];
@@ -91604,12 +93389,12 @@ self: {
      }) {};
 
   "hoppy-runtime" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "hoppy-runtime";
-       version = "0.2.1";
-       sha256 = "f4969d7cd352399d2f76739cf4ab75e23b1ff491437400ca2e3bc4bbe4505392";
-       libraryHaskellDepends = [ base ];
+       version = "0.3.0";
+       sha256 = "44463a38c42a61789f723a538a5c3df0eac312c08dbac81a10642a8bffaba9d9";
+       libraryHaskellDepends = [ base containers ];
        homepage = "http://khumba.net/projects/hoppy";
        description = "C++ FFI generator - Runtime support";
        license = stdenv.lib.licenses.asl20;
@@ -91620,8 +93405,8 @@ self: {
     ({ mkDerivation, base, filepath, haskell-src, hoppy-generator }:
      mkDerivation {
        pname = "hoppy-std";
-       version = "0.2.1";
-       sha256 = "13eee9e5d2f993d8486f2c9125c109d89ba5d6ec13b3165e7f733b04e8c677cc";
+       version = "0.3.0";
+       sha256 = "4bf6cbf4456ac92517bb19a044863e509e20ca7965f1a8324bcd4848f5c4fb65";
        libraryHaskellDepends = [
          base filepath haskell-src hoppy-generator
        ];
@@ -91680,13 +93465,19 @@ self: {
      }) {};
 
   "hora" = callPackage
-    ({ mkDerivation, base, binary, hspec, QuickCheck, time }:
+    ({ mkDerivation, base, binary, hspec, QuickCheck, time
+     , timezone-olson, timezone-series
+     }:
      mkDerivation {
        pname = "hora";
-       version = "1.1.1";
-       sha256 = "9f375a418afca764c29a46c86beaef73a429fb2902368bc27b9d6072b6cfdbd1";
-       libraryHaskellDepends = [ base binary time ];
-       testHaskellDepends = [ base binary hspec QuickCheck time ];
+       version = "2.0.2";
+       sha256 = "a2d9eb1f89bf71f7060768e715fddd1e9478af192b353977c14c5524f2daba27";
+       revision = "1";
+       editedCabalFile = "ba7e38c8bb60d028a6869e1d7ecd07354e783b2c8b5da6f135c4ef740ccf41a1";
+       libraryHaskellDepends = [ base binary time timezone-series ];
+       testHaskellDepends = [
+         base binary hspec QuickCheck time timezone-olson timezone-series
+       ];
        homepage = "https://github.com/ciez/hora";
        description = "date time";
        license = stdenv.lib.licenses.publicDomain;
@@ -91705,6 +93496,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "horname" = callPackage
+    ({ mkDerivation, base, containers, megaparsec, optparse-applicative
+     , text, these, uniplate, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "horname";
+       version = "0.1.3.0";
+       sha256 = "e9a6cfb0ba87f063f04a7273d476b200905625ce60b00d87c8995332b1b7f218";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers megaparsec text these uniplate wl-pprint-text
+       ];
+       executableHaskellDepends = [ base optparse-applicative text ];
+       homepage = "https://github.com/cocreature/horname#readme";
+       description = "Rename function definitions returned by SMT solvers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hosc" = callPackage
     ({ mkDerivation, base, binary, blaze-builder, bytestring
      , data-binary-ieee754, network, QuickCheck, test-framework
@@ -92237,6 +94047,34 @@ self: {
        homepage = "https://github.com/guillaume-nargeot/hpc-coveralls";
        description = "Coveralls.io support for Haskell.";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpc-coveralls_1_0_7" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, Cabal, cmdargs
+     , containers, curl, directory, directory-tree, hpc, HUnit, process
+     , pureMD5, regex-posix, retry, safe, split, transformers
+     }:
+     mkDerivation {
+       pname = "hpc-coveralls";
+       version = "1.0.7";
+       sha256 = "1e3ca630dd142ffa474268e8e7cc95c4d15ad7521affaec0ac28e3cd53452584";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring Cabal cmdargs containers curl directory
+         directory-tree hpc process pureMD5 retry safe split transformers
+       ];
+       executableHaskellDepends = [
+         aeson async base bytestring Cabal cmdargs containers curl directory
+         directory-tree hpc process pureMD5 regex-posix retry safe split
+         transformers
+       ];
+       testHaskellDepends = [ base HUnit ];
+       homepage = "https://github.com/guillaume-nargeot/hpc-coveralls";
+       description = "Coveralls.io support for Haskell.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hpc-strobe" = callPackage
@@ -93487,8 +95325,8 @@ self: {
     ({ mkDerivation, attoparsec, base, text, vector }:
      mkDerivation {
        pname = "hsbc";
-       version = "0.1.0.2";
-       sha256 = "0cc76047ced42e4860f3876fdebcc2057d6d95917ebc2401f929308e7ba66e75";
+       version = "0.1.0.3";
+       sha256 = "20795b5c41fee21afa91c9d5ae4675a8954898f54e7e3a23222d3ebddbe1369a";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ attoparsec base text vector ];
@@ -95805,6 +97643,7 @@ self: {
        homepage = "https://bitbucket.org/wuzzeb/webdriver-utils";
        description = "Write end2end web application tests using webdriver and hspec";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hspec2" = callPackage
@@ -97084,6 +98923,8 @@ self: {
        pname = "http-api-data";
        version = "0.3.3";
        sha256 = "cb3d7ef8a924a6b03481b7c5e26a580df72cbf89f2e8247e825f43f4b3ba8449";
+       revision = "1";
+       editedCabalFile = "1b9b0887231d162187782afe3fa8e5483b896fafd8772bc22203027ae87bc48c";
        libraryHaskellDepends = [
          base bytestring containers hashable text time time-locale-compat
          unordered-containers uri-bytestring uuid-types
@@ -97141,7 +98982,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "http-client_0_5_4" = callPackage
+  "http-client_0_5_5" = callPackage
     ({ mkDerivation, array, async, base, base64-bytestring
      , blaze-builder, bytestring, case-insensitive, containers, cookie
      , deepseq, directory, exceptions, filepath, ghc-prim, hspec
@@ -97150,8 +98991,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.5.4";
-       sha256 = "f226b9dd4b7a6b5ef3becddd02baeabe3429b88584a42609ca3733c84bfe7300";
+       version = "0.5.5";
+       sha256 = "d1fdda6035e0bab95d3294f5175ac8c3629f9cd1d32e1bce5d0aa27226751c85";
        libraryHaskellDepends = [
          array base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -98456,6 +100297,37 @@ self: {
        broken = true;
      }) {hunt-client = null;};
 
+  "hup" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, directory, doctest
+     , filepath, Glob, hspec, hspec-wai, http-client, http-client-tls
+     , http-types, mtl, QuickCheck, shelly, simple, split, tagsoup, tar
+     , temporary, text, transformers, wai, wai-extra, zlib
+     }:
+     mkDerivation {
+       pname = "hup";
+       version = "0.2.0.0";
+       sha256 = "add1d919aa2a1fd1ea914cd92c4ac3a5b24f9291a336393fd44f5b53052898ae";
+       revision = "1";
+       editedCabalFile = "a9563b96beaf19663d3878e50ae4f2b3ad37b3ebf154f32366da2e4f34f8d091";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory filepath http-client http-client-tls
+         http-types mtl split tar zlib
+       ];
+       executableHaskellDepends = [
+         base bytestring cmdargs directory mtl shelly tagsoup text
+         transformers
+       ];
+       testHaskellDepends = [
+         base bytestring doctest filepath Glob hspec hspec-wai http-client
+         http-types QuickCheck simple temporary transformers wai wai-extra
+       ];
+       homepage = "https://github.com/phlummox/hup";
+       description = "Upload packages or documentation to a hackage server";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "hurdle" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, kangaroo }:
      mkDerivation {
@@ -99128,6 +101000,8 @@ self: {
        pname = "hworker";
        version = "0.1.0.1";
        sha256 = "34cbcc4db8f190ab0dc02a072adcf1fc75b7beab7e545982872bf265a1223f1d";
+       revision = "1";
+       editedCabalFile = "c5f32a8283ca858e67b2a49a51c41b36aa661228eca1bc6fc4c22293ddbe4b70";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring hedis text time uuid
        ];
@@ -99149,6 +101023,8 @@ self: {
        pname = "hworker-ses";
        version = "0.1.1.0";
        sha256 = "dd5330691585b39ff0ddba8eb7edd2129a5610bae8a0493c2855f2786a3581c7";
+       revision = "1";
+       editedCabalFile = "884c06fd223afeaf51e216d500ad6350c7c8a4fe11e826b6a6191e5c10927f6d";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-ses base hworker lens text
          time unordered-containers
@@ -99619,6 +101495,8 @@ self: {
        pname = "hybrid-vectors";
        version = "0.2.1";
        sha256 = "2edcd8fcfedc76a944ac690bfc257f2974100df6484c6c20883d27773836cca2";
+       revision = "1";
+       editedCabalFile = "f07302db04c6d19bf5ab00c084e0ec4fb72955b7bd258e77b4881a21a263e3c4";
        libraryHaskellDepends = [ base deepseq primitive vector ];
        homepage = "http://github.com/ekmett/hybrid-vectors";
        description = "Hybrid vectors e.g. Mixed Boxed/Unboxed vectors";
@@ -100494,8 +102372,8 @@ self: {
      }:
      mkDerivation {
        pname = "ideas";
-       version = "1.5";
-       sha256 = "81969d35319518e7c06d67fea99d106c5a8d86d61b889d64414476327fc95e84";
+       version = "1.6";
+       sha256 = "dea77dafcb95fb2cfab6218bb0b242829c6c90a540da33fd082967cda84a8476";
        libraryHaskellDepends = [
          base cgi containers Diff directory filepath parsec QuickCheck
          random time uniplate wl-pprint
@@ -101635,6 +103513,7 @@ self: {
        homepage = "http://kalli1.faikvm.com/ImplicitCAD/Stable";
        description = "Math-inspired programmatic 2&3D CAD: CSG, bevels, and shells; gcode export..";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "implicit-logging" = callPackage
@@ -101960,6 +103839,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "indents_0_4_0_0" = callPackage
+    ({ mkDerivation, base, mtl, parsec, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "indents";
+       version = "0.4.0.0";
+       sha256 = "9478d3f8ea4dd412ffc56225c4727f295b81daffba408bf1e757b4b23859d495";
+       libraryHaskellDepends = [ base mtl parsec ];
+       testHaskellDepends = [ base mtl parsec tasty tasty-hunit ];
+       homepage = "http://github.com/jaspervdj/indents";
+       description = "indentation sensitive parser-combinators for parsec";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "index-core" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -102188,6 +104081,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inflections_0_3_0_0" = callPackage
+    ({ mkDerivation, base, exceptions, hspec, hspec-megaparsec
+     , megaparsec, QuickCheck, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "inflections";
+       version = "0.3.0.0";
+       sha256 = "0391cb804f012fb27edc9d11c45bb60412bd703b5a7ebca5ccbf776d338926f1";
+       libraryHaskellDepends = [
+         base exceptions megaparsec text unordered-containers
+       ];
+       testHaskellDepends = [
+         base hspec hspec-megaparsec megaparsec QuickCheck text
+       ];
+       homepage = "https://github.com/stackbuilders/inflections-hs";
+       description = "Inflections library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inflist" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
@@ -102395,8 +104308,8 @@ self: {
      }:
      mkDerivation {
        pname = "inline-java";
-       version = "0.6";
-       sha256 = "364c14c0003b6bdbb6338c017ff706ca2bd57dde828c801a1b588356ce15a4c1";
+       version = "0.6.1";
+       sha256 = "f722733b43839d12f936c5d2e3e8f2d33aae6752a605d4582959a7ad71ce2045";
        libraryHaskellDepends = [
          base binary bytestring Cabal containers directory
          distributed-closure filepath ghc-heap-view inline-c jni jvm
@@ -102442,6 +104355,7 @@ self: {
        homepage = "https://tweag.github.io/HaskellR";
        description = "Seamlessly call R from Haskell and vice versa. No FFI required.";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) R;};
 
   "inquire" = callPackage
@@ -102492,8 +104406,8 @@ self: {
        pname = "insert-ordered-containers";
        version = "0.2.0.0";
        sha256 = "0353fcf5c58e9ed3fe33ddc3f57bfb2faccaa4d61fbf832f7fc2bfbe2c30d02e";
-       revision = "3";
-       editedCabalFile = "66f19e15a4787bbad6c85303e5ae7ba0912d2db8b18b500e5e6e437156e53d2a";
+       revision = "4";
+       editedCabalFile = "b4b8544fe733ff569ff0f726a632c9c10831f3c7bff804ec5d75f62225363fa5";
        libraryHaskellDepends = [
          aeson base base-compat hashable lens semigroupoids semigroups text
          transformers unordered-containers
@@ -102715,12 +104629,33 @@ self: {
        pname = "integer-gmp";
        version = "1.0.0.1";
        sha256 = "ef11daab7d7007b6be61846350a947173c46475c833623bcac45aa532ec3c121";
+       revision = "1";
+       editedCabalFile = "616d1775344a82a0ae1db1791fba719f4682a1ace908582ac4026db14231d4d5";
        libraryHaskellDepends = [ ghc-prim ];
        description = "Integer library based on GMP";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "integer-logarithms" = callPackage
+    ({ mkDerivation, array, base, ghc-prim, integer-gmp, QuickCheck
+     , smallcheck, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "integer-logarithms";
+       version = "1";
+       sha256 = "9a34b7a9ea6cf0e760159913f41305f786fd027efce3c4e4fe700c2a46cf103c";
+       libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
+       testHaskellDepends = [
+         base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
+         tasty-smallcheck
+       ];
+       homepage = "https://github.com/phadej/integer-logarithms";
+       description = "Integer logarithms";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "integer-pure" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -102844,14 +104779,14 @@ self: {
      }:
      mkDerivation {
        pname = "interlude-l";
-       version = "0.1.0.7";
-       sha256 = "0cef80ef63038b398438f8e3ab60760ef17fab380f5d8534d595237a07cb0bb7";
+       version = "0.1.0.8";
+       sha256 = "5eb16c248a0528543702ae17452c8cdb31d525f1bc95b4e9ea146682fab93100";
        libraryHaskellDepends = [
          aeson base exceptions lens monad-control MonadRandom mtl protolude
          string-conv text transformers witherable
        ];
        description = "Prelude replacement based on protolude";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "intern" = callPackage
@@ -103093,6 +105028,39 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "intro" = callPackage
+    ({ mkDerivation, base, bifunctors, binary, bytestring, containers
+     , deepseq, dlist, extra, hashable, mtl, safe, string-conversions
+     , tagged, text, transformers, unordered-containers, writer-cps-mtl
+     }:
+     mkDerivation {
+       pname = "intro";
+       version = "0.0.2.2";
+       sha256 = "9dc34d967b510b6022f55a4a653a13fcf36513ba753d5b3f8a156d88060e5611";
+       libraryHaskellDepends = [
+         base bifunctors binary bytestring containers deepseq dlist extra
+         hashable mtl safe string-conversions tagged text transformers
+         unordered-containers writer-cps-mtl
+       ];
+       homepage = "https://github.com/minad/intro#readme";
+       description = "Total Prelude with Text and Monad transformers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "intro-prelude" = callPackage
+    ({ mkDerivation, intro }:
+     mkDerivation {
+       pname = "intro-prelude";
+       version = "0.1.0.0";
+       sha256 = "602df3463f556cfff5b3784b7b49f0548768f11e7651175fae1028f4565faaba";
+       libraryHaskellDepends = [ intro ];
+       testHaskellDepends = [ intro ];
+       doHaddock = false;
+       homepage = "https://github.com/minad/intro-prelude#readme";
+       description = "Intro reexported as Prelude";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "introduction" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, deepseq
      , exceptions, filepath, ghc-prim, lifted-base, monad-control, mtl
@@ -103531,6 +105499,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ip6addr_0_5_2" = callPackage
+    ({ mkDerivation, base, cmdargs, IPv6Addr, text }:
+     mkDerivation {
+       pname = "ip6addr";
+       version = "0.5.2";
+       sha256 = "ad460bf7d2765aa050968154188ba51a1b8483b6a27b179042528058b0e9549f";
+       revision = "1";
+       editedCabalFile = "f59669c0e8198ef3c56ecff75b7304d379fc1bbd5485114e3be6774d0d07037c";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base cmdargs IPv6Addr text ];
+       homepage = "https://github.com/MichelBoucey/ip6addr";
+       description = "Commandline tool to generate IPv6 address text representations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ipatch" = callPackage
     ({ mkDerivation, base, bytestring, darcs, directory, filepath
      , hashed-storage, process, unix
@@ -103773,17 +105758,37 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "irc-conduit_0_2_2_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit, conduit-extra
+     , connection, irc, irc-ctcp, network-conduit-tls, profunctors, text
+     , time, tls, transformers, x509-validation
+     }:
+     mkDerivation {
+       pname = "irc-conduit";
+       version = "0.2.2.0";
+       sha256 = "b66e058a66e9cd782f065be6b100bb80157c55d733db6691112a70e9aab13065";
+       libraryHaskellDepends = [
+         async base bytestring conduit conduit-extra connection irc irc-ctcp
+         network-conduit-tls profunctors text time tls transformers
+         x509-validation
+       ];
+       homepage = "https://github.com/barrucadu/irc-conduit";
+       description = "Streaming IRC message library using conduits";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "irc-core" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, hashable, HUnit
-     , memory, primitive, text, time, vector
+    ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring
+     , hashable, HUnit, primitive, text, time, vector
      }:
      mkDerivation {
        pname = "irc-core";
-       version = "2.2.0.0";
-       sha256 = "2e491a8a9d3c0dbb3413c8bebc1e37d0636d2cb8367f4b257141f891107b4834";
+       version = "2.2.0.1";
+       sha256 = "6c160d1073ee40b12d294f1e4dbb4691aedb73150eebf027475db05ce1efa20a";
        libraryHaskellDepends = [
-         attoparsec base bytestring hashable memory primitive text time
-         vector
+         attoparsec base base64-bytestring bytestring hashable primitive
+         text time vector
        ];
        testHaskellDepends = [ base hashable HUnit text ];
        homepage = "https://github.com/glguy/irc-core";
@@ -103961,8 +105966,8 @@ self: {
      }:
      mkDerivation {
        pname = "iridium";
-       version = "0.1.5.5";
-       sha256 = "161d533ebde52dd4854a8d8e46f1d4c506178a94672a61948f1f70ed6db1b726";
+       version = "0.1.5.6";
+       sha256 = "18a0ee5f08996a263dcf484bb48749d6a3df502729a7c386b5b7133b80f23577";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103975,7 +105980,7 @@ self: {
          base extra multistate text transformers unordered-containers yaml
        ];
        homepage = "https://github.com/lspitzner/iridium";
-       description = "Automated Local Testing and Package Uploading";
+       description = "Automated Local Cabal Package Testing and Uploading";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -104266,6 +106271,7 @@ self: {
        ];
        description = "A brick Widget for selectable summary of many elements on a terminal";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "iter-stats" = callPackage
@@ -104465,8 +106471,10 @@ self: {
      }:
      mkDerivation {
        pname = "ivory";
-       version = "0.1.0.4";
-       sha256 = "96a056e1f3d766223d93dcd3aaedd6619aa1806f31903c3f46e30a058705583f";
+       version = "0.1.0.5";
+       sha256 = "437d5bc2fa69037e6fa5beb7d0a7b27f4d7e92404531b698be5a84946294a158";
+       revision = "1";
+       editedCabalFile = "0fa37aeb8c009a31030e0fe7fbb278907c41909c0f06d74b9942adbf58fc446f";
        libraryHaskellDepends = [
          array base base-compat containers dlist filepath monadLib pretty
          template-haskell text th-lift
@@ -104484,8 +106492,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-artifact";
-       version = "0.1.0.4";
-       sha256 = "a2aa0b21fa58c5f87d5001f74fcbfda439a6dbfb56577214447c75f3b204ce8c";
+       version = "0.1.0.5";
+       sha256 = "7a2bac5f9abebc2edbad78b010056a6a75722681ec0c636951bc044774ee7934";
        libraryHaskellDepends = [
          base directory filepath HStringTemplate text utf8-string
        ];
@@ -104502,8 +106510,10 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-backend-c";
-       version = "0.1.0.4";
-       sha256 = "1515d217549af8189b83a5963ddfd6d202b58cdb9f98644a41988e7b67884caf";
+       version = "0.1.0.5";
+       sha256 = "e07d69634f6b50145f51886b87b7556bd6eb01e21bcd6476f849071a1120e535";
+       revision = "1";
+       editedCabalFile = "d628f3ab8d4d61816af6f9ff9fb34bf8cbcf28d2ff75246aa86303a59c457d1a";
        libraryHaskellDepends = [
          base base-compat bytestring containers directory filepath ivory
          ivory-artifact ivory-opts language-c-quote mainland-pretty monadLib
@@ -104541,8 +106551,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-eval";
-       version = "0.1.0.4";
-       sha256 = "dd4f92558eea73265d680963bfad48112c782ed144726ee001f547216368e020";
+       version = "0.1.0.5";
+       sha256 = "059811a8cfe1f77c4bb5c21690999a3a1544dd30fd56f89d7957c71e5534f662";
        libraryHaskellDepends = [
          base base-compat containers ivory monadLib
        ];
@@ -104562,10 +106572,10 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-examples";
-       version = "0.1.0.4";
-       sha256 = "d61091b079166b06537feb0a719d7e4e09718732df3f1f264167af800f72900a";
-       revision = "2";
-       editedCabalFile = "7b0f9b186a1356c9210ecfe4ae198b1fa3056f1c78188126b83fbd39c09e253f";
+       version = "0.1.0.5";
+       sha256 = "539b65b7068f7dbcb128401ac4ec8c08ee2a0db074087cd923bbf38daf530356";
+       revision = "1";
+       editedCabalFile = "a83f6151b08ade845ef527ad07fcee41ac20bc02ba02fc8ee3786c278685da39";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -104582,8 +106592,8 @@ self: {
     ({ mkDerivation, base, filepath, ivory, ivory-artifact }:
      mkDerivation {
        pname = "ivory-hw";
-       version = "0.1.0.4";
-       sha256 = "d441e06d61ffaada4719d6b274d090308accba9e71f49bd3d31be608f26193dc";
+       version = "0.1.0.5";
+       sha256 = "9379da7f7e30587f79d8de501725d9c8b0eeb7105db2362a5889d82163ca4140";
        libraryHaskellDepends = [ base filepath ivory ivory-artifact ];
        homepage = "http://ivorylang.org";
        description = "Ivory hardware model (STM32F4)";
@@ -104597,8 +106607,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-opts";
-       version = "0.1.0.4";
-       sha256 = "14c1337cdd8f4a06ff6e99e050fb5d9bd98ec221c77de510368cb8aa4f7b7019";
+       version = "0.1.0.5";
+       sha256 = "36bbf696b1f711885a2493233d09a304686572ff32d0e7e8f30c0a8ebc139340";
        libraryHaskellDepends = [
          base base-compat containers data-reify dlist fgl filepath ivory
          monadLib pretty
@@ -104616,8 +106626,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-quickcheck";
-       version = "0.2.0.4";
-       sha256 = "c7c3e1dcf2c3bbf21612445155f1e869576e5dcd9099b7d4eea0694b327d63a5";
+       version = "0.2.0.5";
+       sha256 = "9a93f90f18b2a9e508ef4f25d980cdb39e2ac3a11061878cbb9028c40fb953f0";
        libraryHaskellDepends = [
          base base-compat ivory ivory-backend-c ivory-eval monadLib
          QuickCheck random
@@ -104638,8 +106648,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-serialize";
-       version = "0.1.0.4";
-       sha256 = "bf73dccdcac406b7adc8981e01d9b363df6411ce7e7bb70daf2f6065f17abc12";
+       version = "0.1.0.5";
+       sha256 = "4ef3bcafba676e83cff6c4ede3b931124069d3baad87568e641cefccb2db1a9a";
        libraryHaskellDepends = [
          base base-compat filepath ivory ivory-artifact monadLib
        ];
@@ -104652,8 +106662,8 @@ self: {
     ({ mkDerivation, base, filepath, ivory, ivory-artifact }:
      mkDerivation {
        pname = "ivory-stdlib";
-       version = "0.1.0.4";
-       sha256 = "912b78ed7b5143ff54517f3c483dd73dab9401cfce2c0a4f43fcdc9ca7413c5b";
+       version = "0.1.0.5";
+       sha256 = "af6ed58d447a770deb83c854c4a611bd0fee36efb59feb5afc0729ac8be7abe9";
        libraryHaskellDepends = [ base filepath ivory ivory-artifact ];
        homepage = "http://ivorylang.org";
        description = "Ivory standard library";
@@ -104710,6 +106720,8 @@ self: {
        pname = "ixmonad";
        version = "0.57";
        sha256 = "f354ef7938e3e5d91dd0af3d422081ca78c396f0063f2dc97a864b73537718cd";
+       revision = "1";
+       editedCabalFile = "589fe683da9065a906b2f156d8335050fc9de4c1514a6582c88a0d12c3c68b18";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "Embeds effect systems into Haskell using parameteric effect monads";
        license = stdenv.lib.licenses.bsd3;
@@ -104884,6 +106896,8 @@ self: {
        pname = "jailbreak-cabal";
        version = "1.3.1";
        sha256 = "610d8dbd04281eee3d5da05c9eef45bfd1a1ddca20dfe54f283e15ddf6d5c235";
+       revision = "1";
+       editedCabalFile = "ad923093f40ae8a7b7faa64a4e65a8545057987e5efe8baafec455fbcc85a52c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base Cabal ];
@@ -104893,6 +106907,22 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "jailbreak-cabal_1_3_2" = callPackage
+    ({ mkDerivation, base, Cabal }:
+     mkDerivation {
+       pname = "jailbreak-cabal";
+       version = "1.3.2";
+       sha256 = "212a8bbc3dfc748c4063282414a2726709d651322f3984c9989179d2352950f4";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base Cabal ];
+       homepage = "https://github.com/peti/jailbreak-cabal#readme";
+       description = "Strip version restrictions from build dependencies in Cabal files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
   "jalaali" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -105299,8 +107329,8 @@ self: {
      }:
      mkDerivation {
        pname = "jni";
-       version = "0.1";
-       sha256 = "1e9545909b89552fb3c65ae6454a40912bf31f2a66fe0d3dcbadfc2af21c255b";
+       version = "0.2.3";
+       sha256 = "ba48cfc823de07255421301a02248043bccaf8201d1bc6a7956b86f6c972c904";
        libraryHaskellDepends = [
          base bytestring containers inline-c singletons thread-local-storage
        ];
@@ -105425,7 +107455,7 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
-  "jose_0_5_0_1" = callPackage
+  "jose_0_5_0_2" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , byteable, bytestring, containers, cryptonite, hspec, lens, memory
      , monad-time, mtl, network-uri, QuickCheck, quickcheck-instances
@@ -105434,8 +107464,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.5.0.1";
-       sha256 = "be03e97bad8c492bc6e268d917b0c0ea18f12a971a94be8e8c28af636d52c84f";
+       version = "0.5.0.2";
+       sha256 = "25958a11561f56363bb7dcdcd1ebbc97bf231ee68ed393b117c90fff0cf07abc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -105480,6 +107510,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "jose-jwt_0_7_4" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, containers
+     , cryptonite, doctest, either, hspec, HUnit, memory, mtl
+     , QuickCheck, text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "jose-jwt";
+       version = "0.7.4";
+       sha256 = "747088658aee2b57bce8dc27fa921f9c4181f2f01677dde9a4c17de18bd3febd";
+       libraryHaskellDepends = [
+         aeson base bytestring cereal containers cryptonite either memory
+         mtl text time unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring cryptonite doctest either hspec HUnit memory
+         mtl QuickCheck text unordered-containers vector
+       ];
+       homepage = "http://github.com/tekul/jose-jwt";
+       description = "JSON Object Signing and Encryption Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "jpeg" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -105532,19 +107585,19 @@ self: {
      }) {};
 
   "jsaddle" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , deepseq, filepath, ghc-prim, http-types, lens, primitive, process
-     , ref-tf, scientific, stm, template-haskell, text, time
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, containers, deepseq, filepath, ghc-prim, http-types
+     , lens, primitive, process, ref-tf, scientific, stm, text, time
      , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "jsaddle";
-       version = "0.7.0.0";
-       sha256 = "bfbf63663129551b95efc44333e944dd56357ea4e0778b592701480836511554";
+       version = "0.8.0.1";
+       sha256 = "de68f74a6a546b91ce0a1a74512db7d1a7a583a4455d0de5ef9d300cf179cb3b";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers deepseq filepath
-         ghc-prim http-types lens primitive process ref-tf scientific stm
-         template-haskell text time transformers unordered-containers vector
+         aeson attoparsec base base64-bytestring bytestring containers
+         deepseq filepath ghc-prim http-types lens primitive process ref-tf
+         scientific stm text time transformers unordered-containers vector
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
@@ -105557,8 +107610,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-dom";
-       version = "0.7.0.3";
-       sha256 = "3ee57a6d2640833a511ac1b0aadbfa46bd0be09efabde9bb5e32ddb6d330a2df";
+       version = "0.7.1.0";
+       sha256 = "e93ea7dccd9aa640226a162fb6674b0c71c7acebf0ce9b85d76b0d388f06d53a";
        libraryHaskellDepends = [
          base base-compat jsaddle lens text transformers
        ];
@@ -105590,8 +107643,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-warp";
-       version = "0.7.0.0";
-       sha256 = "5f847b737fc542f9b5f8a0b3aa3a384b18d588fd5433cffbc279c7aac52de818";
+       version = "0.8.2.0";
+       sha256 = "e9616e7bedb12c1b37ab1e82c065d7b6de6f341ec4cb01748e623a583c834f11";
        libraryHaskellDepends = [
          aeson base containers http-types jsaddle stm text time transformers
          wai wai-websockets warp websockets
@@ -105605,12 +107658,50 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "jsaddle-webkit2gtk" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, gi-gio
+     , gi-glib, gi-gtk, gi-javascriptcore, gi-webkit2, haskell-gi-base
+     , jsaddle, text, unix, webkit2gtk3-javascriptcore
+     }:
+     mkDerivation {
+       pname = "jsaddle-webkit2gtk";
+       version = "0.8.2.1";
+       sha256 = "01cf836ba8aa03d4d2cba539156ac0051c651fc7ec77b53eb20a41b3b445a606";
+       libraryHaskellDepends = [
+         aeson base bytestring directory gi-gio gi-glib gi-gtk
+         gi-javascriptcore gi-webkit2 haskell-gi-base jsaddle text unix
+         webkit2gtk3-javascriptcore
+       ];
+       description = "Interface for JavaScript that works with GHCJS and GHC";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jsaddle-webkitgtk" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, gi-glib
+     , gi-gtk, gi-javascriptcore, gi-webkit, haskell-gi-base, jsaddle
+     , text, unix, webkitgtk3-javascriptcore
+     }:
+     mkDerivation {
+       pname = "jsaddle-webkitgtk";
+       version = "0.8.2.1";
+       sha256 = "e4cfcdf07d34f5b8fb00c747097830c9338e9f0c43c9a69bad10511e72ff2132";
+       libraryHaskellDepends = [
+         aeson base bytestring directory gi-glib gi-gtk gi-javascriptcore
+         gi-webkit haskell-gi-base jsaddle text unix
+         webkitgtk3-javascriptcore
+       ];
+       description = "Interface for JavaScript that works with GHCJS and GHC";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "jsaddle-wkwebview" = callPackage
     ({ mkDerivation, aeson, base, bytestring, jsaddle }:
      mkDerivation {
        pname = "jsaddle-wkwebview";
-       version = "0.7.0.0";
-       sha256 = "fa9a722cab4659f00acdad3c50d70b6ecbaf8d457fcc50c44191a60802f8c26d";
+       version = "0.8.2.0";
+       sha256 = "aa7968119b68ed7166482f2bfb217e942fbd2ead932fc2f349894fa149d2dfb6";
        libraryHaskellDepends = [ aeson base bytestring jsaddle ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
@@ -105668,10 +107759,10 @@ self: {
      }:
      mkDerivation {
        pname = "json-api";
-       version = "0.1.1.1";
-       sha256 = "d5af631049fe2096c29f79b956f3c3b419b11f097278f131beee31a5369e2516";
+       version = "0.1.1.2";
+       sha256 = "b5bab272ea259c5868d65ab1dbb2967c557219c95fe8aef7d6cd7cd6e8075d24";
        libraryHaskellDepends = [
-         aeson base containers data-default lens-aeson text
+         aeson base containers data-default lens lens-aeson text
          unordered-containers url
        ];
        testHaskellDepends = [
@@ -105690,8 +107781,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-assertions";
-       version = "1.0.7";
-       sha256 = "0a2b071178b27b8ab295040c22b712c17278986b6829b2a085819b85fdd7e3f4";
+       version = "1.0.8";
+       sha256 = "d4e060ec54e264581e47d409e303dc3165c311dcfcd6127278c99b7a876ae259";
        libraryHaskellDepends = [
          aeson base indexed indexed-free lens lens-aeson text
        ];
@@ -106140,8 +108231,8 @@ self: {
        pname = "json-schema";
        version = "0.7.4.1";
        sha256 = "560d6a17d6eab734f43d329e51967e3ed62f8df2a6fea4a92d06359fe77d7c96";
-       revision = "5";
-       editedCabalFile = "ec1615227a46ff11cc6dca76df0564ace2a8ff8069e9c84cea0064cd908d0eb3";
+       revision = "6";
+       editedCabalFile = "b6211ab8989ce7d576cac285b7d17f2e50ee79139545e2e84b2dd319904360b2";
        libraryHaskellDepends = [
          aeson base containers generic-aeson generic-deriving mtl scientific
          text time unordered-containers vector
@@ -106607,6 +108698,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "jvm-streaming" = callPackage
+    ({ mkDerivation, base, distributed-closure, hspec, inline-java, jni
+     , jvm, singletons, streaming
+     }:
+     mkDerivation {
+       pname = "jvm-streaming";
+       version = "0.1";
+       sha256 = "45788461c552dc2cdcbbe389f3783c67942341e38fa7ba17bd0a906db573d256";
+       revision = "1";
+       editedCabalFile = "f0e204ab4b6d0a8aedb7105800727d22a990a4761787d5abfaa70d016832b184";
+       libraryHaskellDepends = [
+         base distributed-closure inline-java jni jvm singletons streaming
+       ];
+       testHaskellDepends = [ base hspec inline-java jvm streaming ];
+       homepage = "http://github.com/tweag/inline-java/tree/master/jvm-streaming#readme";
+       description = "Expose Java iterators as streams from the streaming package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "jwt" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, cryptonite
      , data-default, doctest, http-types, HUnit, lens, lens-aeson
@@ -106697,6 +108807,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device";
        description = "UI device events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-glut" = callPackage
@@ -106714,6 +108825,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-glut";
        description = "GLUT events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-joystick" = callPackage
@@ -106735,6 +108847,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-joystick";
        description = "Linux joystick events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-leap" = callPackage
@@ -106756,6 +108869,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-leap";
        description = "Leap Motion events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-spacenav" = callPackage
@@ -106777,6 +108891,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-spacenav";
        description = "Linux SpaceNavigator events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-vrpn" = callPackage
@@ -106792,6 +108907,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-vrpn";
        description = "VRPN events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kaleidoscope" = callPackage
@@ -106836,6 +108952,7 @@ self: {
        homepage = "https://github.com/idontgetoutmuch/Kalman";
        description = "Kalman and particle filters and smoothers";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kan-extensions" = callPackage
@@ -106892,8 +109009,8 @@ self: {
        pname = "kansas-comet";
        version = "0.4";
        sha256 = "1f1a4565f2e955b8947bafcb9611789b0ccdf9efdfed8aaa2a2aa162a07339e1";
-       revision = "8";
-       editedCabalFile = "d35522fe047447685a0028216de02d88ddd4706fe025bb1266ffda61df31a988";
+       revision = "9";
+       editedCabalFile = "6b788670bd0b22096693d6fca5770c5522bc3c89c9ca12123034f7957172a38a";
        libraryHaskellDepends = [
          aeson base containers data-default-class scotty stm text time
          transformers unordered-containers
@@ -106911,10 +109028,8 @@ self: {
      }:
      mkDerivation {
        pname = "kansas-lava";
-       version = "0.2.4.3";
-       sha256 = "3bf057340e4a1953e2eef099e26215cd99d4c595feab82cc43c6be1cbf2c5344";
-       revision = "1";
-       editedCabalFile = "7b1860125ab2958d3831cb2536a6b939879f09951199649182bb848e70b583eb";
+       version = "0.2.4.4";
+       sha256 = "ed44a01f95c72580c3e198ea43f42a582ec44bbdc8897629fe37f874208f6c5d";
        libraryHaskellDepends = [
          base bytestring cmdargs containers data-default data-reify
          directory dotgen filepath netlist netlist-to-vhdl process random
@@ -107020,8 +109135,8 @@ self: {
      }:
      mkDerivation {
        pname = "katip";
-       version = "0.3.1.2";
-       sha256 = "d666b12f235c6eb5fa36fa1cfc5a48ec001996a4ad6e4abf5ff0601ee3d9cea5";
+       version = "0.3.1.3";
+       sha256 = "8a733a9888157781c60ec3b223bf0256839fb923e41473f3118289ab175413fa";
        libraryHaskellDepends = [
          aeson auto-update base bytestring containers either exceptions
          hostname microlens microlens-th monad-control mtl old-locale
@@ -107876,8 +109991,8 @@ self: {
      }:
      mkDerivation {
        pname = "kicad-data";
-       version = "0.3.0.0";
-       sha256 = "6270a5f62dad9920ca169c1c8867f6ba0d2d36e64299cada90d526b4c73d3ee7";
+       version = "0.4.0";
+       sha256 = "a55a3cc07dd96b4de4a2a9bbe8f1fc9e1a73da6bd999fe145a31f2e4f2731e25";
        libraryHaskellDepends = [
          base ieee754 lens-family parsec parsec-numbers pretty-compact
        ];
@@ -108223,8 +110338,8 @@ self: {
      }:
      mkDerivation {
        pname = "krapsh";
-       version = "0.1.6.0";
-       sha256 = "12c4c3a9d4e0d013056ad269a51ae77078a6a582b9b5924d5e58b73251176d6e";
+       version = "0.1.6.2";
+       sha256 = "081bebfed17c6bd548c0a3ef69523bad78eb0aa11e17d5ceb0de7baebc24cc9b";
        libraryHaskellDepends = [
          aeson aeson-pretty base base16-bytestring binary bytestring
          containers cryptohash-sha256 deepseq exceptions formatting hashable
@@ -108238,6 +110353,7 @@ self: {
        homepage = "https://github.com/krapsh/kraps-haskell";
        description = "Haskell bindings for Spark Dataframes and Datasets";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "krpc" = callPackage
@@ -108547,18 +110663,20 @@ self: {
      }) {};
 
   "lambda-calculator" = callPackage
-    ({ mkDerivation, base, hspec, HUnit, parsec, Shellac
-     , Shellac-readline
+    ({ mkDerivation, base, hlint, hspec, HUnit, optparse-applicative
+     , parsec, Shellac, Shellac-readline
      }:
      mkDerivation {
        pname = "lambda-calculator";
-       version = "0.5.0";
-       sha256 = "b6f3da4fbb70574ad0131b0ca2ff509031eebf17b8ab650c71651b2aedda26a1";
+       version = "1.1.1";
+       sha256 = "9dec187ddefcf7276e845a50f3dc74a61ab4347c196d8f8165b1ddfa2f2dcc84";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base parsec ];
-       executableHaskellDepends = [ base Shellac Shellac-readline ];
-       testHaskellDepends = [ base hspec HUnit ];
+       executableHaskellDepends = [
+         base optparse-applicative Shellac Shellac-readline
+       ];
+       testHaskellDepends = [ base hlint hspec HUnit ];
        homepage = "https://github.com/sgillespie/lambda-calculus#readme";
        description = "A lambda calculus interpreter";
        license = stdenv.lib.licenses.mit;
@@ -108608,8 +110726,8 @@ self: {
     ({ mkDerivation, base, containers, mtl, read-bounded }:
      mkDerivation {
        pname = "lambda-options";
-       version = "0.9.0.0";
-       sha256 = "440852153cc682a7eb056b71713ea299329acbaeab8ecd5a422b89ebc831e976";
+       version = "0.9.0.1";
+       sha256 = "50684829a88a83492caa34eeddce64bb33fed56dad683f8454ddb03afbd4049b";
        libraryHaskellDepends = [ base containers mtl read-bounded ];
        homepage = "https://github.com/thomaseding/lambda-options";
        description = "A modern command-line parser for Haskell";
@@ -108644,6 +110762,7 @@ self: {
        homepage = "https://github.com/maciej-bendkowski/lambda-sampler";
        description = "Boltzmann sampler utilities for lambda calculus";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambda-toolbox" = callPackage
@@ -109120,8 +111239,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdacube-gl";
-       version = "0.5.1.2";
-       sha256 = "2b71bfd829096f8ac59f4e37ebdf6d8bdc4c84bdfaa6cd2c83d5e41fd05ef9fe";
+       version = "0.5.2.0";
+       sha256 = "6552d8dc5aa3d1639155d42890934aeaa19afe6c5feafee041199ad98cfbd165";
        libraryHaskellDepends = [
          base bytestring containers JuicyPixels lambdacube-ir mtl OpenGLRaw
          vector vector-algorithms
@@ -110394,6 +112513,7 @@ self: {
        homepage = "https://github.com/unitb/latex-function-tables";
        description = "Function table specifications in latex";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lattices" = callPackage
@@ -110571,14 +112691,28 @@ self: {
     ({ mkDerivation, base, transformers, unsafe }:
      mkDerivation {
        pname = "lazyio";
-       version = "0.1.0.3";
-       sha256 = "bb8d8c0c14ab35d80d0eee69e51b9111fea975eabe171c37a0f680adaff708be";
+       version = "0.1.0.4";
+       sha256 = "8b54f0bccdc1c836393ce667ea0f1ad069d52c04762e61fad633d4d44916cf6c";
        libraryHaskellDepends = [ base transformers unsafe ];
        homepage = "http://www.haskell.org/haskellwiki/Lazy_IO";
        description = "Run IO actions lazily while respecting their order";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lazyset" = callPackage
+    ({ mkDerivation, base, containers, data-ordlist, HUnit }:
+     mkDerivation {
+       pname = "lazyset";
+       version = "0.1.0.0";
+       sha256 = "9e62ccd181117484c63920b8dfb8d385d23119e11595ab2aa045b272c55f4bad";
+       libraryHaskellDepends = [ base containers data-ordlist ];
+       testHaskellDepends = [ base containers data-ordlist HUnit ];
+       homepage = "https://github.com/happyherp/lazyset";
+       description = "Set and Map from lazy/infinite lists";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lazysmallcheck" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -110687,6 +112821,24 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "ldapply" = callPackage
+    ({ mkDerivation, base, bytestring, docopt, interpolatedstring-perl6
+     , LDAP, ldif, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ldapply";
+       version = "0.1.0";
+       sha256 = "5c99e6f200c58aeb897a3a8f2e283ad2caba73c6f7eba919102912715891d04b";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring docopt interpolatedstring-perl6 LDAP ldif
+         unordered-containers
+       ];
+       description = "LDIF idempotent apply tool";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ldif" = callPackage
     ({ mkDerivation, base, bytestring, cmdargs, containers, directory
      , filepath, HUnit, parsec, rosezipper
@@ -110787,6 +112939,7 @@ self: {
        libraryHaskellDepends = [ base time ];
        testHaskellDepends = [ base tasty tasty-hunit time ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "leapseconds-announced" = callPackage
@@ -110900,22 +113053,21 @@ self: {
 
   "legion" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, binary, binary-conduit
-     , bytestring, canteven-http, canteven-log, conduit, conduit-extra
-     , containers, data-default-class, data-dword, directory, exceptions
-     , http-types, monad-logger, network, Ranged-sets, scotty
-     , scotty-resource, stm, text, time, transformers, unix, uuid, wai
-     , wai-extra, warp
+     , bytestring, canteven-http, conduit, conduit-extra, containers
+     , data-default-class, data-dword, directory, exceptions, http-types
+     , monad-logger, network, Ranged-sets, scotty, scotty-resource, stm
+     , text, transformers, unix, uuid, wai, wai-extra, warp
      }:
      mkDerivation {
        pname = "legion";
-       version = "0.7.0.0";
-       sha256 = "c2dddc486653344bfe1c5c38c279f5fe8800f725d8778d8df4ef25856d6aed27";
+       version = "0.8.0.3";
+       sha256 = "eaa865b6ded7ecb0110298a61a5768fce49e3ef270e5a45db6a0cc2d2a7ba166";
        libraryHaskellDepends = [
          aeson attoparsec base binary binary-conduit bytestring
-         canteven-http canteven-log conduit conduit-extra containers
-         data-default-class data-dword directory exceptions http-types
-         monad-logger network Ranged-sets scotty scotty-resource stm text
-         time transformers unix uuid wai wai-extra warp
+         canteven-http conduit conduit-extra containers data-default-class
+         data-dword directory exceptions http-types monad-logger network
+         Ranged-sets scotty scotty-resource stm text transformers unix uuid
+         wai wai-extra warp
        ];
        homepage = "https://github.com/owensmurray/legion#readme";
        description = "Distributed, stateful, homogeneous microservice framework";
@@ -110924,28 +113076,29 @@ self: {
      }) {};
 
   "legion-discovery" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, Cabal
+    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring, Cabal
      , canteven-http, canteven-log, conduit, containers
-     , data-default-class, http-types, legion, legion-extra
-     , monad-logger, scotty, scotty-resource, SHA, text, time
-     , transformers, wai, wai-extra, warp
+     , data-default-class, ekg, graphviz, http-types, legion
+     , legion-extra, monad-logger, scotty, scotty-format
+     , scotty-resource, SHA, text, time, transformers, wai, wai-extra
+     , warp
      }:
      mkDerivation {
        pname = "legion-discovery";
-       version = "0.2.1.1";
-       sha256 = "9ecb4471cf9a52fd973d95c356d35542e4b12306eb7078f43e4a279d0c478131";
+       version = "0.3.0.0";
+       sha256 = "a5bcbbcaec065c4f833b51c05e0379bce3e1f22ca70585b63878ef57dbabfc61";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base binary bytestring Cabal canteven-http canteven-log
-         conduit containers data-default-class http-types legion
-         legion-extra monad-logger scotty scotty-resource SHA text time
-         transformers wai wai-extra warp
+         aeson attoparsec base binary bytestring Cabal canteven-http
+         canteven-log conduit containers data-default-class ekg graphviz
+         http-types legion legion-extra monad-logger scotty scotty-format
+         scotty-resource SHA text time transformers wai wai-extra warp
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/owensmurray/legion-discovery#readme";
-       description = "Initial project template from stack";
+       description = "A discovery service based on Legion";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -110953,15 +113106,16 @@ self: {
   "legion-discovery-client" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
      , data-default-class, http-client, http-types, load-balancing
-     , network, text
+     , network, resourcet, text, transformers
      }:
      mkDerivation {
        pname = "legion-discovery-client";
-       version = "0.1.0.1";
-       sha256 = "6235b5f23411bfe0807274e4e31b5e9f805045b214f63a2cfbefed29d9fe27f1";
+       version = "0.1.0.3";
+       sha256 = "4fd1c98dcade6f1251418f14537df3cffb4af814eca8074f7a06e0efdd67189b";
        libraryHaskellDepends = [
          aeson base bytestring Cabal containers data-default-class
-         http-client http-types load-balancing network text
+         http-client http-types load-balancing network resourcet text
+         transformers
        ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/owensmurray/legion-discovery-client#readme";
@@ -110975,8 +113129,8 @@ self: {
      }:
      mkDerivation {
        pname = "legion-extra";
-       version = "0.1.0.5";
-       sha256 = "f61dc20ac3380725dbf34b934623131c37c4072f081d6d649ffb2a6d4be007f6";
+       version = "0.1.0.6";
+       sha256 = "e9471ff2b1d50596bbe86fd414e78bcd31aa78b867ac3439fddd58e21d24c0c5";
        libraryHaskellDepends = [
          aeson base bytestring canteven-log containers data-default-class
          legion network safe split yaml
@@ -111137,8 +113291,8 @@ self: {
        pname = "lens";
        version = "4.15.1";
        sha256 = "5cfaa64cb1b9787193c2247a1ed1c248104ba5fadb91cec6432e648e41b1bea6";
-       revision = "2";
-       editedCabalFile = "012be5e38b4fa0f4cb98ad04d6eb82a48eea6d789213a058b08fdc2e64aa1327";
+       revision = "4";
+       editedCabalFile = "e055de1a2d30bf9122947afbc5e342b06a0f4a512fece45f5b9132f7beb11539";
        libraryHaskellDepends = [
          array base base-orphans bifunctors bytestring comonad containers
          contravariant distributive exceptions filepath free ghc-prim
@@ -111189,8 +113343,8 @@ self: {
        pname = "lens-aeson";
        version = "1.0.0.5";
        sha256 = "65faad5b75852209b4c6df43ae1f7460c2b94bf3bbc10b5cd529f43c743a5d9f";
-       revision = "3";
-       editedCabalFile = "d511d27175ba60166923027642b159100332d57db118fb7055cf512fbd0bd7d1";
+       revision = "4";
+       editedCabalFile = "6fde3d7feb42ad58f74e89202ec01d0397bd1c8bf00b2042edaa293479d70385";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring lens scientific text
          unordered-containers vector
@@ -111431,22 +113585,23 @@ self: {
     ({ mkDerivation, ansi-wl-pprint, base, csv, directory, filemanip
      , filepath, hspec, natural-sort, optparse-applicative, parsec
      , pipes, regex-tdfa, semigroups, terminal-progress-bar, text
+     , transformers
      }:
      mkDerivation {
        pname = "lentil";
-       version = "1.0.3.2";
-       sha256 = "7c4fcfd08e2b4369f14a3502215cdb6f70a8f776350a6113d3d6f8dbc7a1c397";
+       version = "1.0.7.0";
+       sha256 = "582a1191b8ac60a4a50fa9361a48f0fe58686ab94db7dbc13bee07e57a20e615";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          ansi-wl-pprint base csv directory filemanip filepath natural-sort
          optparse-applicative parsec pipes regex-tdfa semigroups
-         terminal-progress-bar text
+         terminal-progress-bar text transformers
        ];
        testHaskellDepends = [
          ansi-wl-pprint base csv directory filemanip filepath hspec
          natural-sort optparse-applicative parsec pipes regex-tdfa
-         semigroups terminal-progress-bar text
+         semigroups terminal-progress-bar text transformers
        ];
        homepage = "http://www.ariis.it/static/articles/lentil/page.html";
        description = "frugal issue tracker";
@@ -111982,33 +114137,36 @@ self: {
 
   "liblawless" = callPackage
     ({ mkDerivation, aeson, base, base-unicode-symbols, binary
-     , bytestring, containers, containers-unicode-symbols, contravariant
-     , data-textual, directory, exceptions, filepath, hjsonschema, lens
-     , machines, mtl, parsers, path, path-io, protolude, QuickCheck
-     , random, semigroups, stm, stm-containers, temporary
-     , test-framework, test-framework-quickcheck2, test-framework-th
-     , text, text-icu, text-icu-normalized, text-printer, time
-     , transformers, yaml, zippers
+     , boomerang, bytestring, containers, containers-unicode-symbols
+     , contravariant, data-default, data-textual, dns, exceptions
+     , filepath, hjsonschema, lens, machines, mtl, network, network-ip
+     , parsers, pathtype, protolude, QuickCheck, random, semigroups, stm
+     , stm-containers, temporary, test-framework
+     , test-framework-quickcheck2, test-framework-th, text, text-icu
+     , text-icu-normalized, text-printer, time, transformers, zippers
      }:
      mkDerivation {
        pname = "liblawless";
-       version = "0.13.3";
-       sha256 = "b1c3660a40a50db947712b3768a8cf3ceb8c614e5d71cdf18e4bceedff90a16b";
+       version = "0.16.1";
+       sha256 = "9598c6e717b1118057190f6a6f15977903956df374812e94049e78866b40578a";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         aeson base base-unicode-symbols binary bytestring containers
-         containers-unicode-symbols contravariant data-textual directory
-         exceptions filepath hjsonschema lens machines mtl parsers path
-         path-io protolude random semigroups stm stm-containers temporary
-         text text-icu text-icu-normalized text-printer time transformers
-         yaml zippers
+         aeson base base-unicode-symbols binary boomerang bytestring
+         containers containers-unicode-symbols contravariant data-default
+         data-textual dns exceptions hjsonschema lens machines mtl network
+         network-ip parsers pathtype protolude QuickCheck random semigroups
+         stm stm-containers temporary text text-icu text-icu-normalized
+         text-printer time transformers zippers
        ];
        testHaskellDepends = [
-         base binary bytestring exceptions filepath QuickCheck semigroups
-         temporary test-framework test-framework-quickcheck2
+         aeson base binary bytestring exceptions filepath network QuickCheck
+         semigroups temporary test-framework test-framework-quickcheck2
          test-framework-th text time transformers
        ];
        description = "Prelude based on protolude for GHC 8 and beyond";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "liblinear-enumerator" = callPackage
@@ -112069,6 +114227,7 @@ self: {
        ];
        description = "Prelude based on protolude for GHC 8 and beyond";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "libmpd" = callPackage
@@ -112851,6 +115010,8 @@ self: {
        pname = "linear";
        version = "1.20.5";
        sha256 = "61d8b7242f1e7c27925df7ffe1aa8b1fd732e61598f3af48b9999d8fb464cc0d";
+       revision = "1";
+       editedCabalFile = "59fb06c2c7326ffedc00c3b54a89fecf6bf664e9bea0845f5cd933249c0113d5";
        libraryHaskellDepends = [
          adjunctions base base-orphans binary bytes cereal containers
          deepseq distributive ghc-prim hashable lens reflection
@@ -113471,18 +115632,18 @@ self: {
      }) {};
 
   "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, aeson, attoparsec, base, hashable, 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";
+       version = "0.1.0.3";
+       sha256 = "c14d1b3dfbabbc4892369a24f67d29f3a172e9de87ac0132bf3121f86bcee90b";
        libraryHaskellDepends = [
-         aeson attoparsec base lens lens-aeson mtl scientific semigroups
-         text unordered-containers validation vector
+         aeson attoparsec base hashable lens lens-aeson mtl scientific
+         semigroups text unordered-containers validation vector
        ];
        testHaskellDepends = [
          aeson attoparsec base lens lens-aeson mtl QuickCheck scientific
@@ -114129,8 +116290,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-extra";
-       version = "0.7";
-       sha256 = "5f2e1fb4a4b8960ff7e10db014de90706e5d10504f88f89dbd8869f9d5921f20";
+       version = "0.7.0.1";
+       sha256 = "4928e405deff09451edce864558ce7b3276549ca7f1d71dac118dcbcafe15573";
        libraryHaskellDepends = [
          base containers cpuid llvm-tf non-empty tfp transformers unsafe
          utility-ht
@@ -114709,8 +116870,8 @@ self: {
        pname = "log-domain";
        version = "0.10.3.1";
        sha256 = "36f427506218358b20a2066d5fb38406816fabac18ca26c807a416a795643815";
-       revision = "1";
-       editedCabalFile = "ff544f4bf06996c1775f8c59c0cbf949a60ef50c6ec9404c851bc885612e2498";
+       revision = "2";
+       editedCabalFile = "d5c0d4af0c551eb4b014ce825c1ff6a92fa947225992a89ec9f4b67ece705c6f";
        libraryHaskellDepends = [
          base binary bytes cereal comonad deepseq distributive hashable
          hashable-extras safecopy semigroupoids semigroups vector
@@ -114759,6 +116920,7 @@ self: {
        homepage = "https://github.com/scrive/log";
        description = "Structured logging solution (Elasticsearch back end)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "log-postgres" = callPackage
@@ -114779,6 +116941,7 @@ self: {
        homepage = "https://github.com/scrive/log";
        description = "Structured logging solution (PostgreSQL back end)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "log-utils" = callPackage
@@ -114872,6 +117035,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "logger-thread" = callPackage
+    ({ mkDerivation, base, fast-logger, protolude, safe-exceptions, stm
+     , text, time
+     }:
+     mkDerivation {
+       pname = "logger-thread";
+       version = "0.1.0.2";
+       sha256 = "ac0a54001a69cff6f975209c4d9d399fb58ef59bb0ad6ac742c5ffedeac04a2a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base fast-logger protolude safe-exceptions stm text time
+       ];
+       executableHaskellDepends = [ base protolude stm ];
+       homepage = "https://github.com/joe9/logger-thread#readme";
+       description = "Run FastLogger in a thread and direct all queued messages to it";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "logging" = callPackage
     ({ mkDerivation, base, binary, bytestring, fast-logger, hspec
      , lifted-base, monad-control, old-locale, regex-compat, text, time
@@ -115526,6 +117708,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lrucaching_0_3_1" = callPackage
+    ({ mkDerivation, base, base-compat, containers, deepseq, hashable
+     , hspec, psqueues, QuickCheck, transformers, vector
+     }:
+     mkDerivation {
+       pname = "lrucaching";
+       version = "0.3.1";
+       sha256 = "2f287ea60d721f58474dc105dec953f98ce9a41dd1897647ef68a48605b132d6";
+       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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ls-usb" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, base-unicode-symbols
      , cmdtheline, text, usb, usb-id-database, vector
@@ -116071,6 +118273,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lz4-conduit" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-arbitrary
+     , conduit, conduit-extra, mtl, QuickCheck, resourcet
+     }:
+     mkDerivation {
+       pname = "lz4-conduit";
+       version = "0.2";
+       sha256 = "7586c2a0c1a4355ea44c069eb19a5c23cdb9c94034fd182e31d638a43a1bf4a3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring conduit mtl resourcet
+       ];
+       executableHaskellDepends = [
+         base conduit conduit-extra resourcet
+       ];
+       testHaskellDepends = [
+         base bytestring bytestring-arbitrary conduit QuickCheck resourcet
+       ];
+       homepage = "https://github.com/bigmac2k/lz4-conduit";
+       description = "LZ4 compression for conduits";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "lzma" = callPackage
     ({ mkDerivation, base, bytestring, HUnit, lzma, QuickCheck, tasty
      , tasty-hunit, tasty-quickcheck
@@ -116109,8 +118335,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzma-conduit";
-       version = "1.1.3.0";
-       sha256 = "abf9e7a052a2bbd85923237a6fa7a73e7e077b20908ad3d68e6c24285aef390f";
+       version = "1.1.3.1";
+       sha256 = "2c181aece2c81c9408271e805a00f2833c5ca79f2c7cb55e3a8b6cb0388d612d";
        libraryHaskellDepends = [
          base bindings-DSL bytestring conduit resourcet transformers
        ];
@@ -116169,6 +118395,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mDNSResponder-client" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, ctrie, data-endian
+     , network, network-msg, transformers
+     }:
+     mkDerivation {
+       pname = "mDNSResponder-client";
+       version = "1.0.1";
+       sha256 = "205820b45d91f0459fa3a810bfdb5691249d3275e95abf9d75aec69e2285e1c8";
+       libraryHaskellDepends = [
+         base bytestring ctrie data-endian network network-msg transformers
+       ];
+       testHaskellDepends = [ base bytestring Cabal ];
+       homepage = "https://github.com/obsidiansystems/mDNSResponder-client";
+       description = "Library for talking to the mDNSResponder daemon";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "maam" = callPackage
     ({ mkDerivation, base, containers, template-haskell, text, vector
      }:
@@ -116237,14 +118480,14 @@ self: {
 
   "machinecell" = callPackage
     ({ mkDerivation, arrows, base, free, hspec, mtl, profunctors
-     , QuickCheck, semigroups
+     , QuickCheck, semigroups, transformers
      }:
      mkDerivation {
        pname = "machinecell";
-       version = "3.2.0";
-       sha256 = "507f367bd35ea9b0b2c81af1b1ec14f4aa68fae4309f71c69c9c58715405bddd";
+       version = "3.3.1";
+       sha256 = "5911832fa471797e5cbc5b4c98c1078f0bad799ba8cb33dbf0e19c6fae35619c";
        libraryHaskellDepends = [
-         arrows base free mtl profunctors semigroups
+         arrows base free mtl profunctors semigroups transformers
        ];
        testHaskellDepends = [
          arrows base hspec mtl profunctors QuickCheck semigroups
@@ -116252,6 +118495,7 @@ self: {
        homepage = "http://github.com/as-capabl/machinecell";
        description = "Arrow based stream transducers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "machines" = callPackage
@@ -116432,6 +118676,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "madlang" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, hspec, hspec-megaparsec
+     , lens, megaparsec, mtl, mwc-random, optparse-generic, text
+     }:
+     mkDerivation {
+       pname = "madlang";
+       version = "0.1.0.1";
+       sha256 = "b0df75127de969328701adb376673409c82b37c1f3c92b2b0d84b5de2be80ae6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base lens megaparsec mtl mwc-random optparse-generic
+         text
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hspec hspec-megaparsec megaparsec mtl text
+       ];
+       homepage = "https://github.com/vmchale/madlang#readme";
+       description = "Randomized templating language DSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "mage" = callPackage
     ({ mkDerivation, array, base, containers, mtl, ncurses, random }:
      mkDerivation {
@@ -117134,6 +119401,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mandrill_0_5_3_1" = 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.3.1";
+       sha256 = "a559a166232461520f4fbb0637db9f922a82fdff819e9e35ee7b0941a7c0c315";
+       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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mandulia" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, directory
      , filepath, GLUT, hslua, time
@@ -117595,33 +119887,50 @@ self: {
 
   "marvin" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, configurator
-     , directory, filepath, hashable, hslogger, lens, mono-traversable
-     , mtl, mustache, network-uri, optparse-applicative
-     , optparse-generic, pcre-light, random, template-haskell, text
-     , text-format, unordered-containers, vector, websockets, wreq, wuss
+     , directory, filepath, hashable, lens, lifted-async, lifted-base
+     , marvin-interpolate, monad-logger, mono-traversable, mtl, mustache
+     , network-uri, optparse-applicative, random, stm, text, text-icu
+     , unordered-containers, vector, websockets, wreq, wuss
      }:
      mkDerivation {
        pname = "marvin";
-       version = "0.0.2";
-       sha256 = "93cb2eaeb405ed22c165ff2d546e3cc34892663361ef4bf39e4ce03262be8643";
+       version = "0.0.5";
+       sha256 = "bb2de5f531e8f670476af97795f4e13dd06335fedf212e196787e635c97a217d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async base bytestring configurator hashable hslogger lens
-         mono-traversable mtl network-uri optparse-generic pcre-light random
-         template-haskell text text-format unordered-containers vector
-         websockets wreq wuss
+         aeson async base bytestring configurator hashable lens lifted-async
+         lifted-base marvin-interpolate monad-logger mono-traversable mtl
+         network-uri optparse-applicative random stm text text-icu
+         unordered-containers vector websockets wreq wuss
        ];
        executableHaskellDepends = [
          aeson base bytestring configurator directory filepath
          mono-traversable mustache optparse-applicative text
        ];
-       homepage = "https://github.com/JustusAdam/marvin#readme";
-       description = "A modular bot for slack";
+       homepage = "https://marvin.readthedocs.io";
+       description = "A modular chat bot";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "marvin-interpolate" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, hspec, mtl, parsec
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "marvin-interpolate";
+       version = "0.4.0";
+       sha256 = "cc7a97fe7e9d43065d59d21827e40e127b9adaf250715cd7dbfe0e8480bfa766";
+       libraryHaskellDepends = [
+         base haskell-src-meta mtl parsec template-haskell text
+       ];
+       testHaskellDepends = [ base hspec text ];
+       homepage = "http://marvin.readthedocs.io/en/latest/interpolation.html";
+       description = "Compile time string interpolation a la Scala and CoffeeScript";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "marxup" = callPackage
     ({ mkDerivation, base, configurator, containers, directory, dlist
      , filepath, haskell-src-exts, labeled-tree, lens, lp-diagrams, mtl
@@ -118241,6 +120550,7 @@ self: {
        homepage = "https://github.com/linearray/mealstrom";
        description = "Manipulate FSMs and store them in PostgreSQL";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "means" = callPackage
@@ -118751,6 +121061,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "memory_0_14" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, foundation, ghc-prim
+     , tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "memory";
+       version = "0.14";
+       sha256 = "ca0248c9a889906a5a8fc95ce3c549b27abc3edb4d85d03893aef56934148e1d";
+       libraryHaskellDepends = [
+         base bytestring deepseq foundation ghc-prim
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
+       homepage = "https://github.com/vincenthz/hs-memory";
+       description = "memory and related abstraction stuff";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "memorypool" = callPackage
     ({ mkDerivation, base, containers, transformers, unsafe, vector }:
      mkDerivation {
@@ -119019,6 +121347,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "metrics_0_4_0_1" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
+     , HUnit, lens, mwc-random, primitive, QuickCheck, text, time
+     , transformers, transformers-base, unix-compat
+     , unordered-containers, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "metrics";
+       version = "0.4.0.1";
+       sha256 = "db18eddaa43b81c33c925bf467010e5b9088d55fe5d7b364466a3459543cc7e7";
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring containers lens mwc-random primitive
+         text time transformers transformers-base unix-compat
+         unordered-containers vector vector-algorithms
+       ];
+       testHaskellDepends = [
+         async base HUnit lens mwc-random primitive QuickCheck
+       ];
+       description = "High-performance application metric tracking";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "metricsd-client" = callPackage
     ({ mkDerivation, base, network }:
      mkDerivation {
@@ -119206,6 +121557,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "microlens-aeson_2_2_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, microlens
+     , scientific, tasty, tasty-hunit, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "microlens-aeson";
+       version = "2.2.0";
+       sha256 = "c25b8fefcd321f348c5948a0f65d30ecad4070e3f1f7720bacb022b57c6386d4";
+       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 = stdenv.lib.platforms.none;
+     }) {};
+
   "microlens-contra" = callPackage
     ({ mkDerivation, base, contravariant, microlens }:
      mkDerivation {
@@ -119294,6 +121668,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "microlens-th_0_4_1_1" = callPackage
+    ({ mkDerivation, base, containers, microlens, template-haskell }:
+     mkDerivation {
+       pname = "microlens-th";
+       version = "0.4.1.1";
+       sha256 = "5b1a400db8577805d80fb83963ef2a41cf43023b38300fdeaacb01a4fb526a7b";
+       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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "micrologger" = callPackage
     ({ mkDerivation, aeson, base, containers, hspec, text, text-format
      , time, transformers
@@ -119579,6 +121968,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mighty-metropolis_1_2_0" = callPackage
+    ({ mkDerivation, base, containers, kan-extensions, mcmc-types
+     , mwc-probability, pipes, primitive, transformers
+     }:
+     mkDerivation {
+       pname = "mighty-metropolis";
+       version = "1.2.0";
+       sha256 = "8d3c0b4b65024846291c4f547c45e5c04f587aefd0e8d041d54679bb519871c0";
+       libraryHaskellDepends = [
+         base kan-extensions mcmc-types mwc-probability pipes primitive
+         transformers
+       ];
+       testHaskellDepends = [ base containers mwc-probability ];
+       homepage = "http://github.com/jtobin/mighty-metropolis";
+       description = "The Metropolis algorithm";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mikmod" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -120464,8 +122872,8 @@ self: {
     ({ mkDerivation, base, doctest, Glob }:
      mkDerivation {
        pname = "modular-arithmetic";
-       version = "1.2.1.1";
-       sha256 = "5b1592ef852596e8c4e1ac5e8f213ee0272a8e0bf6c3d431a86bbeaff35cb700";
+       version = "1.2.1.2";
+       sha256 = "921f31f72589c07be9e64fcc68e90a41651817404ee796f56d0f299287b9a176";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest Glob ];
        homepage = "https://github.com/TikhonJelvis/modular-arithmetic";
@@ -121879,6 +124287,7 @@ self: {
        homepage = "https://github.com/jpvillaisaza/money";
        description = "Money";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mongoDB" = callPackage
@@ -122116,14 +124525,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "monoid-subclasses_0_4_3" = callPackage
+  "monoid-subclasses_0_4_3_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, primes, QuickCheck
      , quickcheck-instances, tasty, tasty-quickcheck, text, vector
      }:
      mkDerivation {
        pname = "monoid-subclasses";
-       version = "0.4.3";
-       sha256 = "568fd54e1fe35557129bc8cd1a751343dfde61a63fab0baadc38683101aed0cd";
+       version = "0.4.3.1";
+       sha256 = "a170d07916b694601a7da2924656e5f8a5ad27afa0e548f4683b154e122783cd";
        libraryHaskellDepends = [
          base bytestring containers primes text vector
        ];
@@ -123437,6 +125846,7 @@ self: {
        homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
        description = "Generic programming for families of recursive datatypes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "multirec-alt-deriver" = callPackage
@@ -124270,7 +126680,6 @@ self: {
        homepage = "https://github.com/paul-rouse/mysql";
        description = "A low-level MySQL client library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) mysql;};
 
   "mysql-effect" = callPackage
@@ -124317,6 +126726,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mysql-haskell-nem" = callPackage
+    ({ mkDerivation, base, bytestring, io-streams, mysql-haskell
+     , scientific, text, time
+     }:
+     mkDerivation {
+       pname = "mysql-haskell-nem";
+       version = "0.1.0.0";
+       sha256 = "7a0868b76edc96a7aff7860f96436b9040f6cb9319dd67f68bfd700948721f0d";
+       libraryHaskellDepends = [
+         base bytestring io-streams mysql-haskell scientific text time
+       ];
+       homepage = "https://github.com/lorenzo/mysql-haskell-nem#readme";
+       description = "Adds a interface like mysql-simple to mysql-haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mysql-haskell-openssl" = callPackage
     ({ mkDerivation, base, HsOpenSSL, io-streams, mysql-haskell
      , network, tcp-streams, tcp-streams-openssl, wire-streams
@@ -124763,8 +127189,10 @@ self: {
      }:
      mkDerivation {
        pname = "nanovg";
-       version = "0.5.1.0";
-       sha256 = "2e76eaf2b3814d5651a6c13bea84c561d416d0138303cd3826ed89a399c6e437";
+       version = "0.5.2.0";
+       sha256 = "22e31d227770e55123aadb2750c35895f4d635327c7be1ef1ea2655d86180f5d";
+       revision = "1";
+       editedCabalFile = "ab822c8c3baab11820f06e9c34ba59c97789625020fabf476338cc17b2e74853";
        libraryHaskellDepends = [ base bytestring containers text vector ];
        librarySystemDepends = [ freeglut GLEW mesa ];
        libraryToolDepends = [ c2hs ];
@@ -124874,8 +127302,8 @@ self: {
      }:
      mkDerivation {
        pname = "nats-queue";
-       version = "0.1.2.1";
-       sha256 = "278abe19802ac26b2a720ad9bab84c9ce74f348eabff55ee96e67286f5453ca3";
+       version = "0.1.2.2";
+       sha256 = "f2b59d789feb12d0192a63227b5a114a353c21214276f3478474c561a0b9f5ed";
        libraryHaskellDepends = [
          aeson async base bytestring containers dequeue network network-uri
          random text
@@ -125435,6 +127863,34 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "netease-fm" = callPackage
+    ({ mkDerivation, aeson, async, base, base64-bytestring, brick
+     , bytestring, containers, cryptonite, data-default-class, directory
+     , exceptions, http-client, http-client-tls, http-types, memory, mtl
+     , parsec, process, random, stm, text, time, transformers, vector
+     , vty
+     }:
+     mkDerivation {
+       pname = "netease-fm";
+       version = "1.2.2";
+       sha256 = "a9052877b00ae471603960e2043302ceb9dfc4ca0f64550966de0ab10053aab6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async base base64-bytestring bytestring cryptonite
+         data-default-class directory exceptions http-client http-client-tls
+         http-types memory mtl parsec process random stm text time
+         transformers vector
+       ];
+       executableHaskellDepends = [
+         base brick containers data-default-class directory mtl process
+         random stm transformers vty
+       ];
+       homepage = "http://github.com/foreverbell/netease-fm#readme";
+       description = "NetEase Cloud Music FM client in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "netlines" = callPackage
     ({ mkDerivation, base, bytestring, contstuff, enumerator, HTF
      , random, text, time
@@ -125704,6 +128160,7 @@ self: {
        homepage = "https://github.com/ziocroc/netwire-input-javascript";
        description = "JavaScript instance of netwire-input";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "netwire-vinylglfw-examples" = callPackage
@@ -125921,8 +128378,8 @@ self: {
     ({ mkDerivation, base, bytestring, network, text, time, vector }:
      mkDerivation {
        pname = "network-carbon";
-       version = "1.0.6";
-       sha256 = "28e0a72d86be8a21637a62a83273311aab446b1d6e4a13f2638101aa6cd19ef6";
+       version = "1.0.7";
+       sha256 = "9cb794e29273aedf7f3fba7eed81a6a9f83791809095c22c11bf094a687dc9c0";
        libraryHaskellDepends = [
          base bytestring network text time vector
        ];
@@ -126486,6 +128943,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network-transport-inmemory_0_5_2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-accessor
+     , network-transport, network-transport-tests, stm
+     }:
+     mkDerivation {
+       pname = "network-transport-inmemory";
+       version = "0.5.2";
+       sha256 = "8245d795330157d90ad9de599854d119c6d8938a45ab8c4ec89f3160b2e9ef4e";
+       libraryHaskellDepends = [
+         base bytestring containers data-accessor network-transport stm
+       ];
+       testHaskellDepends = [
+         base network-transport network-transport-tests
+       ];
+       homepage = "http://haskell-distributed.github.com";
+       description = "In-memory instantiation of Network.Transport";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-transport-tcp" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-accessor
      , network, network-transport, network-transport-tests
@@ -126666,6 +129143,55 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "neural-network-base" = callPackage
+    ({ mkDerivation, base, constraints }:
+     mkDerivation {
+       pname = "neural-network-base";
+       version = "0.1.0.0";
+       sha256 = "6dd5e69d4e1c74f4df8a541f58051c14338b7fe7e95d41ca1b7cca58f1f0afde";
+       libraryHaskellDepends = [ base constraints ];
+       homepage = "https://github.com/pierric/neural-network";
+       description = "Yet Another High Performance and Extendable Neural Network in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "neural-network-blashs" = callPackage
+    ({ mkDerivation, base, blas-hs, constraints, ghc-prim, hmatrix
+     , hspec, mtl, mwc-random, neural-network-base, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "neural-network-blashs";
+       version = "0.1.0.0";
+       sha256 = "a597ce92cbae408fbe1154da0d98b515108c4c6d8973900697b242323691d40a";
+       libraryHaskellDepends = [
+         base blas-hs constraints ghc-prim mtl mwc-random
+         neural-network-base vector
+       ];
+       testHaskellDepends = [
+         base blas-hs hmatrix hspec neural-network-base QuickCheck vector
+       ];
+       homepage = "https://github.com/pierric/neural-network";
+       description = "Yet Another High Performance and Extendable Neural Network in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "neural-network-hmatrix" = callPackage
+    ({ mkDerivation, base, blas, deepseq, hmatrix, hmatrix-gsl, mtl
+     , mwc-random, neural-network-base, parallel, vector
+     }:
+     mkDerivation {
+       pname = "neural-network-hmatrix";
+       version = "0.1.0.0";
+       sha256 = "b4db8f621dcabd8aa6dbd4828b7a682fb2af0856c8669b3bd1f8db8214944861";
+       libraryHaskellDepends = [
+         base deepseq hmatrix hmatrix-gsl mtl mwc-random neural-network-base
+         parallel vector
+       ];
+       librarySystemDepends = [ blas ];
+       description = "Yet Another High Performance and Extendable Neural Network in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {inherit (pkgs) blas;};
+
   "newports" = callPackage
     ({ mkDerivation, base, directory, old-time }:
      mkDerivation {
@@ -126829,6 +129355,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "nfc" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, nfc }:
+     mkDerivation {
+       pname = "nfc";
+       version = "0.0.1";
+       sha256 = "524f46e2ccaacf26cd6058fbd7b1e9a27aa62a3338154d9209aa3b49d011d731";
+       libraryHaskellDepends = [ base bytestring ];
+       librarySystemDepends = [ nfc ];
+       libraryToolDepends = [ c2hs ];
+       homepage = "https://github.com/centromere/nfc#readme";
+       description = "libnfc bindings";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {nfc = null;};
+
   "ngrams-loader" = callPackage
     ({ mkDerivation, attoparsec, base, machines, mtl, parseargs
      , resourcet, sqlite-simple, text
@@ -126853,8 +129394,8 @@ self: {
     ({ mkDerivation, async, base, bytestring, template-haskell, unix }:
      mkDerivation {
        pname = "ngx-export";
-       version = "0.2.5.0";
-       sha256 = "160e9f29ddc659a39c96de3971de7086528f608e372912a3f4e5b5f11a94590b";
+       version = "0.2.5.1";
+       sha256 = "d61e25c00736a33cd5f16555751047fb5e1d79cdc606622f4cba400c6f3df008";
        libraryHaskellDepends = [
          async base bytestring template-haskell unix
        ];
@@ -127820,22 +130361,20 @@ self: {
      }) {};
 
   "numerals" = callPackage
-    ({ mkDerivation, base, base-unicode-symbols, containers
-     , containers-unicode-symbols, fingertree, HUnit, integer-gmp
+    ({ mkDerivation, base, containers, fingertree, HUnit, integer-gmp
      , QuickCheck, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text
      }:
      mkDerivation {
        pname = "numerals";
-       version = "0.4";
-       sha256 = "15139b63ec44ce2c308176c96184b3b2d94537f64298a1e128c32e641ca77dba";
+       version = "0.4.1";
+       sha256 = "d2a46b9535bd57ed386adad95e145da4c3e72f595328ebd61302e3887583e1d2";
        libraryHaskellDepends = [
-         base base-unicode-symbols containers containers-unicode-symbols
-         fingertree integer-gmp text
+         base containers fingertree integer-gmp text
        ];
        testHaskellDepends = [
-         base base-unicode-symbols HUnit integer-gmp QuickCheck
-         test-framework test-framework-hunit test-framework-quickcheck2 text
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text
        ];
        homepage = "https://github.com/roelvandijk/numerals";
        description = "Convert numbers to number words";
@@ -128116,6 +130655,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "nvim-hs-ghcid" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , ghcid, nvim-hs, nvim-hs-contrib, resourcet, yaml
+     }:
+     mkDerivation {
+       pname = "nvim-hs-ghcid";
+       version = "0.1.0";
+       sha256 = "c0f900633873759e49a08be61d8c91c1507f95b2e108d39d1d517adf9adc7bde";
+       libraryHaskellDepends = [
+         base bytestring containers directory filepath ghcid nvim-hs
+         nvim-hs-contrib resourcet yaml
+       ];
+       homepage = "https://github.com/saep/nvim-hs-ghcid";
+       description = "Neovim plugin that runs ghcid to update the quickfix list";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "nvvm" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, Cabal, cuda, directory
      , filepath, template-haskell
@@ -128277,15 +130833,17 @@ self: {
      }) {};
 
   "obdd" = callPackage
-    ({ mkDerivation, array, base, containers, mtl, process, random }:
+    ({ mkDerivation, array, base, containers, ersatz, mtl
+     , process-extras, random, text
+     }:
      mkDerivation {
        pname = "obdd";
-       version = "0.6.1";
-       sha256 = "0db47df8588a5ffd6a925cf4d21c3e313aac9ec8ced2461dfddbfafb38ba1053";
+       version = "0.8.1";
+       sha256 = "424ea2a11af22e0fe640b66af177b355024acabf99a1ee63d27b16e3355e8e11";
        libraryHaskellDepends = [
-         array base containers mtl process random
+         array base containers ersatz mtl process-extras random text
        ];
-       testHaskellDepends = [ array base containers ];
+       testHaskellDepends = [ array base containers text ];
        homepage = "https://github.com/jwaldmann/haskell-obdd";
        description = "Ordered Reduced Binary Decision Diagrams";
        license = "GPL";
@@ -128414,15 +130972,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "octane_0_18_0" = callPackage
+  "octane_0_18_2" = callPackage
     ({ mkDerivation, aeson, base, bimap, binary, bytestring, containers
      , data-default-class, file-embed, http-client, http-client-tls
      , overloaded-records, rattletrap, text
      }:
      mkDerivation {
        pname = "octane";
-       version = "0.18.0";
-       sha256 = "cf92a63584772d60388b550d93d73f08bac3a26b21c4ad2dc6003837e1e9674f";
+       version = "0.18.2";
+       sha256 = "4fcd5e5f2b01eee2e382bdf701617129500cce1d4302fa265d52c15edcfa34a0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -128888,13 +131446,15 @@ self: {
      }) {};
 
   "one-liner" = callPackage
-    ({ mkDerivation, base, contravariant, ghc-prim, transformers }:
+    ({ mkDerivation, base, contravariant, ghc-prim, profunctors
+     , transformers
+     }:
      mkDerivation {
        pname = "one-liner";
-       version = "0.5.2";
-       sha256 = "9b2332118fd4e8ce127b11989b73af2a9812c98bbf1e2dfa762c718561b6df79";
+       version = "0.6";
+       sha256 = "40b4ed5de04d7f32a1297c33eedc971abd0652c156cfb89172fbeccdeda1e17f";
        libraryHaskellDepends = [
-         base contravariant ghc-prim transformers
+         base contravariant ghc-prim profunctors transformers
        ];
        homepage = "https://github.com/sjoerdvisscher/one-liner";
        description = "Constraint-based generics";
@@ -130123,17 +132683,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "optparse-generic_1_1_3" = callPackage
-    ({ mkDerivation, base, bytestring, optparse-applicative
+  "optparse-generic_1_1_4" = callPackage
+    ({ mkDerivation, base, bytestring, optparse-applicative, semigroups
      , system-filepath, text, time, transformers, void
      }:
      mkDerivation {
        pname = "optparse-generic";
-       version = "1.1.3";
-       sha256 = "aa999234f55296f2c82a05f2ba9e7e418065ae60c826569e6590f021be7321a0";
+       version = "1.1.4";
+       sha256 = "dc69bc73d6e3de52bcc5c4ccd8ce741eebb8d10747bc7f819b38b0cdaf1e520c";
        libraryHaskellDepends = [
-         base bytestring optparse-applicative system-filepath text time
-         transformers void
+         base bytestring optparse-applicative semigroups system-filepath
+         text time transformers void
        ];
        description = "Auto-generate a command-line parser for your datatype";
        license = stdenv.lib.licenses.bsd3;
@@ -130279,13 +132839,13 @@ self: {
      }:
      mkDerivation {
        pname = "order-maintenance";
-       version = "0.1.1.1";
-       sha256 = "9b00674ed6902afcc455a1a2fce9c1b919a4c3b5ef5ec299726447137a25934c";
+       version = "0.2.1.0";
+       sha256 = "c959d8aa67f1cf47e15adfe650ba864f590deef451485e2048ebbe64a77a4b39";
        libraryHaskellDepends = [ base containers transformers ];
        testHaskellDepends = [
          base Cabal cabal-test-quickcheck containers QuickCheck transformers
        ];
-       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/order-maintenance";
+       homepage = "http://hackage.haskell.org/package/order-maintenance";
        description = "Algorithms for the order maintenance problem with a safe interface";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -130332,6 +132892,17 @@ self: {
        license = "unknown";
      }) {};
 
+  "ordered-containers" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "ordered-containers";
+       version = "0.1.0";
+       sha256 = "cb089747cfffd5affedcd08a7e7fed02e5dd90defb513e84440b76f307f35587";
+       libraryHaskellDepends = [ base containers ];
+       description = "Set- and Map-like types that remember the order elements were inserted";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "orders" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -130624,6 +133195,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "overload" = callPackage
+    ({ mkDerivation, base, containers, simple-effects, template-haskell
+     , th-expand-syns
+     }:
+     mkDerivation {
+       pname = "overload";
+       version = "0.1.0.1";
+       sha256 = "6583c3c90021bc42bf93d8a287fd81970270f05f423b961a35ac06e11f35af6e";
+       libraryHaskellDepends = [
+         base containers simple-effects template-haskell th-expand-syns
+       ];
+       homepage = "https://gitlab.com/LukaHorvat/overload";
+       description = "Finite overloading";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "overloaded-records" = callPackage
     ({ mkDerivation, base, data-default-class, HUnit, template-haskell
      , test-framework, test-framework-hunit
@@ -131118,6 +133705,8 @@ self: {
        pname = "pandoc";
        version = "1.19.1";
        sha256 = "9d22db0a1536de0984f4a605f1a28649e68d540e6d892947d9644987ecc4172a";
+       revision = "2";
+       editedCabalFile = "6282ee80ee941d2c5582eb81a0c269df6e0d9267912fc85f00b40b5ec35a472c";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -131161,6 +133750,8 @@ self: {
        pname = "pandoc-citeproc";
        version = "0.10.3";
        sha256 = "2f6233ff91a9fb08edfb0ac2b4ec40729d87590a7c557d0452674dd3c7df4d58";
+       revision = "1";
+       editedCabalFile = "aacaeb9d3fbf64d0bf21ff2f7cd6becc58160c9bcf2923431fe78d19eaf1aeb3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131188,8 +133779,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc-preamble";
-       version = "1.2.1";
-       sha256 = "99e0988741a8b820ca951b2aabc35d251119c84e0a8245bf0c9b55cbe0e22121";
+       version = "1.2.2";
+       sha256 = "ee496f052eea0ad9a881d8056025f04cd83ec9773d695e15220151c33890579c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -131316,6 +133907,7 @@ self: {
        homepage = "https://github.com/mb21/pandoc-placetable";
        description = "Pandoc filter to include CSV files";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pandoc-plantuml-diagrams" = callPackage
@@ -131383,6 +133975,8 @@ self: {
        pname = "pandoc-types";
        version = "1.17.0.4";
        sha256 = "531996e547714e34a2e4134e9e80dad9929bbc6814ebb5515f95538fa76c3f74";
+       revision = "1";
+       editedCabalFile = "9ede2044ebbf4fbb7e8244d7f458988178d7bad81e566e8c8a2bc1793ee3d27d";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq ghc-prim QuickCheck syb
        ];
@@ -131607,6 +134201,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "paphragen" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "paphragen";
+       version = "0.2.0.0";
+       sha256 = "b892b2e8cbeafe41b8c7dcdfd39c46c5049c99f02ccd3ff6dfb09d623a58fc7e";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base bytestring containers ];
+       description = "A passphrase generator";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "papillon" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, monads-tf
      , template-haskell, transformers
@@ -132017,6 +134624,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "parsec-numeric" = callPackage
+    ({ mkDerivation, base, bytestring, parsec, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-th, text
+     }:
+     mkDerivation {
+       pname = "parsec-numeric";
+       version = "0.1.0.0";
+       sha256 = "7bdd9ae4aa63695e3072c73d99b85ef1572ffe9f5a07621edaa9515393a6e52f";
+       libraryHaskellDepends = [ base parsec ];
+       testHaskellDepends = [
+         base bytestring parsec tasty tasty-hunit tasty-quickcheck tasty-th
+         text
+       ];
+       homepage = "https://github.com/AndrewRademacher/parsec-numeric";
+       description = "Parsec combinators for parsing Haskell numeric types";
+       license = "unknown";
+     }) {};
+
   "parsec-parsers" = callPackage
     ({ mkDerivation, base, directory, doctest, filepath, parsec
      , parsers
@@ -132514,8 +135139,8 @@ self: {
      }:
      mkDerivation {
        pname = "patat";
-       version = "0.4.5.0";
-       sha256 = "d60fb0d72ad518e3f3cf49fe6576ad5f2c1f371d75884394791fe2dcf417c5c9";
+       version = "0.4.6.0";
+       sha256 = "166d22f0e1cc2c3e965b84556c07a8ce51537b36aa5ff07d7fd4893a5bcdfd01";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -132622,6 +135247,26 @@ self: {
        pname = "path-io";
        version = "1.2.0";
        sha256 = "cb8bfb9fca81eb0f0f9b81761cc5a6edc61204e2c630f7277173147cf149336f";
+       revision = "1";
+       editedCabalFile = "bf7a036207155e1b752828736f43541ad0c20a5e780cd17fdec823a5be07da83";
+       libraryHaskellDepends = [
+         base containers directory exceptions filepath path temporary time
+         transformers unix-compat
+       ];
+       testHaskellDepends = [ base exceptions hspec path unix-compat ];
+       homepage = "https://github.com/mrkkrp/path-io";
+       description = "Interface to ‘directory’ package for users of ‘path’";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "path-io_1_2_2" = callPackage
+    ({ mkDerivation, base, containers, directory, exceptions, filepath
+     , hspec, path, temporary, time, transformers, unix-compat
+     }:
+     mkDerivation {
+       pname = "path-io";
+       version = "1.2.2";
+       sha256 = "72255f9d014285c87dd4c537f445a5448b2b64e81c4ee4759464b4b0e401fe46";
        libraryHaskellDepends = [
          base containers directory exceptions filepath path temporary time
          transformers unix-compat
@@ -132630,6 +135275,7 @@ self: {
        homepage = "https://github.com/mrkkrp/path-io";
        description = "Interface to ‘directory’ package for users of ‘path’";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "path-pieces" = callPackage
@@ -132815,6 +135461,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "paypal-rest-client" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, country-codes
+     , Decimal, http-client, http-types, lens, safe, text, time, wreq
+     }:
+     mkDerivation {
+       pname = "paypal-rest-client";
+       version = "0.1.0";
+       sha256 = "a39bac4d5929b4fa26f41698d252edd2ae584d1191746dafa65a84cf15ef01d9";
+       libraryHaskellDepends = [
+         aeson base bytestring containers country-codes Decimal http-client
+         http-types lens safe text time wreq
+       ];
+       homepage = "https://github.com/meoblast001/paypal-rest-client";
+       description = "A client to connect to PayPal's REST API (v1)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "pb" = callPackage
     ({ mkDerivation, base, containers, HTTP, network, process }:
      mkDerivation {
@@ -133034,6 +135697,48 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pdf-slave" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , containers, directory, exceptions, haskintex, HaTeX
+     , optparse-applicative, pdf-slave-template, shelly, system-filepath
+     , text, transformers, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "pdf-slave";
+       version = "1.3.0.0";
+       sha256 = "0020adc44e21938637c5fe7f69bf7ff714b5773654a74ff2c0ff544bf934f5b9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring containers directory
+         exceptions haskintex HaTeX pdf-slave-template shelly
+         system-filepath unordered-containers yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring optparse-applicative pdf-slave-template
+         shelly system-filepath text transformers yaml
+       ];
+       homepage = "https://github.com/NCrashed/pdf-slave#readme";
+       description = "Tool to generate PDF from haskintex templates and YAML input";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pdf-slave-template" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , containers, text
+     }:
+     mkDerivation {
+       pname = "pdf-slave-template";
+       version = "1.2.0.0";
+       sha256 = "63acbe9eb391f698d8428f40cffcf8f3a2f483cd460c8c45d50e297a11b92531";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring containers text
+       ];
+       homepage = "https://github.com/ncrashed/pdf-slave#readme";
+       description = "Template format definition for pdf-slave tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pdf-toolbox-content" = callPackage
     ({ mkDerivation, attoparsec, base, base16-bytestring, bytestring
      , containers, io-streams, pdf-toolbox-core, text
@@ -133196,6 +135901,8 @@ self: {
        pname = "peano";
        version = "0.1.0.1";
        sha256 = "31fdd23993a76155738224a7b230a1a6fcfde091b2fbc945df4cb54068eeec7b";
+       revision = "1";
+       editedCabalFile = "544dd9ba3e8a67303b376ebcd5c000bdcd977c67475c058a2579be75ce8ec469";
        libraryHaskellDepends = [ base ];
        description = "Peano numbers";
        license = "unknown";
@@ -133291,8 +135998,8 @@ self: {
      }:
      mkDerivation {
        pname = "pell";
-       version = "0.1.0.0";
-       sha256 = "addb0a4330e748f2d7fe4305acf7af5344f437208a90d6c7a637820679a4af6b";
+       version = "0.1.1.0";
+       sha256 = "5e2002920c97bddbe3047dbc2eba3ddadd3823c4ca137c4a1d3314cb12dc4ad4";
        libraryHaskellDepends = [ arithmoi base containers ];
        testHaskellDepends = [
          arithmoi base Cabal cabal-test-quickcheck containers primes
@@ -134091,8 +136798,8 @@ self: {
        pname = "persistent-template";
        version = "2.5.1.6";
        sha256 = "f88a8735173ba197f8d698a9c1fd5c649234fd60efe493f401432926a55e7b44";
-       revision = "1";
-       editedCabalFile = "85aabe4c402cc78cc71100fd9dc51b84c9e3cd6370c73983ee31a93dc73482ce";
+       revision = "2";
+       editedCabalFile = "18eae1801d9742facf54aada319dfde737a1cc758b39bb2f237a4d15c98b65c6";
        libraryHaskellDepends = [
          aeson aeson-compat base bytestring containers ghc-prim
          http-api-data monad-control monad-logger path-pieces persistent
@@ -134325,19 +137032,17 @@ self: {
      }) {};
 
   "pg-store" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, hspec, mtl
-     , postgresql-libpq, QuickCheck, template-haskell, text, time
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
+     , haskell-src-meta, mtl, postgresql-libpq, scientific
+     , template-haskell, text, time
      }:
      mkDerivation {
        pname = "pg-store";
-       version = "0.1.1";
-       sha256 = "5f8d688811e4e59accce33f43fe2168adb9a4809b794d6e27db028af605298af";
+       version = "0.2";
+       sha256 = "4824fbff41eb4dce8944afca1c3fac8716d77c4425ca04c1d8546876b51c83b6";
        libraryHaskellDepends = [
-         attoparsec base bytestring mtl postgresql-libpq template-haskell
-         text time
-       ];
-       testHaskellDepends = [
-         base bytestring hspec mtl postgresql-libpq QuickCheck text
+         aeson attoparsec base blaze-builder bytestring haskell-src-meta mtl
+         postgresql-libpq scientific template-haskell text time
        ];
        homepage = "https://github.com/vapourismo/pg-store";
        description = "Simple storage interface to PostgreSQL";
@@ -134383,16 +137088,17 @@ self: {
      }) {};
 
   "pgp-wordlist" = callPackage
-    ({ mkDerivation, base, bytestring, containers, HUnit, tasty
-     , tasty-hunit, tasty-quickcheck, text, vector
+    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
+     , HUnit, tasty, tasty-hunit, tasty-quickcheck, text, vector
      }:
      mkDerivation {
        pname = "pgp-wordlist";
-       version = "0.1.0.1";
-       sha256 = "a3dde976bc94fc83e8dce20cdafe673f5afdc741ac0360098ee8b415a0436d88";
+       version = "0.1.0.2";
+       sha256 = "e28b6fe85222adf1247d5870ab47c68c3d25df3f9ceda104bfb64e1414a92466";
        libraryHaskellDepends = [ base bytestring containers text vector ];
        testHaskellDepends = [
-         base bytestring HUnit tasty tasty-hunit tasty-quickcheck text
+         base bytestring deepseq doctest HUnit tasty tasty-hunit
+         tasty-quickcheck text
        ];
        homepage = "https://github.com/quchen/pgp-wordlist";
        description = "Translate between binary data and a human-readable collection of words";
@@ -134550,8 +137256,8 @@ self: {
      }:
      mkDerivation {
        pname = "phoityne-vscode";
-       version = "0.0.10.0";
-       sha256 = "6c002069fa4416c1767affe099102a031e495e74f7ff904ed3d14eef74335916";
+       version = "0.0.11.0";
+       sha256 = "d9d5e2b94ac48b2a7aaa50526b66dfe47de9c368147b64865c3dc2d65c17defb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -134823,8 +137529,10 @@ self: {
      }:
      mkDerivation {
        pname = "picologic";
-       version = "0.2.0";
-       sha256 = "eb831c0e385a43966849d75194418ac2823d2fad54cefc0eb29771e04d6c4e03";
+       version = "0.3.0";
+       sha256 = "130f67f8d018b4f988d434d37fa46d908d4d144ccbd005cfd2773a720ba25e4b";
+       revision = "1";
+       editedCabalFile = "e89ef8a03720c391eefc8a47c6f947a1b7f4a37762393f45923854e696fcb59b";
        libraryHaskellDepends = [
          base containers mtl parsec picosat pretty
        ];
@@ -134862,12 +137570,13 @@ self: {
      }) {};
 
   "picosat" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, containers, random, rdtsc, transformers }:
      mkDerivation {
        pname = "picosat";
-       version = "0.1.3";
-       sha256 = "374d64964bbb35d24bbc3908d9de38f0087d425b6f7ab90c88f870b865564fd2";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.4";
+       sha256 = "5a6d9fae04a77a95a8c92ec6dd76302010b726d8c934dc8d8bbabc82851e9039";
+       libraryHaskellDepends = [ base containers transformers ];
+       testHaskellDepends = [ base containers random rdtsc transformers ];
        homepage = "https://github.com/sdiehl/haskell-picosat";
        description = "Bindings to the PicoSAT solver";
        license = stdenv.lib.licenses.mit;
@@ -134944,7 +137653,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "pinboard_0_9_12_1" = callPackage
+  "pinboard_0_9_12_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hspec
      , http-client, http-client-tls, http-types, monad-logger, mtl
      , network, profunctors, QuickCheck, random, safe-exceptions
@@ -134953,8 +137662,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.9.12.1";
-       sha256 = "dd6303ec05b38e9b2af196d4efee5ee174fef62c960c2ad15943faef9d96d237";
+       version = "0.9.12.2";
+       sha256 = "f9c5dbf3206d0c0075704feb4582c58a5eb3ef4704ca7a2000c5c8d49dbeeec9";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-client-tls
          http-types monad-logger mtl network profunctors random
@@ -135056,14 +137765,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pipes_4_3_1" = callPackage
+  "pipes_4_3_2" = callPackage
     ({ mkDerivation, base, exceptions, mmorph, mtl, QuickCheck
      , test-framework, test-framework-quickcheck2, transformers
      }:
      mkDerivation {
        pname = "pipes";
-       version = "4.3.1";
-       sha256 = "35a6e296e04f992bcda28ffedf1774e23c866b6ac79025f50ee5226bda3fd001";
+       version = "4.3.2";
+       sha256 = "7957bb290db7f1dfad0581f363ab97fcd58f7c0b916e1114464cb9a398b8334a";
        libraryHaskellDepends = [
          base exceptions mmorph mtl transformers
        ];
@@ -135099,8 +137808,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-async";
-       version = "0.1.1";
-       sha256 = "e22358175e3c2c8f16bf17842e63e891931e792c3aafd2167bfc39baac1b14ac";
+       version = "0.1.2";
+       sha256 = "ec0ee9cfb5b958acd40f5fd7ba2073853eccc7c2701a14fc011118f3ee95d83d";
        libraryHaskellDepends = [
          base lifted-async lifted-base monad-control pipes pipes-safe stm
          transformers-base
@@ -135242,6 +137951,22 @@ self: {
        homepage = "https://github.com/centromere/pipes-cacophony";
        description = "Pipes for Noise-secured network connections";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pipes-cacophony_0_4_1" = callPackage
+    ({ mkDerivation, base, bytestring, cacophony, hlint, memory, pipes
+     }:
+     mkDerivation {
+       pname = "pipes-cacophony";
+       version = "0.4.1";
+       sha256 = "bcf15287c4ae951ed12e83c41795dfe212b87cc9b93420dc74783b44e54c5360";
+       libraryHaskellDepends = [ base bytestring cacophony memory pipes ];
+       testHaskellDepends = [ base hlint ];
+       homepage = "https://github.com/centromere/pipes-cacophony";
+       description = "Pipes for Noise-secured network connections";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-cellular" = callPackage
@@ -135524,6 +138249,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-http_1_0_5" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-client-tls
+     , pipes
+     }:
+     mkDerivation {
+       pname = "pipes-http";
+       version = "1.0.5";
+       sha256 = "49a196466de1638f3806a49bf10fef9eb3c06456ababf09ffd025b6b64f23055";
+       libraryHaskellDepends = [
+         base bytestring http-client http-client-tls pipes
+       ];
+       description = "HTTP client with pipes interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-illumina" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, pipes
      , pipes-bgzf
@@ -135764,6 +138505,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-random_1_0_0_3" = callPackage
+    ({ mkDerivation, base, mwc-random, pipes, vector }:
+     mkDerivation {
+       pname = "pipes-random";
+       version = "1.0.0.3";
+       sha256 = "729c3359e4f76048b0a9c656e4739c369619b8abce546a741f8d55e2a7b31193";
+       libraryHaskellDepends = [ base mwc-random pipes vector ];
+       description = "Producers for handling randomness";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-rt" = callPackage
     ({ mkDerivation, base, mwc-random, pipes, time }:
      mkDerivation {
@@ -136225,6 +138978,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "plan-applicative" = callPackage
+    ({ mkDerivation, base, bifunctors, comonad, containers, doctest
+     , profunctors, streaming, tasty, tasty-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "plan-applicative";
+       version = "2.0.0.1";
+       sha256 = "f350d72c315617d57f0747a108ab99f20daf6c960f80b7025687bf9fd5a9d758";
+       libraryHaskellDepends = [
+         base bifunctors comonad containers profunctors streaming
+         transformers
+       ];
+       testHaskellDepends = [
+         base bifunctors comonad containers doctest profunctors streaming
+         tasty tasty-hunit transformers
+       ];
+       description = "Applicative/Arrow for resource estimation and progress tracking";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "plan-b" = callPackage
     ({ mkDerivation, base, exceptions, hspec, path, path-io
      , transformers
@@ -136590,8 +139363,8 @@ self: {
      }:
      mkDerivation {
        pname = "ply-loader";
-       version = "0.4.2";
-       sha256 = "60adbcb9323fd221b70ed106b9c418636112e989b3364a2eb0227fefce47afaf";
+       version = "0.5.0";
+       sha256 = "70f93a7043531b095f2762fe819ae2ae26a1913c071f179f3e4e936d9223db6f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -137291,8 +140064,8 @@ self: {
      }:
      mkDerivation {
        pname = "pontarius-xmpp";
-       version = "0.5.3";
-       sha256 = "70b34c6cc581183752e04c967bd6b383b0d4a813badd412ece35bcc5bff991fd";
+       version = "0.5.4";
+       sha256 = "cea2e6207811d718e8a9c3ef7abb71ec4aba6ee77e9f749d9902b62a4b48b13a";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring binary bytestring conduit
          containers crypto-api crypto-random cryptohash cryptohash-cryptoapi
@@ -138406,8 +141179,8 @@ self: {
      }:
      mkDerivation {
        pname = "praglude";
-       version = "0.2.1.0";
-       sha256 = "6d0a637bccc13464149d75482e61ed8f10caf93d721d43f49e583032aad6d776";
+       version = "0.4.0.1";
+       sha256 = "70996dbad7defd09b26ad792150205f878c6158a372cc2544ea1bfd7d2a74dec";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring casing containers
          data-default deepseq directory filepath hashable lens mtl random
@@ -138419,6 +141192,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "preamble" = callPackage
+    ({ mkDerivation, aeson, base, basic-prelude, exceptions
+     , fast-logger, lens, monad-control, monad-logger, mtl, resourcet
+     , safe, shakers, template-haskell, text, text-manipulate, time
+     , transformers-base, unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "preamble";
+       version = "0.0.14";
+       sha256 = "6b01da606303e72bad6055d436e1c199ad58bb6c93efd89b8d4c43ad5aa6ff21";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base basic-prelude exceptions fast-logger lens monad-control
+         monad-logger mtl resourcet safe template-haskell text
+         text-manipulate time transformers-base unordered-containers uuid
+       ];
+       executableHaskellDepends = [ base shakers ];
+       homepage = "https://github.com/swift-nav/preamble";
+       description = "Yet another prelude";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "precis" = callPackage
     ({ mkDerivation, base, Cabal, containers, cpphs, directory
      , filepath, haskell-src-exts, xhtml
@@ -138973,6 +141769,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "pretty-simple" = callPackage
+    ({ mkDerivation, ansi-terminal, base, doctest, Glob, lens
+     , mono-traversable, mtl, parsec, semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "pretty-simple";
+       version = "0.3.0.0";
+       sha256 = "b34af2742904717e1a46c6aa9816eeffedc4aea67452f61dd98fb06aae1d4f0d";
+       libraryHaskellDepends = [
+         ansi-terminal base lens mono-traversable mtl parsec semigroups
+         transformers
+       ];
+       testHaskellDepends = [ base doctest Glob ];
+       homepage = "https://github.com/cdepillabout/pretty-simple";
+       description = "Simple pretty printer for any datatype with a 'Show' instance";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pretty-sop" = callPackage
     ({ mkDerivation, base, generics-sop, pretty-show }:
      mkDerivation {
@@ -139745,19 +142560,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "profiteur_0_4_0_0" = callPackage
+  "profiteur_0_4_1_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, filepath
-     , text, unordered-containers, vector
+     , js-jquery, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "profiteur";
-       version = "0.4.0.0";
-       sha256 = "8198f5905f8da27ada8c0bce0f5dab39bd1d7d8a802b70a974febc6366e7b91d";
+       version = "0.4.1.0";
+       sha256 = "c9e67c15761d06df8088cdbdfaf56a31f3b7b4c169e5c50418c8cd3a29fd8ef7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson attoparsec base bytestring filepath text unordered-containers
-         vector
+         aeson attoparsec base bytestring filepath js-jquery text
+         unordered-containers vector
        ];
        homepage = "http://github.com/jaspervdj/profiteur";
        description = "Treemap visualiser for GHC prof files";
@@ -140483,6 +143298,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "protolude-lifted" = callPackage
+    ({ mkDerivation, base, lifted-async, lifted-base, protolude }:
+     mkDerivation {
+       pname = "protolude-lifted";
+       version = "0.1.0.1";
+       sha256 = "1cf719477b66ad04fca3c5322fc3e9b27d6208bf677cbab84b4577cdce83364f";
+       libraryHaskellDepends = [
+         base lifted-async lifted-base protolude
+       ];
+       homepage = "https://github.com/pbogdan/protolude-lifted";
+       description = "Protolude with lifted-base and lifted-async";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "proton-haskell" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, HUnit
      , test-framework, test-framework-hunit
@@ -141213,7 +144042,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "purescript_0_10_3" = callPackage
+  "purescript_0_10_5" = callPackage
     ({ mkDerivation, aeson, aeson-better-errors, aeson-pretty
      , ansi-terminal, ansi-wl-pprint, base, base-compat, bower-json
      , boxes, bytestring, clock, containers, data-ordlist, directory
@@ -141222,16 +144051,16 @@ self: {
      , language-javascript, lens, lifted-base, monad-control
      , monad-logger, mtl, network, optparse-applicative, parallel
      , parsec, pattern-arrows, pipes, pipes-http, process, protolude
-     , regex-tdfa, safe, semigroups, silently, sourcemap, spdx, split
-     , stm, syb, system-filepath, text, time, transformers
+     , regex-tdfa, safe, scientific, semigroups, silently, sourcemap
+     , spdx, split, stm, syb, system-filepath, text, time, transformers
      , transformers-base, transformers-compat, turtle
      , unordered-containers, utf8-string, vector, wai, wai-websockets
      , warp, websockets
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.10.3";
-       sha256 = "261e2afde8bf1d58a9c9c23296b37b57dfcd47d4f25cc7798a36a6e73978c5c2";
+       version = "0.10.5";
+       sha256 = "0d36361819866efe703eb3ae37f597316098ec3ead6edc9236ea63d54bdc8916";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -141240,23 +144069,24 @@ self: {
          edit-distance filepath fsnotify Glob haskeline http-client
          http-types language-javascript lens lifted-base monad-control
          monad-logger mtl parallel parsec pattern-arrows pipes pipes-http
-         process protolude regex-tdfa safe semigroups sourcemap spdx split
-         stm syb text time transformers transformers-base
+         process protolude regex-tdfa safe scientific semigroups sourcemap
+         spdx split stm syb text time transformers transformers-base
          transformers-compat unordered-containers utf8-string vector
        ];
        executableHaskellDepends = [
          aeson aeson-pretty ansi-terminal ansi-wl-pprint base base-compat
          boxes bytestring containers directory file-embed filepath foldl
          Glob haskeline http-types monad-logger mtl network
-         optparse-applicative parsec process protolude split stm
+         optparse-applicative parsec process protolude sourcemap split stm
          system-filepath text time transformers transformers-compat turtle
          utf8-string wai wai-websockets warp websockets
        ];
        testHaskellDepends = [
-         aeson aeson-better-errors base base-compat boxes bytestring
-         containers directory filepath Glob haskeline hspec hspec-discover
-         HUnit mtl optparse-applicative parsec process protolude silently
-         stm text time transformers transformers-compat utf8-string vector
+         aeson aeson-better-errors base base-compat bower-json boxes
+         bytestring containers directory filepath Glob haskeline hspec
+         hspec-discover HUnit mtl optparse-applicative parsec process
+         protolude silently stm text time transformers transformers-compat
+         utf8-string vector
        ];
        doCheck = false;
        homepage = "http://www.purescript.org/";
@@ -141286,6 +144116,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "purescript-bridge_0_8_0_1" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , generic-deriving, hspec, hspec-expectations-pretty-diff, lens
+     , mtl, text, transformers
+     }:
+     mkDerivation {
+       pname = "purescript-bridge";
+       version = "0.8.0.1";
+       sha256 = "ab3cf87f637053e0378ca266166e5699ae4acfb5f404dae9ac4a793890124329";
+       libraryHaskellDepends = [
+         base containers directory filepath generic-deriving lens mtl text
+         transformers
+       ];
+       testHaskellDepends = [
+         base containers hspec hspec-expectations-pretty-diff text
+       ];
+       description = "Generate PureScript data types from Haskell data types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "purescript-bundle-fast" = callPackage
     ({ mkDerivation, base, containers, directory, filepath
      , optparse-applicative, text, vector
@@ -141412,12 +144263,11 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-http-haskell";
-       version = "1.1.0.3";
-       sha256 = "7c70330d247624caaac8d2569735728a375d06a813ae1dc2a240707c4149caab";
+       version = "1.1.0.4";
+       sha256 = "7d52cf0d179e2585c82f1f223e9c6cedbc4c8d1489348d55ec89bc10f7087251";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptohash hashable
-         http-client http-types QuickCheck text time transformers
-         unordered-containers
+         http-client http-types text time transformers unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring hspec http-client http-types QuickCheck text
@@ -141789,24 +144639,48 @@ self: {
 
   "qr-imager" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cryptonite, directory
-     , haskell-qrencode, jose-jwt, JuicyPixels, lens, vector
+     , haskell-qrencode, jose-jwt, JuicyPixels, lens, MissingH
+     , optparse-applicative, process, vector
      }:
      mkDerivation {
        pname = "qr-imager";
-       version = "0.1.0.0";
-       sha256 = "400145049487f03edc3d249bf44afa596db328e98f1e616c378a83f32fbd129a";
+       version = "0.2.1.2";
+       sha256 = "0830675a25f49cdb3322304feb90e0779536fdbcea805e5ddca2328ae5a07c39";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring cryptonite directory haskell-qrencode
-         jose-jwt JuicyPixels lens vector
+         jose-jwt JuicyPixels lens MissingH optparse-applicative process
+         vector
        ];
-       executableHaskellDepends = [ base bytestring ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base process ];
        homepage = "https://github.com/vmchale/QRImager#readme";
        description = "Library to generate QR codes from bytestrings and objects";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "qr-repa" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cryptonite, directory
+     , haskell-qrencode, jose-jwt, lens, repa, repa-devil, vector
+     }:
+     mkDerivation {
+       pname = "qr-repa";
+       version = "0.1.0.0";
+       sha256 = "5e84243d64121ddc9ed8554a5783680abb2a228846744bd64ce36e2c90776d37";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cryptonite directory haskell-qrencode
+         jose-jwt lens repa repa-devil vector
+       ];
+       executableHaskellDepends = [ base bytestring ];
+       homepage = "https://github.com/vmchale/QRRepa#readme";
+       description = "Library to generate QR codes from bytestrings and objects and scale image files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "qrcode" = callPackage
     ({ mkDerivation, array, base, containers, mtl, vector }:
      mkDerivation {
@@ -141838,12 +144712,12 @@ self: {
          qtc_opengl = null; qtc_script = null; qtc_tools = null;};
 
   "qtah-cpp-qt5" = callPackage
-    ({ mkDerivation, base, qtah-generator, qtbase }:
+    ({ mkDerivation, base, process, qtah-generator, qtbase }:
      mkDerivation {
        pname = "qtah-cpp-qt5";
-       version = "0.1.2";
-       sha256 = "1a99a2c0c5eb8cb60d162298600ee2bba993ce3224ac412cf9eeec386503e258";
-       libraryHaskellDepends = [ base qtah-generator ];
+       version = "0.2.0";
+       sha256 = "d6daf6813855a41d87884cfba1afd21f100aeb5581dbc0edd4148c3a7e77efda";
+       libraryHaskellDepends = [ base process qtah-generator ];
        librarySystemDepends = [ qtbase ];
        homepage = "http://khumba.net/projects/qtah";
        description = "Qt bindings for Haskell - C++ library";
@@ -141857,8 +144731,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-examples";
-       version = "0.1.2";
-       sha256 = "eebe064bfa0b93dd850c127632ca59ffa8f269f886ec7e247ec22530e007b442";
+       version = "0.2.0";
+       sha256 = "a2f8e4b352742f97beae28eae0a5d8adbb939b51654274a7e26e3769b2f5f835";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -141872,18 +144746,18 @@ self: {
 
   "qtah-generator" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, haskell-src
-     , hoppy-generator, hoppy-std, mtl, process
+     , hoppy-generator, hoppy-std, mtl, process, transformers
      }:
      mkDerivation {
        pname = "qtah-generator";
-       version = "0.1.2";
-       sha256 = "77ef82acf21be83855ad04c40dfe6aa66439eb6f42f58774687c9d4f5f94c56f";
+       version = "0.2.1";
+       sha256 = "e478535736e46ab6e373dc32993ee139043b64bbe05197d8a8fbc674174b2fef";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
        executableHaskellDepends = [
          base containers directory filepath haskell-src hoppy-generator
-         hoppy-std mtl process
+         hoppy-std mtl process transformers
        ];
        doHaddock = false;
        homepage = "http://khumba.net/projects/qtah";
@@ -141898,8 +144772,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-qt5";
-       version = "0.1.2";
-       sha256 = "320c98e0d90381f56ce992fea845839bd966e030d6afa066c83123d40c73da5e";
+       version = "0.2.0";
+       sha256 = "8647a34799bb129436c91a566b6d18ca728fd5943bdebbfc12d90871bc16c68a";
        libraryHaskellDepends = [
          base binary bytestring hoppy-runtime qtah-cpp-qt5 qtah-generator
        ];
@@ -142263,8 +145137,8 @@ self: {
        pname = "quickcheck-instances";
        version = "0.3.12";
        sha256 = "ddd5b988da50eff7f56737bff516fba52309f7461297698f04f1e8aaee9f9bf3";
-       revision = "1";
-       editedCabalFile = "ef9ca080de8bb79d892628abe3ccbd92a61f77fffa633942ee3e4da0d8819657";
+       revision = "2";
+       editedCabalFile = "4321c16dfe0d3c08bba1425d1058261b4b8b553ea5c5c01bd982c9d9e23b39ec";
        libraryHaskellDepends = [
          array base bytestring containers hashable old-time QuickCheck
          scientific text time unordered-containers vector
@@ -142615,8 +145489,8 @@ self: {
      }:
      mkDerivation {
        pname = "quipper";
-       version = "0.8.1";
-       sha256 = "69dad741fde6f2fb2d3c9497a93f6c31a90f1150205c2cc11c02455d501a2c8c";
+       version = "0.8.2";
+       sha256 = "c030e997cb6960b6125402c03e46d48e582b6eea28ffe9712c27a66366bd8f99";
        libraryHaskellDepends = [
          base containers directory easyrender mtl primes process random
          template-haskell unix
@@ -142627,6 +145501,39 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "quipper-core" = callPackage
+    ({ mkDerivation, base, containers, mtl, primes, random
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "quipper-core";
+       version = "0.8.0.1";
+       sha256 = "17d0361ed260f16cce989175164d3b81ba0af1c5970bf91a4aebcca21ef0e163";
+       libraryHaskellDepends = [
+         base containers mtl primes random template-haskell
+       ];
+       homepage = "http://www.mathstat.dal.ca/~selinger/quipper/";
+       description = "An embedded, scalable functional programming language for quantum computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quipper-rendering" = callPackage
+    ({ mkDerivation, base, containers, directory, easyrender, mtl
+     , primes, process, quipper-core, random, template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "quipper-rendering";
+       version = "0.8";
+       sha256 = "c73ecbaad5d95e78f4b86fb39d764512ac2d025876bed86564fe3bb3a890107c";
+       libraryHaskellDepends = [
+         base containers directory easyrender mtl primes process
+         quipper-core random template-haskell unix
+       ];
+       homepage = "http://www.mathstat.dal.ca/~selinger/quipper/";
+       description = "An embedded, scalable functional programming language for quantum computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "quiver" = callPackage
     ({ mkDerivation, base, mmorph, transformers }:
      mkDerivation {
@@ -142975,16 +145882,17 @@ self: {
 
   "raft" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
-     , containers, data-default, ghc-prim, mtl, parallel, scientific
-     , split, text, time, tostring, zlib
+     , cereal, containers, data-default, ghc-prim, mtl, parallel
+     , scientific, split, stm, text, time, tostring, zlib
      }:
      mkDerivation {
        pname = "raft";
-       version = "0.3.7.2";
-       sha256 = "40c46755aa43abd764d59610b7b8a7af75b5e5efe7c509c34ede6a157ee2a0e9";
+       version = "0.3.11.0";
+       sha256 = "e8aff884bcc2cdc6d8200f834a9d9f8b2d38646895af4e03589c6ae6e07e8465";
        libraryHaskellDepends = [
-         aeson attoparsec base binary bytestring containers data-default
-         ghc-prim mtl parallel scientific split text time tostring zlib
+         aeson attoparsec base binary bytestring cereal containers
+         data-default ghc-prim mtl parallel scientific split stm text time
+         tostring zlib
        ];
        homepage = "https://bitbucket.org/functionally/raft";
        description = "Miscellaneous Haskell utilities for data structures and data manipulation";
@@ -143094,6 +146002,8 @@ self: {
        pname = "raketka";
        version = "1.1.1";
        sha256 = "00de213d145e568d11272776d9c394339aee1b28358995cffb606056bf3c1572";
+       revision = "1";
+       editedCabalFile = "5f63d0731a5172a670fd30076cd7081a63c0237dd940a2d7938a12c6c1fdbea9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -143109,7 +146019,7 @@ self: {
        ];
        testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://github.com/ciez/raketka";
-       description = "basic distributed-process node with configurable peers";
+       description = "distributed-process node";
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
@@ -143581,6 +146491,180 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rapid-term" = callPackage
+    ({ mkDerivation, ansi-terminal, base, clock, kan-extensions
+     , process, transformers, unix
+     }:
+     mkDerivation {
+       pname = "rapid-term";
+       version = "0.1.1";
+       sha256 = "49cb96ef27649b3caf9fbac4a293f03ac884dd1ed0e96a3f0b6749ad1e8ed1a0";
+       libraryHaskellDepends = [
+         ansi-terminal base clock kan-extensions process transformers unix
+       ];
+       homepage = "https://github.com/esoeylemez/rapid-term";
+       description = "External terminal support for rapid";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rasa" = callPackage
+    ({ mkDerivation, async, base, containers, data-default, lens, mtl
+     , text, text-lens, transformers, yi-rope
+     }:
+     mkDerivation {
+       pname = "rasa";
+       version = "0.1.3";
+       sha256 = "2247542b18000d21309747e55b65ccb6207dace606ad7e84166c46b7966caed1";
+       revision = "1";
+       editedCabalFile = "3677de9868bb117c8aa7845db9cbe0c614a8ec41e0f24efc50ccaff3963422db";
+       libraryHaskellDepends = [
+         async base containers data-default lens mtl text text-lens
+         transformers yi-rope
+       ];
+       homepage = "https://github.com/ChrisPenner/rasa#readme";
+       description = "A modular text editor";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-example-config" = callPackage
+    ({ mkDerivation, base, lens, mtl, rasa, rasa-ext-cursors
+     , rasa-ext-files, rasa-ext-logger, rasa-ext-slate
+     , rasa-ext-status-bar, rasa-ext-style, rasa-ext-vim
+     }:
+     mkDerivation {
+       pname = "rasa-example-config";
+       version = "0.1.0.0";
+       sha256 = "5d3cbf04bb2b7a18bfc0ecc03d3c6ed72a23c45827291537d34938fdde21821a";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base lens mtl rasa rasa-ext-cursors rasa-ext-files rasa-ext-logger
+         rasa-ext-slate rasa-ext-status-bar rasa-ext-style rasa-ext-vim
+       ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Example user config for Rasa";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-ext-cmd" = callPackage
+    ({ mkDerivation, base, containers, data-default, lens, rasa, text
+     }:
+     mkDerivation {
+       pname = "rasa-ext-cmd";
+       version = "0.1.0.0";
+       sha256 = "91efb87afe1a4c9d610c450742f623ff1170957327856ef4265754e1ed4d8123";
+       libraryHaskellDepends = [
+         base containers data-default lens rasa text
+       ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Rasa Ext for running commands";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-ext-cursors" = callPackage
+    ({ mkDerivation, base, data-default, lens, mtl, rasa
+     , rasa-ext-style, text, text-lens, yi-rope
+     }:
+     mkDerivation {
+       pname = "rasa-ext-cursors";
+       version = "0.1.0.0";
+       sha256 = "3d53163dcf3b5d1f897f0c006f83a1ea71306dad3ed2fefc4f7af21a2ff7fda6";
+       libraryHaskellDepends = [
+         base data-default lens mtl rasa rasa-ext-style text text-lens
+         yi-rope
+       ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Rasa Ext adding cursor(s)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-ext-files" = callPackage
+    ({ mkDerivation, base, data-default, lens, rasa, rasa-ext-cmd
+     , rasa-ext-status-bar, text
+     }:
+     mkDerivation {
+       pname = "rasa-ext-files";
+       version = "0.1.0.0";
+       sha256 = "9bfc3d47df893b23e4259887f95078b81fc9bfb489d9ce96d232f4ecdb39c3a4";
+       libraryHaskellDepends = [
+         base data-default lens rasa rasa-ext-cmd rasa-ext-status-bar text
+       ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Rasa Ext for filesystem actions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-ext-logger" = callPackage
+    ({ mkDerivation, base, lens, mtl, rasa }:
+     mkDerivation {
+       pname = "rasa-ext-logger";
+       version = "0.1.0.0";
+       sha256 = "4d951f1c54328715c3e923c1f89c833f687bb291e4d7af1ac563c77d8606e3e0";
+       libraryHaskellDepends = [ base lens mtl rasa ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Rasa Ext for logging state/actions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-ext-slate" = callPackage
+    ({ mkDerivation, base, lens, rasa, rasa-ext-logger
+     , rasa-ext-status-bar, rasa-ext-style, text, vty, yi-rope
+     }:
+     mkDerivation {
+       pname = "rasa-ext-slate";
+       version = "0.1.0.0";
+       sha256 = "75d5c973d41acc016e4f3aa87f0babfb2cfd0d979a848da6a6fb8c9d3c6e4eb9";
+       libraryHaskellDepends = [
+         base lens rasa rasa-ext-logger rasa-ext-status-bar rasa-ext-style
+         text vty yi-rope
+       ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Rasa extension for rendering to terminal with vty";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-ext-status-bar" = callPackage
+    ({ mkDerivation, base, data-default, lens, rasa, text }:
+     mkDerivation {
+       pname = "rasa-ext-status-bar";
+       version = "0.1.0.0";
+       sha256 = "20791e8facaf3e452c1bdc60e8d519169f50a34213a8cdbd6503cb838c550c71";
+       libraryHaskellDepends = [ base data-default lens rasa text ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Rasa Ext for populating status-bar";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-ext-style" = callPackage
+    ({ mkDerivation, base, data-default, lens, rasa }:
+     mkDerivation {
+       pname = "rasa-ext-style";
+       version = "0.1.0.0";
+       sha256 = "496afd72cdbfca75bf530c022e5ad7bbcfd7878e1373ec497ec864a3e7beaee0";
+       libraryHaskellDepends = [ base data-default lens rasa ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Rasa Ext managing rendering styles";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasa-ext-vim" = callPackage
+    ({ mkDerivation, base, data-default, lens, mtl, rasa
+     , rasa-ext-cursors, rasa-ext-files, rasa-ext-status-bar, text
+     , text-lens, yi-rope
+     }:
+     mkDerivation {
+       pname = "rasa-ext-vim";
+       version = "0.1.0.0";
+       sha256 = "3e936fe4fca11737f9983db671d2c94f240aa95d81d934b93e4d211575d8d045";
+       libraryHaskellDepends = [
+         base data-default lens mtl rasa rasa-ext-cursors rasa-ext-files
+         rasa-ext-status-bar text text-lens yi-rope
+       ];
+       homepage = "https://github.com/ChrisPenner/rasa/";
+       description = "Rasa Ext for vim bindings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "rascal" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, containers, curl
      , curl-aeson, directory, filepath, HUnit, mtl, process, QuickCheck
@@ -143695,6 +146779,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ratel_0_3_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, http-client, http-client-tls, http-types, tasty
+     , tasty-hspec, text, uuid
+     }:
+     mkDerivation {
+       pname = "ratel";
+       version = "0.3.2";
+       sha256 = "99b838c7d85208cd49fdf733d99ca29baafbb924f9db8a0d45ae88c15fc6ba73";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive containers http-client
+         http-client-tls http-types text uuid
+       ];
+       testHaskellDepends = [ base tasty tasty-hspec ];
+       homepage = "https://github.com/tfausak/ratel#readme";
+       description = "Notify Honeybadger about exceptions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ratel-wai" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , http-client, ratel, wai
@@ -143743,8 +146847,8 @@ self: {
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "2.0.0";
-       sha256 = "a58e5c7b1c5e8318ab552ac204248075cf1d8adb6024555f0b06d99de6c750ba";
+       version = "2.1.4";
+       sha256 = "e5513105bba4917caa18a41499b38a0d98114761207170674a9c559fb85ff0dc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -144447,8 +147551,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "read-bounded";
-       version = "0.1.1.0";
-       sha256 = "f310debaed6ede28440f1b177be6c5c6f281b7b3c0af9936bcb615d577d9d6a7";
+       version = "0.1.1.1";
+       sha256 = "fd9103522661982b366f89280e88c7ac8316eb6b892fa11a8645051da6859050";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/thomaseding/read-bounded";
        description = "Class for reading bounded values";
@@ -145181,8 +148285,8 @@ self: {
      }:
      mkDerivation {
        pname = "references";
-       version = "0.3.2.0";
-       sha256 = "67a5434a1b6b6021e4ac3c9c8c42521cf5bf922d07d26e925821e3fd4e5121fd";
+       version = "0.3.2.1";
+       sha256 = "184020e17d1f3e86bb9e350f9c4076a838f580c23d943801245ded92edd27624";
        libraryHaskellDepends = [
          array base containers directory either filepath instance-control
          mtl template-haskell text transformers uniplate
@@ -145190,6 +148294,7 @@ self: {
        testHaskellDepends = [
          array base containers directory either filepath HUnit
          instance-control lens mtl template-haskell text transformers
+         uniplate
        ];
        homepage = "https://github.com/lazac/references";
        description = "Selectors for reading and updating data";
@@ -145560,6 +148665,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "refresht" = callPackage
+    ({ mkDerivation, base, data-default, exceptions, lens, mtl }:
+     mkDerivation {
+       pname = "refresht";
+       version = "0.1.0.1";
+       sha256 = "5c910830cc9ee1272602d84ef8545f31120bf456205d18553e2e7cb8fc9c223e";
+       libraryHaskellDepends = [ base data-default exceptions lens mtl ];
+       homepage = "https://github.com/konn/refresht#readme";
+       description = "Environment Monad with automatic resource refreshment";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "refty" = callPackage
+    ({ mkDerivation, aeson, base, containers, text }:
+     mkDerivation {
+       pname = "refty";
+       version = "0.1.0.1";
+       sha256 = "621883d618e539b9938327e2faf09d36628a81db9ab051c7a4c07b644b7f5d28";
+       libraryHaskellDepends = [ aeson base containers text ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/oreshinya/refty";
+       description = "Formatted JSON generator for API server inspired by normalizr";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "regex-applicative" = callPackage
     ({ mkDerivation, base, containers, smallcheck, tasty, tasty-hunit
      , tasty-smallcheck, transformers
@@ -145664,10 +148794,8 @@ self: {
      }:
      mkDerivation {
        pname = "regex-do";
-       version = "3.1";
-       sha256 = "487ab5968208a0d7ad7b37016145e4a864dc35ae36976ea77328ae3d6b9d590b";
-       revision = "3";
-       editedCabalFile = "ca32ec1c90923370783cfe79bbdae877f4f98f8e816a32dde618874842c2f178";
+       version = "3.2";
+       sha256 = "a7e8a864ee66c2a37fbf4574153dd42ee727283f8f5d0d142f7946172131977b";
        libraryHaskellDepends = [
          array base bytestring regex-base regex-pcre stringsearch tagged
          text
@@ -147082,12 +150210,13 @@ self: {
     ({ mkDerivation, base, containers, haskeline, mtl, process }:
      mkDerivation {
        pname = "repline";
-       version = "0.1.5.0";
-       sha256 = "9e807cf92d5f8a8e68787f6d93597bac41ace50997305105451bf852ce7ce3a4";
+       version = "0.1.6.0";
+       sha256 = "61f800cecd9f2d1545164384c827dc4d1e49ce870be8c4547b41f3ebc0902a5b";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base containers haskeline mtl ];
+       libraryHaskellDepends = [ base containers haskeline mtl process ];
        executableHaskellDepends = [ base containers mtl process ];
+       homepage = "https://github.com/sdiehl/repline";
        description = "Haskeline wrapper for GHCi-like REPL interfaces";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -147204,22 +150333,20 @@ self: {
      }) {};
 
   "req" = callPackage
-    ({ mkDerivation, aeson, base, blaze-builder, bytestring
-     , case-insensitive, connection, data-default-class, hspec
-     , hspec-core, http-api-data, http-client, http-client-tls
+    ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
+     , bytestring, case-insensitive, connection, data-default-class
+     , hspec, hspec-core, http-api-data, http-client, http-client-tls
      , http-types, mtl, QuickCheck, text, time, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "req";
-       version = "0.1.0";
-       sha256 = "c93bae94d0b640f0d459a3da79c6021f7d8403099e9f08c35a2cddf64eea2269";
-       revision = "1";
-       editedCabalFile = "03f0eb9f9ae76f17e56ff02d4e1f42769c323183497c81f0c0cb2c721e0eed2f";
+       version = "0.2.0";
+       sha256 = "e64e56622f1ec06df83e2c8516effa49058b4d7196c28127ab98190cc320ebbc";
        libraryHaskellDepends = [
-         aeson base blaze-builder bytestring case-insensitive connection
-         data-default-class http-api-data http-client http-client-tls
-         http-types mtl text time transformers
+         aeson authenticate-oauth base blaze-builder bytestring
+         case-insensitive connection data-default-class http-api-data
+         http-client http-client-tls http-types mtl text time transformers
        ];
        testHaskellDepends = [
          aeson base blaze-builder bytestring case-insensitive
@@ -147240,6 +150367,8 @@ self: {
        pname = "req-conduit";
        version = "0.1.0";
        sha256 = "689a8592555b39859ab0d2e50b111217112d51077553dc7103d84afc865ca447";
+       revision = "1";
+       editedCabalFile = "2f7008556081fcfb641b008c499f0c12958f7ccdfbc62b8aa2c1459c7efb3e81";
        libraryHaskellDepends = [
          base bytestring conduit http-client req resourcet transformers
        ];
@@ -147356,6 +150485,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "resolve" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-binary, base, bv
+     , bytestring, hashable, hashmap, hslogger, iproute, network, parsec
+     , stm, stm-containers, transformers
+     }:
+     mkDerivation {
+       pname = "resolve";
+       version = "0.1.0.0";
+       sha256 = "4c011446e1cd2865abbcb3d4979f6bbd65d5bd4f54d11819b5a5777cb4b6aa39";
+       libraryHaskellDepends = [
+         attoparsec attoparsec-binary base bv bytestring hashable hashmap
+         hslogger iproute network parsec stm stm-containers transformers
+       ];
+       homepage = "https://github.com/riaqn/resolve#readme";
+       description = "A name resolusion library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "resolve-trivial-conflicts" = callPackage
     ({ mkDerivation, ansi-terminal, base, base-compat, Diff, directory
      , filepath, mtl, optparse-applicative, process, unix
@@ -147375,6 +150522,26 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "resolve-trivial-conflicts_0_3_2_4" = callPackage
+    ({ mkDerivation, ansi-terminal, base, base-compat, Diff, directory
+     , filepath, mtl, optparse-applicative, process, unix
+     }:
+     mkDerivation {
+       pname = "resolve-trivial-conflicts";
+       version = "0.3.2.4";
+       sha256 = "62c38ac7859b1f2201e0e79dbfc5d3446b4fb2fd4164cef8c016093f79ae2221";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         ansi-terminal base base-compat Diff directory filepath mtl
+         optparse-applicative process unix
+       ];
+       homepage = "https://github.com/ElastiLotem/resolve-trivial-conflicts";
+       description = "Remove trivial conflict markers in a git repository";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "resource-effect" = callPackage
     ({ mkDerivation, base, containers, extensible-effects, HUnit, mtl
      , QuickCheck, test-framework, test-framework-hunit
@@ -147497,6 +150664,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "resourcet_1_1_9" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
+     , mmorph, monad-control, mtl, transformers, transformers-base
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "resourcet";
+       version = "1.1.9";
+       sha256 = "5a1999d26b896603cab8121b77f36723dc50960291872b691ff4a9533e162ef5";
+       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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "respond" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, containers
      , data-default-class, exceptions, fast-logger, formatting, HList
@@ -147560,8 +150747,8 @@ self: {
        pname = "rest-core";
        version = "0.39";
        sha256 = "d760d0547fc1a99cd949dde08b7945fb93af24f4e55d45ecf410c352d5005404";
-       revision = "3";
-       editedCabalFile = "3b6cf8a675a2bf1f3e22fcf1a39e1658ce112e21b918ad28ace73cdf5dc70aa2";
+       revision = "4";
+       editedCabalFile = "261e22e228e0d1f042f24a0a9e784a7ed3ea44342006cb79cb7e4021f0e46b9a";
        libraryHaskellDepends = [
          aeson aeson-utils base base-compat bytestring case-insensitive
          errors fclabels hxt hxt-pickle-utils json-schema mtl mtl-compat
@@ -147641,8 +150828,8 @@ self: {
        pname = "rest-gen";
        version = "0.20.0.0";
        sha256 = "81a9486136f91773371858f9d3e248b80458e7d55aab11f17cc158c3ce68d542";
-       revision = "3";
-       editedCabalFile = "b1de24d30b40005298357ecadb54055f9842d8c1e3673feeb453a067a9f9a812";
+       revision = "4";
+       editedCabalFile = "df0abba48ce1b506060711b616a027680314c92960bdefca0f548eecc058e062";
        libraryHaskellDepends = [
          aeson base base-compat blaze-html Cabal code-builder directory
          fclabels filepath hashable haskell-src-exts HStringTemplate hxt
@@ -147702,8 +150889,8 @@ self: {
        pname = "rest-stringmap";
        version = "0.2.0.6";
        sha256 = "66e5a32f04cfcf9826296b3c053c22caa745fd890ccc6ea9199c34529507524a";
-       revision = "4";
-       editedCabalFile = "5ba1b7bef91969bc4d1319ab72e78b4063e1bbc9620787e7306b95b1390f9897";
+       revision = "5";
+       editedCabalFile = "40fd386dc256a7a2b53e188b69b202f6623a5baa93c04ac2fe5c5389adb250f1";
        libraryHaskellDepends = [
          aeson base containers hashable hxt json-schema tostring
          unordered-containers
@@ -147721,8 +150908,8 @@ self: {
        pname = "rest-types";
        version = "1.14.1.1";
        sha256 = "b7e08e65bbae20bd891f0905c9c785184182172094673ab13e66499e4fe3969a";
-       revision = "1";
-       editedCabalFile = "8e9eca95758568488ae115f3a807ef05d309e193ecac3e740569eb43de37fc22";
+       revision = "2";
+       editedCabalFile = "6f8ff48a58cd55fc871ee536eccd895b0f29a18fd52429791bff578ff8497a20";
        libraryHaskellDepends = [
          aeson base base-compat case-insensitive generic-aeson
          generic-xmlpickler hxt json-schema rest-stringmap text uuid
@@ -148572,23 +151759,27 @@ self: {
      }) {};
 
   "rncryptor" = callPackage
-    ({ mkDerivation, base, bytestring, cipher-aes, io-streams, mtl
-     , pbkdf, QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck
+    ({ mkDerivation, base, base16-bytestring, bytestring
+     , bytestring-arbitrary, cryptonite, fastpbkdf2, io-streams, memory
+     , mtl, QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck
+     , text
      }:
      mkDerivation {
        pname = "rncryptor";
-       version = "0.0.2.3";
-       sha256 = "465879f9e1209050820f939229ebea727d736071e46a19ea775aba8e0608e69f";
+       version = "0.3.0.0";
+       sha256 = "f7b14f165e0409f73d4ef257836199bcac7e4f7fca9ebfadf126f89a8c6de820";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring cipher-aes io-streams mtl pbkdf QuickCheck random
+         base bytestring cryptonite fastpbkdf2 io-streams memory mtl
+         QuickCheck random
        ];
        executableHaskellDepends = [
-         base bytestring cipher-aes io-streams
+         base bytestring cryptonite io-streams
        ];
        testHaskellDepends = [
-         base bytestring QuickCheck tasty tasty-hunit tasty-quickcheck
+         base base16-bytestring bytestring bytestring-arbitrary cryptonite
+         io-streams QuickCheck tasty tasty-hunit tasty-quickcheck text
        ];
        description = "Haskell implementation of the RNCryptor file format";
        license = stdenv.lib.licenses.mit;
@@ -148676,7 +151867,6 @@ self: {
        homepage = "http://github.com/agrafix/rocksdb-haskell";
        description = "Haskell bindings to RocksDB";
        license = stdenv.lib.licenses.bsd3;
-       platforms = [ "x86_64-linux" ];
      }) {inherit (pkgs) rocksdb;};
 
   "roguestar" = callPackage
@@ -149002,6 +152192,7 @@ self: {
        homepage = "https://github.com/RoboticsHS/rosmsg-bin#readme";
        description = "ROS message management tools";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rospkg" = callPackage
@@ -149969,6 +153160,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "safe-money" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, cereal
+     , constraints, deepseq, hashable, store, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "safe-money";
+       version = "0.2";
+       sha256 = "c328e6c36589ad133c8172ce82e64103ad1efd475b311b65a1e7e708dd651636";
+       libraryHaskellDepends = [
+         aeson base binary cereal constraints deepseq hashable store
+       ];
+       testHaskellDepends = [
+         aeson base binary bytestring cereal constraints deepseq hashable
+         store tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/k0001/safe-money";
+       description = "Type-safe and lossless encoding and manipulation of money, world currencies and precious metals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "safe-plugins" = callPackage
     ({ mkDerivation, base, directory, filepath, haskell-src-exts
      , plugins, Unixutils
@@ -150691,8 +153903,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "2.1.3";
-       sha256 = "1feff9aa39dc4bd34de1cb0da5fcf105429aafa1e28c97cfff19a44403c79951";
+       version = "2.1.5";
+       sha256 = "dd1ac555546ded3c178780c157d86d1075bd8a41f777bafffb9c94f9ef8a4f17";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151111,6 +154323,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "schema" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "schema";
+       version = "0.0.1";
+       sha256 = "27466a6eaa757f9f3d2556cff139f64c27e5eb9ff81627fa118467607b92a70c";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://toktok.github.io/";
+       description = "Encoding-independent schemas for Haskell data types";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
   "scholdoc" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, binary, blaze-html
      , blaze-markup, bytestring, containers, data-default, Diff
@@ -151288,6 +154513,8 @@ self: {
        pname = "scientific";
        version = "0.3.4.9";
        sha256 = "108330662b0af9a04d7da55864211ce12008efe36614d897ba635e80670918a8";
+       revision = "1";
+       editedCabalFile = "833f5960e622c7346c3c02547538da037bcc4eececc00ba2ab9412eabdb71d61";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq ghc-prim hashable
          integer-gmp text vector
@@ -151301,6 +154528,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "scientific_0_3_4_10" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , ghc-prim, hashable, integer-gmp, integer-logarithms, QuickCheck
+     , smallcheck, tasty, tasty-ant-xml, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "scientific";
+       version = "0.3.4.10";
+       sha256 = "4d3b8ae5d741facfb0e84a2f1b6964a7ab3817269568c37de44f1be5cc0ff1a1";
+       libraryHaskellDepends = [
+         base binary bytestring containers deepseq ghc-prim hashable
+         integer-gmp integer-logarithms text vector
+       ];
+       testHaskellDepends = [
+         base binary bytestring QuickCheck smallcheck tasty tasty-ant-xml
+         tasty-hunit tasty-quickcheck tasty-smallcheck text
+       ];
+       homepage = "https://github.com/basvandijk/scientific";
+       description = "Numbers represented using scientific notation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "scion" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, directory
      , filepath, ghc, ghc-paths, ghc-syb, hslogger, json, multiset
@@ -151448,8 +154699,8 @@ self: {
        pname = "scotty";
        version = "0.11.0";
        sha256 = "892203c937ccf1279f5005ddb78ebea84629b80687a1e38fc118b38011a386ed";
-       revision = "3";
-       editedCabalFile = "03a2f153eb5cf597435251169e49c42066b4ee058fd20d31e2cecec52e6578bc";
+       revision = "4";
+       editedCabalFile = "0d6fc88c2396a69e0d0f23ccad17b7b47d548f67bc23e417aad2940fdd71c5a1";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring case-insensitive
          data-default-class fail http-types monad-control mtl nats network
@@ -151547,10 +154798,8 @@ self: {
      }:
      mkDerivation {
        pname = "scotty-format";
-       version = "0.1.0.2";
-       sha256 = "848a326a18445c1c7f39a7aa5a46d3f042c2e9abfd1ef8f972751f51b4c00968";
-       revision = "1";
-       editedCabalFile = "64c796f66dd445224f06820feec9d91717a1de9d2d24d993d5db1d6021240d32";
+       version = "0.1.1.0";
+       sha256 = "cb6da220c05c95b8deb0fb8cc1505447d462456dbb36bfacee6467d8207f3599";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base http-media http-types scotty text ];
@@ -152448,18 +155697,19 @@ self: {
      }) {};
 
   "semdoc" = callPackage
-    ({ mkDerivation, base, containers, data-default-class, ghc
-     , ghc-paths, Glob, groom, mtl, pandoc, pandoc-types, regex-tdfa
+    ({ mkDerivation, base, containers, data-default-class
+     , data-default-instances-base, ghc, ghc-paths, Glob, groom, mtl
+     , pandoc, pandoc-types, regex-tdfa
      }:
      mkDerivation {
        pname = "semdoc";
-       version = "0.1.2";
-       sha256 = "b9a2c73fa5bd0346ae9b21e5ee158460689bf521f97996418b0d426c334b3dc8";
+       version = "0.1.3";
+       sha256 = "2bf204ebae0f1592ed192cd2ca288052d536e9da14102ebbafd74105f3515c58";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers data-default-class ghc ghc-paths Glob groom mtl
-         pandoc pandoc-types regex-tdfa
+         base containers data-default-class data-default-instances-base ghc
+         ghc-paths Glob groom mtl pandoc pandoc-types regex-tdfa
        ];
        executableHaskellDepends = [ base ];
        homepage = "https://toktok.github.io/semdoc";
@@ -153087,8 +156337,8 @@ self: {
      }:
      mkDerivation {
        pname = "serokell-util";
-       version = "0.1.2.3";
-       sha256 = "f30880e753f8c7e258906ab0a83f15f23b4ae90cd3bbba02719556421dc97f0a";
+       version = "0.1.3.1";
+       sha256 = "5765de74022ed024a407a3869892294d50e3027f7cf79ef9b63fca0b61c8b306";
        libraryHaskellDepends = [
          acid-state aeson aeson-extra base base16-bytestring
          base64-bytestring binary binary-orphans bytestring cereal
@@ -153342,7 +156592,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-auth-cookie_0_4" = callPackage
+  "servant-auth-cookie_0_4_2" = callPackage
     ({ mkDerivation, base, base-compat, base64-bytestring
      , blaze-builder, blaze-html, blaze-markup, bytestring, cereal
      , cookie, cryptonite, data-default, deepseq, exceptions, hspec
@@ -153352,8 +156602,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.4";
-       sha256 = "2b5144612cbf8835b5f069f885d9f32483a63884d5d008c7110dd9273756eef1";
+       version = "0.4.2";
+       sha256 = "e1199517da33d5f0b3735567d2391dcf36ca8ca61edea703b674103192a1ed79";
        libraryHaskellDepends = [
          base base64-bytestring blaze-builder bytestring cereal cookie
          cryptonite data-default exceptions http-api-data http-types memory
@@ -153731,19 +156981,19 @@ self: {
      }) {};
 
   "servant-elm" = callPackage
-    ({ mkDerivation, aeson, base, data-default, directory, elm-export
-     , formatting, hspec, interpolate, lens, mockery, process, servant
-     , servant-foreign, text
+    ({ mkDerivation, aeson, base, data-default, Diff, directory
+     , elm-export, hspec, HUnit, interpolate, lens, mockery, process
+     , servant, servant-foreign, text, wl-pprint-text
      }:
      mkDerivation {
        pname = "servant-elm";
-       version = "0.2.0.0";
-       sha256 = "0a120bc909b14390ef43db690f050b6afd1b9ac72a25586c5734e007c2ea4fda";
+       version = "0.3.0.0";
+       sha256 = "fc502005a21cb91845c069366f60ddfa77deeb95cb6571bcd2df172e5285439b";
        libraryHaskellDepends = [
-         base elm-export formatting lens servant servant-foreign text
+         base elm-export lens servant servant-foreign text wl-pprint-text
        ];
        testHaskellDepends = [
-         aeson base data-default directory elm-export formatting hspec
+         aeson base data-default Diff directory elm-export hspec HUnit
          interpolate mockery process servant text
        ];
        homepage = "http://github.com/mattjbray/servant-elm#readme";
@@ -153826,18 +157076,18 @@ self: {
   "servant-github-webhook" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring, Crypto
      , github, http-types, servant, servant-server, string-conversions
-     , text, wai, warp
+     , text, transformers, wai, warp
      }:
      mkDerivation {
        pname = "servant-github-webhook";
-       version = "0.3.0.0";
-       sha256 = "41c78c7c553e3c75fcca81e66bc4db8b5f7b3e2578d18b54715ecdc106b6c610";
+       version = "0.3.0.2";
+       sha256 = "06dceb189088b80e2b428572c6a7334dbf1557f7c208190ccd944273626079b9";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring Crypto github http-types
-         servant servant-server string-conversions text wai
+         servant servant-server string-conversions text transformers wai
        ];
        testHaskellDepends = [
-         aeson base bytestring servant-server wai warp
+         aeson base bytestring servant-server transformers wai warp
        ];
        homepage = "https://github.com/tsani/servant-github-webhook";
        description = "Servant combinators to facilitate writing GitHub webhooks";
@@ -154401,6 +157651,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "servant-swagger-ui_0_2_1_2_2_8" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, blaze-markup, bytestring
+     , directory, file-embed, filepath, http-media, lens, servant
+     , servant-blaze, servant-server, servant-swagger, swagger2
+     , template-haskell, text, transformers, transformers-compat, wai
+     , wai-app-static, warp
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui";
+       version = "0.2.1.2.2.8";
+       sha256 = "21a25df5c3527a859a14ae2edf12116d8634e7be1587357f4545f31fc5acb3a4";
+       libraryHaskellDepends = [
+         base blaze-markup bytestring directory file-embed filepath
+         http-media servant servant-blaze servant-server servant-swagger
+         swagger2 template-haskell text transformers transformers-compat
+         wai-app-static
+       ];
+       testHaskellDepends = [
+         aeson base base-compat blaze-markup bytestring directory file-embed
+         filepath http-media lens servant servant-blaze servant-server
+         servant-swagger swagger2 template-haskell text transformers
+         transformers-compat wai wai-app-static warp
+       ];
+       homepage = "https://github.com/phadej/servant-swagger-ui#readme";
+       description = "Servant swagger ui";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-yaml" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring, http-media
      , servant, servant-server, wai, warp, yaml
@@ -154409,8 +157688,8 @@ self: {
        pname = "servant-yaml";
        version = "0.1.0.0";
        sha256 = "c917d9b046b06a9c4386f743a78142c27cf7f0ec1ad8562770ab9828f2ee3204";
-       revision = "11";
-       editedCabalFile = "80507ee35eb6736752a80613e2a27fc89a50bbcdfc75c51785aeaf469af42902";
+       revision = "12";
+       editedCabalFile = "a8bcb29afce01078d5f6b71503ad0d7d03356a9ebeffb4ec09719a324c314519";
        libraryHaskellDepends = [
          base bytestring http-media servant yaml
        ];
@@ -154721,8 +158000,8 @@ self: {
      }:
      mkDerivation {
        pname = "setdown";
-       version = "0.1.0.1";
-       sha256 = "afe89e857793e3189b1fde9372a33fb3edff9c1c82ccc5d2a8b67a74c3620780";
+       version = "0.1.0.3";
+       sha256 = "c41ded101e6bd0bb17106674f49c0a4a06e8a042dcce443cd772e959c6bd98e4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -154922,8 +158201,8 @@ self: {
     ({ mkDerivation, base, bytestring, template-haskell, text }:
      mkDerivation {
        pname = "sext";
-       version = "0.1.0.2";
-       sha256 = "b5101154373eac70dee9d56854333ea33735a88b7697f2877846c746dd048c3a";
+       version = "0.1.1";
+       sha256 = "d954401c7c416ff8d6c8783c074c061f8268fb0042d553253afd82881284151d";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
        homepage = "http://github.com/dzhus/sext/";
        description = "Lists, Texts and ByteStrings with type-encoded length";
@@ -155298,6 +158577,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "shakers" = callPackage
+    ({ mkDerivation, base, basic-prelude, directory, shake }:
+     mkDerivation {
+       pname = "shakers";
+       version = "0.0.8";
+       sha256 = "13495dad7f64f7f6fd79d86c138ceb517659e28fd138169d1df957892036ab51";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base basic-prelude directory shake ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/swift-nav/shakers";
+       description = "Shake helpers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "shakespeare" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
@@ -155324,6 +158618,33 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "shakespeare_2_0_12_1" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
+     , process, scientific, template-haskell, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "shakespeare";
+       version = "2.0.12.1";
+       sha256 = "057d7153a19a4f28a012f30b5d54b9e1296695ff94ccdfa23c28fa82bd3488ac";
+       libraryHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim parsec process scientific template-haskell text
+         time transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim hspec HUnit parsec process template-haskell
+         text time transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+       description = "A toolkit for making compile-time interpolated templates";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "shakespeare-babel" = callPackage
     ({ mkDerivation, base, classy-prelude, data-default, directory
      , process, shakespeare, template-haskell
@@ -155663,8 +158984,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellmate";
-       version = "0.3.4";
-       sha256 = "b2db36ff28c21d78bdac8142e35b4ab002d70193f55f7e603c8c3d0eb49c0ce8";
+       version = "0.3.4.1";
+       sha256 = "a66fb8d53eac5736dd7d69c7835af60ca2afff389c65e0972ab199b0983a6430";
        libraryHaskellDepends = [
          base bytestring directory filepath process temporary transformers
          unix
@@ -155680,8 +159001,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellmate-extras";
-       version = "0.3.4";
-       sha256 = "46aecef64462ab34789f63dd338dc1b72aff77f4eaa2ecbf97c32dd9b6130b52";
+       version = "0.3.4.1";
+       sha256 = "f3dd62394e99af6cf92cb50c8ce1f3cd819448eda3009e8c11bb312e26f9b82e";
        libraryHaskellDepends = [
          base bytestring feed http-conduit http-types mime-types shellmate
          tagsoup text utf8-string xml
@@ -155800,6 +159121,7 @@ self: {
        homepage = "https://github.com/icidasset/shikensu#README";
        description = "A small toolset for building static websites";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shine" = callPackage
@@ -155929,6 +159251,18 @@ self: {
        license = "GPL";
      }) {};
 
+  "show-please" = callPackage
+    ({ mkDerivation, base, mtl, parsec, template-haskell }:
+     mkDerivation {
+       pname = "show-please";
+       version = "0.3";
+       sha256 = "1abd203bf8f0ac863f38f1be813594e0ab30ad5b79aa31730926586c40db642e";
+       libraryHaskellDepends = [ base mtl parsec template-haskell ];
+       homepage = "https://github.com/ddssff/show-please";
+       description = "A wrapper type V with improved Show instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "show-prettyprint" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, doctest, trifecta }:
      mkDerivation {
@@ -156068,8 +159402,8 @@ self: {
      }:
      mkDerivation {
        pname = "sibe";
-       version = "0.2.0.3";
-       sha256 = "324abe72b361aaef1286bbe8e76dda18e431010db60aa1ea018f95e045fe91ea";
+       version = "0.2.0.4";
+       sha256 = "104038b009602b8cd3a9a9211d2c67cf585c7c5e3d69a2a16df0348fa5958ddc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -156447,16 +159781,16 @@ self: {
      }) {};
 
   "simple-effects" = callPackage
-    ({ mkDerivation, base, ghc-prim, interlude-l, lens, list-t
+    ({ mkDerivation, array, base, interlude-l, lens, list-t
      , monad-control, mtl, transformers, transformers-base
      }:
      mkDerivation {
        pname = "simple-effects";
-       version = "0.6.0.1";
-       sha256 = "df8de9fae3ee9c2226565af8f8c4171d1b79678de37e3b280cda3ca013b52944";
+       version = "0.6.0.2";
+       sha256 = "f8f887e433a4f68a506966b2d41f614cb39602f8bb3b802535f91c2391711a36";
        libraryHaskellDepends = [
-         base ghc-prim interlude-l lens list-t monad-control mtl
-         transformers transformers-base
+         array base interlude-l lens list-t monad-control mtl transformers
+         transformers-base
        ];
        testHaskellDepends = [ base interlude-l ];
        homepage = "https://gitlab.com/LukaHorvat/simple-effects";
@@ -157348,8 +160682,8 @@ self: {
      }:
      mkDerivation {
        pname = "sized";
-       version = "0.2.0.0";
-       sha256 = "31f9233885bbe758a4c2f890e65695e11c64abdc12b6d4931427570cd7d4587c";
+       version = "0.2.1.0";
+       sha256 = "e5e936dab874a7766a8b3b50f15fc742cc57b956aef738ba98ef221b25d3731a";
        libraryHaskellDepends = [
          base constraints containers deepseq equational-reasoning hashable
          lens ListLike mono-traversable monomorphic singletons type-natural
@@ -157545,6 +160879,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "skylighting" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring
+     , case-insensitive, containers, Diff, directory, filepath, HUnit
+     , hxt, mtl, pretty-show, QuickCheck, regex-pcre-builtin, safe
+     , tasty, tasty-golden, tasty-hunit, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "skylighting";
+       version = "0.1.0.1";
+       sha256 = "e7cdbea2909306f97135b4444489cfff0136ec5609c22228a68201440d6304ac";
+       libraryHaskellDepends = [
+         aeson base blaze-html bytestring case-insensitive containers
+         directory filepath hxt mtl regex-pcre-builtin safe text utf8-string
+       ];
+       testHaskellDepends = [
+         aeson base bytestring Diff directory filepath HUnit pretty-show
+         QuickCheck tasty tasty-golden tasty-hunit text
+       ];
+       homepage = "https://github.com/jgm/skylighting";
+       description = "syntax highlighting library";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "skype4hs" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, lifted-base
      , monad-control, mtl, stm, text, time, transformers-base, word8
@@ -157812,6 +161169,8 @@ self: {
        pname = "slug";
        version = "0.1.5";
        sha256 = "6bc271612759fd9a415ee382b620b0f5b1154c762eb3469a409dafd5f35282fc";
+       revision = "1";
+       editedCabalFile = "1cbade6e74ca1f38368323dc0e124d4b8f0abc661a53e8738f3700cbf553b218";
        libraryHaskellDepends = [
          aeson base exceptions path-pieces persistent text
        ];
@@ -157824,6 +161183,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "slug_0_1_6" = callPackage
+    ({ mkDerivation, aeson, base, exceptions, hspec, http-api-data
+     , path-pieces, persistent, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "slug";
+       version = "0.1.6";
+       sha256 = "c4d589b30d7d4788ed5dbf1a24652a5f880751a0250707bf8ac82a3714734692";
+       libraryHaskellDepends = [
+         aeson base exceptions http-api-data path-pieces persistent
+         QuickCheck text
+       ];
+       testHaskellDepends = [
+         base exceptions hspec http-api-data path-pieces QuickCheck text
+       ];
+       homepage = "https://github.com/mrkkrp/slug";
+       description = "Type-safe slugs for Yesod ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "smallarray" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, hashable }:
      mkDerivation {
@@ -158079,6 +161459,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "smoothie_0_4_2_4" = callPackage
+    ({ mkDerivation, aeson, base, linear, text, vector }:
+     mkDerivation {
+       pname = "smoothie";
+       version = "0.4.2.4";
+       sha256 = "962e8c5927e24ebc56fa419bca2fc43db2a187c26410acd316d9914f8391d96c";
+       libraryHaskellDepends = [ aeson base linear text vector ];
+       homepage = "https://github.com/phaazon/smoothie";
+       description = "Smooth curves via several interpolation modes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "smsaero" = callPackage
     ({ mkDerivation, aeson, base, containers, http-api-data
      , http-client, servant, servant-client, servant-docs, text, time
@@ -158140,23 +161533,84 @@ self: {
      }) {};
 
   "smtlib2" = callPackage
-    ({ mkDerivation, array, atto-lisp, attoparsec, base, blaze-builder
-     , bytestring, constraints, containers, data-fix, mtl, process
-     , tagged, text, transformers
+    ({ mkDerivation, base, constraints, containers, dependent-map
+     , dependent-sum, mtl, template-haskell
      }:
      mkDerivation {
        pname = "smtlib2";
-       version = "0.3.1";
-       sha256 = "3a46057e9b901fc0c5ced29dee8a00c69d3d0f9ec663edae9b9809616402c048";
+       version = "1.0";
+       sha256 = "3ca10e4ecc493a9b824301887fe2ff8de4594126bd04fa6fb5490110b615edf1";
        libraryHaskellDepends = [
-         array atto-lisp attoparsec base blaze-builder bytestring
-         constraints containers data-fix mtl process tagged text
-         transformers
+         base constraints containers dependent-map dependent-sum mtl
+         template-haskell
        ];
        description = "A type-safe interface to communicate with an SMT solver";
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "smtlib2-debug" = callPackage
+    ({ mkDerivation, ansi-terminal, atto-lisp, base, containers
+     , dependent-map, dependent-sum, mtl, smtlib2, smtlib2-pipe, text
+     }:
+     mkDerivation {
+       pname = "smtlib2-debug";
+       version = "1.0";
+       sha256 = "110e136813fbb257f2858e56ef58854fce04fcd2b972e701863e293aca87d761";
+       libraryHaskellDepends = [
+         ansi-terminal atto-lisp base containers dependent-map dependent-sum
+         mtl smtlib2 smtlib2-pipe text
+       ];
+       description = "Dump the communication with an SMT solver for debugging purposes";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "smtlib2-pipe" = callPackage
+    ({ mkDerivation, atto-lisp, attoparsec, base, blaze-builder
+     , bytestring, Cabal, cabal-test-quickcheck, containers
+     , dependent-sum, mtl, process, smtlib2, smtlib2-quickcheck, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "smtlib2-pipe";
+       version = "1.0";
+       sha256 = "6623f4a565cb09c797022716041dc8647d21b06a42f0fd05b988254551723c6d";
+       libraryHaskellDepends = [
+         atto-lisp attoparsec base blaze-builder bytestring containers
+         dependent-sum mtl process smtlib2 text transformers
+       ];
+       testHaskellDepends = [
+         base Cabal cabal-test-quickcheck smtlib2 smtlib2-quickcheck
+       ];
+       description = "A type-safe interface to communicate with an SMT solver";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "smtlib2-quickcheck" = callPackage
+    ({ mkDerivation, base, containers, dependent-map, dependent-sum
+     , mtl, QuickCheck, smtlib2
+     }:
+     mkDerivation {
+       pname = "smtlib2-quickcheck";
+       version = "1.0";
+       sha256 = "267f701b359e81d0a053e7c04a294d98ecc8d795dfe540c812b0832df278ac4c";
+       libraryHaskellDepends = [
+         base containers dependent-map dependent-sum mtl QuickCheck smtlib2
+       ];
+       description = "Helper functions to create SMTLib expressions in QuickCheck";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "smtlib2-timing" = callPackage
+    ({ mkDerivation, base, dependent-sum, mtl, smtlib2, time }:
+     mkDerivation {
+       pname = "smtlib2-timing";
+       version = "1.0";
+       sha256 = "253ace562bd79b48a51d7b5272d70b27abf0e7ae1a3468b9e477901bdd430289";
+       libraryHaskellDepends = [ base dependent-sum mtl smtlib2 time ];
+       description = "Get timing informations for SMT queries";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "smtp-mail" = callPackage
     ({ mkDerivation, array, base, base16-bytestring, base64-bytestring
      , bytestring, cryptohash, filepath, mime-mail, network, text
@@ -158271,8 +161725,8 @@ self: {
        pname = "snap";
        version = "1.0.0.1";
        sha256 = "293f16c1404793121d3d85abb6287bbb32f5dc1d82b12146d4bb650052322db8";
-       revision = "1";
-       editedCabalFile = "81129d186348ab67fda4278bb6c8575ee7a7caed3e6069e0045f464a4ed911ab";
+       revision = "2";
+       editedCabalFile = "162e742faa2af87763daf5c733ae2a0ff35c9b29d68de9659c948a24b1681e62";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cereal clientsession configurator
          containers directory directory-tree dlist filepath hashable heist
@@ -158525,6 +161979,7 @@ self: {
        homepage = "http://snapframework.com/";
        description = "Snap dynamic loader";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snap-loader-static" = callPackage
@@ -158637,6 +162092,7 @@ self: {
        homepage = "http://snapframework.com/";
        description = "Scaffolding CLI for the Snap Framework";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snap-testing" = callPackage
@@ -158837,10 +162293,8 @@ self: {
      }:
      mkDerivation {
        pname = "snaplet-fay";
-       version = "0.3.3.13";
-       sha256 = "39810748b7177b45a0fab785e48ac497d81587e48dde9dc8ad75e8d704bdda3f";
-       revision = "5";
-       editedCabalFile = "0331163a9d3af919f0b01408f7a2d3542452e030cf838ec92f9bb6bf6c0f4ccd";
+       version = "0.3.3.14";
+       sha256 = "97a9a3ec90e03be064df0a6e3dcf5834de063fb43a24d1014eb3d0ba8bac4207";
        libraryHaskellDepends = [
          aeson base bytestring configurator directory fay filepath mtl snap
          snap-core transformers
@@ -158944,21 +162398,21 @@ self: {
 
   "snaplet-i18n" = callPackage
     ({ mkDerivation, base, bytestring, configurator, filepath, heist
-     , lens, snap, snap-loader-static, text, xmlhtml
+     , lens, mtl, snap, snap-loader-static, text, transformers, xmlhtml
      }:
      mkDerivation {
        pname = "snaplet-i18n";
-       version = "0.0.5";
-       sha256 = "62b279c4b82358d62273911c917a21f96386c8198a8db5d95738dc32f746827a";
+       version = "0.1.0";
+       sha256 = "8933941904b222dd880b46a34af7c6612f47182e38b24022dbed6c6e505c4e3a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base configurator filepath heist lens snap snap-loader-static text
-         xmlhtml
+         base configurator filepath heist lens mtl snap snap-loader-static
+         text transformers xmlhtml
        ];
        executableHaskellDepends = [
          base bytestring configurator filepath heist lens snap
-         snap-loader-static text xmlhtml
+         snap-loader-static text transformers xmlhtml
        ];
        homepage = "https://github.com/HaskellCNOrg/snaplet-i18n";
        description = "snaplet-i18n";
@@ -159397,6 +162851,7 @@ self: {
        homepage = "https://github.com/nurpax/snaplet-sqlite-simple-jwt-auth#readme";
        description = "Snaplet for JWT authentication with snaplet-sqlite-simple";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snaplet-stripe" = callPackage
@@ -159770,8 +163225,8 @@ self: {
      }:
      mkDerivation {
        pname = "soap";
-       version = "0.2.3.2";
-       sha256 = "e7e5d21f70d67f14806a44f7328350d0f06b39ad4cbbc5a514437c5ddfb95395";
+       version = "0.2.3.3";
+       sha256 = "2d1759c83bc75cacc470ffc64af218f971d55875a61c2de10be1276bd9845979";
        libraryHaskellDepends = [
          base bytestring conduit configurator data-default exceptions
          http-client http-types iconv mtl resourcet text
@@ -159887,10 +163342,10 @@ self: {
     ({ mkDerivation, base, network, transformers, unix }:
      mkDerivation {
        pname = "socket-activation";
-       version = "0.1.0.1";
-       sha256 = "aafe00774b8403edacb04b8d4dc6f38028f5173f57a5c4de43e9d26f02eb3f81";
+       version = "0.1.0.2";
+       sha256 = "b99e7b4f296cd462aac84e5bb61fb02953e2080d1351e9e10a63d35dc34eb43b";
        libraryHaskellDepends = [ base network transformers unix ];
-       homepage = "https://github.com/sakana/haskell-socket-activation";
+       homepage = "https://github.com/ddfisher/haskell-socket-activation";
        description = "systemd socket activation library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -159901,8 +163356,8 @@ self: {
      }:
      mkDerivation {
        pname = "socket-io";
-       version = "1.3.5";
-       sha256 = "1604797a7095ef26b733cdff8922bf373fac551ab157c9756b031d191f90903f";
+       version = "1.3.6";
+       sha256 = "6ec1577c7f701253bc85a9df03379d77ae99c33d1db5ee4f7e6b06972701fb1a";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring engine-io mtl stm text
          transformers unordered-containers vector
@@ -159927,6 +163382,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) lksctp-tools;};
 
+  "socket-unix" = callPackage
+    ({ mkDerivation, async, base, bytestring, socket, tasty
+     , tasty-hunit, unix
+     }:
+     mkDerivation {
+       pname = "socket-unix";
+       version = "0.1.0.0";
+       sha256 = "34c71e014e728a4c5f31fbb55ac0d46f049969a8860e2b8629369f4d83429f2d";
+       revision = "1";
+       editedCabalFile = "082468d0b01112a99fffa76d7ff1bbe1b0ebbf878b3364fecec64a73fed094a3";
+       libraryHaskellDepends = [ base bytestring socket ];
+       testHaskellDepends = [
+         async base bytestring socket tasty tasty-hunit unix
+       ];
+       homepage = "https://github.com/vyacheslavhashov/haskell-socket-unix#readme";
+       description = "Unix domain sockets";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "socketio" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , blaze-builder, bytestring, conduit, conduit-extra, http-types
@@ -160760,6 +164234,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "speedy-slice_0_3_0" = callPackage
+    ({ mkDerivation, base, containers, kan-extensions, lens, mcmc-types
+     , mwc-probability, pipes, primitive, transformers
+     }:
+     mkDerivation {
+       pname = "speedy-slice";
+       version = "0.3.0";
+       sha256 = "efbf8a10b681b940078f70fb9aca43fec8ba436c82f3faf719bbe495ba152899";
+       libraryHaskellDepends = [
+         base kan-extensions lens mcmc-types mwc-probability pipes primitive
+         transformers
+       ];
+       testHaskellDepends = [ base containers mwc-probability ];
+       homepage = "http://github.com/jtobin/speedy-slice";
+       description = "Speedy slice sampling";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "spelling-suggest" = callPackage
     ({ mkDerivation, base, edit-distance, parseargs, phonetic-code
      , sqlite
@@ -161161,6 +164654,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sprinkles" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
+     , Cabal, case-insensitive, cereal, classy-prelude, containers, curl
+     , data-default, directory, filepath, ginger, Glob, hashable, HDBC
+     , HDBC-mysql, HDBC-postgresql, HDBC-sqlite3, heredoc, hsyslog, HTTP
+     , http-types, memcached-binary, mime-types, mtl, network-uri
+     , pandoc, pandoc-creole, pandoc-types, parsec, process
+     , random-shuffle, regex-base, regex-pcre, safe, scientific
+     , system-locale, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, temporary, text, time, transformers
+     , unix-compat, unordered-containers, utf8-string, vector, wai
+     , wai-extra, wai-handler-fastcgi, warp, yaml
+     }:
+     mkDerivation {
+       pname = "sprinkles";
+       version = "0.3.5.0";
+       sha256 = "b6e75244028d2de256583a581fb0f12d5bec1d6447cb1d539ca37caa7b2658f7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty array base bytestring Cabal case-insensitive
+         cereal classy-prelude containers curl data-default directory
+         filepath ginger Glob hashable HDBC HDBC-mysql HDBC-postgresql
+         HDBC-sqlite3 hsyslog HTTP http-types memcached-binary mime-types
+         mtl network-uri pandoc pandoc-creole pandoc-types parsec process
+         random-shuffle regex-base regex-pcre safe scientific system-locale
+         template-haskell text time transformers unix-compat
+         unordered-containers utf8-string vector wai wai-extra
+         wai-handler-fastcgi warp yaml
+       ];
+       executableHaskellDepends = [
+         base classy-prelude data-default parsec safe
+       ];
+       testHaskellDepends = [
+         base classy-prelude data-default directory filepath heredoc
+         regex-base regex-pcre tasty tasty-hunit tasty-quickcheck temporary
+         wai-extra
+       ];
+       homepage = "https://bitbucket.org/tdammers/sprinkles";
+       description = "JSON API to HTML website wrapper";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) {pandoc-creole = null;};
+
   "spritz" = callPackage
     ({ mkDerivation, base, lens, mtl, vector }:
      mkDerivation {
@@ -161219,6 +164756,7 @@ self: {
        ];
        description = "Web interface to sproxy database";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sproxy2" = callPackage
@@ -161245,6 +164783,7 @@ self: {
        ];
        description = "Secure HTTP proxy for authenticating users via OAuth2";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "spsa" = callPackage
@@ -161427,6 +164966,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sqlite-simple_0_4_12_1" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
+     , blaze-textual, bytestring, containers, direct-sqlite, HUnit, text
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "sqlite-simple";
+       version = "0.4.12.1";
+       sha256 = "2f24f4dfea3b3bc1657b26c786666abd041bb89e09c22d084eaea43d67112227";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder blaze-textual bytestring containers
+         direct-sqlite text time transformers
+       ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring direct-sqlite HUnit text time
+       ];
+       homepage = "http://github.com/nurpax/sqlite-simple";
+       description = "Mid-Level SQLite client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sqlite-simple-errors" = callPackage
     ({ mkDerivation, base, mtl, parsec, sqlite-simple, text }:
      mkDerivation {
@@ -161810,6 +165371,8 @@ self: {
        pname = "stache";
        version = "0.1.8";
        sha256 = "a8617924e087b02c3afb3308a8a1102828e352dba7545648703e5d0c2c3c35b2";
+       revision = "2";
+       editedCabalFile = "293e587834fd528a8f1869027b1de5f3ea492597350688a86db36c18453757d9";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory exceptions
          filepath megaparsec mtl template-haskell text unordered-containers
@@ -161834,6 +165397,8 @@ self: {
        pname = "stache";
        version = "0.2.0";
        sha256 = "0952d6849a297d3ef020feaeb128be4af7d25ab97fa948eb0339a7f75d0a1831";
+       revision = "2";
+       editedCabalFile = "4899a9a2a56b3e2524b0166f8875f7f823419c64ec1f2a74f2ff7b6010472d01";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory exceptions
          filepath megaparsec mtl template-haskell text unordered-containers
@@ -161873,8 +165438,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack";
-       version = "1.3.0";
-       sha256 = "060ed345ee724b916427430004548c519eb0219242a019ee06c8afd9a793497b";
+       version = "1.3.2";
+       sha256 = "488b9292ea605c92f6ebf79b233e8e374d857b21053051cb44b305dad8f0d3f7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -162345,6 +165910,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "staf" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "staf";
+       version = "0.1.0.0";
+       sha256 = "ce066d4b64771489176e72f081b8ec5ba62237ff1f12abe5f515884b0ce8a925";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/lovasko/staf";
+       description = "Numerical statistics for Foldable containers";
+       license = "unknown";
+     }) {};
+
   "standalone-derive-topdown" = callPackage
     ({ mkDerivation, base, mtl, template-haskell }:
      mkDerivation {
@@ -162818,19 +166395,19 @@ self: {
   "staversion" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, hspec, http-client, http-client-tls, http-types
-     , optparse-applicative, QuickCheck, text, transformers
+     , megaparsec, optparse-applicative, QuickCheck, text, transformers
      , transformers-compat, unordered-containers, yaml
      }:
      mkDerivation {
        pname = "staversion";
-       version = "0.1.2.0";
-       sha256 = "43db7f70ca360b0d858572afaf012ba10cda7f0ea19511c4e036bdfbb832e917";
+       version = "0.1.3.2";
+       sha256 = "d3281fe9b7aa3795251c7e45d6364bfb051ffa3bee44d691f40c0c928fe886e0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath http-client
-         http-client-tls http-types optparse-applicative text transformers
-         transformers-compat unordered-containers yaml
+         http-client-tls http-types megaparsec optparse-applicative text
+         transformers transformers-compat unordered-containers yaml
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -163382,8 +166959,8 @@ self: {
      }:
      mkDerivation {
        pname = "stomp-queue";
-       version = "0.2.2";
-       sha256 = "2ca9ab331d657f1efae64295084fbf3eac05efdb96e186a7f7ba497f24e7d5cf";
+       version = "0.3.1";
+       sha256 = "47dd7f332f2544aaee66fa37ff889cd666c98a8401cec1deeede01b0730b20bb";
        libraryHaskellDepends = [
          attoparsec base bytestring conduit conduit-extra mime mtl
          network-conduit-tls split stompl time utf8-string
@@ -163450,8 +167027,8 @@ self: {
     ({ mkDerivation, base, byteorder }:
      mkDerivation {
        pname = "storable-endian";
-       version = "0.2.5";
-       sha256 = "e206eecf9480e937347ad0663f6c588da490606a1e55b871c68da8c7c1b44112";
+       version = "0.2.6";
+       sha256 = "3743ac8f084ed3187b83f17b4fac280e77c5df01f7910f42b6a1bf09d5a65489";
        libraryHaskellDepends = [ base byteorder ];
        description = "Storable instances with endianness";
        license = stdenv.lib.licenses.bsd3;
@@ -163704,15 +167281,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_3_0" = callPackage
+  "stratosphere_0_3_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
      , hashable, hlint, lens, tasty, tasty-hspec, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.3.0";
-       sha256 = "628b988750e237e3c1d26de2ccf03753b964fb84f3f46320d2d6a7665aa557a9";
+       version = "0.3.1";
+       sha256 = "dc72586e7cc78d9be49afc9ae99a9713933fd10fa524d55e22ce9ee34e399130";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring hashable lens template-haskell
          text unordered-containers
@@ -163931,6 +167508,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streaming-bytestring_0_1_4_5" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, exceptions, mmorph, mtl
+     , resourcet, smallcheck, streaming, tasty, tasty-smallcheck
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "streaming-bytestring";
+       version = "0.1.4.5";
+       sha256 = "e77047f4027ac7dc4128fdbf651c8a288dab34e580c944bd8eef23e5a236d84e";
+       libraryHaskellDepends = [
+         base bytestring deepseq exceptions mmorph mtl resourcet streaming
+         transformers transformers-base
+       ];
+       testHaskellDepends = [
+         base bytestring smallcheck streaming tasty tasty-smallcheck
+         transformers
+       ];
+       homepage = "https://github.com/michaelt/streaming-bytestring";
+       description = "effectful byte steams, or: bytestring io done right";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "streaming-commons" = callPackage
     ({ mkDerivation, array, async, base, blaze-builder, bytestring
      , deepseq, directory, hspec, network, process, QuickCheck, random
@@ -164042,6 +167642,7 @@ self: {
        homepage = "http://github.com/jb55/streaming-wai";
        description = "Streaming Wai utilities";
        license = stdenv.lib.licenses.mit;
+       maintainers = with stdenv.lib.maintainers; [ jb55 ];
      }) {};
 
   "streamproc" = callPackage
@@ -164306,14 +167907,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "string-conversions_0_4_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hspec, QuickCheck
+     , quickcheck-instances, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "string-conversions";
+       version = "0.4.0.1";
+       sha256 = "46bcce6d9ce62c558b7658a75d9c6a62f7259d6b0473d011d8078234ad6a1994";
+       libraryHaskellDepends = [ base bytestring text utf8-string ];
+       testHaskellDepends = [
+         base bytestring deepseq hspec QuickCheck quickcheck-instances text
+         utf8-string
+       ];
+       homepage = "https://github.com/soenkehahn/string-conversions#readme";
+       description = "Simplifies dealing with different types for strings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "string-convert" = callPackage
     ({ mkDerivation, base, bytestring, tasty, tasty-hunit, text
      , utf8-string
      }:
      mkDerivation {
        pname = "string-convert";
-       version = "3.0.1";
-       sha256 = "2483d444a88f6557976bd69975bf6d363da734934f2582f6780edee348fc8a2c";
+       version = "4.0.0.1";
+       sha256 = "9675b98f7e798fbfe89c18cb6ac8f44237c6a92c0f0b2344a26fad4c3e53d1c8";
        libraryHaskellDepends = [ base bytestring text utf8-string ];
        testHaskellDepends = [
          base bytestring tasty tasty-hunit text utf8-string
@@ -164610,6 +168230,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "strive_3_0_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
+     , http-client, http-client-tls, http-types, markdown-unlit
+     , template-haskell, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "strive";
+       version = "3.0.2";
+       sha256 = "94f1dcef7ded8a27365d448e2db70baa5fafc91fa047dbb35164f82fd84f0b0f";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default gpolyline http-client
+         http-client-tls http-types template-haskell text time transformers
+       ];
+       testHaskellDepends = [ base bytestring markdown-unlit time ];
+       homepage = "https://github.com/tfausak/strive#readme";
+       description = "A client for the Strava V3 API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "strptime" = callPackage
     ({ mkDerivation, base, bytestring, text, time }:
      mkDerivation {
@@ -164872,6 +168512,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "styx" = callPackage
+    ({ mkDerivation, aeson, base, containers, directory, filepath, mtl
+     , optparse-applicative, process, text, yaml
+     }:
+     mkDerivation {
+       pname = "styx";
+       version = "1.1";
+       sha256 = "b11402bde5b548b3f5cd2e1f501940e94c85628709aa0609e334bdf53e065144";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base containers directory filepath mtl optparse-applicative
+         process text yaml
+       ];
+       description = "A generator of nix files";
+       license = "GPL";
+     }) {};
+
   "sub-state" = callPackage
     ({ mkDerivation, base, mtl, QuickCheck, quickcheck-instances, sets
      , tasty, tasty-hunit, tasty-quickcheck
@@ -167735,20 +171393,40 @@ self: {
      }) {};
 
   "tasty-ant-xml" = callPackage
-    ({ mkDerivation, base, containers, generic-deriving, ghc-prim, mtl
-     , stm, tagged, tasty, transformers, xml
+    ({ mkDerivation, base, containers, directory, filepath
+     , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
+     , xml
      }:
      mkDerivation {
        pname = "tasty-ant-xml";
-       version = "1.0.2";
-       sha256 = "bbc3cc6741597af6b158bb54345d7356c98b50eb8b493abd38178a471915ff5d";
+       version = "1.0.3";
+       sha256 = "34a55d29a962a24aa1d5150795a0cae7a4769950c7ecb7cc1facf3bb0b067562";
+       libraryHaskellDepends = [
+         base containers directory filepath generic-deriving ghc-prim mtl
+         stm tagged tasty transformers xml
+       ];
+       homepage = "http://github.com/ocharles/tasty-ant-xml";
+       description = "Render tasty output to XML for Jenkins";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tasty-ant-xml_1_0_4" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
+     , xml
+     }:
+     mkDerivation {
+       pname = "tasty-ant-xml";
+       version = "1.0.4";
+       sha256 = "4d91c509e0e80919d96c16eaa3ee11089b7ee7c87fbe59a947d26bf0c5aef188";
        libraryHaskellDepends = [
-         base containers generic-deriving ghc-prim mtl stm tagged tasty
-         transformers xml
+         base containers directory filepath generic-deriving ghc-prim mtl
+         stm tagged tasty transformers xml
        ];
        homepage = "http://github.com/ocharles/tasty-ant-xml";
        description = "Render tasty output to XML for Jenkins";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-dejafu" = callPackage
@@ -168425,8 +172103,8 @@ self: {
      }:
      mkDerivation {
        pname = "telegram-bot";
-       version = "0.5.1.0";
-       sha256 = "525fc12654179fa7c57ae062741bb236f5821dc1b5c0c8b9a5c62946d8817fd3";
+       version = "0.5.4.0";
+       sha256 = "a163600c8b5bca5b545f7701d14165961ce499263e3a27dac8acdca3fe29b072";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169777,6 +173455,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-generic-pretty" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, groom, ixset-typed
+     , protolude, QuickCheck, string-conversions, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, unordered-containers
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "text-generic-pretty";
+       version = "1.2.1";
+       sha256 = "cff331fdea2f695cf9a2583f4bd7393935b4a6ffa2bd47eb7dd983c6184752c7";
+       libraryHaskellDepends = [
+         base containers ghc-prim groom ixset-typed protolude QuickCheck
+         string-conversions text time unordered-containers wl-pprint-text
+       ];
+       testHaskellDepends = [
+         base containers protolude QuickCheck string-conversions tasty
+         tasty-hunit tasty-quickcheck time unordered-containers
+       ];
+       homepage = "https://github.com/joe9/GenericPretty";
+       description = "A generic, derivable, haskell pretty printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "text-icu" = callPackage
     ({ mkDerivation, array, base, bytestring, deepseq, directory
      , ghc-prim, HUnit, icu, QuickCheck, random, test-framework
@@ -169799,19 +173500,27 @@ self: {
      }) {inherit (pkgs) icu;};
 
   "text-icu-normalized" = callPackage
-    ({ mkDerivation, base, base-unicode-symbols, bytestring, lens, text
-     , text-icu
+    ({ mkDerivation, base, base-unicode-symbols, bytestring, containers
+     , exceptions, filepath, HUnit, lens, parsec, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, text, text-icu
      }:
      mkDerivation {
        pname = "text-icu-normalized";
-       version = "0.1.6";
-       sha256 = "b5487346dc50fc9a70160277ae9f32306a4f517f06815785bcc6d0fa47ce94e8";
+       version = "0.3.0";
+       sha256 = "2a82c5bad47e6b75551a70535aeb574214834b0b4fb190f1f10af750a3245ef0";
        libraryHaskellDepends = [
          base base-unicode-symbols bytestring lens text text-icu
        ];
-       homepage = "https://gitlab.com/theunixman/text-icu-normalized";
+       testHaskellDepends = [
+         base base-unicode-symbols bytestring containers exceptions filepath
+         HUnit lens parsec QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th text text-icu
+       ];
+       homepage = "https://www.lambdanow.us/browser/text-icu-normalized";
        description = "Dealing with Strict Text in NFC normalization";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-icu-translit" = callPackage
@@ -169888,6 +173597,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-lens" = callPackage
+    ({ mkDerivation, base, extra, hspec, lens, text }:
+     mkDerivation {
+       pname = "text-lens";
+       version = "0.1.0.0";
+       sha256 = "e013ed9ba9385395e1eddc01c0da049f865ff020403e4af9671782b1b307cd2d";
+       libraryHaskellDepends = [ base extra lens text ];
+       testHaskellDepends = [ base hspec lens ];
+       homepage = "https://github.com/ChrisPenner/rasa";
+       description = "Lenses for operating over text";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "text-lips" = callPackage
     ({ mkDerivation, base, containers, parsers, text, text-loc
      , transformers
@@ -170034,14 +173756,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-postgresql_0_0_2_2" = callPackage
+    ({ mkDerivation, base, dlist, QuickCheck, quickcheck-simple
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "text-postgresql";
+       version = "0.0.2.2";
+       sha256 = "91344e495a83ee7ca372977166523a28bf201a964cac1cc2d8260a448462200d";
+       libraryHaskellDepends = [
+         base dlist transformers transformers-compat
+       ];
+       testHaskellDepends = [ base QuickCheck quickcheck-simple ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Parser and Printer of PostgreSQL extended types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-printer" = callPackage
     ({ mkDerivation, base, bytestring, pretty, QuickCheck, semigroups
      , test-framework, test-framework-quickcheck2, text, text-latin1
      }:
      mkDerivation {
        pname = "text-printer";
-       version = "0.4";
-       sha256 = "b878db9dfb786368324c35cb3e1070264eaa6b1d0f1459bf1581114bfbeb9149";
+       version = "0.5";
+       sha256 = "8f0c01a6a15b4314c2d47ab5f0772d176ec38f1c1fe190b9fa7db5149a6c4a0b";
        libraryHaskellDepends = [
          base bytestring pretty semigroups text text-latin1
        ];
@@ -170211,6 +173951,40 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "text-show-instances_3_5" = callPackage
+    ({ mkDerivation, base, base-compat, bifunctors, binary, bytestring
+     , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
+     , haskeline, hoopl, hpc, hspec, old-locale, old-time, pretty
+     , QuickCheck, quickcheck-instances, random, semigroups, tagged
+     , template-haskell, terminfo, text, text-show, th-orphans, time
+     , transformers, transformers-compat, unix, unordered-containers
+     , vector, xhtml
+     }:
+     mkDerivation {
+       pname = "text-show-instances";
+       version = "3.5";
+       sha256 = "0c7dbf6e6742460be0d08777ab3759434c12c5b65f273be35afbe0c945690342";
+       libraryHaskellDepends = [
+         base base-compat bifunctors binary bytestring containers directory
+         ghc-boot-th haskeline hoopl hpc old-locale old-time pretty random
+         semigroups tagged template-haskell terminfo text text-show time
+         transformers transformers-compat unix unordered-containers vector
+         xhtml
+       ];
+       testHaskellDepends = [
+         base base-compat bifunctors binary bytestring containers directory
+         generic-deriving ghc-boot-th ghc-prim haskeline hoopl hpc hspec
+         old-locale old-time pretty QuickCheck quickcheck-instances random
+         semigroups tagged template-haskell terminfo text text-show
+         th-orphans time transformers transformers-compat unix
+         unordered-containers vector xhtml
+       ];
+       homepage = "https://github.com/RyanGlScott/text-show-instances";
+       description = "Additional instances for text-show";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-stream-decode" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, hspec, text }:
      mkDerivation {
@@ -170365,8 +174139,8 @@ self: {
      }:
      mkDerivation {
        pname = "textlocal";
-       version = "0.1.0.3";
-       sha256 = "56237c4982513680358a13d5bba261e55ce4ec2346e402b8ba438f7a11d06e1c";
+       version = "0.1.0.5";
+       sha256 = "8954ff6270c9920fc390be6b9f398975ea06dd6808a411cbf8fa5fb4a9cf3087";
        libraryHaskellDepends = [
          aeson base bytestring http-client http-client-tls http-conduit text
          unix-time
@@ -171034,36 +174808,10 @@ self: {
      }:
      mkDerivation {
        pname = "these";
-       version = "0.7.2";
-       sha256 = "a1d22644ca30b0bf549ed9881fcadc9f93fac0ec4815008496ca16e83a966dc8";
-       revision = "1";
-       editedCabalFile = "f1720c052d70f405e05c3c7a022d25c20afc5391dfbe179e80d3e671311594d8";
-       libraryHaskellDepends = [
-         aeson base bifunctors binary containers data-default-class deepseq
-         hashable keys mtl profunctors QuickCheck semigroupoids transformers
-         transformers-compat unordered-containers vector vector-instances
-       ];
-       testHaskellDepends = [
-         aeson base bifunctors binary containers hashable QuickCheck
-         quickcheck-instances tasty tasty-quickcheck transformers
-         unordered-containers vector
-       ];
-       homepage = "https://github.com/isomorphism/these";
-       description = "An either-or-both data type & a generalized 'zip with padding' typeclass";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "these_0_7_3" = callPackage
-    ({ mkDerivation, aeson, base, bifunctors, binary, containers
-     , data-default-class, deepseq, hashable, keys, mtl, profunctors
-     , QuickCheck, quickcheck-instances, semigroupoids, tasty
-     , tasty-quickcheck, transformers, transformers-compat
-     , unordered-containers, vector, vector-instances
-     }:
-     mkDerivation {
-       pname = "these";
        version = "0.7.3";
        sha256 = "14339c111ec2caffcb2a9f64164a5dc307a0afb716925ddcb1774d9d442a3d9b";
+       revision = "1";
+       editedCabalFile = "d351c189525daded1e727f4a705f568d019238c9a4dd60e0277be462f49bede2";
        libraryHaskellDepends = [
          aeson base bifunctors binary containers data-default-class deepseq
          hashable keys mtl profunctors QuickCheck semigroupoids transformers
@@ -171077,7 +174825,6 @@ self: {
        homepage = "https://github.com/isomorphism/these";
        description = "An either-or-both data type & a generalized 'zip with padding' typeclass";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "thespian" = callPackage
@@ -171565,8 +175312,8 @@ self: {
      }:
      mkDerivation {
        pname = "tidal-midi";
-       version = "0.8";
-       sha256 = "dd8d39af0871a730017c712624fc86ba5c25add7737511610ac849d9d54bcd79";
+       version = "0.8.2";
+       sha256 = "3638e4d7f853d1a73929624ec34b2364469339b0c821567cf8b46c78971c8339";
        libraryHaskellDepends = [
          base containers PortMidi tidal time transformers
        ];
@@ -171725,14 +175472,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "time_1_7" = callPackage
+  "time_1_7_0_1" = callPackage
     ({ mkDerivation, base, deepseq, QuickCheck, test-framework
      , test-framework-quickcheck2, unix
      }:
      mkDerivation {
        pname = "time";
-       version = "1.7";
-       sha256 = "a30e1ea20cc59f3bf6ee2d5fd0a0dfa58f1ec865681d762cf1bb1103562e2a7a";
+       version = "1.7.0.1";
+       sha256 = "2730197c3665a1e5af87475de7a57cf0dd8ddbd339167251b4a44cb3b61407ca";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base deepseq QuickCheck test-framework test-framework-quickcheck2
@@ -171786,28 +175533,24 @@ self: {
      }) {};
 
   "time-exts" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bindings-DSL, containers
-     , convertible, data-default, deepseq, fclabels, mtl, old-locale
-     , QuickCheck, random, text, time, timezone-olson
+    ({ mkDerivation, attoparsec, base, bindings-DSL, deepseq, HUnit
+     , ieee754, lens-simple, mtl, old-locale, QuickCheck, random, text
+     , time, tz
      }:
      mkDerivation {
        pname = "time-exts";
-       version = "2.1.0";
-       sha256 = "7519345408bd1f856af169e3185d69f7a3a0be045b91084a40909a4a7357e378";
-       isLibrary = true;
-       isExecutable = true;
+       version = "3.0.3";
+       sha256 = "1aca7fd7f52fc8dcd29c4b7cfbd4f24360a84b77e91e68b9d72318f98725786c";
        libraryHaskellDepends = [
-         aeson attoparsec base bindings-DSL containers convertible
-         data-default deepseq fclabels mtl old-locale QuickCheck random text
-         time timezone-olson
+         attoparsec base bindings-DSL deepseq lens-simple mtl old-locale
+         random text time tz
        ];
-       executableHaskellDepends = [
-         aeson attoparsec base bindings-DSL containers convertible
-         data-default deepseq fclabels mtl old-locale QuickCheck random text
-         time timezone-olson
+       testHaskellDepends = [
+         attoparsec base bindings-DSL deepseq HUnit ieee754 lens-simple mtl
+         old-locale QuickCheck random text time tz
        ];
        homepage = "https://github.com/enzoh/time-exts";
-       description = "Efficient Timestamps";
+       description = "Yet another time library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -171908,8 +175651,8 @@ self: {
      }:
      mkDerivation {
        pname = "time-parsers";
-       version = "0.1.1.0";
-       sha256 = "872d2ad4727ed7ac00a06b2acb7d7965da04d432c2d45017805fd4e6975d6ab2";
+       version = "0.1.2.0";
+       sha256 = "4e50d40f13f8e6c5175be22b91586f909607ecb631f8209ff45bce2031bb3c24";
        libraryHaskellDepends = [ base parsers template-haskell time ];
        testHaskellDepends = [
          attoparsec base bifunctors parsec parsers tasty tasty-hunit
@@ -171921,13 +175664,13 @@ self: {
      }) {};
 
   "time-patterns" = callPackage
-    ({ mkDerivation, base, intervals, lens, thyme, vector-space }:
+    ({ mkDerivation, base, intervals, time }:
      mkDerivation {
        pname = "time-patterns";
-       version = "0.1.3.1";
-       sha256 = "56a0ac5f1a6a264f779d3de15ac09a204eda5a2fb04122e398fa9bb6848dee9d";
-       libraryHaskellDepends = [ base intervals lens thyme vector-space ];
-       homepage = "https://bitbucket.org/jfmueller/time-patterns";
+       version = "0.1.4.1";
+       sha256 = "5114525b97e376303540feea7b7d780d6c13d558d130a8d95d8577db5e004f41";
+       libraryHaskellDepends = [ base intervals time ];
+       homepage = "https://github.com/j-mueller/time-patterns";
        description = "Patterns for recurring events";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -172025,42 +175768,50 @@ self: {
      }) {};
 
   "time-warp" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
-     , data-default, data-msgpack, exceptions, formatting, hslogger
-     , hspec, lens, lifted-base, monad-control, monad-loops, MonadRandom
-     , mtl, network-msgpack-rpc, pqueue, QuickCheck
-     , quickcheck-instances, random, safe, serokell-util, stm
-     , template-haskell, text, text-format, time, time-units
-     , transformers, transformers-base
+    ({ mkDerivation, ansi-terminal, array, async, attoparsec, base
+     , binary, binary-conduit, bytestring, conduit, conduit-extra
+     , containers, data-default, data-msgpack, deepseq, exceptions
+     , extra, formatting, hashable, hspec, lens, lifted-base, log-warper
+     , mmorph, monad-control, monad-loops, MonadRandom, mtl, network
+     , pqueue, QuickCheck, quickcheck-instances, random, safe
+     , semigroups, serokell-util, slave-thread, stm, stm-chans
+     , stm-conduit, streaming-commons, template-haskell, text
+     , text-format, time, time-units, transformers, transformers-base
+     , unordered-containers
      }:
      mkDerivation {
        pname = "time-warp";
-       version = "0.1.1.2";
-       sha256 = "8a919958cbef95ff3960046f5854801b649b60c8e1fbd187ce1ae298c3c11187";
+       version = "1.1.1.1";
+       sha256 = "df2721daeee24eac57f2ba1f1eff4b0f87260340537cd5e3cbe8d6c27b1094fd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-terminal base bytestring containers data-default data-msgpack
-         exceptions formatting hslogger lens lifted-base monad-control
-         monad-loops MonadRandom mtl network-msgpack-rpc pqueue QuickCheck
-         quickcheck-instances random safe serokell-util stm template-haskell
-         text text-format time time-units transformers transformers-base
+         ansi-terminal array attoparsec base binary binary-conduit
+         bytestring conduit conduit-extra containers data-default
+         data-msgpack deepseq exceptions extra formatting hashable lens
+         lifted-base log-warper mmorph monad-control monad-loops MonadRandom
+         mtl network pqueue QuickCheck quickcheck-instances random safe
+         semigroups serokell-util slave-thread stm stm-chans stm-conduit
+         streaming-commons template-haskell text text-format time time-units
+         transformers transformers-base unordered-containers
        ];
        executableHaskellDepends = [
-         async base data-default data-msgpack exceptions formatting hspec
-         lens MonadRandom mtl network-msgpack-rpc QuickCheck random
-         serokell-util stm text text-format time-units transformers
+         async base binary binary-conduit conduit data-default data-msgpack
+         exceptions formatting hspec lens log-warper MonadRandom mtl
+         QuickCheck random serokell-util stm text text-format time-units
+         transformers
        ];
        testHaskellDepends = [
-         async base data-default data-msgpack exceptions hspec lens mtl
-         network-msgpack-rpc QuickCheck random serokell-util stm text
-         text-format time-units transformers
+         async base data-default data-msgpack exceptions hspec lens
+         log-warper mtl QuickCheck random serokell-util stm text text-format
+         time-units transformers
        ];
        homepage = "https://github.com/serokell/time-warp";
        description = "Distributed systems execution emulation";
-       license = stdenv.lib.licenses.gpl3;
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
+       broken = true;
+     }) {log-warper = null;};
 
   "timecalc" = callPackage
     ({ mkDerivation, base, haskeline, uu-parsinglib }:
@@ -172270,8 +176021,8 @@ self: {
      }:
      mkDerivation {
        pname = "timeplot";
-       version = "1.0.31";
-       sha256 = "8dc8e4901b4b2f84c654d34f6721762bb662697b89dcfad969180a00820254b2";
+       version = "1.0.32";
+       sha256 = "3b560a5cf4d81daf5e4cf58d566893baf7daa9244b51c60cce71ac23bc6a5c46";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -172344,31 +176095,32 @@ self: {
      }) {};
 
   "timeseries" = callPackage
-    ({ mkDerivation, base, bytestring, bytestring-time, Cabal, cassava
-     , hspec, QuickCheck, text, time, vector
+    ({ mkDerivation, base, bytestring, Cabal, cassava, hspec
+     , QuickCheck, statistics, text, text-time, time, vector
      }:
      mkDerivation {
        pname = "timeseries";
-       version = "0.1.0";
-       sha256 = "2aef662eb22472b18b4de81d763a2e98a2f2feb8d1658651376c0709c7b088a0";
+       version = "0.4.1";
+       sha256 = "4e7a17717484225b904c5511152087b6ff9cb1d155fde7277b4bcc9b58c5151e";
        libraryHaskellDepends = [
-         base bytestring bytestring-time cassava text time vector
+         base bytestring cassava statistics text text-time time vector
        ];
        testHaskellDepends = [
-         base bytestring bytestring-time Cabal cassava hspec QuickCheck text
-         time vector
+         base bytestring Cabal cassava hspec QuickCheck statistics text
+         text-time time vector
        ];
        homepage = "https://github.com/klangner/timeseries";
        description = "Library for Time Series processing";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "timespan" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
        pname = "timespan";
-       version = "0.2.0.0";
-       sha256 = "4e6ce1f32725700c4b78ed4806d90a5ce1275dce9504f78164a454a4ef4b8fe6";
+       version = "0.3.0.0";
+       sha256 = "46a51e1e0d776d65d0094bf8158c938255491fbaa4d4f39b0a1477806312851f";
        libraryHaskellDepends = [ base time ];
        homepage = "https://github.com/agrafix/timespan#readme";
        description = "Useful timespan datatype and functions";
@@ -172472,6 +176224,7 @@ self: {
          timezone-series
        ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "timing-convenience" = callPackage
@@ -172706,6 +176459,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tls_1_3_9" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring
+     , cereal, cryptonite, data-default-class, hourglass, memory, mtl
+     , network, QuickCheck, tasty, tasty-quickcheck, transformers, x509
+     , x509-store, x509-validation
+     }:
+     mkDerivation {
+       pname = "tls";
+       version = "1.3.9";
+       sha256 = "81355e16528796d3097719e74f7f1f8cae50daed06926d1995731bab8e02267b";
+       libraryHaskellDepends = [
+         asn1-encoding asn1-types async base bytestring cereal cryptonite
+         data-default-class memory mtl network transformers x509 x509-store
+         x509-validation
+       ];
+       testHaskellDepends = [
+         base bytestring cereal cryptonite data-default-class hourglass mtl
+         QuickCheck tasty tasty-quickcheck x509 x509-validation
+       ];
+       homepage = "http://github.com/vincenthz/hs-tls";
+       description = "TLS/SSL protocol native implementation (Server and Client)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tls-debug" = callPackage
     ({ mkDerivation, base, bytestring, cryptonite, data-default-class
      , network, pem, time, tls, x509, x509-store, x509-system
@@ -172836,6 +176614,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "toboggan" = callPackage
+    ({ mkDerivation, base, clit, directory, madlang, optparse-generic
+     , text
+     }:
+     mkDerivation {
+       pname = "toboggan";
+       version = "0.1.0.0";
+       sha256 = "72281351961f1d55149379c273b72e4e4d7a5134c432351044a17317152f3a67";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base clit directory madlang optparse-generic text
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/vmchale/toboggan#readme";
+       description = "Twitter bot generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "todos" = callPackage
     ({ mkDerivation, ansi-terminal, base, base-unicode-symbols
      , containers, data-hash, dates, directory, dyre, filepath, Glob
@@ -173004,6 +176801,8 @@ self: {
        pname = "toml";
        version = "0.1.3";
        sha256 = "c29946c58656443d0dbf18aad0582707311c691ab624a63c8f9614a4950c7e71";
+       revision = "1";
+       editedCabalFile = "4eac5e516c0e461ceef73150d7a248bce199fc02183074a622c0dab17513ca20";
        libraryHaskellDepends = [
          attoparsec base bytestring containers old-locale time
        ];
@@ -173454,6 +177253,7 @@ self: {
        ];
        description = "Text transformer and interpreter";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "transformations" = callPackage
@@ -173685,6 +177485,7 @@ self: {
        homepage = "http://www.fpcomplete.com/user/agocorona";
        description = "Remote execution and map-reduce: distributed computing for Transient";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "translatable-intset" = callPackage
@@ -174365,7 +178166,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tttool_1_6_1_3" = callPackage
+  "tttool_1_7_0_1" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
      , directory, executable-path, filepath, hashable, haskeline, HPDF
      , JuicyPixels, mtl, natural-sort, optparse-applicative, parsec
@@ -174374,8 +178175,8 @@ self: {
      }:
      mkDerivation {
        pname = "tttool";
-       version = "1.6.1.3";
-       sha256 = "7ca01c73dad41aab3b002db4c6f4e929be01c982c397dbca0e65315171339d45";
+       version = "1.7.0.1";
+       sha256 = "b41fc9b2899a625a0a364dd8fc4ef8f7c070ec7cbcbf5ef2acfc256cfb434fe6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -174891,6 +178692,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "twfy-api-client" = callPackage
+    ({ mkDerivation, aeson, aeson-compat, base, base-compat, bytestring
+     , either, exceptions, http-client, http-client-tls, http-media, mtl
+     , servant, servant-client, servant-server, text, transformers
+     }:
+     mkDerivation {
+       pname = "twfy-api-client";
+       version = "0.1.0.0";
+       sha256 = "c11fa34e03dbfba6fc208c6816c8f461daf78eeb835e67cd8a91a327d426e265";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-compat base base-compat bytestring either exceptions
+         http-client http-client-tls http-media mtl servant servant-client
+         servant-server text transformers
+       ];
+       executableHaskellDepends = [
+         aeson aeson-compat base base-compat either http-client
+         http-client-tls mtl servant servant-client text transformers
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/wiggly/twfy-api-client#readme";
+       description = "They Work For You API Client Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "twhs" = callPackage
     ({ mkDerivation, ansi-terminal, authenticate-oauth, base
      , bytestring, case-insensitive, conduit, containers, data-default
@@ -175160,6 +178987,8 @@ self: {
        pname = "twitter-feed";
        version = "0.2.0.11";
        sha256 = "8b98b4ddfb88f4c14f8eb43bd74a4c4e7941a92d44b90717e9b8dbe4c454c889";
+       revision = "1";
+       editedCabalFile = "3d0a5d8976c482b401003571812052a97cd0d77fb3d6f0619615c30c93a0b79e";
        libraryHaskellDepends = [
          aeson authenticate-oauth base bytestring http-conduit
        ];
@@ -175326,6 +179155,7 @@ self: {
        homepage = "https://github.com/lexi-lambda/type-assertions#readme";
        description = "Runtime type assertions for testing";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "type-booleans" = callPackage
@@ -175645,8 +179475,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-natural";
-       version = "0.7.1.1";
-       sha256 = "16867acdf4bfe3637a9c0730eca4156d3c830abca60182d8a561c4fabe6f7231";
+       version = "0.7.1.2";
+       sha256 = "c278c2660616179e61641d1d5356549946560ef2de66416b20d868f5fe1082e6";
        libraryHaskellDepends = [
          base constraints equational-reasoning ghc-typelits-natnormalise
          ghc-typelits-presburger monomorphic singletons template-haskell
@@ -176388,23 +180218,24 @@ self: {
   "uhc-light" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , directory, fgl, filepath, hashable, mtl, network, old-locale
-     , primitive, process, syb, transformers, uhc-util, uulib, vector
+     , primitive, process, syb, transformers, uhc-util, utf8-string
+     , uulib, vector
      }:
      mkDerivation {
        pname = "uhc-light";
-       version = "1.1.9.4";
-       sha256 = "617fd803d9693cc9c03f071045a892b5a1f8b4564e7764c595014a440261f053";
+       version = "1.1.9.5";
+       sha256 = "eabaf3cdac62afb5c8d37f8ceb0997fd85647493d2d4cc1b0d00d954d586681d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base binary bytestring containers directory fgl filepath
          hashable mtl network old-locale primitive process syb transformers
-         uhc-util uulib vector
+         uhc-util utf8-string uulib vector
        ];
        executableHaskellDepends = [
          array base binary bytestring containers directory fgl filepath
          hashable mtl network old-locale primitive process syb transformers
-         uhc-util uulib vector
+         uhc-util utf8-string uulib vector
        ];
        homepage = "https://github.com/UU-ComputerScience/uhc";
        description = "Part of UHC packaged as cabal/hackage installable library";
@@ -176419,8 +180250,8 @@ self: {
      }:
      mkDerivation {
        pname = "uhc-util";
-       version = "0.1.6.6";
-       sha256 = "b5abc07215168b1f203ce50da8f13b8170269a5e4b2e4c8a872819f13f14bb47";
+       version = "0.1.6.7";
+       sha256 = "d44b27175e9ce45a15c19c2f589772f4b66ca297a28b34b0ac462a7f6e4f4a75";
        libraryHaskellDepends = [
          array base binary bytestring containers directory fclabels fgl
          hashable logict-state mtl pqueue process time time-compat
@@ -177626,8 +181457,8 @@ self: {
     ({ mkDerivation, base, directory, text }:
      mkDerivation {
        pname = "unlit";
-       version = "0.3.2.1";
-       sha256 = "b3cdceb5878989c323e0b45a1f08897d7e29e98a553ce59d694c3889aa5fa852";
+       version = "0.4.0.0";
+       sha256 = "489ecde4843f1911ebdaac3099241d703bb1161f3d386e2b5143f2fd6c355515";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory text ];
@@ -177671,6 +181502,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "unordered-containers_0_2_7_2" = callPackage
+    ({ mkDerivation, base, ChasingBottoms, containers, deepseq
+     , hashable, HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "unordered-containers";
+       version = "0.2.7.2";
+       sha256 = "7f5c4344fcab01f6046378c64522f0dfd69e417f6c1a8858a24bdabaadb3e56e";
+       libraryHaskellDepends = [ base deepseq hashable ];
+       testHaskellDepends = [
+         base ChasingBottoms containers hashable HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/tibbe/unordered-containers";
+       description = "Efficient hashing-based container types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "unordered-containers-rematch" = callPackage
     ({ mkDerivation, base, hashable, hspec, HUnit, rematch
      , unordered-containers
@@ -177889,8 +181740,8 @@ self: {
      }:
      mkDerivation {
        pname = "up";
-       version = "1.0.0.3";
-       sha256 = "7e93219da62895cbea56ed91cefe3d0511bf57120b5ad6166f798b5e6d9567f0";
+       version = "1.0.0.4";
+       sha256 = "3412742f52d9ba598341fa74f89bc6e78acac81fe8409069af15912015fe340f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -178415,6 +182266,7 @@ self: {
        ];
        description = "A mysql-haskell backend for the users library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "users-persistent" = callPackage
@@ -178742,25 +182594,23 @@ self: {
      }) {};
 
   "uuid" = callPackage
-    ({ mkDerivation, base, binary, bytestring, cryptonite, HUnit
-     , memory, network-info, QuickCheck, random, tasty, tasty-hunit
-     , tasty-quickcheck, text, time, uuid-types
+    ({ mkDerivation, base, binary, bytestring, cryptohash-md5
+     , cryptohash-sha1, entropy, HUnit, network-info, QuickCheck, random
+     , tasty, tasty-hunit, tasty-quickcheck, text, time, uuid-types
      }:
      mkDerivation {
        pname = "uuid";
-       version = "1.3.12";
-       sha256 = "ed62f1b3f0b19f0d548655ffef5aff066ad5c430fe11e909a1a7e8fc115a89ee";
-       revision = "2";
-       editedCabalFile = "b4efa9a6c09c77d595c054fa1008820922c497e9063c3a8fe20c6949a20143f6";
+       version = "1.3.13";
+       sha256 = "dfac808a7026217d018b408eab18facc6a85c6183be308d4ac7877e80599b027";
        libraryHaskellDepends = [
-         base binary bytestring cryptonite memory network-info random text
-         time uuid-types
+         base binary bytestring cryptohash-md5 cryptohash-sha1 entropy
+         network-info random text time uuid-types
        ];
        testHaskellDepends = [
          base bytestring HUnit QuickCheck random tasty tasty-hunit
          tasty-quickcheck
        ];
-       homepage = "https://github.com/aslatter/uuid";
+       homepage = "https://github.com/hvr/uuid";
        description = "For creating, comparing, parsing and printing Universally Unique Identifiers";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -178771,6 +182621,8 @@ self: {
        pname = "uuid-aeson";
        version = "0.1.0.0";
        sha256 = "cf8bdb82959d249ced20dff22935bd2ea79b1869267a95ebcacc7f0452eda259";
+       revision = "1";
+       editedCabalFile = "5fe65c563ef474292cf59cda8e36416dd75a60a05fc1fb8be43a0bd2eba1d814";
        libraryHaskellDepends = [ aeson base text uuid ];
        description = "Aeson types for UUID instances";
        license = stdenv.lib.licenses.bsd3;
@@ -179135,6 +182987,8 @@ self: {
        pname = "validity";
        version = "0.3.0.4";
        sha256 = "9ae590d34aeb41f096bd7432ff8c8cb07a4da010825c0190d4ef630ef6370f7f";
+       revision = "1";
+       editedCabalFile = "73bff6370f4e90101291fb3904f388ea57013a6a45997b273b578332149a8d19";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "Validity typeclass";
@@ -179608,6 +183462,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector_0_12_0_0" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, HUnit, primitive
+     , QuickCheck, random, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "vector";
+       version = "0.12.0.0";
+       sha256 = "27bf375d0efbff61acaeb75a2047afcbdac930191069a59da4a474b9bf80ec95";
+       libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
+       testHaskellDepends = [
+         base HUnit QuickCheck random template-haskell test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+       ];
+       homepage = "https://github.com/haskell/vector";
+       description = "Efficient Arrays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-algorithms" = callPackage
     ({ mkDerivation, base, bytestring, containers, primitive
      , QuickCheck, vector
@@ -179650,6 +183524,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector-binary-instances_0_2_3_4" = callPackage
+    ({ mkDerivation, base, binary, tasty, tasty-quickcheck, vector }:
+     mkDerivation {
+       pname = "vector-binary-instances";
+       version = "0.2.3.4";
+       sha256 = "f3cef04ff645bbf25198c2c0c33d0c13e44bfe63602e1e694c2be9abf0e57d00";
+       libraryHaskellDepends = [ base binary vector ];
+       testHaskellDepends = [ base binary tasty tasty-quickcheck vector ];
+       homepage = "https://github.com/bos/vector-binary-instances";
+       description = "Instances of Data.Binary and Data.Serialize for vector";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-buffer" = callPackage
     ({ mkDerivation, base, deepseq, vector }:
      mkDerivation {
@@ -179806,6 +183694,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector-instances_3_4" = callPackage
+    ({ mkDerivation, base, comonad, hashable, keys, pointed
+     , semigroupoids, semigroups, vector
+     }:
+     mkDerivation {
+       pname = "vector-instances";
+       version = "3.4";
+       sha256 = "1b0246ef0cf8372d61d5c7840d857f49299af2304b5107510377255ed4dd5381";
+       libraryHaskellDepends = [
+         base comonad hashable keys pointed semigroupoids semigroups vector
+       ];
+       homepage = "http://github.com/ekmett/vector-instances";
+       description = "Orphan Instances for 'Data.Vector'";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-instances-collections" = callPackage
     ({ mkDerivation, base, collections-api, template-haskell, vector }:
      mkDerivation {
@@ -179862,12 +183767,12 @@ self: {
      }) {};
 
   "vector-sized" = callPackage
-    ({ mkDerivation, base, deepseq, vector }:
+    ({ mkDerivation, base, deepseq, finite-typelits, vector }:
      mkDerivation {
        pname = "vector-sized";
-       version = "0.4.1.0";
-       sha256 = "19205fe36c63edfc52ea0f057bdf13ac22c71f5e40afc666bc9c6ff20846ca39";
-       libraryHaskellDepends = [ base deepseq vector ];
+       version = "0.5.0.0";
+       sha256 = "55bb88f7201571b19b55f7ac1d1b2a880ad77b9178593bac84cad58c2dbce22b";
+       libraryHaskellDepends = [ base deepseq finite-typelits vector ];
        homepage = "http://github.com/expipiplus1/vector-sized#readme";
        description = "Size tagged vectors";
        license = stdenv.lib.licenses.bsd3;
@@ -180000,6 +183905,28 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "vectortiles_1_2_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, deepseq, hex
+     , protobuf, tasty, tasty-hunit, text, th-printf, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "vectortiles";
+       version = "1.2.0.1";
+       sha256 = "fb034cb99c10f61ff0d2d7454b51d0e5996c5443a652e436490313d7a064401d";
+       libraryHaskellDepends = [
+         base bytestring cereal containers deepseq protobuf text th-printf
+         transformers vector
+       ];
+       testHaskellDepends = [
+         base bytestring cereal hex protobuf tasty tasty-hunit text vector
+       ];
+       homepage = "https://github.com/fosskers/vectortiles";
+       description = "GIS Vector Tiles, as defined by Mapbox";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "verbalexpressions" = callPackage
     ({ mkDerivation, base, regex-pcre }:
      mkDerivation {
@@ -180288,25 +184215,12 @@ self: {
     ({ mkDerivation, base, doctest, ghc-prim, lens, singletons }:
      mkDerivation {
        pname = "vinyl";
-       version = "0.5.2";
-       sha256 = "93ac95aada665057df04bd1316c6eb5bef72479420199ebf34715684afe6a70b";
-       libraryHaskellDepends = [ base ghc-prim ];
-       testHaskellDepends = [ base doctest lens singletons ];
-       description = "Extensible Records";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "vinyl_0_5_3" = callPackage
-    ({ mkDerivation, base, doctest, ghc-prim, lens, singletons }:
-     mkDerivation {
-       pname = "vinyl";
        version = "0.5.3";
        sha256 = "00f86a43def432c564226daae42b130a67c5fb413f3b097f43a14fbfb57608a6";
        libraryHaskellDepends = [ base ghc-prim ];
        testHaskellDepends = [ base doctest lens singletons ];
        description = "Extensible Records";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vinyl-gl" = callPackage
@@ -181843,6 +185757,8 @@ self: {
        pname = "wai-middleware-static";
        version = "0.8.1";
        sha256 = "e0b5f13f410f81897759acf43198a08101d2af4c9d506164367c7d1a96d55375";
+       revision = "1";
+       editedCabalFile = "2884eb9d594bdc91a8ab7dd045e4252472c45361907c470f594a7f2a573d7752";
        libraryHaskellDepends = [
          base bytestring containers cryptonite directory expiring-cache-map
          filepath http-types memory mime-types mtl old-locale semigroups
@@ -181852,6 +185768,7 @@ self: {
        homepage = "https://github.com/scotty-web/wai-middleware-static";
        description = "WAI middleware that serves requests to static files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-middleware-static-caching" = callPackage
@@ -181951,6 +185868,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wai-request-spec_0_10_2_4" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , http-types, text, wai
+     }:
+     mkDerivation {
+       pname = "wai-request-spec";
+       version = "0.10.2.4";
+       sha256 = "1ee1ed12ef41a7023e24629c46835ed9602643328e0cc3de0c9b934d31eed610";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers http-types text wai
+       ];
+       homepage = "https://gitlab.com/queertypes/wai-request-spec";
+       description = "Declarative request parsing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-responsible" = callPackage
     ({ mkDerivation, base, bytestring, http-types, wai }:
      mkDerivation {
@@ -182005,8 +185939,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-routes";
-       version = "0.9.8";
-       sha256 = "4152d74a8b0b762b448b112d391e8b760efb7b71444c5b9f58ed714d87331071";
+       version = "0.9.9";
+       sha256 = "dea8b6b8163fe04bf0ffb9f5a81058eef2017591275735aba7ae448edf689cc9";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring case-insensitive containers
          cookie data-default-class filepath http-types mime-types
@@ -182552,6 +186486,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wave" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers
+     , data-default-class, hspec, QuickCheck, temporary, transformers
+     }:
+     mkDerivation {
+       pname = "wave";
+       version = "0.1.4";
+       sha256 = "686687782dca7c522190bca70171682b24af8c89e4f3aa63da455c331daeb6bc";
+       libraryHaskellDepends = [
+         base bytestring cereal containers data-default-class transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers data-default-class hspec QuickCheck
+         temporary
+       ];
+       homepage = "https://github.com/mrkkrp/wave";
+       description = "Work with WAVE and RF64 files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wavefront" = callPackage
     ({ mkDerivation, attoparsec, base, dlist, filepath, mtl, text
      , transformers, vector
@@ -182720,10 +186675,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-inv-route";
-       version = "0.1";
-       sha256 = "8973080f0a59429cf97ed1ac0d1060b864f6a25f577c3e150ff0f0a3635ac8fa";
-       revision = "1";
-       editedCabalFile = "7e68be5f41dbc5f47d7f38f017f0f676eaf962a8fa56142ce491c8882165d28d";
+       version = "0.1.1";
+       sha256 = "ee4f71874d82c1868fff17a2276363454594f898f5db8c8c210479e5a5383b9a";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers happstack-server
          hashable http-types invertible network-uri snap-core text
@@ -182785,6 +186738,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "web-push" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring
+     , cryptonite, exceptions, http-client, http-types, jose, memory
+     , random, text, time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "web-push";
+       version = "0.1.0.0";
+       sha256 = "5772499993225207a60755f08e9e8774c17e6b06c7f933ba83789549d8beb871";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring binary bytestring cryptonite
+         exceptions http-client http-types jose memory random text time
+         transformers unordered-containers
+       ];
+       homepage = "https://github.com/sarthakbagaria/web-push#readme";
+       description = "Helper functions to send messages using Web Push protocol";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "web-routes" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, exceptions
      , ghc-prim, hspec, http-types, HUnit, mtl, parsec, QuickCheck
@@ -182943,6 +186915,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "web3" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , bytestring, cryptonite, http-client, http-client-tls, memory
+     , template-haskell, text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "web3";
+       version = "0.5.1.0";
+       sha256 = "57eb367f392f1c7ed230cb151b6a7ac8fda44e11075bbd39407e9c34125947ee";
+       libraryHaskellDepends = [
+         aeson attoparsec base base16-bytestring bytestring cryptonite
+         http-client http-client-tls memory template-haskell text
+         transformers vector
+       ];
+       testHaskellDepends = [ base memory text ];
+       homepage = "https://github.com/airalab/hs-web3#readme";
+       description = "Ethereum API for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "webapi" = callPackage
     ({ mkDerivation, aeson, base, binary, blaze-builder, bytestring
      , bytestring-lexing, bytestring-trie, case-insensitive, containers
@@ -183097,6 +187089,7 @@ self: {
        homepage = "https://github.com/kallisti-dev/hs-webdriver";
        description = "a Haskell client for the Selenium WebDriver protocol";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "webdriver-angular" = callPackage
@@ -183119,6 +187112,7 @@ self: {
        homepage = "https://bitbucket.org/wuzzeb/webdriver-utils";
        description = "Webdriver actions to assist with testing a webpage which uses Angular.Js";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "webdriver-snoy" = callPackage
@@ -183253,6 +187247,7 @@ self: {
        libraryPkgconfigDepends = [ webkit2gtk ];
        description = "JavaScriptCore FFI from webkitgtk";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {webkit2gtk = null;};
 
   "webkitgtk3" = callPackage
@@ -183830,8 +187825,8 @@ self: {
      }:
      mkDerivation {
        pname = "wild-bind-x11";
-       version = "0.1.0.3";
-       sha256 = "1eed4881d43da9a4169f338d5b503269df8c4c5f92e6da08a12282f2c17f9a36";
+       version = "0.1.0.4";
+       sha256 = "62b6ca3f4b6fdc19dae22126ff831b2633bf2d5e24c0c5bedc2757ea9a59e45a";
        libraryHaskellDepends = [
          base containers fold-debounce stm text transformers wild-bind X11
        ];
@@ -184269,34 +188264,25 @@ self: {
 
   "wolf" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3
-     , amazonka-swf, async, base, basic-prelude, bytestring, conduit
-     , conduit-extra, exceptions, fast-logger, formatting, http-conduit
-     , http-types, lens, monad-control, monad-logger, mtl, mtl-compat
-     , optparse-applicative, regex-applicative, regex-compat, resourcet
-     , safe, shelly, system-filepath, tasty, tasty-hunit, text, time
-     , transformers, transformers-base, unordered-containers, uuid, yaml
-     , zlib
+     , amazonka-swf, base, bytestring, conduit, conduit-combinators
+     , conduit-extra, directory, exceptions, filemanip, filepath
+     , lifted-async, monad-control, optparse-applicative
+     , optparse-generic, preamble, process, resourcet, shakers, text
+     , time, uuid, yaml
      }:
      mkDerivation {
        pname = "wolf";
-       version = "0.2.14";
-       sha256 = "0c154567da03ceb1fd748223bce9cb62f6c6b3cede94ab79e1b2693329fcf062";
+       version = "0.3.6";
+       sha256 = "0be99a2ae98daaf9f2d499dd3f360a79e258c97874d81a3f32d97da17dce64fa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-s3 amazonka-swf base
-         basic-prelude bytestring conduit conduit-extra exceptions
-         fast-logger formatting http-conduit http-types lens monad-control
-         monad-logger mtl mtl-compat optparse-applicative regex-applicative
-         regex-compat resourcet safe text time transformers
-         transformers-base unordered-containers uuid yaml
-       ];
-       executableHaskellDepends = [
-         aeson amazonka-core async base basic-prelude bytestring
-         optparse-applicative resourcet shelly system-filepath text
-         transformers yaml zlib
+         bytestring conduit conduit-combinators conduit-extra directory
+         exceptions filemanip filepath lifted-async monad-control
+         optparse-applicative preamble process resourcet text time uuid yaml
        ];
-       testHaskellDepends = [ base basic-prelude tasty tasty-hunit ];
+       executableHaskellDepends = [ base optparse-generic shakers ];
        homepage = "https://github.com/swift-nav/wolf";
        description = "Amazon Simple Workflow Service Wrapper";
        license = stdenv.lib.licenses.mit;
@@ -184750,8 +188736,8 @@ self: {
      }:
      mkDerivation {
        pname = "writer-cps-mtl";
-       version = "0.1.1.0";
-       sha256 = "c8c17d4112fc851d3b48fd52ee1c5dc44c29b0e85dec73ddc8fa9a2415e99dd3";
+       version = "0.1.1.1";
+       sha256 = "db7f45ebceb3ecb166422c53d0a80a1c9bece8a958a3a9e4d15d75ada02bbf97";
        libraryHaskellDepends = [
          base mtl transformers writer-cps-transformers
        ];
@@ -184980,6 +188966,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wxSimpleCanvas" = callPackage
+    ({ mkDerivation, base, cubicbezier, wx, wxcore }:
+     mkDerivation {
+       pname = "wxSimpleCanvas";
+       version = "0.0.0.0";
+       sha256 = "a2200569c49f7b6dcefe39ddc374d5325cb1fd9c001772edb340a8ba9b6c2061";
+       libraryHaskellDepends = [ base cubicbezier wx wxcore ];
+       description = "Simple zoomable canvas for wxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wxc" = callPackage
     ({ mkDerivation, base, libX11, mesa, split, wxdirect, wxGTK }:
      mkDerivation {
@@ -185463,7 +189461,7 @@ self: {
 
   "xfconf" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, filepath, glib
-     , gtk2hs-buildtools, libxfconf-0
+     , gtk2hs-buildtools, libxfconf
      }:
      mkDerivation {
        pname = "xfconf";
@@ -185473,13 +189471,13 @@ self: {
        editedCabalFile = "ce4bb3ab326d8e4c0a4fc2576045b589305b12f7ca28b79a69fcc367c429d33c";
        setupHaskellDepends = [ base Cabal containers directory filepath ];
        libraryHaskellDepends = [ base glib ];
-       libraryPkgconfigDepends = [ libxfconf-0 ];
+       libraryPkgconfigDepends = [ libxfconf ];
        libraryToolDepends = [ gtk2hs-buildtools ];
        homepage = "http://patch-tag.com/r/obbele/xfconf/home";
        description = "FFI bindings to xfconf";
        license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {libxfconf-0 = null;};
+     }) {libxfconf = null;};
 
   "xformat" = callPackage
     ({ mkDerivation, base }:
@@ -185778,7 +189776,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "xlsx_0_3_0" = callPackage
+  "xlsx_0_4_1" = 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
@@ -185788,8 +189786,8 @@ self: {
      }:
      mkDerivation {
        pname = "xlsx";
-       version = "0.3.0";
-       sha256 = "6d941e2fdc757384d417c50db35f84aa0413b940baf6ec49fdba597cd68c11b3";
+       version = "0.4.1";
+       sha256 = "014d7ecc815f452e86b199ef0715548d7221f1f0a5cfb59ec92ffa86918ef5c6";
        libraryHaskellDepends = [
          base base64-bytestring binary-search bytestring conduit containers
          data-default errors extra filepath lens mtl mtl-compat network-uri
@@ -185798,7 +189796,7 @@ self: {
        ];
        testHaskellDepends = [
          base bytestring containers Diff groom lens mtl raw-strings-qq
-         smallcheck tasty tasty-hunit tasty-smallcheck time vector
+         smallcheck tasty tasty-hunit tasty-smallcheck text time vector
          xml-conduit
        ];
        homepage = "https://github.com/qrilka/xlsx";
@@ -186139,6 +190137,7 @@ self: {
        ];
        description = "Generate XML-isomorphic types";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xml-lens" = callPackage
@@ -187324,8 +191323,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml-light-lens";
-       version = "0.3.3.2";
-       sha256 = "27380c456128dc72f117febaf3ade7e8c7a916abc3052e5de9d8ffd5ca01df0d";
+       version = "0.3.3.3";
+       sha256 = "788a79a1afd97d9c41010b6240261995da9e80f5674b4e335beec47d225211cf";
        libraryHaskellDepends = [
          base bytestring bytestring-lexing containers lens yaml-light
        ];
@@ -187705,15 +191704,17 @@ self: {
      }) {};
 
   "yeshql" = callPackage
-    ({ mkDerivation, base, containers, filepath, HDBC, parsec, stm
-     , tasty, tasty-hunit, tasty-quickcheck, template-haskell
+    ({ mkDerivation, base, containers, convertible, filepath, HDBC
+     , parsec, stm, syb-with-class, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell
      }:
      mkDerivation {
        pname = "yeshql";
-       version = "1.0.0.1";
-       sha256 = "c535ab7797d2ad062a351f688d147908d79770c1e0881e4340c9d8ab25307bfc";
+       version = "2.2.0.0";
+       sha256 = "3a17da3d051c19d44cd65bdccd3f47ca78c9df6b9190ca732dba16ad086c9e2d";
        libraryHaskellDepends = [
-         base containers filepath HDBC parsec template-haskell
+         base containers convertible filepath HDBC parsec syb-with-class
+         template-haskell
        ];
        testHaskellDepends = [
          base HDBC stm tasty tasty-hunit tasty-quickcheck
@@ -187749,6 +191750,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod_1_4_4" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , conduit, conduit-extra, data-default-class, directory
+     , fast-logger, monad-control, monad-logger, resourcet, semigroups
+     , shakespeare, streaming-commons, template-haskell, text
+     , transformers, unix, unordered-containers, wai, wai-extra
+     , wai-logger, warp, yaml, yesod-core, yesod-form, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod";
+       version = "1.4.4";
+       sha256 = "5f2caade2435754ff35060c3ae58390ad87650b975e83a65f8013e80ea7bea2c";
+       libraryHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring conduit conduit-extra
+         data-default-class directory fast-logger monad-control monad-logger
+         resourcet semigroups shakespeare streaming-commons template-haskell
+         text transformers unix unordered-containers wai wai-extra
+         wai-logger warp yaml yesod-core yesod-form yesod-persistent
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-angular" = callPackage
     ({ mkDerivation, aeson, base, containers, shakespeare
      , template-haskell, text, transformers, yesod
@@ -188068,8 +192094,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-nopassword";
-       version = "0.1.0.1";
-       sha256 = "a2ae8ba484ebd509eb8507b879eae29876ee9284facf1dfc4f94eea4f092106f";
+       version = "0.1.1.1";
+       sha256 = "0e1daf32cb9e57b85e89412e089a49308d5364ad98f3def64494e195fd0cf7b2";
        libraryHaskellDepends = [
          base blaze-markup http-types pwstore-fast text uuid yesod-auth
          yesod-core yesod-form
@@ -188204,7 +192230,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "yesod-bin_1_5_0_1" = callPackage
+  "yesod-bin_1_5_1" = callPackage
     ({ mkDerivation, async, attoparsec, base, base64-bytestring
      , blaze-builder, bytestring, Cabal, conduit, conduit-extra
      , containers, data-default-class, deepseq, directory, file-embed
@@ -188218,8 +192244,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.5.0.1";
-       sha256 = "5530506d1ddbe0b846f538b366645c416322046aa712d866c422e4778829d3e8";
+       version = "1.5.1";
+       sha256 = "034114dade5a23ec39ffeb9f78a04b7bd9fc0b8942b1a11118475e4c594863cd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -188895,6 +192921,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "yesod-paypal-rest" = callPackage
+    ({ mkDerivation, base, paypal-rest-client, time, yesod-core }:
+     mkDerivation {
+       pname = "yesod-paypal-rest";
+       version = "0.1.0";
+       sha256 = "b09605850782f9d1f6688f29a8e40597168e74e26ce239e638c1e840e17dcdf7";
+       libraryHaskellDepends = [
+         base paypal-rest-client time yesod-core
+       ];
+       description = "Yesod plugin to use PayPal with the paypal-rest-client library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "yesod-persistent" = callPackage
     ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
      , persistent-sqlite, persistent-template, resource-pool, resourcet
@@ -188902,8 +192941,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-persistent";
-       version = "1.4.0.6";
-       sha256 = "69c1261b49a6448795d569431691115fc6b86f7b296905573f5b2271465dee71";
+       version = "1.4.1.0";
+       sha256 = "98f422757210b30b2bd0d75828408a9fb1d67fa81e02ec304848c1922da4e91c";
        libraryHaskellDepends = [
          base blaze-builder conduit persistent persistent-template
          resource-pool resourcet transformers yesod-core
@@ -188917,15 +192956,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "yesod-persistent_1_4_1_0" = callPackage
+  "yesod-persistent_1_4_1_1" = 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.1.0";
-       sha256 = "98f422757210b30b2bd0d75828408a9fb1d67fa81e02ec304848c1922da4e91c";
+       version = "1.4.1.1";
+       sha256 = "dffd2604fc37a6b518c06391c44059df96895e3b484d4de8fbff9ff0869e7551";
        libraryHaskellDepends = [
          base blaze-builder conduit persistent persistent-template
          resource-pool resourcet transformers yesod-core
@@ -190806,8 +194845,32 @@ self: {
      }:
      mkDerivation {
        pname = "zip";
-       version = "0.1.3";
-       sha256 = "9e7a79126ab12c198efcae67dd07f860213ce5a6afb2217053f0342ffdb9e6d1";
+       version = "0.1.4";
+       sha256 = "073c9f8320ed16048d099fbec10c42a76ae0bcbd13e344fd0ca99f3a6716db78";
+       libraryHaskellDepends = [
+         base bytestring bzlib-conduit case-insensitive cereal conduit
+         conduit-extra containers digest exceptions filepath mtl path
+         path-io plan-b resourcet text time transformers
+       ];
+       testHaskellDepends = [
+         base bytestring conduit containers exceptions filepath hspec path
+         path-io QuickCheck text time transformers
+       ];
+       homepage = "https://github.com/mrkkrp/zip";
+       description = "Operations on zip archives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zip_0_1_5" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
+     , cereal, conduit, conduit-extra, containers, digest, exceptions
+     , filepath, hspec, mtl, path, path-io, plan-b, QuickCheck
+     , resourcet, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "zip";
+       version = "0.1.5";
+       sha256 = "92ea1f4b28f89f77e065046095f0d7c1fedadef402ccd4f04ee09bac68556974";
        libraryHaskellDepends = [
          base bytestring bzlib-conduit case-insensitive cereal conduit
          conduit-extra containers digest exceptions filepath mtl path
@@ -190820,6 +194883,7 @@ self: {
        homepage = "https://github.com/mrkkrp/zip";
        description = "Operations on zip archives";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zip-archive" = callPackage
@@ -190911,6 +194975,7 @@ self: {
        homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
        description = "Generic zipper for families of recursive datatypes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zippers" = callPackage
diff --git a/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch b/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch
new file mode 100644
index 000000000000..712bd53092f9
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch
@@ -0,0 +1,37 @@
+diff --git a/Setup.hs b/Setup.hs
+index ddf5a02..7ad1f26 100644
+--- a/Setup.hs
++++ b/Setup.hs
+@@ -1,4 +1,4 @@
+-
++{-# LANGUAGE CPP #-}
+ import Control.Monad (when)
+ import Language.Haskell.TH
+ import Distribution.Simple                (defaultMainWithHooks, simpleUserHooks, UserHooks(postConf), Args)
+@@ -6,14 +6,25 @@ import Distribution.Simple.Utils          (cabalVersion)
+ import Distribution.Simple.LocalBuildInfo
+ import Distribution.Simple.Setup          (ConfigFlags)
+ import Distribution.Version               (Version(..))
++#if MIN_VERSION_Cabal(1,25,0)
++import Distribution.Version               (mkVersion)
++#endif
+ import Distribution.PackageDescription    (PackageDescription)
+ import Debug.Trace
+ 
++#if MIN_VERSION_Cabal(1,25,0)
++versionBranch :: Version -> Version
++versionBranch = id
++#else
++mkVersion :: [Int] -> Version
++mkVersion vs = Version vs []
++#endif
++
+ -- I couldn't figure out a way to do this check from the cabal file, so we drop down
+ -- here to do it instead:
+ checkGoodVersion :: IO ()
+ checkGoodVersion =
+-  if   cabalVersion >= Version [1,17,0] []
++  if   cabalVersion >= mkVersion [1,17,0]
+   then putStrLn (" [Setup.hs] This version of Cabal is ok for profiling: "++show cabalVersion)
+   else error (" [Setup.hs] This package should not be used in profiling mode with cabal version "++
+                         show (versionBranch cabalVersion)++" < 1.17.0\n"++
diff --git a/pkgs/development/idris-modules/httpclient.nix b/pkgs/development/idris-modules/httpclient.nix
new file mode 100644
index 000000000000..ec41956b9634
--- /dev/null
+++ b/pkgs/development/idris-modules/httpclient.nix
@@ -0,0 +1,30 @@
+{ pkgs
+, build-idris-package
+, fetchFromGitHub
+, lightyear
+, contrib
+, lib
+, idris
+}:
+
+let
+  date = "2016-12-20";
+in
+build-idris-package {
+  name = "httpclient-${date}";
+
+  src = fetchFromGitHub {
+    owner = "justjoheinz";
+    repo = "idris-httpclient";
+    rev = "4a7296d572d7f7fde87d27da07d5c9566dc4ff14";
+    sha256 = "0sy0q7gri9lwbqdmx9720pby3w1470w7wzn62bf2rir532219hhl";
+  };
+
+  propagatedBuildInputs = [ pkgs.curl lightyear contrib ];
+
+  meta = {
+    description = "HTTP Client for Idris";
+    homepage = https://github.com/justjoheinz/idris-httpclient;
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix
index 16042091a47a..2608388e1526 100644
--- a/pkgs/development/interpreters/angelscript/default.nix
+++ b/pkgs/development/interpreters/angelscript/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="angelscript";
-    version = "2.31.1";
+    version = "2.31.2";
     name="${baseName}-${version}";
     url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
-    sha256 = "00z0x2w1dnfd2h8xvmq3qy2n8gqxyi9gxwnsz0q420by8vnrljmh";
+    sha256 = "1cl1yg36ad4wq0vks4xg0hv7iyvq6yzsd4y1jng5qdf8qybq02qc";
   };
   buildInputs = [
     unzip
diff --git a/pkgs/development/interpreters/ceptre/default.nix b/pkgs/development/interpreters/ceptre/default.nix
index 1f25a2031f27..29d63f1d0048 100644
--- a/pkgs/development/interpreters/ceptre/default.nix
+++ b/pkgs/development/interpreters/ceptre/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, mlton }:
 
 stdenv.mkDerivation rec {
-  name = "ceptre-2016-01-01";
+  name = "ceptre-2016-11-27";
 
   src = fetchgit {
     url = https://github.com/chrisamaphone/interactive-lp;
-    rev = "b3d21489d4994f03d2982de273eea90bc7fba5d0";
-    sha256 = "1qpyasr3jg4i2x547yq1dzksvjagvnrmkdd00s108wvw9npc2jj1";
+    rev = "e436fda2ccd44e9c9d226feced9d204311deacf5";
+    sha256 = "174pxfnw3qyn2w8qxmx45fa68iddf106mkfi0kcmyqxzsc9jprh8";
   };
 
   nativeBuildInputs = [ mlton ];
diff --git a/pkgs/development/interpreters/clisp/hg.nix b/pkgs/development/interpreters/clisp/hg.nix
new file mode 100644
index 000000000000..b4930e7d57d6
--- /dev/null
+++ b/pkgs/development/interpreters/clisp/hg.nix
@@ -0,0 +1,97 @@
+# there are the following linking sets:
+# - boot (not installed): without modules, only used when building clisp
+# - base (default): contains readline and i18n, regexp and syscalls modules
+#   by default
+# - full: contains base plus modules in withModules
+{ stdenv, fetchhg, libsigsegv, gettext, ncurses, readline, libX11
+, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
+, libffi
+, libffcall
+, coreutils
+# build options
+, threadSupport ? (stdenv.isi686 || stdenv.isx86_64)
+, x11Support ? (stdenv.isi686 || stdenv.isx86_64)
+, dllSupport ? true
+, withModules ? [
+    "pcre"
+    "rawsock"
+  ]
+  ++ stdenv.lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" ]
+  ++ stdenv.lib.optional x11Support "clx/new-clx"
+}:
+
+assert x11Support -> (libX11 != null && libXau != null && libXt != null
+  && libXpm != null && xproto != null && libXext != null && xextproto != null);
+
+stdenv.mkDerivation rec {
+  v = "2.50pre20161201";
+  name = "clisp-${v}";
+
+  src = fetchhg {
+    url = "http://hg.code.sf.net/p/clisp/clisp";
+    rev = "536a48";
+    sha256 = "097igsfpn8xipnjapyf5hx6smzh04v4ncskxl747xxn6pgpq813z";
+  };
+
+  inherit libsigsegv gettext coreutils;
+
+  ffcallAvailable = stdenv.isLinux && (libffcall != null);
+
+  buildInputs = [libsigsegv]
+  ++ stdenv.lib.optional (gettext != null) gettext
+  ++ stdenv.lib.optional (ncurses != null) ncurses
+  ++ stdenv.lib.optional (pcre != null) pcre
+  ++ stdenv.lib.optional (zlib != null) zlib
+  ++ stdenv.lib.optional (readline != null) readline
+  ++ stdenv.lib.optional (ffcallAvailable && (libffi != null)) libffi
+  ++ stdenv.lib.optional ffcallAvailable libffcall
+  ++ stdenv.lib.optionals x11Support [
+    libX11 libXau libXt libXpm xproto libXext xextproto
+  ];
+
+  # First, replace port 9090 (rather low, can be used)
+  # with 64237 (much higher, IANA private area, not
+  # anything rememberable).
+  # Also remove reference to a type that disappeared from recent glibc
+  # (seems the correct thing to do, found no reference to any solution)
+  postPatch = ''
+    sed -e 's@9090@64237@g' -i tests/socket.tst
+    sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
+    find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
+
+    substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
+  '';
+
+  configureFlags = "builddir"
+  + stdenv.lib.optionalString (!dllSupport) " --without-dynamic-modules"
+  + stdenv.lib.optionalString (readline != null) " --with-readline"
+  # --with-dynamic-ffi can only exist with --with-ffcall - foreign.d does not compile otherwise
+  + stdenv.lib.optionalString (ffcallAvailable && (libffi != null)) " --with-dynamic-ffi"
+  + stdenv.lib.optionalString ffcallAvailable " --with-ffcall"
+  + stdenv.lib.optionalString (!ffcallAvailable) " --without-ffcall"
+  + stdenv.lib.concatMapStrings (x: " --with-module=" + x) withModules
+  + stdenv.lib.optionalString threadSupport " --with-threads=POSIX_THREADS";
+
+  preBuild = ''
+    sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
+    cd builddir
+  '';
+
+  postInstall =
+    stdenv.lib.optionalString (withModules != [])
+      (''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full''
+      + stdenv.lib.concatMapStrings (x: " " + x) withModules);
+
+  NIX_CFLAGS_COMPILE = "-O0 ${stdenv.lib.optionalString (!stdenv.is64bit) "-falign-functions=4"}";
+
+  # TODO : make mod-check fails
+  doCheck = false;
+
+  meta = {
+    description = "ANSI Common Lisp Implementation";
+    homepage = http://clisp.cons.org;
+    maintainers = with stdenv.lib.maintainers; [raskin tohl];
+    # problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/interpreters/gnu-apl/default.nix b/pkgs/development/interpreters/gnu-apl/default.nix
index 789f349fb163..bfb975f152a7 100644
--- a/pkgs/development/interpreters/gnu-apl/default.nix
+++ b/pkgs/development/interpreters/gnu-apl/default.nix
@@ -11,6 +11,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline gettext ncurses ];
 
+  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/LApack.cc --replace "malloc.h" "malloc/malloc.h"
+  '';
+
+  configureFlags = stdenv.lib.optionals stdenv.isDarwin [
+    "--disable-dependency-tracking"
+    "--disable-silent-rules"
+  ];
+
   postInstall = ''
     cp -r support-files/ $out/share/doc/
     find $out/share/doc/support-files -name 'Makefile*' -delete
@@ -21,7 +30,7 @@ stdenv.mkDerivation rec {
     homepage    = http://www.gnu.org/software/apl/;
     license     = licenses.gpl3Plus;
     maintainers = [ maintainers.kovirobi ];
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = with stdenv.lib.platforms; linux ++ darwin;
     inherit version;
 
     longDescription = ''
diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix
index 13403d50759a..7632784463fa 100644
--- a/pkgs/development/interpreters/maude/default.nix
+++ b/pkgs/development/interpreters/maude/default.nix
@@ -1,27 +1,38 @@
-{ stdenv, fetchurl, flex, bison, ncurses, buddy, tecla, libsigsegv, gmpxx, makeWrapper }:
+{ stdenv, fetchurl, unzip, makeWrapper , flex, bison, ncurses, buddy, tecla
+, libsigsegv, gmpxx, cvc4, cln
+}:
 
-stdenv.mkDerivation rec {
-  name = "maude-2.6";
+let
 
-  src = fetchurl {
-    url = "http://maude.cs.uiuc.edu/download/current/Maude-2.6.tar.gz";
-    sha256 = "182abzhvjvlaa21aqv7802v3bs57a4dm7cw09s3mqmih7nzpkfm5";
-  };
+  version = "2.7.1";
 
   fullMaude = fetchurl {
-    url = "https://full-maude.googlecode.com/git/full-maude261h.maude";
-    sha256 = "0xx8bfn6arsa75m5vhp5lmpazgfw230ssq33h9vifswlvzzc81ha";
+    url = "http://maude.cs.illinois.edu/w/images/c/ca/Full-Maude-${version}.zip";
+    sha256 = "0y4gn7n8vh24r24vckhpkd46hb5hqsbrm4w9zr6dz4paafq12fjc";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "maude-${version}";
+
+  src = fetchurl {
+    url = "http://maude.cs.illinois.edu/w/images/d/d8/Maude-${version}.tar.gz";
+    sha256 = "0jskn5dm8vvbd3mlryjxdb6wfpkvyx174wk7ci9a31aylxzpr25i";
   };
 
-  buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper];
+  buildInputs = [
+    flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper unzip cvc4 cln
+  ];
 
   hardeningDisable = [ "stackprotector" ] ++
     stdenv.lib.optionals stdenv.isi686 [ "pic" "fortify" ];
 
   preConfigure = ''
     configureFlagsArray=(
-      --datadir=$out/share/maude
+      --datadir="$out/share/maude"
       TECLA_LIBS="-ltecla -lncursesw"
+      LIBS="-lcln"
       CFLAGS="-O3" CXXFLAGS="-O3"
     )
   '';
@@ -30,12 +41,12 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
-    mkdir -p $out/share/maude
-    cp ${fullMaude} -d $out/share/maude/full-maude.maude
+    unzip ${fullMaude}
+    install -D -m 444 full-maude.maude $out/share/maude/full-maude.maude
   '';
 
   meta = {
-    homepage = "http://maude.cs.uiuc.edu/";
+    homepage = "http://maude.cs.illinois.edu/";
     description = "High-level specification language";
     license = stdenv.lib.licenses.gpl2;
 
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 226f819ded93..904ad97648e0 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -18,11 +18,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "4.0.3";
+  version = "4.2.0";
   name = "octave-${version}";
   src = fetchurl {
-    url = "mirror://gnu/octave/${name}.tar.xz";
-    sha256 = "11day29k4yfvxh4101x5yf26ld992x5n6qvmhjjk6mzsd26fqayw";
+    url = "mirror://gnu/octave/${name}.tar.gz";
+    sha256 = "0rsmg5i3b5yfvkvrl9mqvn3f2n1a6vqg45phpja1qlzkh8vsffs4";
   };
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull
diff --git a/pkgs/development/interpreters/python/cpython/2.7/boot.nix b/pkgs/development/interpreters/python/cpython/2.7/boot.nix
new file mode 100644
index 000000000000..1fecdfdf560e
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/2.7/boot.nix
@@ -0,0 +1,94 @@
+{ stdenv, fetchurl, CF, configd, coreutils }:
+
+with stdenv.lib;
+
+let
+
+  mkPaths = paths: {
+    C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths;
+    LIBRARY_PATH = makeLibraryPath paths;
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "python-boot-${version}";
+  version = "2.7.12";
+  libPrefix = "python2.7";
+
+  src = fetchurl {
+    url = "https://www.python.org/ftp/python/2.7.12/Python-${version}.tar.xz";
+    sha256 = "0y7rl603vmwlxm6ilkhc51rx2mfj14ckcz40xxgs0ljnvlhp30yp";
+  };
+
+  inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH;
+
+  LDFLAGS = optionalString (!stdenv.isDarwin) "-lgcc_s";
+  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
+
+  buildInputs = optionals stdenv.isDarwin [ CF configd ];
+
+  patches =
+    [ # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
+      ./search-path.patch
+
+      # Python recompiles a Python if the mtime stored *in* the
+      # pyc/pyo file differs from the mtime of the source file.  This
+      # doesn't work in Nix because Nix changes the mtime of files in
+      # the Nix store to 1.  So treat that as a special case.
+      ./nix-store-mtime.patch
+
+      # patch python to put zero timestamp into pyc
+      # if DETERMINISTIC_BUILD env var is set
+      ./deterministic-build.patch
+    ];
+
+  DETERMINISTIC_BUILD = 1;
+
+  preConfigure = ''
+      # Purity.
+      for i in /usr /sw /opt /pkg; do
+        substituteInPlace ./setup.py --replace $i /no-such-path
+      done
+    '' + optionalString (stdenv ? cc && stdenv.cc.libc != null) ''
+      for i in Lib/plat-*/regen; do
+        substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/
+      done
+    '' + optionalString stdenv.isDarwin ''
+      substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
+      substituteInPlace Lib/multiprocessing/__init__.py \
+        --replace 'os.popen(comm)' 'os.popen("${coreutils}/bin/nproc")'
+    '';
+
+  configureFlags = [ "--enable-shared" "--with-threads" "--enable-unicode=ucs4" ]
+    ++ optionals stdenv.isCygwin [ "ac_cv_func_bind_textdomain_codeset=yes" ]
+    ++ optionals stdenv.isDarwin [ "--disable-toolbox-glue" ];
+
+  postInstall =
+    ''
+      ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz}
+
+      paxmark E $out/bin/python2.7
+
+      rm "$out"/lib/python*/plat-*/regen # refers to glibc.dev
+    '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://python.org";
+    description = "A high-level dynamically-typed programming language";
+    longDescription = ''
+      Python is a remarkably powerful dynamic programming language that
+      is used in a wide variety of application domains. Some of its key
+      distinguishing features include: clear, readable syntax; strong
+      introspection capabilities; intuitive object orientation; natural
+      expression of procedural code; full modularity, supporting
+      hierarchical packages; exception-based error handling; and very
+      high level dynamic data types.
+    '';
+    license = stdenv.lib.licenses.psfl;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ lnl7 chaoflow domenkozar ];
+  };
+}
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 4a25382997c3..15b21b5bed9b 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -6,7 +6,7 @@
 , openssl
 , readline
 , sqlite
-, tcl ? null, tk ? null, xlibsWrapper ? null, libX11 ? null, x11Support ? false
+, tcl ? null, tk ? null, tix ? null, xlibsWrapper ? null, libX11 ? null, x11Support ? false
 , zlib
 , callPackage
 , self
@@ -28,7 +28,7 @@ with stdenv.lib;
 
 let
   majorVersion = "2.7";
-  minorVersion = "12";
+  minorVersion = "13";
   minorVersionSuffix = "";
   pythonVersion = majorVersion;
   version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@@ -37,7 +37,7 @@ let
 
   src = fetchurl {
     url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
-    sha256 = "0y7rl603vmwlxm6ilkhc51rx2mfj14ckcz40xxgs0ljnvlhp30yp";
+    sha256 = "0cgpk3zk0fgpji59pb4zy9nzljr70qzgv1vpz5hq5xw2d2c47m9m";
   };
 
   hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
@@ -57,13 +57,6 @@ let
 
       ./properly-detect-curses.patch
 
-      # FIXME: get rid of this after the next release, when the commit referenced here makes
-      # it in. We need it until then because it breaks compilation of programs that use
-      # locale with clang 3.8 and higher.
-      (fetchpatch {
-        url    = "https://hg.python.org/cpython/raw-rev/e0ec3471cb09";
-        sha256 = "1jdgb70jw942r4kmr01qll7mk1di8jx0qiabmp20jhnmha246ivq";
-      })
     ] ++ optionals stdenv.isLinux [
 
       # Disable the use of ldconfig in ctypes.util.find_library (since
@@ -157,6 +150,10 @@ in stdenv.mkDerivation {
 
     setupHook = ./setup-hook.sh;
 
+    postPatch = optionalString (x11Support && (tix != null)) ''
+          substituteInPlace "Lib/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
+    '';
+
     postInstall =
       ''
         # needed for some packages, especially packages that backport
diff --git a/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch
index 44c38fb29534..2a6b2a20dd19 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch
+++ b/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch
@@ -1,8 +1,18 @@
+From 6b0f329a9f37110020ca02b35c8125391ef282b7 Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Sat, 24 Dec 2016 15:56:10 +0100
+Subject: [PATCH] no ldconfig
+
+---
+ Lib/ctypes/util.py | 35 +----------------------------------
+ Lib/uuid.py        | 47 -----------------------------------------------
+ 2 files changed, 1 insertion(+), 81 deletions(-)
+
 diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
-index b2c514d..a6eca81 100644
+index ab10ec5..f253e34 100644
 --- a/Lib/ctypes/util.py
 +++ b/Lib/ctypes/util.py
-@@ -207,31 +207,7 @@ elif os.name == "posix":
+@@ -235,40 +235,7 @@ elif os.name == "posix":
      else:
  
          def _findSoname_ldconfig(name):
@@ -22,11 +32,20 @@ index b2c514d..a6eca81 100644
 -
 -            # XXX assuming GLIBC's ldconfig (with option -p)
 -            expr = r'\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type)
--            f = os.popen('LC_ALL=C LANG=C /sbin/ldconfig -p 2>/dev/null')
+-
+-            env = dict(os.environ)
+-            env['LC_ALL'] = 'C'
+-            env['LANG'] = 'C'
+-            null = open(os.devnull, 'wb')
 -            try:
--                data = f.read()
--            finally:
--                f.close()
+-                with null:
+-                    p = subprocess.Popen(['/sbin/ldconfig', '-p'],
+-                                          stderr=null,
+-                                          stdout=subprocess.PIPE,
+-                                          env=env)
+-            except OSError:  # E.g. command not found
+-                return None
+-            [data, _] = p.communicate()
 -            res = re.search(expr, data)
 -            if not res:
 -                return None
@@ -36,16 +55,12 @@ index b2c514d..a6eca81 100644
          def find_library(name):
              return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
 diff --git a/Lib/uuid.py b/Lib/uuid.py
-index 7432032..9829d18 100644
+index 7432032..05eeee5 100644
 --- a/Lib/uuid.py
 +++ b/Lib/uuid.py
-@@ -437,57 +437,7 @@ def _netbios_getnode():
-         return ((bytes[0]<<40L) + (bytes[1]<<32L) + (bytes[2]<<24L) +
-                 (bytes[3]<<16L) + (bytes[4]<<8L) + bytes[5])
+@@ -441,53 +441,6 @@ def _netbios_getnode():
  
--# Thanks to Thomas Heller for ctypes and for his help with its use here.
--
--# If ctypes is available, use it to find system routines for UUID generation.
+ # If ctypes is available, use it to find system routines for UUID generation.
  _uuid_generate_time = _UuidCreate = None
 -try:
 -    import ctypes, ctypes.util
@@ -97,3 +112,6 @@ index 7432032..9829d18 100644
  
  def _unixdll_getnode():
      """Get the hardware address on Unix using ctypes."""
+-- 
+2.11.0
+
diff --git a/pkgs/development/interpreters/python/cpython/3.3/default.nix b/pkgs/development/interpreters/python/cpython/3.3/default.nix
index 6a543a8a0ee0..3ab0de96704c 100644
--- a/pkgs/development/interpreters/python/cpython/3.3/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.3/default.nix
@@ -6,7 +6,7 @@
 , openssl
 , readline
 , sqlite
-, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? false
+, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false
 , zlib
 , callPackage
 , self
@@ -50,6 +50,10 @@ in stdenv.mkDerivation {
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
+  postPatch = optionalString (x11Support && (tix != null)) ''
+    substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
+  '';
+
   preConfigure = ''
     for i in /usr /sw /opt /pkg; do	# improve purity
       substituteInPlace ./setup.py --replace $i /no-such-path
diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix
index 623fa5d74f64..e081a60c6bc4 100644
--- a/pkgs/development/interpreters/python/cpython/3.4/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix
@@ -6,7 +6,7 @@
 , openssl
 , readline
 , sqlite
-, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? false
+, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false
 , zlib
 , callPackage
 , self
@@ -55,6 +55,10 @@ in stdenv.mkDerivation {
     substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
   '';
 
+  postPatch = optionalString (x11Support && (tix != null)) ''
+    substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
+  '';
+
   preConfigure = ''
     for i in /usr /sw /opt /pkg; do	# improve purity
       substituteInPlace ./setup.py --replace $i /no-such-path
diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix
index 7172e429f236..92f9d66ea52d 100644
--- a/pkgs/development/interpreters/python/cpython/3.5/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix
@@ -6,7 +6,7 @@
 , openssl
 , readline
 , sqlite
-, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? false
+, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false
 , zlib
 , callPackage
 , self
@@ -55,6 +55,10 @@ in stdenv.mkDerivation {
     substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
   '';
 
+  postPatch = optionalString (x11Support && (tix != null)) ''
+    substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
+  '';
+
   preConfigure = ''
     for i in /usr /sw /opt /pkg; do	# improve purity
       substituteInPlace ./setup.py --replace $i /no-such-path
diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix
index 4654a6e1cb61..795bd7467253 100644
--- a/pkgs/development/interpreters/python/cpython/3.6/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix
@@ -7,7 +7,7 @@
 , openssl
 , readline
 , sqlite
-, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? false
+, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false
 , zlib
 , callPackage
 , self
@@ -25,7 +25,7 @@ with stdenv.lib;
 let
   majorVersion = "3.6";
   minorVersion = "0";
-  minorVersionSuffix = "rc1";
+  minorVersionSuffix = "";
   pythonVersion = majorVersion;
   version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
   libPrefix = "python${majorVersion}";
@@ -45,7 +45,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
-    sha256 = "01sqzz5iq7law93zgdxkb8sv98a493a2wzslynz64cl3hhdqr1pw";
+    sha256 = "08inlbb2vb8lahw6wfq654lqk6l1x7ncpggp6a92vqw5yq2gkidh";
   };
 
   NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
@@ -55,6 +55,10 @@ in stdenv.mkDerivation {
     substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
   '';
 
+  postPatch = optionalString (x11Support && (tix != null)) ''
+    substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
+  '';
+
   preConfigure = ''
     for i in /usr /sw /opt /pkg; do	# improve purity
       substituteInPlace ./setup.py --replace $i /no-such-path
diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix
index 1fd9eaee4303..163c3847db9b 100644
--- a/pkgs/development/interpreters/python/pypy/2.7/default.nix
+++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
-, sqlite, openssl, ncurses, python, expat, tcl, tk, xlibsWrapper, libX11
+, sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
 , makeWrapper, callPackage, self, gdbm, db
 # For the Python package set
 , pkgs, packageOverrides ? (self: super: {})
@@ -8,8 +8,8 @@
 assert zlibSupport -> zlib != null;
 
 let
-  majorVersion = "5.4";
-  minorVersion = "1";
+  majorVersion = "5.6";
+  minorVersion = "0";
   minorVersionSuffix = "";
   pythonVersion = "2.7";
   version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@@ -23,7 +23,7 @@ let
 
     src = fetchurl {
       url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
-      sha256 = "1x8sa5x1nkrb8wrmicri94ji8kvyxihyryi8br5fk7gak0agcai0";
+      sha256 = "145a0kd5c0s1v2rpavw9ihncfb05s2x7chc70v8fssvyxq601911";
     };
 
    # http://bugs.python.org/issue27369
@@ -35,6 +35,7 @@ let
       };
       in ''
       patch lib-python/2.7/test/test_pyexpat.py < '${expatch}'
+      substituteInPlace "lib-python/2.7/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
     '';
 
     buildInputs = [ bzip2 openssl pkgconfig python libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 makeWrapper gdbm db ]
diff --git a/pkgs/development/interpreters/python/wrap-python.nix b/pkgs/development/interpreters/python/wrap-python.nix
index b965ff5350b1..1efd777bb052 100644
--- a/pkgs/development/interpreters/python/wrap-python.nix
+++ b/pkgs/development/interpreters/python/wrap-python.nix
@@ -35,7 +35,7 @@ makeSetupHook {
           import sys
           import site
           import functools
-          sys.argv[0] = '"'$(basename "$f")'"'
+          sys.argv[0] = '"'$(readlink -f "$f")'"'
           functools.reduce(lambda k, p: site.addsitedir(p, k), ['"$([ -n "$program_PYTHONPATH" ] && (echo "'$program_PYTHONPATH'" | sed "s|:|','|g") || true)"'], site._init_pathinfo())
         '';
 
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 9486d030a8b4..d5f3a6d39902 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -113,6 +113,7 @@ let
 
         configureFlags = ["--enable-shared" "--enable-pthread"]
           ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+          ++ op (!docSupport) "--disable-install-doc"
           ++ ops stdenv.isDarwin [
             # on darwin, we have /usr/include/tk.h -- so the configure script detects
             # that tk is installed
@@ -154,7 +155,7 @@ let
           license = stdenv.lib.licenses.ruby;
           homepage = http://www.ruby-lang.org/en/;
           description = "The Ruby language";
-          maintainers = [ stdenv.lib.maintainers.vrthra ];
+          maintainers = with stdenv.lib.maintainers; [ vrthra manveru ];
           platforms = stdenv.lib.platforms.all;
         };
 
@@ -218,4 +219,12 @@ in {
       git = "0cwjf0nrzaa5g81bw0qp65byyadhxvbnvprkshv3ckjl7yi46zf6";
     };
   };
+
+  ruby_2_4_0 = generic {
+    version = rubyVersion "2" "4" "0" "";
+    sha256 = {
+      src = "0gcyn9328w2vma882l71c9v9ygmmsj2z8j1l44c4l2x92nyx0bqm";
+      git = "1w9zyx8xmka8jdiha57snnbfls2r6dc9g03d8cjx0nxkmwf3r2l3";
+    };
+  };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index d21e7d669dcc..a3aeaf6a8ba0 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -65,4 +65,9 @@ rec {
     "${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.3/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
+  "2.4.0" = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.4.0/railsexpress/01-skip-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.4.0/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.4.0/railsexpress/03-display-more-detailed-stack-trace.patch"
+  ];
 }
diff --git a/pkgs/development/interpreters/ruby/rvm-patchsets.nix b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
index bbe1038bab2f..51db26b78236 100644
--- a/pkgs/development/interpreters/ruby/rvm-patchsets.nix
+++ b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
@@ -1,8 +1,8 @@
 { fetchFromGitHub }:
 
 fetchFromGitHub {
-  owner  = "skaes";
+  owner  = "manveru";
   repo   = "rvm-patchsets";
-  rev    = "951e47ca1022cd1e41de9177fa87438cfb72d127";
-  sha256 = "18n2frwmn6lcnjywysyjam1zfzfad0r50141xs2h9kifsyak5xcf";
+  rev    = "46e04f230ce91a786f5e583389443efec0ecd594";
+  sha256 = "0ayh8zj8knyz3344an942qdf33pi42jmksqk34frb346zi1ag693";
 }
diff --git a/pkgs/development/interpreters/spidermonkey/31.nix b/pkgs/development/interpreters/spidermonkey/31.nix
index 585ebc120d8e..ae3e742e2ef4 100644
--- a/pkgs/development/interpreters/spidermonkey/31.nix
+++ b/pkgs/development/interpreters/spidermonkey/31.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, python2, zip, libffi, nspr, icu, readline }:
+{ stdenv, fetchurl, pkgconfig, gnused_422, perl, python2, zip, libffi, nspr, icu, readline }:
 
 stdenv.mkDerivation rec {
   version = "31.5.0";
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1q8icql5hh1g3gzg5fp4rl9rfagyhm9gilfn3dgi7qn4i1mrfqsd";
   };
 
-  buildInputs = [ pkgconfig perl python2 zip libffi readline nspr icu ];
+  buildInputs = [ libffi readline nspr icu ];
+  nativeBuildInputs = [ pkgconfig perl python2 zip gnused_422 ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/js/src";
 
diff --git a/pkgs/development/interpreters/spidermonkey/38.nix b/pkgs/development/interpreters/spidermonkey/38.nix
index 89c02f262001..b4823817d4b7 100644
--- a/pkgs/development/interpreters/spidermonkey/38.nix
+++ b/pkgs/development/interpreters/spidermonkey/38.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, python2, zip, libffi, readline, icu, zlib, nspr }:
+{ stdenv, fetchurl, pkgconfig, gnused_422, perl, python2, zip, libffi, readline, icu, zlib, nspr }:
 
 stdenv.mkDerivation rec {
   version = "38.2.1.rc0";
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "0p4bmbpgkfsj54xschcny0a118jdrdgg0q29rwxigg3lh5slr681";
   };
 
-  buildInputs = [ pkgconfig perl python2 zip libffi readline icu zlib nspr ];
+  buildInputs = [ libffi readline icu zlib nspr ];
+  nativeBuildInputs = [ pkgconfig perl python2 zip gnused_422 ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/js/src";
 
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 16aa4f6c2f76..f94d7051d0d9 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
     sha256 = "0jqp46mxxbh9lhpx1ih6sp93k752j2smhpc0ad0q4cb3px0famfs";
   };
 
+  outputs = [ "out" "dev" ];
+
   patches = [ ./find-headers.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
@@ -61,6 +63,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     rm $out/lib/*.a
+    moveToOutput bin/sdl2-config "$dev"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index 9f3307742ec4..101322f3f531 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "lilv-${version}";
-  version = "0.20.0";
+  version = "0.24.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2";
+    sha256 = "17pv4wdaj7m5ghpfs7h7d8jd105xfzyn2lj438xslj1ndm9xwq7s";
   };
 
   buildInputs = [ lv2 pkgconfig python serd sord sratom ];
 
-  configurePhase = "python waf configure --prefix=$out";
+  configurePhase = "${python.interpreter} waf configure --prefix=$out";
 
-  buildPhase = "python waf";
+  buildPhase = "${python.interpreter} waf";
 
-  installPhase = "python waf install";
+  installPhase = "${python.interpreter} waf install";
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/lilv;
diff --git a/pkgs/development/libraries/audio/lilv/lilv-svn.nix b/pkgs/development/libraries/audio/lilv/lilv-svn.nix
deleted file mode 100644
index 0b02774bc172..000000000000
--- a/pkgs/development/libraries/audio/lilv/lilv-svn.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchsvn, lv2, pkgconfig, python, serd, sord-svn, sratom }:
-
-stdenv.mkDerivation rec {
-  name = "lilv-svn-${rev}";
-  rev = "5675";
-
-  src = fetchsvn {
-    url = "http://svn.drobilla.net/lad/trunk/lilv";
-    rev = rev;
-    sha256 = "1wr61sivgbh0j271ix058sncsrgh9p2rh7af081s2z9ml8szgraq";
-  };
-
-  buildInputs = [ lv2 pkgconfig python serd sord-svn sratom ];
-
-  configurePhase = "python waf configure --prefix=$out";
-
-  buildPhase = "python waf";
-
-  installPhase = "python waf install";
-
-  meta = with stdenv.lib; {
-    homepage = http://drobilla.net/software/lilv;
-    description = "A C library to make the use of LV2 plugins";
-    license = licenses.mit;
-    maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index fad8dc86bd14..dafd39efee98 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "lv2-${version}";
-  version = "1.12.0";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "http://lv2plug.in/spec/${name}.tar.bz2";
-    sha256 = "1saq0vwqy5zjdkgc5ahs8kcabxfmff2mmg68fiqrkv8hiw9m6jks";
+    sha256 = "0chxwys3vnn3nxc9x2vchm74s9sx0vfra6y893byy12ci61jc1dq";
   };
 
   buildInputs = [ gtk2 libsndfile pkgconfig 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";
+  installPhase = "${python.interpreter} waf install";
 
   meta = with stdenv.lib; {
     homepage = http://lv2plug.in;
diff --git a/pkgs/development/libraries/audio/raul/default.nix b/pkgs/development/libraries/audio/raul/default.nix
index 97d7dd831551..94102c385497 100644
--- a/pkgs/development/libraries/audio/raul/default.nix
+++ b/pkgs/development/libraries/audio/raul/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchsvn, boost, gtk2, pkgconfig, python }:
+{ stdenv, fetchgit, boost, gtk2, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
-  name = "raul-svn-${rev}";
-  rev = "5675";
+  name = "raul-unstable-${rev}";
+  rev = "2016-09-20";
 
-  src = fetchsvn {
-    url = "http://svn.drobilla.net/lad/trunk/raul";
-    rev = rev;
-    sha256 = "0yvm3j57lch89dixx7zsip7pxsws0xxy1y6ck7a3l0534qc5kny4";
+  src = fetchgit {
+    url = "http://git.drobilla.net/cgit.cgi/raul.git";
+    rev = "f8bf77d3c3b77830aedafb9ebb5cdadfea7ed07a";
+    sha256 = "1lby508fb0n8ks6iz959sh18fc37br39d6pbapwvbcw5nckdrxwj";
   };
 
   buildInputs = [ boost gtk2 pkgconfig 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";
+  installPhase = "${python.interpreter} waf install";
 
   meta = with stdenv.lib; {
     description = "A C++ utility library primarily aimed at audio/musical applications";
diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix
index a4ba4c16c872..816baa5221e6 100644
--- a/pkgs/development/libraries/audio/sratom/default.nix
+++ b/pkgs/development/libraries/audio/sratom/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "sratom-${version}";
-  version = "0.4.6";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4";
+    sha256 = "0hrxd9i66s06bpn6i3s9ka95134g3sm8yscmif7qgdzhyjqw42j4";
   };
 
   buildInputs = [ lv2 pkgconfig python serd sord ];
 
-  configurePhase = "python waf configure --prefix=$out";
+  configurePhase = "${python.interpreter} waf configure --prefix=$out";
 
-  buildPhase = "python waf";
+  buildPhase = "${python.interpreter} waf";
 
-  installPhase = "python waf install";
+  installPhase = "${python.interpreter} waf install";
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/sratom;
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index d5d7371aebf3..54d490b77af5 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, curl, libuuid, openssl, zlib
+{ lib, stdenv, fetchFromGitHub, cmake, curl, openssl, zlib
 , # Allow building a limited set of APIs, e.g. ["s3" "ec2"].
   apis ? ["*"]
 , # Whether to enable AWS' custom memory management.
@@ -7,20 +7,20 @@
 
 stdenv.mkDerivation rec {
   name = "aws-sdk-cpp-${version}";
-  version = "1.0.34";
+  version = "1.0.48";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "09vag1ybfqvw37djmd9g740iqjvg8nwr4p0xb21rfj06vazrdg4b";
+    sha256 = "1k73ir1w6457y9mdv2xnk8cr1y1xxhzzd4095rzvn2y7fr3zgz01";
   };
 
   # FIXME: might be nice to put different APIs in different outputs
   # (e.g. libaws-cpp-sdk-s3.so in output "s3").
   outputs = [ "out" "dev" ];
 
-  buildInputs = [ cmake curl libuuid ];
+  buildInputs = [ cmake curl ];
 
   cmakeFlags =
     lib.optional (!customMemoryManagement) "-DCUSTOM_MEMORY_MANAGEMENT=0"
@@ -39,13 +39,13 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = lib.concatStringsSep " " (
     (map (pkg: "-rpath ${lib.getOutput "lib" pkg}/lib"))
-      [ libuuid curl openssl zlib stdenv.cc.cc ]);
+      [ curl openssl zlib stdenv.cc.cc ]);
 
   meta = {
     description = "A C++ interface for Amazon Web Services";
     homepage = https://github.com/awslabs/aws-sdk-cpp;
     license = lib.licenses.asl20;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
     maintainers = [ lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/boehm-gc/cygwin.patch b/pkgs/development/libraries/boehm-gc/cygwin.patch
deleted file mode 100644
index 25c6b9f06f31..000000000000
--- a/pkgs/development/libraries/boehm-gc/cygwin.patch
+++ /dev/null
@@ -1,108 +0,0 @@
---- gc-7.2/include/gc.h	2014-06-01 19:00:48.000000000 +0200
-+++ gc-7.2/include/gc.h	2015-05-27 12:55:42.248984200 +0200
-@@ -1386,7 +1386,14 @@
- /* THREAD_LOCAL_ALLOC defined and the initial allocation call is not    */
- /* to GC_malloc() or GC_malloc_atomic().                                */
- 
--#ifdef __CYGWIN32__
-+#ifdef __CYGWIN__
-+#ifdef __x86_64__
-+  extern int __data_start__[], __data_end__[], __bss_start__[], __bss_end__[];
-+#define GC_DATASTART (__data_start__ < __bss_start__ ?\
-+                      (void *)__data_start__ : (void *)__bss_start__)
-+#define GC_DATAEND (__data_end__ < __bss_end__ ?\
-+                      (void *)__data_end__ : (void *)__bss_end__)
-+#else
-   /* Similarly gnu-win32 DLLs need explicit initialization from the     */
-   /* main program, as does AIX.                                         */
-   extern int _data_start__[], _data_end__[], _bss_start__[], _bss_end__[];
-@@ -1394,6 +1401,7 @@
-                        (void *)_data_start__ : (void *)_bss_start__)
- # define GC_DATAEND (_data_end__ > _bss_end__ ? \
-                      (void *)_data_end__ : (void *)_bss_end__)
-+#endif
- # define GC_INIT_CONF_ROOTS GC_add_roots(GC_DATASTART, GC_DATAEND); \
-                                  GC_gcollect() /* For blacklisting. */
-         /* Required at least if GC is in a DLL.  And doesn't hurt. */
---- gc-7.2/include/private/gcconfig.h	2014-06-01 19:00:48.000000000 +0200
-+++ gc-7.2/include/private/gcconfig.h	2015-05-27 12:46:01.864338700 +0200
-@@ -441,10 +441,20 @@
- #   endif
- #   define mach_type_known
- # endif
--# if defined(__CYGWIN32__) || defined(__CYGWIN__)
-+# if defined(__CYGWIN32__)
- #   define I386
- #   define CYGWIN32
- #   define mach_type_known
-+#if defined(__CYGWIN__)
-+#  if defined(__LP64__)
-+#    define X86_64
-+#    define mach_type_known
-+#  else
-+#    define I386
-+#  endif
-+#  define CYGWIN32
-+#  define mach_type_known
-+#endif
- # endif
- # if defined(__MINGW32__) && !defined(mach_type_known)
- #   define I386
-@@ -511,6 +521,16 @@
- #    define mach_type_known
- # endif
- 
-+#if defined(__CYGWIN__)
-+#  if defined(__LP64__)
-+#    define X86_64
-+#    define mach_type_known
-+#  else
-+#    define I386
-+#  endif
-+#  define CYGWIN32
-+#  define mach_type_known
-+#endif
- /* Feel free to add more clauses here */
- 
- /* Or manually define the machine type here.  A machine type is         */
-@@ -2279,6 +2299,20 @@
- #       define GWW_VDB
- #       define DATAEND  /* not needed */
- #   endif
-+
-+#   ifdef CYGWIN32
-+#       define OS_TYPE "CYGWIN32"
-+#       define DATASTART ((ptr_t)GC_DATASTART)  /* From gc.h */
-+#       define DATAEND   ((ptr_t)GC_DATAEND)
-+#       define ALIGNMENT 8
-+#       undef STACK_GRAN
-+#       define STACK_GRAN 0x10000
-+#       ifdef USE_MMAP
-+#         define NEED_FIND_LIMIT
-+#         define USE_MMAP_ANON
-+#       endif
-+#   endif
-+
- # endif /* X86_64 */
- 
- # ifdef HEXAGON
---- gc-7.2/os_dep.c	2015-05-27 12:25:29.097698800 +0200
-+++ gc-7.2/os_dep.c	2015-05-27 12:48:23.714600800 +0200
-@@ -764,10 +764,16 @@
-     /* gcc version of boehm-gc).                                        */
-     GC_API int GC_CALL GC_get_stack_base(struct GC_stack_base *sb)
-     {
-+# ifdef __x86_64__
-+      PNT_TIB pTib = NtCurrentTeb();
-+      void * _tlsbase = pTib->StackBase;
-+      /*void * _tlsbase = NtCurrentTeb()->pTib.StackBase;*/
-+      /*extern void * _tlsbase __asm__ ("%gs:8");*/
-+# else
-       void * _tlsbase;
--
-       __asm__ ("movl %%fs:4, %0"
-                : "=r" (_tlsbase));
-+# endif
-       sb -> mem_base = _tlsbase;
-       return GC_SUCCESS;
-     }
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index fb1f177d9695..96e41790aac8 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,13 +1,15 @@
-{ lib, stdenv, fetchurl, enableLargeConfig ? false }:
+{ lib, stdenv, fetchurl, pkgconfig, libatomic_ops, enableLargeConfig ? false }:
 
 stdenv.mkDerivation rec {
-  name = "boehm-gc-7.2g";
+  name = "boehm-gc-7.6.0";
 
   src = fetchurl {
-    url = http://www.hboehm.info/gc/gc_source/gc-7.2g.tar.gz;
-    sha256 = "0bvw6cc555qg5b7dgcqy3ryiw0wir79dqy0glff3hjmyy7i2jkjq";
+    url = http://www.hboehm.info/gc/gc_source/gc-7.6.0.tar.gz;
+    sha256 = "143x7g0d0k6250ai6m2x3l4y352mzizi4wbgrmahxscv2aqjhjm1";
   };
-  patches = if stdenv.isCygwin then [ ./cygwin.patch ] else null;
+
+  buildInputs = [ libatomic_ops ];
+  nativeBuildInputs = [ pkgconfig ];
 
   outputs = [ "out" "dev" "doc" ];
 
diff --git a/pkgs/development/libraries/boost/1.62.nix b/pkgs/development/libraries/boost/1.62.nix
new file mode 100644
index 000000000000..871ef392c1ae
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.62.nix
@@ -0,0 +1,12 @@
+{ stdenv, callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.62.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_62_0.tar.bz2";
+    # long-form SHA256 from www.boost.org
+    sha256 = "36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0";
+  };
+
+})
diff --git a/pkgs/development/libraries/botan/default.nix b/pkgs/development/libraries/botan/default.nix
index 6e8a8cd8d7fe..f66e7befeb00 100644
--- a/pkgs/development/libraries/botan/default.nix
+++ b/pkgs/development/libraries/botan/default.nix
@@ -2,7 +2,10 @@
 
 callPackage ./generic.nix (args // {
   baseVersion = "1.10";
-  revision = "13";
-  sha256 = "144vl65z7bys43sxgb09mbisyf2nmh49wh0d957y0ksa9cyrgv13";
+  revision = "14";
+  sha256 = "072czy26vfjcqjww4qccsd29fzkb6mb8czamr4x76rdi9lwhpv8h";
   extraConfigureFlags = "--with-gnump";
+  postPatch = ''
+    sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt
+  '';
 })
diff --git a/pkgs/development/libraries/botan/unstable.nix b/pkgs/development/libraries/botan/unstable.nix
index 71366ed32ad8..6ae151dcc64c 100644
--- a/pkgs/development/libraries/botan/unstable.nix
+++ b/pkgs/development/libraries/botan/unstable.nix
@@ -2,8 +2,8 @@
 
 callPackage ./generic.nix (args // {
   baseVersion = "1.11";
-  revision = "32";
-  sha256 = "0b4wgqyv6accsdh7fgr9as34r38f8r9024i6s3vhah6wiah7kddn";
+  revision = "34";
+  sha256 = "05hzffp0dxac7414a84z0fgv980cnfx55ch2y4vpg5nvin7m9bar";
   openssl = null;
   postPatch = "sed '1i#include <cmath>' -i src/tests/test_bigint.cpp";
 })
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 71aa1874951f..7df72bc05605 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -12,11 +12,11 @@ assert glSupport -> mesa_noglu != null;
 with { inherit (stdenv.lib) optional optionals; };
 
 stdenv.mkDerivation rec {
-  name = "cairo-1.14.6";
+  name = "cairo-1.14.8";
 
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.xz";
-    sha256 = "0lmjlzmghmr27y615px9hkm552x7ap6pmq9mfbzr6smp8y2b6g31";
+    sha1 = "c6f7b99986f93c9df78653c3e6a3b5043f65145e";
   };
 
   infinality = fetchFromGitHub {
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
     libiconv
   ] ++ libintlOrEmpty ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     CoreGraphics
+    CoreText
     ApplicationServices
     Carbon
   ]);
diff --git a/pkgs/development/libraries/cpp-ipfs-api/default.nix b/pkgs/development/libraries/cpp-ipfs-api/default.nix
index 2c9d36154a2b..c13b32a67b06 100644
--- a/pkgs/development/libraries/cpp-ipfs-api/default.nix
+++ b/pkgs/development/libraries/cpp-ipfs-api/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "cpp-ipfs-api-${version}";
-  version = "2016-11-09";
+  version = "2017-01-04";
 
   src = fetchFromGitHub {
     owner = "vasild";
     repo = "cpp-ipfs-api";
-    rev = "46e473e49ede4fd829235f1d4930754d5356a747";
-    sha256 = "10c5hmg9857zb0fp262ca4a42gq9iqdyqz7f975cp3qs70x12q08";
+    rev = "96a890f4518665a56581a2a52311eaa65928eac8";
+    sha256 = "1z6gbd7npg4pd9wmdyzcp9h12sg84d7a43c69pp4lzqkyqg8pz1g";
   };
 
   buildInputs = [ cmake curl ];
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index d1476df2b601..c1bf789c59bd 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -1,22 +1,21 @@
-{ fetchurl, stdenv, unzip }:
+{ fetchurl, fetchFromGitHub, stdenv }:
 
 stdenv.mkDerivation rec {
   name = "crypto++-${version}";
   majorVersion = "5.6";
-  version = "${majorVersion}.4";
+  version = "${majorVersion}.5";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/cryptopp/cryptopp564.zip";
-    sha256 = "1msar24a38rxzq0xgmjf09hzaw2lv6s48vnbbhfrf5awn1vh6hxy";
+  src = fetchFromGitHub {
+    owner = "weidai11";
+    repo = "cryptopp";
+    rev = "CRYPTOPP_5_6_5";
+    sha256 = "1yk7jyf4va9425cg05llskpls2jm7n3jwy2hj5jm74zkr4mwpvl7";
   };
 
   patches = with stdenv;
     lib.optional (system != "i686-cygwin") ./dll.patch
     ++ lib.optional isDarwin ./GNUmakefile-darwin.patch;
 
-  buildInputs = [ unzip ];
-
-  sourceRoot = ".";
 
   configurePhase = let
     marchflags =
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 5bbfd6e375ef..05eb575547d2 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -2,7 +2,8 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "cyrus-sasl-2.1.26${optionalString (kerberos == null) "-without-kerberos"}";
+  name = "cyrus-sasl-${version}${optionalString (kerberos == null) "-without-kerberos"}";
+  version = "2.5.10";
 
   src = fetchurl {
     url = "ftp://ftp.cyrusimap.org/cyrus-sasl/${name}.tar.gz";
diff --git a/pkgs/development/libraries/czmqpp/default.nix b/pkgs/development/libraries/czmqpp/default.nix
index 672a89cc3c02..0c026b9f47a5 100644
--- a/pkgs/development/libraries/czmqpp/default.nix
+++ b/pkgs/development/libraries/czmqpp/default.nix
@@ -11,18 +11,18 @@ stdenv.mkDerivation rec {
     sha256 = "0z8lwq53yk4h7pgibicx3q9idz15qb95r0pjpz0j5vql6qh46rja";
   };
 
-  meta = with stdenv.lib; {
-    inherit (src.meta) homepage;
-    description = "C++ wrapper for czmq. Aims to be minimal, simple and consistent";
-    license = licenses.lgpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ chris-martin ];
-  };
-
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   propagatedBuildInputs = [ czmq ];
 
   # https://github.com/zeromq/czmqpp/issues/42
   patches = [ ./socket.patch ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "C++ wrapper for czmq. Aims to be minimal, simple and consistent";
+    license = licenses.lgpl3;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ chris-martin ];
+  };
 }
diff --git a/pkgs/development/libraries/eigen/3.3.nix b/pkgs/development/libraries/eigen/3.3.nix
new file mode 100644
index 000000000000..ca3d44022062
--- /dev/null
+++ b/pkgs/development/libraries/eigen/3.3.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, cmake}:
+
+let
+  version = "3.3.1";
+in
+stdenv.mkDerivation {
+  name = "eigen-${version}";
+  
+  src = fetchurl {
+    url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
+    name = "eigen-${version}.tar.gz";
+    sha256 = "141axgv5kykq7125scisjvnfcdx7qcj8n8zlk7g09r7fhqgjr79w";
+  };
+  
+  nativeBuildInputs = [ cmake ];
+  
+  meta = with stdenv.lib; {
+    description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
+    license = licenses.lgpl3Plus;
+    homepage = http://eigen.tuxfamily.org ;
+    platforms = platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ];
+    inherit version;
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg/3.2.nix b/pkgs/development/libraries/ffmpeg/3.2.nix
new file mode 100644
index 000000000000..7587ca7c3cac
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/3.2.nix
@@ -0,0 +1,13 @@
+{ stdenv, callPackage
+# Darwin frameworks
+, Cocoa, CoreMedia
+, ...
+}@args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.2";
+  branch = "3.2";
+  sha256 = "0srn788i4k5827sl8vmds6133vjy9ygsmgzwn40n3l5qs5b9l4hb";
+  darwinFrameworks = [ Cocoa CoreMedia ];
+  patches = stdenv.lib.optional stdenv.isDarwin ./sdk_detection.patch;
+})
diff --git a/pkgs/development/libraries/fmod/default.nix b/pkgs/development/libraries/fmod/default.nix
deleted file mode 100644
index af9460195401..000000000000
--- a/pkgs/development/libraries/fmod/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl }:
-
-assert (stdenv.system == "x86_64-linux") || (stdenv.system == "i686-linux");
-let
-  bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64";
-
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc.lib}/lib64";
-  patchLib = x: "patchelf --set-rpath ${libPath} ${x}";
-in
-stdenv.mkDerivation rec {
-  name    = "fmod-${version}";
-  version = "4.44.41";
-
-  src = fetchurl {
-    url = "http://www.fmod.org/download/fmodex/api/Linux/fmodapi44441linux.tar.gz";
-    sha256 = "0qjvbhx9g6ijv542n6w3ryv20f74p1qx6bbllda9hl14683z8r8p";
-  };
-
-  dontStrip = true;
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/lib $out/include/fmodex
-
-    cd api/inc && cp * $out/include/fmodex && cd ../lib
-    cp libfmodex${bits}-${version}.so  $out/lib/libfmodex.so
-    cp libfmodexL${bits}-${version}.so $out/lib/libfmodexL.so
-
-    ${patchLib "$out/lib/libfmodex.so"}
-    ${patchLib "$out/lib/libfmodexL.so"}
-  '';
-
-  meta = {
-    description = "Programming library and toolkit for the creation and playback of interactive audio";
-    homepage    = "http://www.fmod.org/";
-    license     = stdenv.lib.licenses.unfreeRedistributable;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
-  };
-}
diff --git a/pkgs/development/libraries/fontconfig-ultimate/default.nix b/pkgs/development/libraries/fontconfig-ultimate/default.nix
index efef59cad3b6..a2e5f69202c4 100644
--- a/pkgs/development/libraries/fontconfig-ultimate/default.nix
+++ b/pkgs/development/libraries/fontconfig-ultimate/default.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation {
     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
diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix
new file mode 100644
index 000000000000..8f532ae8e0b6
--- /dev/null
+++ b/pkgs/development/libraries/gbenchmark/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, callPackage, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "gbenchmark-${version}";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "benchmark";
+    rev = "v${version}";
+    sha256 = "1y7k73kyxx1jlph23csnhdac76px6ghhwwxbcf0133m4rg0wmpn5";
+  };
+
+  buildInputs = [ cmake ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A microbenchmark support library";
+    homepage = "https://github.com/google/benchmark";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index f3db9bf59776..1245381efcd6 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -3,18 +3,17 @@
 
 let
   ver_maj = "2.36";
-  ver_min = "0";
+  ver_min = "3";
 in
 stdenv.mkDerivation rec {
   name = "gdk-pixbuf-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
-    sha256 = "85ab52ce9f2c26327141b3dcf21cca3da6a3f8de84b95fa1e727d8871a23245c";
+    sha256 = "5223138f7d31afc6b356a049930304ec0abd6ac1113a5d3d1dba5cd4a4d639ec";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
-  outputBin = "dev";
 
   setupHook = ./setup-hook.sh;
 
@@ -27,14 +26,21 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
 
+  configureFlags = "--with-libjasper --with-x11"
+    + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
+    ;
+
   # on darwin, tests don't link
   preBuild = stdenv.lib.optionalString (stdenv.isDarwin && !doCheck) ''
     substituteInPlace Makefile --replace "docs tests" "docs"
   '';
 
-  configureFlags = "--with-libjasper --with-x11"
-    + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
-    ;
+  postInstall =
+    # All except one utility seem to be only useful during building.
+    ''
+      moveToOutput "bin" "$dev"
+      moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"
+    '';
 
   # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
   inherit (doCheck);
diff --git a/pkgs/development/libraries/git2/0.21.nix b/pkgs/development/libraries/git2/0.21.nix
deleted file mode 100644
index 4ea430865485..000000000000
--- a/pkgs/development/libraries/git2/0.21.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, cmake, zlib, python, libssh2, openssl, http-parser}:
-
-stdenv.mkDerivation rec {
-  version = "0.21.2";
-  name = "libgit2-${version}";
-
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://github.com/libgit2/libgit2/tarball/v${version}";
-    sha256 = "0icf119lhha96rk8m6s38sczjr0idr7yczw6knby61m81a25a96y";
-  };
-
-  cmakeFlags = "-DTHREADSAFE=ON";
-
-  nativeBuildInputs = [ cmake python ];
-  buildInputs = [ zlib libssh2 openssl http-parser ];
-
-  meta = {
-    description = "The Git linkable library";
-    homepage = http://libgit2.github.com/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = with stdenv.lib.platforms; all;
-  };
-}
diff --git a/pkgs/development/libraries/git2/0.23.nix b/pkgs/development/libraries/git2/0.23.nix
deleted file mode 100644
index 3cf429ab1d73..000000000000
--- a/pkgs/development/libraries/git2/0.23.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, http-parser, libiconv }:
-
-stdenv.mkDerivation (rec {
-  version = "0.23.2";
-  name = "libgit2-${version}";
-
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://github.com/libgit2/libgit2/tarball/v${version}";
-    sha256 = "1d3901bmgvdnmzrx21afi1d0llsqmca3ckj942p0i2wpdpr1kbcp";
-  };
-
-  cmakeFlags = "-DTHREADSAFE=ON";
-
-  nativeBuildInputs = [ cmake python pkgconfig ];
-  buildInputs = [ zlib libssh2 openssl http-parser ];
-
-  meta = {
-    description = "the Git linkable library";
-    homepage = http://libgit2.github.com/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = with stdenv.lib.platforms; all;
-  };
-} // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
-  NIX_LDFLAGS = "-liconv";
-  propagatedBuildInputs = [ libiconv ];
-})
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index 2bd500b9efbc..51e366ba29cd 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, curl, http-parser, libiconv }:
 
 stdenv.mkDerivation (rec {
-  version = "0.24.3";
+  version = "0.24.6";
   name = "libgit2-${version}";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/libgit2/libgit2/tarball/v${version}";
-    sha256 = "01jdp0i0nxhx8w2gjd75mwfy1d4z2c5xzz7q5jfypa6pkdi86dmh";
+    sha256 = "070jrv690bd5dq991lc32qfnai9ywvrjzsfgi3rcw6kw4l2ynxjr";
   };
 
   # TODO: `cargo` (rust's package manager) surfaced a serious bug in
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 87c511f00ddf..c7c704c641f8 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -99,7 +99,12 @@ stdenv.mkDerivation rec {
     moveToOutput "share/glib-2.0" "$dev"
     substituteInPlace "$dev/bin/gdbus-codegen" --replace "$out" "$dev"
     sed -i "$dev/bin/glib-gettextize" -e "s|^gettext_dir=.*|gettext_dir=$dev/share/glib-2.0/gettext|"
-  '';
+  ''
+    # This file is *included* in gtk3 and would introduce runtime reference via __FILE__.
+    + ''
+      sed '1i#line 1 "${name}/include/glib-2.0/gobject/gobjectnotifyqueue.c"' \
+        -i "$dev"/include/glib-2.0/gobject/gobjectnotifyqueue.c
+    '';
 
   inherit doCheck;
   preCheck = optionalString doCheck
diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix
index 4239b4458b8f..8796a5f67404 100644
--- a/pkgs/development/libraries/gmime/default.nix
+++ b/pkgs/development/libraries/gmime/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, zlib, libgpgerror }:
+{ stdenv, fetchurl, pkgconfig, glib, zlib, libgpgerror, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   name = "gmime-2.6.20";
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
   propagatedBuildInputs = [ glib zlib libgpgerror ];
+  configureFlags = [ "--enable-introspection=yes" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/gmock/default.nix b/pkgs/development/libraries/gmock/default.nix
deleted file mode 100644
index 139cfab6e0cf..000000000000
--- a/pkgs/development/libraries/gmock/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, cmake, fetchzip }:
-
-stdenv.mkDerivation rec {
-  name = "gmock-${version}";
-  version = "1.7.0";
-
-  src = fetchzip {
-    url = "https://googlemock.googlecode.com/files/gmock-${version}.zip";
-    sha256 = "04n9p6pf3mrqsabrsncv32d3fqvd86zmcdq3gyni7liszgfk0paz";
-  };
-
-  buildInputs = [ cmake ];
-
-  buildPhase = ''
-    # avoid building gtest
-    make gmock gmock_main
-  '';
-
-  installPhase = ''
-    mkdir -p $out/lib
-    cp -v libgmock.a libgmock_main.a $out/lib
-    cp -v -r ../include $out
-    cp -v -r ../src $out
-  '';
-
-  meta = {
-    description = "Google mock: Google's framework for writing C++ mock classes";
-    homepage = https://code.google.com/p/googlemock/;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [ stdenv.lib.maintainers.auntie ];
-    platforms = stdenv.lib.platforms.unix;
-  };
-
-  passthru = { source = src; };
-}
diff --git a/pkgs/development/libraries/gnutls/3.3.nix b/pkgs/development/libraries/gnutls/3.3.nix
index 87b46dc26a07..568291930605 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.25";
+  version = "3.3.26";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-${version}.tar.xz";
-    sha256 = "0bhzkzpzwg3lhbhpas7m4rcj4mrnyq76zmic9z42wpa68d76r78q";
+    sha256 = "1n90qyz54hhnmf4fmap6zdyv7nihz6mrbqgxhd46h7aqdcmqhzba";
   };
 })
diff --git a/pkgs/development/libraries/gnutls/3.4.nix b/pkgs/development/libraries/gnutls/3.4.nix
index fc3ac0ec421a..0cb2c67c501b 100644
--- a/pkgs/development/libraries/gnutls/3.4.nix
+++ b/pkgs/development/libraries/gnutls/3.4.nix
@@ -1,10 +1,10 @@
-{ callPackage, fetchurl, autoreconfHook, ... } @ args:
+{ callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.4.16";
+  version = "3.4.17";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-${version}.tar.xz";
-    sha256 = "09rrjaflgp5p0hi5gqljklz1xpalnvj8bawvjj6baw8768dvp6nr";
+    sha256 = "0bhp8cqrmw15yins65cn0zwbcpj1vmymr4wnbm151sfmf2kfhl4v";
   };
 })
diff --git a/pkgs/development/libraries/gnutls/3.5.nix b/pkgs/development/libraries/gnutls/3.5.nix
index 602df9f44a35..7d58bfcd67ff 100644
--- a/pkgs/development/libraries/gnutls/3.5.nix
+++ b/pkgs/development/libraries/gnutls/3.5.nix
@@ -1,10 +1,12 @@
-{ callPackage, fetchurl, autoreconfHook, ... } @ args:
+{ callPackage, fetchurl, libunistring, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.5.5";
+  version = "3.5.8";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-${version}.tar.xz";
-    sha256 = "0ag5q3dfxzv0dmqy7q0a8y74yc3m5yzvjrp324l6vqafh3klz6c6";
+    sha256 = "1zyl2z63s68hx1dpxqx0lykmlf3rwrzlrf44sq3h7dvjmr1z55qf";
   };
+
+  buildInputs = [ libunistring ];
 })
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index 9425bd7c6a69..67a969b1178e 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -4,6 +4,7 @@
 
 # Version dependent args
 , version, src, patches ? [], postPatch ? "", nativeBuildInputs ? []
+, buildInputs ? []
 , ...}:
 
 assert guileBindings -> guile != null;
@@ -41,7 +42,8 @@ stdenv.mkDerivation {
     ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
     ++ [ unbound ]
-    ++ lib.optional guileBindings guile;
+    ++ lib.optional guileBindings guile
+    ++ buildInputs;
 
   nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs;
 
@@ -75,7 +77,7 @@ stdenv.mkDerivation {
 
     homepage = http://www.gnu.org/software/gnutls/;
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ eelco wkennington ];
+    maintainers = with maintainers; [ eelco wkennington fpletz ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/grantlee/5.x.nix b/pkgs/development/libraries/grantlee/5.x.nix
index 9e697a572b94..b4aa9414163a 100644
--- a/pkgs/development/libraries/grantlee/5.x.nix
+++ b/pkgs/development/libraries/grantlee/5.x.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, qtbase, qtscript, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "grantlee-5.0.0";
+  name = "grantlee-${version}";
+  version = "5.1.0";
 
-# Upstream download server has country code firewall, so I made a mirror.
   src = fetchurl {
-    urls = [
-      "http://downloads.grantlee.org/${name}.tar.gz"
-      "http://www.loegria.net/grantlee/${name}.tar.gz"
-    ];
-    sha256 = "0qdifp1sg87j3869xva5ai2d6d5ph7z4b85wv1fypf2k5sljpwpa";
+    url = "https://github.com/steveire/grantlee/archive/v${version}.tar.gz";
+    sha256 = "1lf9rkv0i0kd7fvpgg5l8jb87zw8dzcwd1liv6hji7g4wlpmfdiq";
+    name = "${name}.tar.gz";
   };
 
   buildInputs = [ qtbase qtscript ];
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
index ee505b54e7e2..ca2fb7282627 100644
--- a/pkgs/development/libraries/grib-api/default.nix
+++ b/pkgs/development/libraries/grib-api/default.nix
@@ -1,32 +1,60 @@
-{ fetchurl, stdenv, curl,
-  netcdf, jasper, openjpeg }:
+{ fetchurl, stdenv,
+  cmake, netcdf, gfortran, jasper, libpng,
+  enablePython ? false, pythonPackages }:
 
 stdenv.mkDerivation rec{
   name = "grib-api-${version}";
-  version = "1.14.4";
+  version = "1.19.0";
 
   src = fetchurl {
-    url = https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-1.14.4-Source.tar.gz;
-    sha256 = "1w8z9y79wakhwv1r4rb4dwlh9pbyw367klcm6laxz91hhvfrpfq8";
+    url = "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-${version}-Source.tar.gz";
+    sha256 = "07cj9mw5bb249lxx1m9nmfdqb8b2a8cm7s6x62cdwca3sp16dv6a";
   };
 
-  buildInputs = [ netcdf
+  preConfigure = ''
+    # Fix "no member named 'inmem_' in 'jas_image_t'"
+    substituteInPlace "src/grib_jasper_encoding.c" --replace "image.inmem_    = 1;" ""
+  '';
+
+  buildInputs = [ cmake
+                  netcdf
+                  gfortran
                   jasper
-                  openjpeg
-                  curl     # Used for downloading during make test
+                  libpng
+                ] ++ stdenv.lib.optionals enablePython [
+                  pythonPackages.python
                 ];
+
+  cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
+                 "-DENABLE_PNG=ON"
+                 "-DENABLE_FORTRAN=ON"
+               ];
+
+  enableParallelBuilding = true;
+
   doCheck = true;
 
+  # Only do tests that don't require downloading 120MB of testdata
+  # We fix the darwin checkPhase, which searches for libgrib_api.dylib
+  # in /nix/store by setting DYLD_LIBRARY_PATH
+  checkPhase = stdenv.lib.optionalString (stdenv.isDarwin) ''
+    substituteInPlace "tests/include.sh" --replace "set -ea" "set -ea; export DYLD_LIBRARY_PATH=$(pwd)/lib"
+  '' + ''
+    ctest -R "t_definitions|t_calendar|t_unit_tests" -VV
+  '';
+
+
   meta = with stdenv.lib; {
     homepage = "https://software.ecmwf.int/wiki/display/GRIB/Home";
     license = licenses.asl20;
+    platforms = with platforms; linux ++ darwin;
     description = "ECMWF Library for the GRIB file format";
     longDescription = ''
       The ECMWF GRIB API is an application program interface accessible from C,
       FORTRAN and Python programs developed for encoding and decoding WMO FM-92
       GRIB edition 1 and edition 2 messages.
     '';
-
+    maintainers = with maintainers; [ knedlsepp ];
   };
 }
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
index 0e1e3c4897eb..5b2ba728f3a8 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -1,6 +1,7 @@
 { fetchurl, stdenv, pkgconfig, python, gstreamer, xorg, alsaLib, cdparanoia
 , libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
 , libintlOrEmpty
+, ApplicationServices
 , # Whether to build no plugins that have external dependencies
   # (except the ALSA plugin).
   minimalDeps ? false
@@ -36,7 +37,8 @@ stdenv.mkDerivation rec {
         liboil ]
     # can't build cdparanoia on darwin
     ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia
-    ++ libintlOrEmpty;
+    ++ libintlOrEmpty
+    ++ stdenv.lib.optional stdenv.isDarwin ApplicationServices;
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index e516e4a475a3..84b1fa9757ce 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -1,11 +1,14 @@
-{ stdenv, cmake, callPackage }:
-let
-  source = callPackage ./source.nix { };
-in
+{ stdenv, cmake, fetchFromGitHub }:
 stdenv.mkDerivation rec {
-  name = "gtest-${source.version}";
+  name = "gtest-${version}";
+  version = "1.8.0";
 
-  src = source;
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "googletest";
+    rev = "release-${version}";
+    sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399";
+  };
 
   buildInputs = [ cmake ];
 
@@ -17,9 +20,13 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/lib
-    cp -v libgtest.a libgtest_main.a $out/lib
-    cp -v -r ../include $out
-    cp -v -r ../src $out
+    cp -v googlemock/gtest/libgtest.a googlemock/gtest/libgtest_main.a googlemock/libgmock.a googlemock/libgmock_main.a $out/lib
+    ln -s $out/lib/libgmock.a $out/lib/libgoogletest.a
+    mkdir -p $out/include
+    cp -v -r ../googlemock/include/gmock $out/include
+    cp -v -r ../googletest/include/gtest $out/include
+    mkdir -p $out/src
+    cp -v -r ../googlemock/src/* ../googletest/src/* $out/src
   '';
 
   meta = with stdenv.lib; {
@@ -27,8 +34,6 @@ stdenv.mkDerivation rec {
     homepage = https://code.google.com/p/googletest/;
     license = licenses.bsd3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ zoomulator ];
+    maintainers = with maintainers; [ zoomulator ivan-tkatchev ];
   };
-
-  passthru = { inherit source; };
 }
diff --git a/pkgs/development/libraries/gtest/source.nix b/pkgs/development/libraries/gtest/source.nix
deleted file mode 100644
index d8787efdcf2b..000000000000
--- a/pkgs/development/libraries/gtest/source.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ fetchurl, stdenv, unzip, ... }:
-
-stdenv.mkDerivation rec {
-  name = "gtest-src-${version}";
-  version = "1.7.0";
-
-  src = fetchurl {
-    url = "https://googletest.googlecode.com/files/gtest-${version}.zip";
-    sha256 = "03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14";
-  };
-
-  buildInputs = [ unzip ];
-
-  buildCommand = ''
-    unpackPhase
-    cd gtest-${version}
-    mkdir $out
-    cp -r * $out
-  '';
-
-  passthru = { inherit version; };
-}
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 91407e556c05..bcbbecd242dc 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -2,11 +2,15 @@
 , gdk_pixbuf, libintlOrEmpty, xlibsWrapper
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? true, cups ? null
+, gdktarget ? "x11"
+, AppKit, Cocoa
 }:
 
 assert xineramaSupport -> xorg.libXinerama != null;
 assert cupsSupport -> cups != null;
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "gtk+-2.24.31";
 
@@ -20,7 +24,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (libintlOrEmpty != []) "-lintl";
+  NIX_CFLAGS_COMPILE = optionalString (libintlOrEmpty != []) "-lintl";
 
   setupHook = ./setup-hook.sh;
 
@@ -28,7 +32,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./2.0-immodules.cache.patch ];
 
-  propagatedBuildInputs = with xorg; with stdenv.lib;
+  propagatedBuildInputs = with xorg;
     [ glib cairo pango gdk_pixbuf atk ]
     ++ optionals (stdenv.isLinux || stdenv.isDarwin) [
          libXrandr libXrender libXcomposite libXi libXcursor
@@ -36,11 +40,17 @@ stdenv.mkDerivation rec {
     ++ optionals stdenv.isDarwin [ xlibsWrapper libXdamage ]
     ++ libintlOrEmpty
     ++ optional xineramaSupport libXinerama
-    ++ optionals cupsSupport [ cups ];
+    ++ optionals cupsSupport [ cups ]
+    ++ optionals (gdktarget == "quartz") [ AppKit Cocoa ];
 
-  configureFlags = if stdenv.isDarwin
-    then "--disable-glibtest --disable-introspection --disable-visibility"
-    else "--with-xinput=yes";
+  configureFlags = [
+    "--with-gdktarget=${gdktarget}"
+    "--with-xinput=yes"
+  ] ++ optionals stdenv.isDarwin [
+    "--disable-glibtest"
+    "--disable-introspection"
+    "--disable-visibility"
+  ];
 
   postInstall = ''
     moveToOutput share/gtk-2.0/demo "$devdoc"
@@ -53,9 +63,10 @@ stdenv.mkDerivation rec {
       rm $out/lib/gtk-2.0/2.10.0/immodules.cache
       $out/bin/gtk-query-immodules-2.0 $out/lib/gtk-2.0/2.10.0/immodules/*.so > $out/lib/gtk-2.0/2.10.0/immodules.cache
     ''; # workaround for bug of nix-mode for Emacs */ '';
+    inherit gdktarget;
   };
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "A multi-platform toolkit for creating graphical user interfaces";
     homepage    = http://www.gtk.org/;
     license     = licenses.lgpl2Plus;
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index b50264f3a02a..64f5a1e3bdd0 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.22";
-  ver_min = "4";
+  ver_min = "6";
   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 = "0zrq3wq4x0vcrzapps0608d5ywcrwk9xb2rmg32h2g8kzvyad53h";
+    sha256 = "eba75a216a117f4391beb2971ba20ff8a1823f109893f0ab6c2eac2210ea172f";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gtk-mac-integration/default.nix b/pkgs/development/libraries/gtk-mac-integration/default.nix
new file mode 100644
index 000000000000..30ac8f2fe280
--- /dev/null
+++ b/pkgs/development/libraries/gtk-mac-integration/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig, glib, gtk_doc, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "gtk-mac-integration-2.0.8";
+
+  src = fetchFromGitHub {
+    owner = "GNOME";
+    repo = "gtk-mac-integration";
+    rev = "79e708870cdeea24ecdb036c77b4630104ae1776";
+    sha256 = "1fbhnvj0rqc3089ypvgnpkp6ad2rr37v5qk38008dgamb9h7f3qs";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig gtk_doc ];
+  buildInputs = [ glib gtk ];
+
+  preAutoreconf = ''
+    gtkdocize
+  '';
+
+  meta = with lib; {
+    description = "Provides integration for Gtk+ applications into the Mac desktop";
+
+    license = licenses.lgpl21;
+
+    homepage = https://wiki.gnome.org/Projects/GTK+/OSX/Integration;
+
+    maintainers = [ maintainers.matthewbauer ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index b2edd39764c2..ec9b45101683 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "1.3.4";
+  version = "1.4.1";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
-    sha256 = "0ava7y24797k5ps3ghq2ccjjds97ri1gx32v6546a6pgmpyad2ki";
+    sha256 = "85a27fab639a1d651737dcb6b69e4101e3fd09522fdfdcb793df810b5cb315bd";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/java/smack/builder.sh b/pkgs/development/libraries/java/smack/builder.sh
index 83edfe04a653..c97259e6a17e 100644
--- a/pkgs/development/libraries/java/smack/builder.sh
+++ b/pkgs/development/libraries/java/smack/builder.sh
@@ -4,4 +4,4 @@ mkdir smack
 cd smack
 tar xfvz $src
 mkdir -p $out/share/java
-cp smack-*.jar $out/share/java
+cp libs/smack-*.jar $out/share/java
diff --git a/pkgs/development/libraries/java/smack/default.nix b/pkgs/development/libraries/java/smack/default.nix
index 081bcccdd7dd..c39478e590dd 100644
--- a/pkgs/development/libraries/java/smack/default.nix
+++ b/pkgs/development/libraries/java/smack/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "smack-3.4.1";
+  name = "smack-4.1.9";
   builder = ./builder.sh;
-  
+
   src = fetchurl {
-    url = http://www.igniterealtime.org/downloadServlet?filename=smack/smack_3_4_1.tar.gz;
-    sha256 = "13jm93b0dsfxr62brq1hagi9fqk7ip3pi80svq10zh5kcpk77jf4";
+    url = http://www.igniterealtime.org/downloadServlet?filename=smack/smack_4_1_9.tar.gz;
+    sha256 = "009x0qcxd4dkvwcjz2nla470pwbabwvg37wc21pslpw42ldi0bzp";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 9505192ef8ab..9d434c088bad 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
+  outputs = [ "out" "dev" ];
+
   meta = with stdenv.lib; {
     homepage = http://live.gnome.org/JsonGlib;
     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 936a3953a51c..93a8d62ed1dd 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -57,7 +57,7 @@ let
       });
 
     kdeWrapper = import ./kde-wrapper.nix {
-      inherit (pkgs) stdenv lib makeWrapper;
+      inherit (pkgs) stdenv lib makeWrapper buildEnv;
     };
 
     attica = callPackage ./attica.nix {};
diff --git a/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix b/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix
index 3591e20d11fb..f0fa991a38ad 100644
--- a/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix
+++ b/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix
@@ -1,66 +1,67 @@
-{ stdenv, lib, makeWrapper }:
+{ stdenv, lib, makeWrapper, buildEnv }:
 
-drv:
+packages:
 
-{ targets, paths ? [] }:
+let
+  packages_ = if builtins.isList packages then packages else [packages];
 
-stdenv.mkDerivation {
-  inherit (drv) name meta;
+  unwrapped = lib.concatMap (p: if builtins.isList p.unwrapped then p.unwrapped else [p.unwrapped]) packages_;
+  targets = lib.concatMap (p: p.targets) packages_;
+  paths = lib.concatMap (p: p.paths or []) packages_;
 
-  paths = builtins.map lib.getBin ([drv] ++ paths);
-  inherit drv targets;
-  passthru = { unwrapped = drv; };
+  name =
+    if builtins.length unwrapped == 1
+    then (lib.head unwrapped).name
+    else "kde-application";
+  meta =
+    if builtins.length unwrapped == 1
+    then (lib.head unwrapped).meta
+    else {};
 
-  nativeBuildInputs = [ makeWrapper ];
+  env = buildEnv {
+    inherit name meta;
+    paths = builtins.map lib.getBin (unwrapped ++ paths);
+    pathsToLink = [ "/bin" "/share" "/lib/qt5" "/etc/xdg" ];
+  };
+in
 
-  unpackPhase = "true";
-  configurePhase = "runHook preConfigure; runHook postConfigure";
-  buildPhase = "true";
+stdenv.mkDerivation {
+  inherit name meta;
+  preferLocalBuild = true;
 
-  installPhase = ''
-    propagated=
-    for p in $drv $paths; do
-        findInputs $p propagated propagated-user-env-packages
-    done
+  inherit unwrapped env targets;
 
-    wrap_PATH="$out/bin"
-    wrap_XDG_DATA_DIRS=
-    wrap_XDG_CONFIG_DIRS=
-    wrap_QML_IMPORT_PATH=
-    wrap_QML2_IMPORT_PATH=
-    wrap_QT_PLUGIN_PATH=
-    for p in $propagated; do
-        addToSearchPath wrap_PATH "$p/bin"
-        addToSearchPath wrap_XDG_DATA_DIRS "$p/share"
-        addToSearchPath wrap_XDG_CONFIG_DIRS "$p/etc/xdg"
-        addToSearchPath wrap_QML_IMPORT_PATH "$p/lib/qt5/imports"
-        addToSearchPath wrap_QML2_IMPORT_PATH "$p/lib/qt5/qml"
-        addToSearchPath wrap_QT_PLUGIN_PATH "$p/lib/qt5/plugins"
-    done
+  passthru = {
+    inherit targets paths;
+    unwrapped = if builtins.length unwrapped == 1 then lib.head unwrapped else unwrapped;
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
 
+  buildCommand = ''
     for t in $targets; do
-        if [ -a "$drv/$t" ]; then
-            makeWrapper "$drv/$t" "$out/$t" \
-                --argv0 '"$0"' \
-                --suffix PATH : "$wrap_PATH" \
-                --prefix XDG_CONFIG_DIRS : "$wrap_XDG_CONFIG_DIRS" \
-                --prefix XDG_DATA_DIRS : "$wrap_XDG_DATA_DIRS" \
-                --set QML_IMPORT_PATH "$wrap_QML_IMPORT_PATH" \
-                --set QML2_IMPORT_PATH "$wrap_QML2_IMPORT_PATH" \
-                --set QT_PLUGIN_PATH "$wrap_QT_PLUGIN_PATH"
-        else
-            echo "no such file or directory: $drv/$t"
+        good=""
+        for drv in $unwrapped; do
+            if [ -a "$drv/$t" ]; then
+                makeWrapper "$drv/$t" "$out/$t" \
+                    --argv0 '"$0"' \
+                    --suffix PATH : "$env/bin" \
+                    --prefix XDG_CONFIG_DIRS : "$env/share" \
+                    --prefix XDG_DATA_DIRS : "$env/etc/xdg" \
+                    --set QML_IMPORT_PATH "$env/lib/qt5/imports" \
+                    --set QML2_IMPORT_PATH "$env/lib/qt5/qml" \
+                    --set QT_PLUGIN_PATH "$env/lib/qt5/plugins"
+                good="1"
+                break
+            fi
+        done
+        if [ -z "$good" ]; then
+            echo "file or directory not found in derivations: $t"
             exit 1
         fi
     done
 
-    if [ -a "$drv/share" ]; then
-        ln -s "$drv/share" "$out"
-    fi
-
-    if [ -a "$drv/nix-support/propagated-user-env-packages" ]; then
-        mkdir -p "$out/nix-support"
-        ln -s "$drv/nix-support/propagated-user-env-packages" "$out/nix-support/"
-    fi
+    mkdir -p "$out/nix-support"
+    echo "$unwrapped" > "$out/nix-support/propagated-user-env-packages"
   '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
index c3b89a05d198..86ca5935a75d 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
@@ -1,10 +1,7 @@
-{ kdeFramework, fetchurl, lib, copyPathsToStore
-, ecm
-, karchive
-, kconfig
-, kcoreaddons
-, kdoctools
-, ki18n
+{
+  kdeFramework, fetchurl, lib, copyPathsToStore,
+  ecm, kdoctools,
+  karchive, kconfig, kcoreaddons, ki18n
 }:
 
 kdeFramework {
@@ -12,18 +9,5 @@ kdeFramework {
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ ecm kdoctools ];
   propagatedBuildInputs = [ karchive kconfig kcoreaddons ki18n ];
-  patches =
-    copyPathsToStore (lib.readPathsFromFile ./. ./series)
-    ++ [
-      (fetchurl {
-        url = "https://cgit.kde.org/kpackage.git/patch/?id=26e59d58438cc777873a6afc7817418ec735aaa3";
-        sha256 = "05ad3awdq8cz1bmnhnf1lapvm70z5qc8sbdzrcgxlka7wzdbm5lw";
-        name = "fix-cmake-failure-package-id-collision.patch";
-      })
-      (fetchurl {
-        url = "https://cgit.kde.org/kpackage.git/patch/?id=17915200921836d61266ad93dd6c3b87db1dc9e4";
-        sha256 = "07irfx297lf39cyrv10i3q4z04fr8msm6pcp8mcwvss4gih05b74";
-        name = "fix-cmake-failure-package-id-collision.patch";
-      })
-    ];
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
 }
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index e8ecb3d058fc..7bc0f55dc8b5 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -387,11 +387,11 @@
     };
   };
   kpackage = {
-    version = "5.29.0";
+    version = "5.29.1";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.29/kpackage-5.29.0.tar.xz";
-      sha256 = "1hgzwfb0yxd6n8dc8hrkdsrf21s2xzrka69mhzq0giskpbd2m8fs";
-      name = "kpackage-5.29.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.29/kpackage-5.29.1.tar.xz";
+      sha256 = "1vbwq5s1psii3qa6g260lpar37y19k8b2g5hn3pyx4llz5wnrali";
+      name = "kpackage-5.29.1.tar.xz";
     };
   };
   kparts = {
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index 8fda2b7e5843..1b8c274c4574 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -11,11 +11,12 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "${type}krb5-${version}";
-  version = "1.14.3";
+  majorVersion = "1.15";
+  version = "${majorVersion}";
 
   src = fetchurl {
-    url = "${meta.homepage}dist/krb5/1.14/krb5-${version}.tar.gz";
-    sha256 = "1jgjiyh1sp72lkxvk437lz5hzcibvw99jc4ihzfz03fg43aj0ind";
+    url = "${meta.homepage}dist/krb5/${majorVersion}/krb5-${version}.tar.gz";
+    sha256 = "0z0jxm6ppbxi9anv2h12nrb5lpwl95f96kw6dx7sn268fhkpad7x";
   };
 
   configureFlags = optional stdenv.isFreeBSD ''WARN_CFLAGS=""'';
@@ -26,8 +27,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl ]
     ++ optionals (!libOnly) [ openldap libedit ];
 
-  patches = [ ./path_char_fix.patch ];
-
   preConfigure = "cd ./src";
 
   buildPhase = optionalString libOnly ''
diff --git a/pkgs/development/libraries/kerberos/path_char_fix.patch b/pkgs/development/libraries/kerberos/path_char_fix.patch
deleted file mode 100644
index 2a6dc4c11c37..000000000000
--- a/pkgs/development/libraries/kerberos/path_char_fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-See https://github.com/krb5/krb5/pull/467
-diff --git a/src/include/Makefile.in b/src/include/Makefile.in
-index 4bb11e4..cb4b44b 100644
---- a/src/include/Makefile.in
-+++ b/src/include/Makefile.in
-@@ -57,19 +57,19 @@ SBINDIR = @sbindir@
- LIBDIR  = @libdir@
- SYSCONFCONF = @SYSCONFCONF@
- 
--PROCESS_REPLACE = -e "s+@KRB5RCTMPDIR+$(KRB5RCTMPDIR)+" \
--		  -e "s+@PREFIX+$(INSTALL_PREFIX)+" \
--		  -e "s+@EXEC_PREFIX+$(INSTALL_EXEC_PREFIX)+" \
--		  -e "s+@BINDIR+$(BINDIR)+" \
--		  -e "s+@LIBDIR+$(LIBDIR)+" \
--		  -e "s+@SBINDIR+$(SBINDIR)+" \
--		  -e "s+@MODULEDIR+$(MODULE_DIR)+" \
--		  -e "s+@GSSMODULEDIR+$(GSS_MODULE_DIR)+" \
--		  -e 's+@LOCALSTATEDIR+$(LOCALSTATEDIR)+' \
--		  -e 's+@RUNSTATEDIR+$(RUNSTATEDIR)+' \
--		  -e 's+@SYSCONFDIR+$(SYSCONFDIR)+' \
--		  -e 's+@DYNOBJEXT+$(DYNOBJEXT)+' \
--		  -e 's+@SYSCONFCONF+$(SYSCONFCONF)+'
-+PROCESS_REPLACE = -e "s\"@KRB5RCTMPDIR\"$(KRB5RCTMPDIR)\"" \
-+		  -e "s\"@PREFIX\"$(INSTALL_PREFIX)\"" \
-+		  -e "s\"@EXEC_PREFIX\"$(INSTALL_EXEC_PREFIX)\"" \
-+		  -e "s\"@BINDIR\"$(BINDIR)\"" \
-+		  -e "s\"@LIBDIR\"$(LIBDIR)\"" \
-+		  -e "s\"@SBINDIR\"$(SBINDIR)\"" \
-+		  -e "s\"@MODULEDIR\"$(MODULE_DIR)\"" \
-+		  -e "s\"@GSSMODULEDIR\"$(GSS_MODULE_DIR)\"" \
-+		  -e "s\"@LOCALSTATEDIR\"$(LOCALSTATEDIR)\"" \
-+		  -e "s\"@RUNSTATEDIR\"$(RUNSTATEDIR)\"" \
-+		  -e "s\"@SYSCONFDIR\"$(SYSCONFDIR)\"" \
-+		  -e "s\"@DYNOBJEXT\"$(DYNOBJEXT)\"" \
-+		  -e "s\"@SYSCONFCONF\"$(SYSCONFCONF)\""
- 
- OSCONFSRC = $(srcdir)/osconf.hin
- 
diff --git a/pkgs/development/libraries/kirigami/v2.nix b/pkgs/development/libraries/kirigami/v2.nix
new file mode 100644
index 000000000000..8476eebfd501
--- /dev/null
+++ b/pkgs/development/libraries/kirigami/v2.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, cmake, ecm, pkgconfig, plasma-framework, qtbase, qtquickcontrols2 }:
+
+stdenv.mkDerivation rec {
+  pname = "kirigami";
+  version = "1.90.0";
+  name = "${pname}2-${version}";
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "a5ca094a60d1cc48116cbed07bbe68be016773d2488a91e278859c90f59e64a8";
+  };
+
+  buildInputs = [ qtbase qtquickcontrols2 plasma-framework ];
+
+  nativeBuildInputs = [ cmake pkgconfig ecm ];
+
+  meta = with stdenv.lib; {
+    license = licenses.lgpl2;
+    homepage = http://www.kde.org;
+    maintainers = with maintainers; [ ttuegel peterhoeg ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index 883625e551a7..c35cc5883146 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -1,25 +1,26 @@
 {stdenv, fetchurl, openssl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "ldns-1.6.17";
+  pname = "ldns";
+  version = "1.7.0";
+
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://www.nlnetlabs.nl/downloads/ldns/${name}.tar.gz";
-    sha256 = "1kf8pkwhcssvgzhh6ha1pjjiziwvwmfaali7kaafh6118mcy124b";
+    url = "https://www.nlnetlabs.nl/downloads/ldns/${name}.tar.gz";
+    sha1 = "ceeeccf8a27e61a854762737f6ee02f44662c1b8";
   };
 
-  outputs = [ "out" "dev" ];
-
-  patches = [ ./perl-5.22-compat.patch ];
-
-  postPatch = ''
+  patchPhase = ''
     patchShebangs doc/doxyparse.pl
   '';
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ perl ];
   buildInputs = [ openssl ];
 
-  configureFlags = [ "--with-ssl=${openssl.dev}" "--with-drill" ];
+  configureFlags = [ "--with-ssl=${openssl.dev}" "--with-drill"];
 
   postInstall = ''
     moveToOutput "bin/ldns-config" "$dev"
diff --git a/pkgs/development/libraries/ldns/perl-5.22-compat.patch b/pkgs/development/libraries/ldns/perl-5.22-compat.patch
deleted file mode 100644
index ddf711cef5d8..000000000000
--- a/pkgs/development/libraries/ldns/perl-5.22-compat.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur old/doc/doxyparse.pl new/doc/doxyparse.pl
---- old/doc/doxyparse.pl	2014-01-11 06:04:41.000000000 +0900
-+++ new/doc/doxyparse.pl	2015-08-08 22:29:34.216889652 +0900
-@@ -273,7 +273,7 @@
- 
- 	print MAN $MAN_MIDDLE;
- 
--	if (defined(@$also)) {
-+	if (@$also) {
- 		print MAN "\n.SH SEE ALSO\n\\fI";
- 		print MAN join "\\fR, \\fI", @$also;
- 		print MAN "\\fR.\nAnd ";
diff --git a/pkgs/development/libraries/libbrotli/default.nix b/pkgs/development/libraries/libbrotli/default.nix
index 1e28b57dadf2..03604e3a93e2 100644
--- a/pkgs/development/libraries/libbrotli/default.nix
+++ b/pkgs/development/libraries/libbrotli/default.nix
@@ -1,17 +1,18 @@
-{stdenv, fetchFromGitHub, autoconf, automake, libtool, brotliUnstable}:
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, brotliUnstable }:
 
 stdenv.mkDerivation rec {
-  name = "libbrotli-20160120";
-  version = "53d53e8";
+  name = "libbrotli-${version}";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "bagder";
     repo = "libbrotli";
-    rev = "53d53e8d9c0d37398d37bac2e7a7aa20b0025e9e";
-    sha256 = "10r4nx6n1r54f5cjck5mmmsj7bkasnmmz7m84imhil45q73kzd4m";
+    rev = name;
+    sha256 = "0apd3hpy3vaa7brkv8v0xwz05zbd5xv86rcbkwns4x39klba3m3y";
   };
 
-  buildInputs = [autoconf automake libtool];
+  nativeBuildInputs = [ autoconf automake libtool ];
+
   preConfigure = ''
     cp -r ${brotliUnstable.src}/* brotli/
     chmod -R +700 brotli
diff --git a/pkgs/development/libraries/libdivecomputer/subsurface.nix b/pkgs/development/libraries/libdivecomputer/subsurface.nix
new file mode 100644
index 000000000000..5840ea2ef85e
--- /dev/null
+++ b/pkgs/development/libraries/libdivecomputer/subsurface.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchgit, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "libdivecomputer-${version}";
+  version = "ssrf-0.5.0";
+
+  src = fetchgit {
+    url = "git://subsurface-divelog.org/libdc";
+    rev = "534dd2f34b8271b2a1cac0e3151bfdc81da40e47";
+    branchName = "Subsurface-branch";
+    sha256 = "0iw9pczmwqlfjlgrik79b2pd4lmipxhjzj60ysk8qzl3axadjycp";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.libdivecomputer.org;
+    description = "A cross-platform and open source library for communication with dive computers from various manufacturers";
+    maintainers = [ maintainers.mguentner ];
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix
index 7d430614257e..16ee2151faa5 100644
--- a/pkgs/development/libraries/libfaketime/default.nix
+++ b/pkgs/development/libraries/libfaketime/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "1dw2lqsv2iqwxg51mdn25b4fjj3v357s0mc6ahxawqp210krg29s";
   };
 
+  patches = [
+    ./no-date-in-gzip-man-page.patch
+  ];
+
   preBuild = ''
     makeFlagsArray+=(PREFIX="$out" LIBDIRNAME=/lib)
   '';
diff --git a/pkgs/development/libraries/libfaketime/no-date-in-gzip-man-page.patch b/pkgs/development/libraries/libfaketime/no-date-in-gzip-man-page.patch
new file mode 100644
index 000000000000..7b7e362fbf0f
--- /dev/null
+++ b/pkgs/development/libraries/libfaketime/no-date-in-gzip-man-page.patch
@@ -0,0 +1,12 @@
+diff -ur libfaketime-0.9.5.orig/man/Makefile libfaketime-0.9.5/man/Makefile
+--- libfaketime-0.9.5.orig/man/Makefile	2013-10-13 11:19:30.000000000 +0200
++++ libfaketime-0.9.5/man/Makefile	2014-04-13 01:22:14.362296519 +0200
+@@ -6,7 +6,7 @@
+ 
+ install:
+ 	$(INSTALL) -Dm0644 faketime.1 "${DESTDIR}${PREFIX}/share/man/man1/faketime.1"
+-	gzip -f "${DESTDIR}${PREFIX}/share/man/man1/faketime.1"
++	gzip -9nf "${DESTDIR}${PREFIX}/share/man/man1/faketime.1"
+ 
+ uninstall:
+ 	rm -f "${DESTDIR}${PREFIX}/share/man/man1/faketime.1.gz"
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 8b7f48967e03..f05257898964 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.3";
+  version = "1.7.5";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "0wbh6fq5zi9wg2xcfvfpwh7dv52jihivx1vm4h91c2kx0w8n3b6x";
+    sha256 = "0078pbzm6nlgvnwlylshsg707ifcmfpnpbvhlhqbpwpfic9a9zni";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/pkgs/development/libraries/libgig/default.nix b/pkgs/development/libraries/libgig/default.nix
index 8975c4fa0743..fd6e4a7aa482 100644
--- a/pkgs/development/libraries/libgig/default.nix
+++ b/pkgs/development/libraries/libgig/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, autoconf, automake, libsndfile, libtool, pkgconfig }:
+{ stdenv, fetchsvn, autoconf, automake, libsndfile, libtool, pkgconfig, libuuid }:
 
 stdenv.mkDerivation rec {
   name = "libgig-svn-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0i7sj3zm6banl5avjdxblx0mlbxxzbsbr4x5hsl2fhrdsv5dnxhc";
   };
 
-  buildInputs = [ autoconf automake libsndfile libtool pkgconfig ];
+  buildInputs = [ autoconf automake libsndfile libtool pkgconfig libuuid ];
 
   preConfigure = "make -f Makefile.cvs";
 
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 68736608ad4f..6a7b747f7f99 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -7,15 +7,10 @@ stdenv.mkDerivation rec {
     owner = "gphoto";
     repo = "libgphoto2";
     rev = "${meta.tag}";
-    sha256 = "17k3jxib2jcr2wk83p34h3lvvjbs2gqhqfcngm8zmlrwb385yalh";
+    sha256 = "01nirw0xb8fjjv0jz88bmddv26bgg82w1wg65q51iblmy9z8azfh";
   };
 
-  patches = [(fetchpatch {
-    name = "libjpeg_turbo_1.5.0_fix.patch";
-    url = "https://anonscm.debian.org/cgit/pkg-phototools/libgphoto2.git/plain"
-      + "/debian/patches/libjpeg_turbo_1.5.0_fix.patch?id=8ce79a2a02d";
-    sha256 = "1zclgg20nv4krj8gigq3ylirxqiv1v8p59cfji041m156hy80gy2";
-  })];
+  patches = [];
 
   nativeBuildInputs = [ pkgconfig gettext autoreconfHook ];
   buildInputs = [ libtool libjpeg libusb1  ];
@@ -25,6 +20,11 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  postInstall = ''
+    mkdir -p $out/lib/udev/rules.d
+    $out/lib/libgphoto2/print-camera-list udev-rules version 175 group camera >$out/lib/udev/rules.d/40-gphoto2.rules
+  '';
+
   meta = {
     homepage = http://www.gphoto.org/proj/libgphoto2/;
     description = "A library for accessing digital cameras";
@@ -33,12 +33,11 @@ stdenv.mkDerivation rec {
       MTP, and other vendor specific protocols for controlling and transferring data
       from digital cameras.
     '';
-    version = "2.5.10";
-    tag = "libgphoto2-2_5_10-release";
+    version = "2.5.11";
+    tag = "libgphoto2-2_5_11-release";
     # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = with stdenv.lib.platforms; unix;
     maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
-
diff --git a/pkgs/development/libraries/libivykis/default.nix b/pkgs/development/libraries/libivykis/default.nix
index 8e2a659b3f09..d9e438da1313 100644
--- a/pkgs/development/libraries/libivykis/default.nix
+++ b/pkgs/development/libraries/libivykis/default.nix
@@ -3,16 +3,18 @@
 stdenv.mkDerivation rec {
   name = "libivykis-${version}";
 
-  version = "0.39";
+  version = "0.40";
 
   src = fetchurl {
     url = "mirror://sourceforge/libivykis/${version}/ivykis-${version}.tar.gz";
-    sha256 = "11d7sjbhcll932rlvx9sf3vk60b5bazmjf4vlr4qd9cz0cashizz";
+    sha256 = "1rn32dijv0pn9y2mbdg1n7al4h4i5pwwhhihr9pyakwyb6qgmqxj";
   };
 
-  buildInputs = [ autoreconfHook pkgconfig file protobufc ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ file protobufc ];
 
   meta = with stdenv.lib; {
+    homepage = "http://libivykis.sourceforge.net/";
     description = ''
       A thin wrapper over various OS'es implementation of I/O readiness
       notification facilities
diff --git a/pkgs/development/libraries/libmd/default.nix b/pkgs/development/libraries/libmd/default.nix
new file mode 100644
index 000000000000..989670bc0594
--- /dev/null
+++ b/pkgs/development/libraries/libmd/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "libmd";
+  version = "0.0.0";
+
+  src = fetchurl {
+    url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "121s73pgbqsnmy6xblbrkj9y44c5zzzpf2hcmh6zvcvg4dk26gzx";
+  };
+
+  buildInputs = [ autoreconfHook ];
+
+  # Writing the version to a .dist-version file is required for the get-version
+  # shell script because fetchgit removes the .git directory.
+  prePatch = ''
+    echo '${version}' > .dist-version;
+  '';
+
+  autoreconfPhase = "./autogen";
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.hadrons.org/software/${pname}/";
+    description = "Message Digest functions from BSD systems";
+    license = with licenses; [ bsd3 bsd2 isc beerware publicDomain ];
+    maintainers = with maintainers; [ primeos ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 90869a4c8a5a..f57a49ab8123 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.87";
+  version = "0.7.91";
   name = "libmediainfo-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "1gvjvc809mrhpcqr62cihhc6jnwml197xjbgydnzvsghih8dq8s9";
+    sha256 = "1h39cwd85rgidr0hbwab9dwbjv25xhvjv8y2nv35p3fwrs48p098";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix
index 2570c645f26e..a0e3bb52dfe2 100644
--- a/pkgs/development/libraries/libmemcached/default.nix
+++ b/pkgs/development/libraries/libmemcached/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   patches = stdenv.lib.optional stdenv.isLinux ./libmemcached-fix-linking-with-libpthread.patch
     ++ stdenv.lib.optional stdenv.isDarwin (fetchpatch {
       url = "https://raw.githubusercontent.com/Homebrew/homebrew/bfd4a0a4626b61c2511fdf573bcbbc6bbe86340e/Library/Formula/libmemcached.rb";
-      sha256 = "1nvxwdkxj2a2g39z0g8byxjwnw4pa5xlvsmdk081q63vmfywh7zb";
+      sha256 = "1gjf3vd7hiyzxjvlg2zfc3y2j0lyr6nhbws4xb5dmin3csyp8qb8";
     });
 
   buildInputs = [ libevent ];
diff --git a/pkgs/development/libraries/libmesode/default.nix b/pkgs/development/libraries/libmesode/default.nix
new file mode 100644
index 000000000000..8e684f7af1f2
--- /dev/null
+++ b/pkgs/development/libraries/libmesode/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, libtool, openssl, expat, pkgconfig, check }:
+
+stdenv.mkDerivation rec {
+  name = "libmesode-${version}";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "boothj5";
+    repo = "libmesode";
+    rev = version;
+    sha256 = "1zb1x422zkpnxrz9d2b7pmi8ms60lbw49yh78mydqfypsmj2iyfh";
+  };
+
+  buildInputs = [ autoreconfHook openssl expat libtool pkgconfig check ];
+
+  dontDisableStatic = true;
+
+  doCheck = true;
+
+  meta = {
+    description = "Fork of libstrophe (https://github.com/strophe/libstrophe) for use with Profanity XMPP Client";
+    longDescription = ''
+      Reasons for forking:
+
+      - Remove Windows support
+      - Support only one XML Parser implementation (expat)
+      - Support only one SSL implementation (OpenSSL)
+
+      This simplifies maintenance of the library when used in Profanity.
+      Whilst Profanity will run against libstrophe, libmesode provides extra
+      TLS functionality such as manual SSL certificate verification.
+    '';
+    homepage = http://github.com/boothj5/libmesode/;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix
index a5db2d235728..bd0cd9fe9041 100644
--- a/pkgs/development/libraries/libmilter/default.nix
+++ b/pkgs/development/libraries/libmilter/default.nix
@@ -1,14 +1,15 @@
-{stdenv, fetchurl, m4}:
+{ stdenv, fetchurl, m4 }:
 
 stdenv.mkDerivation rec {
-  name = "libmilter-8.14.8";
-  
+  name = "libmilter-${version}";
+  version = "8.15.2";
+
   src = fetchurl {
-    url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.8.tar.gz";
-    sha256 = "1zmhzkj3gzx8022hsrysr3nzlcmv1qisb5i4jbx91661bw96ksq2";
+    url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.${version}.tar.gz";
+    sha256 = "0fdl9ndmspqspdlmghzxlaqk56j3yajk52d7jxcg21b7sxglpy94";
   };
 
-  buildPhase = '' 
+  buildPhase = ''
     mkdir -p $out/lib
     cd libmilter
     cat > a.m4 <<EOF
@@ -29,10 +30,12 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [ ./install.patch ./sharedlib.patch];
-  
-  buildInputs = [m4];
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  buildInputs = [ m4 ];
+
+  meta = with stdenv.lib; {
+    description = "Sendmail Milter mail filtering API library";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
index fc2ed6c60867..a52e25e7cf23 100644
--- a/pkgs/development/libraries/libmwaw/default.nix
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libmwaw";
-    version="0.3.8";
+    version="0.3.9";
     name="${baseName}-${version}";
-    hash="019vk8cj3lgbrpgj48zy25mpkgmllwxznkfd94hh9vbb1cjvpz3a";
-    url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-0.3.8/libmwaw-0.3.8.tar.xz";
-    sha256="019vk8cj3lgbrpgj48zy25mpkgmllwxznkfd94hh9vbb1cjvpz3a";
+    hash="185jnp7b7s550xpz3bhaii275qw5yd3j29zijkd2rr8h2p9s9z7p";
+    url="https://heanet.dl.sourceforge.net/project/libmwaw/libmwaw/libmwaw-0.3.9/libmwaw-0.3.9.tar.xz";
+    sha256="185jnp7b7s550xpz3bhaii275qw5yd3j29zijkd2rr8h2p9s9z7p";
   };
   buildInputs = [
     boost pkgconfig cppunit zlib libwpg libwpd librevenge
diff --git a/pkgs/development/libraries/liborc/default.nix b/pkgs/development/libraries/liborc/default.nix
deleted file mode 100644
index 2b298c97379c..000000000000
--- a/pkgs/development/libraries/liborc/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  name = "liborc-${version}";
-  version = "0.4.16";
-
-  src = fetchurl {
-    url = "http://http.debian.net/debian/pool/main/o/orc/orc_${version}.orig.tar.gz";
-    sha256 = "1asq58gm87ig60ib4cs69hyqhnsirqkdlidnchhx83halbdlw3kh";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://packages.debian.org/wheezy/liborc-0.4-0;
-    description = "Orc is a library and set of tools for compiling and executing very simple programs that operate on arrays of data.";
-    license = with licenses; [ bsd2 bsd3 ];
-  };
-}
diff --git a/pkgs/development/libraries/libpaper/default.nix b/pkgs/development/libraries/libpaper/default.nix
index 7bc4b316673f..a423727b913f 100644
--- a/pkgs/development/libraries/libpaper/default.nix
+++ b/pkgs/development/libraries/libpaper/default.nix
@@ -9,6 +9,25 @@ stdenv.mkDerivation rec {
     sha256 = "0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q";
   };
 
+  # The configure script of libpaper is buggy: it uses AC_SUBST on a headerfile
+  # to compile sysconfdir into the library. Autoconf however defines sysconfdir
+  # as "${prefix}/etc", which is not expanded by AC_SUBST so libpaper will look
+  # for config files in (literally, without expansion) '${prefix}/etc'. Manually
+  # setting sysconfdir fixes this issue.
+  preConfigure = ''
+    configureFlagsArray+=(
+      "--sysconfdir=$out/etc"
+    )
+  '';
+
+  # Set the default paper to letter (this is what libpaper uses as default as well,
+  # if you call getdefaultpapername()).
+  # The user can still override this with the PAPERCONF environment variable.
+  postInstall = ''
+    mkdir -p $out/etc
+    echo letter > $out/etc/papersize
+  '';
+
   meta = {
     description = "Library for handling paper characteristics";
     homepage = "http://packages.debian.org/unstable/source/libpaper";
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index 8e17c44fa636..b3f7f96e9362 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -3,11 +3,11 @@
 assert !(stdenv ? cross) -> zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.2.56";
+  name = "libpng-1.2.57";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "1ghd03p353x0vi4dk83n1nlldg11w7vqdk3f99rkgfb82ic59ki4";
+    sha256 = "1n2lrzjkm5jhfg2bs10q398lkwbbx742fi27zgdgx0x23zhj0ihg";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index a20bc7e5f3c5..545c58f976e9 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,10 +3,12 @@
 assert zlib != null;
 
 let
-  version = "1.6.26";
-  sha256 = "1ybkgcqqsd4iiiyv60pxjfi1csszb50bd2cxxsy3sv4q4sil6rr6";
+  version = "1.6.28";
+  patchVersion = "1.6.26";
+  # patchVersion = version;
+  sha256 = "0ylgyx93hnk38haqrh8prd3ax5ngzwvjqw5cxw7p9nxmwsfyrlyq";
   patch_src = fetchurl {
-    url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
+    url = "mirror://sourceforge/libpng-apng/libpng-${patchVersion}-apng.patch.gz";
     sha256 = "0b6p2k4afvhk1svargpllcvhxb4g3p857wkqk85cks0yv42ckph1";
   };
   whenPatched = stdenv.lib.optionalString apngSupport;
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index e8a80497de36..51cb1c48e54c 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, postgresql, python2 }:
+{ lib, stdenv, fetchurl, postgresql, python2, gnused }:
 
 stdenv.mkDerivation rec {
   name = "libpqxx-4.0.1";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0f6wxspp6rx12fkasanb0z2g2gc8dhcfwnxagx8wwqbpg6ifsz09";
   };
 
-  buildInputs = [ postgresql python2 ];
+  buildInputs = [ postgresql python2 gnused ];
 
   preConfigure = ''
     patchShebangs .
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 409307fb52b0..ebd0f79cd47b 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf
-, bzip2, libcroco, libintlOrEmpty
+, bzip2, libcroco, libintlOrEmpty, darwin
 , withGTK ? false, gtk3 ? null
 , gobjectIntrospection ? null, enableIntrospection ? false }:
 
@@ -22,7 +22,10 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib gdk_pixbuf cairo ] ++ lib.optional withGTK gtk3;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ]
+    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+      ApplicationServices
+    ]);
 
   configureFlags = [ "--enable-introspection=auto" ]
     ++ stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 5aedc0df2b92..0f8207e83c82 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww";
   };
 
+  outputs = [ "out" "dev" ];
+
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
   propagatedBuildInputs = [ glib ];
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index 89e402d2416d..0e53d27c8892 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurlBoot, openssl, zlib, windows}:
 
 stdenv.mkDerivation rec {
-  name = "libssh2-1.7.0";
+  name = "libssh2-1.8.0";
 
   src = fetchurlBoot {
     url = "${meta.homepage}/download/${name}.tar.gz";
-    sha256 = "116mh112w48vv9k3f15ggp5kxw5sj4b88dzb5j69llsh7ba1ymp4";
+    sha256 = "1m3n8spv79qhjq4yi0wgly5s5rc8783jb1pyra9bkx1md0plxwrr";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libstrophe/default.nix b/pkgs/development/libraries/libstrophe/default.nix
index b5eb2ae7dd7e..76aa014392b0 100644
--- a/pkgs/development/libraries/libstrophe/default.nix
+++ b/pkgs/development/libraries/libstrophe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libstrophe-${version}";
-  version = "0.8.8";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "strophe";
     repo = "libstrophe";
     rev = version;
-    sha256 = "1xzyqqf99r0jfd0g3v0zwc68sac6y25v1d4m365zpc14l02midis";
+    sha256 = "099iv13c03y1dsn2ngdhfx2cnax0aj2gfh00w55hlzpvmjm8dsml";
   };
 
   buildInputs = [ automake autoconf openssl expat libtool pkgconfig check ];
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
       runs well on both Linux, Unix, and Windows based platforms.
     '';
     homepage = http://strophe.im/libstrophe/;
-    license = stdenv.lib.licenses.gpl3;
+    license = with stdenv.lib.licenses; [gpl3 mit];
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.devhell ];
+    maintainers = with stdenv.lib.maintainers; [devhell flosse];
   };
 }
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 1e45f07a22f2..5ecbcc63a957 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-4.8";
+  name = "libtasn1-4.9";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "04y5m29pqmvkfdbppmsdifyx89v8xclxzklpfc7a1fkr9p4jz07s";
+    sha256 = "0869cp6jx7cajgv6cnddsh3vc7bimmdkdjn80y1jpb4iss7plvsg";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libtermkey/default.nix b/pkgs/development/libraries/libtermkey/default.nix
index 43c8292a2007..97bc98b22d88 100644
--- a/pkgs/development/libraries/libtermkey/default.nix
+++ b/pkgs/development/libraries/libtermkey/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "libtermkey-${version}";
 
-  version = "0.18";
+  version = "0.19";
 
   src = fetchzip {
     url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-${version}.tar.gz";
-    sha256 = "0a0ih1a114phzmyq6jzgbp03x97463fwvrp1cgnl26awqw3f8sbf";
+    sha256 = "0v85h0zacd5lqwkykl2ms4009x8mfidzb6jr4dsq4gh7kwm54w56";
   };
 
   makeFlags = [ "PREFIX=$(out)" ]
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index db77a6fefc3a..2b062f58b248 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,5 +1,4 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig
-
 , ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
@@ -13,10 +12,16 @@ stdenv.mkDerivation rec {
     sha256 = "0gna53fgsjjs38kv1g20xfaalv0fk3xncb6abga3saswrv283hx0";
   };
 
-  # these checks are probably network-dependent
-  postPatch = lib.optionalString doCheck ''
-    sed '/getnameinfo_basic/d' -i test/test-list.h
-  '';
+  postPatch = let
+    toDisable = [
+      "getnameinfo_basic" # probably network-dependent
+      "spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces
+      "getaddrinfo_fail" "getaddrinfo_fail_sync"
+    ];
+    tdRegexp = lib.concatStringsSep "\\|" toDisable;
+    in lib.optionalString doCheck ''
+      sed '/${tdRegexp}/d' -i test/test-list.h
+    '';
 
   buildInputs = [ automake autoconf libtool pkgconfig ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices CoreServices ];
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 891c861c9fe5..658a2e37883a 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.2.0";
+  version = "2.5.0";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/${name}.tar.xz";
-    sha256 = "168ng4k5sik2jiylrlpmqdj3g8hnmsmvh84y8nvfgc7fdbbah5g3";
+    sha256 = "07nbh6zhaxx5i1s1acnppf8rzkzb2ppgv35jw7grbbnnpzpzz7c1";
   };
 
   patches = [ ./build-on-bsd.patch ];
diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix
index 581673af64dc..f7e477ff34a1 100644
--- a/pkgs/development/libraries/libvncserver/default.nix
+++ b/pkgs/development/libraries/libvncserver/default.nix
@@ -1,7 +1,8 @@
 {stdenv, fetchurl,
   libtool, libjpeg, openssl, libX11, libXdamage, xproto, damageproto, 
   xextproto, libXext, fixesproto, libXfixes, xineramaproto, libXinerama, 
-  libXrandr, randrproto, libXtst, zlib
+  libXrandr, randrproto, libXtst, zlib, libgcrypt, autoreconfHook
+  , systemd, pkgconfig, libpng
 }:
 
 assert stdenv.isLinux;
@@ -10,16 +11,16 @@ let
   s = # Generated upstream information
   rec {
     baseName="libvncserver";
-    version="0.9.9";
+    version="0.9.11";
     name="${baseName}-${version}";
-    hash="1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng";
-    url="mirror://sourceforge/project/libvncserver/libvncserver/0.9.9/LibVNCServer-0.9.9.tar.gz";
-    sha256="1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng";
+    url="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
+    sha256="15189n09r1pg2nqrpgxqrcvad89cdcrca9gx6qhm6akjf81n6g8r";
   };
   buildInputs = [
     libtool libjpeg openssl libX11 libXdamage xproto damageproto
     xextproto libXext fixesproto libXfixes xineramaproto libXinerama
-    libXrandr randrproto libXtst zlib
+    libXrandr randrproto libXtst zlib libgcrypt autoreconfHook systemd
+    pkgconfig libpng
   ];
 in
 stdenv.mkDerivation {
diff --git a/pkgs/development/libraries/libvncserver/default.upstream b/pkgs/development/libraries/libvncserver/default.upstream
deleted file mode 100644
index eae481974398..000000000000
--- a/pkgs/development/libraries/libvncserver/default.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url http://sourceforge.net/projects/libvncserver/files/libvncserver/
-SF_version_dir
-version_link '[.]tar[.][bgx]z[0-9]*/download$'
-SF_redirect
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index 0d757d33cf95..ad3cbe119c55 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libwacom-${version}";
-  version = "0.19";
+  version = "0.22";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/libwacom/${name}.tar.bz2";
-    sha256 = "1zsmp2l53fbfy6jykh4c0i127baf503lq2fvd5y1066ihp6qh3b2";
+    sha256 = "1h10awwapj5v8nik220ga0raggv3lgaq0kzwlma2qjmzdhhrrhcp";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libzen/default.nix b/pkgs/development/libraries/libzen/default.nix
index 23597c2e03b1..5bb3f79f790e 100644
--- a/pkgs/development/libraries/libzen/default.nix
+++ b/pkgs/development/libraries/libzen/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.33";
+  version = "0.4.34";
   name = "libzen-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
-    sha256 = "0py5iagajz6m5zh26svkjyy85k1dmyhi6cdbmc3cb56a4ix1k2d2";
+    sha256 = "02krmhl6dplidz6h251ajpzzdhzzm0hp0lwwv9rgn55xjgh4yxw3";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index a2e5d153060b..960c8cc24949 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, alsaLib, bash, help2man, pkgconfig, xlibsWrapper, python3, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "lirc-0.9.3";
+  name = "lirc-0.9.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/lirc/${name}.tar.bz2";
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
 
   preBuild = "patchShebangs .";
 
-  buildInputs = [ alsaLib help2man pkgconfig xlibsWrapper python3 libxslt ];
+  nativeBuildInputs = [ pkgconfig help2man ];
+
+  buildInputs = [ alsaLib xlibsWrapper python3 libxslt ];
 
   configureFlags = [
     "--with-driver=devinput"
diff --git a/pkgs/development/libraries/loki/default.nix b/pkgs/development/libraries/loki/default.nix
new file mode 100644
index 000000000000..2ff927048ad5
--- /dev/null
+++ b/pkgs/development/libraries/loki/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "loki-${version}";
+  version = "0.1.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/loki-lib/Loki/Loki%20${version}/loki-${version}.tar.gz";
+    sha256 = "1xhwna961fl4298ac5cc629x5030zlw31vx4h8zws290amw5860g";
+  };
+
+  buildPhase = ''
+    substituteInPlace Makefile.common --replace /usr $out
+    make build-shared
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A C++ library of designs, containing flexible implementations of common design patterns and idioms";
+    homepage = http://loki-lib.sourceforge.net;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index c363cbcd3718..2fc1bfea0842 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -26,7 +26,7 @@ if ! lists.elem stdenv.system platforms.mesaPlatforms then
 else
 
 let
-  version = "13.0.2";
+  version = "13.0.3";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
     ];
-    sha256 = "a6ed622645f4ed61da418bf65adde5bcc4bb79023c36ba7d6b45b389da4416d5";
+    sha256 = "d9aa8be5c176d00d0cd503cb2f64a5a403ea471ec819c022581414860d7ba40e";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 3eff1f3d5bbd..4ffaee9be5ab 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -91,6 +91,12 @@ stdenv.mkDerivation rec {
           if [ -e "$out/lib/lib''${library}$suffix.$dylibtype" ]; then
             ln -svf lib''${library}$suffix.$dylibtype $out/lib/lib$library$newsuffix.$dylibtype
             ln -svf lib''${library}$suffix.$dylibtype.${abiVersion} $out/lib/lib$library$newsuffix.$dylibtype.${abiVersion}
+            if [ "ncurses" = "$library" ]
+            then
+              # make libtinfo symlinks
+              ln -svf lib''${library}$suffix.$dylibtype $out/lib/libtinfo$newsuffix.$dylibtype
+              ln -svf lib''${library}$suffix.$dylibtype.${abiVersion} $out/lib/libtinfo$newsuffix.$dylibtype.${abiVersion}
+            fi
           fi
         done
         for statictype in a dll.a la; do
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index 080a3e35138e..0697b05c0a5d 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -1,30 +1,38 @@
 { stdenv, fetchurl, pkgconfig
 
 # Optional Dependencies
-, openssl ? null, libev ? null, zlib ? null, jansson ? null, boost ? null
-, libxml2 ? null, jemalloc ? null
+, openssl ? null, libev ? null, zlib ? null
+, enableHpack ? false, jansson ? null
+, enableAsioLib ? false, boost ? null
+, enableGetAssets ? false, libxml2 ? null
+, enableJemalloc ? false, jemalloc ? null
 }:
 
+assert enableHpack -> jansson != null;
+assert enableAsioLib -> boost != null;
+assert enableGetAssets -> libxml2 != null;
+assert enableJemalloc -> jemalloc != null;
+
+with { inherit (stdenv.lib) optional; };
+
 stdenv.mkDerivation rec {
   name = "nghttp2-${version}";
-  version = "1.16.1";
+  version = "1.17.0";
 
   # Don't use fetchFromGitHub since this needs a bootstrap curl
   src = fetchurl {
     url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
-    sha256 = "069pw84f8gg21npapn7y1sizwn6w35692zaq5g45gy8hdbmcl8yc";
+    sha256 = "7685b6717d205d3a251b7dd5e73a7ca5e643bc5c01f928b82bfeed30c243f28a";
   };
 
-  # Configure script searches for a symbol which does not exist in jemalloc on Darwin
-  # Reported upstream in https://github.com/tatsuhiro-t/nghttp2/issues/233
-  postPatch = if stdenv.isDarwin && jemalloc != null then ''
-    substituteInPlace configure --replace "malloc_stats_print" "je_malloc_stats_print"
-  '' else null;
-
   outputs = [ "out" "dev" "lib" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl libev zlib ];
+  buildInputs = [ openssl libev zlib ]
+    ++ optional enableHpack jansson
+    ++ optional enableAsioLib boost
+    ++ optional enableGetAssets libxml2
+    ++ optional enableJemalloc jemalloc;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix
index 3c4cd8bb6c8d..b124e592f367 100644
--- a/pkgs/development/libraries/openbabel/default.nix
+++ b/pkgs/development/libraries/openbabel/default.nix
@@ -1,23 +1,23 @@
-{stdenv, fetchurl, cmake, zlib, libxml2, eigen, python, cairo, pkgconfig }:
+{stdenv, fetchurl, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "openbabel-2.3.2";
+  name = "openbabel-${version}";
+  version = "2.4.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openbabel/${name}.tar.gz";
-    sha256 = "122if0jkm71ngd1b0dic8k567b3j2hcikbwnpxgchv5ag5ka5b2f";
+    url = "https://github.com/openbabel/openbabel/archive/openbabel-${stdenv.lib.replaceStrings ["."] ["-"] version}.tar.gz";
+    sha256 = "0xm7y859ivq2cp0q08mwshfxm0jq31xkyr4x8s0j6l7khf57yk2r";
   };
 
   # TODO : perl & python bindings;
   # TODO : wxGTK: I have no time to compile
   # TODO : separate lib and apps
-  buildInputs = [ zlib libxml2 eigen python cairo ];
+  buildInputs = [ zlib libxml2 eigen python cairo pcre ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
   meta = {
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    broken = true; # doesn't build with GCC 5; fix in GitHub
   };
 }
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index 388167319c12..978b28aaa480 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -52,7 +52,11 @@ stdenv.mkDerivation rec {
         url = "https://github.com/opencv/opencv/commit/d76f258aebdf63f979a205cabe6d3e81700a7cd8.patch";
         sha256 = "00b3msfgrcw7laij6qafn4b18c1dl96xxpzwx05wxzrjldqb6kqg";
       })
-    ];
+    ]
+    ++ lib.optional enablePython (fetchpatch { # Patch to fix FlannBasedMatcher under python
+      url = "https://github.com/opencv/opencv/commit/05cfe28612fd8dc8fb0ccb876df945c7b435dd26.patch";
+      sha256 = "0niza5lybr1ljzdkyiapr16laa468168qinpy5qn00yimnaygpm6";
+    });
 
   preConfigure =
     let ippicvVersion = "20151201";
diff --git a/pkgs/development/libraries/openjpeg/2.1.nix b/pkgs/development/libraries/openjpeg/2.1.nix
index 00cd4103c8f7..ae8710e58a28 100644
--- a/pkgs/development/libraries/openjpeg/2.1.nix
+++ b/pkgs/development/libraries/openjpeg/2.1.nix
@@ -1,8 +1,37 @@
-{ callPackage, ... } @ args:
+{ callPackage, fetchpatch, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
   version = "2.1.2";
   branch = "2.1";
   revision = "v2.1.2";
   sha256 = "0kdcl9sqjz0vagli4ad6bxq1r8ma086m0prpkm5x3dxp37hpjp8h";
+
+  patches = [
+    # Fetched from https://github.com/szukw000/openjpeg/commit/cadff5fb6e73398de26a92e96d3d7cac893af255
+    # Referenced from https://bugzilla.redhat.com/show_bug.cgi?id=1405135
+    # Put in our source code to make sure we don't lose it, since that
+    # referenced commit is someone else's fork, and not actually up-stream.
+    ./CVE-2016-9580-and-CVE-2016-9581.patch
+
+    (fetchpatch {
+      url = "https://bugzilla.suse.com/attachment.cgi?id=707359&action=diff&context=patch&collapsed=&headers=1&format=raw";
+      name = "CVE-2016-9112.patch";
+      sha256 = "18hqx73wdzfybr5n5k6pzhbhdlmawiqbjci8n82zykxiyfgp18pd";
+    })
+    (fetchpatch {
+      url = "https://bugzilla.suse.com/attachment.cgi?id=707354&action=diff&context=patch&collapsed=&headers=1&format=raw";
+      name = "CVE-2016-9114.patch";
+      sha256 = "0qam3arw9kdbh4501xim2pyldl708dnpyjwvjmwc9gc7hcq4gfi3";
+    })
+    (fetchpatch {
+      url = "https://bugzilla.suse.com/attachment.cgi?id=707356&action=diff&context=patch&collapsed=&headers=1&format=raw";
+      name = "CVE-2016-9116.patch";
+      sha256 = "0yyb3pxqi5sr44a48bacngzp206j4z49lzkg6hbkz1nra9na61a3";
+    })
+    (fetchpatch {
+      url = "https://bugzilla.suse.com/attachment.cgi?id=707358&action=diff&context=patch&collapsed=&headers=1&format=raw";
+      name = "CVE-2016-9118.patch";
+      sha256 = "125n8bmh07y7697s0y82ypb39rxgj0bdn8rcywbvamscagwg2wy9";
+    })
+  ];
 })
diff --git a/pkgs/development/libraries/openjpeg/CVE-2016-9580-and-CVE-2016-9581.patch b/pkgs/development/libraries/openjpeg/CVE-2016-9580-and-CVE-2016-9581.patch
new file mode 100644
index 000000000000..064e7419c341
--- /dev/null
+++ b/pkgs/development/libraries/openjpeg/CVE-2016-9580-and-CVE-2016-9581.patch
@@ -0,0 +1,242 @@
+From cadff5fb6e73398de26a92e96d3d7cac893af255 Mon Sep 17 00:00:00 2001
+From: szukw000 <szukw000@arcor.de>
+Date: Fri, 9 Dec 2016 08:29:55 +0100
+Subject: [PATCH] These changes repair bugs of #871 and #872
+
+---
+ src/bin/jp2/converttif.c | 107 +++++++++++++++++++++++++++++++----------------
+ 1 file changed, 70 insertions(+), 37 deletions(-)
+
+diff --git a/src/bin/jp2/converttif.c b/src/bin/jp2/converttif.c
+index 143d3be..c690f8b 100644
+--- a/src/bin/jp2/converttif.c
++++ b/src/bin/jp2/converttif.c
+@@ -553,20 +553,18 @@ static void tif_32sto16u(const OPJ_INT32* pSrc, OPJ_UINT16* pDst, OPJ_SIZE_T len
+ 
+ int imagetotif(opj_image_t * image, const char *outfile)
+ {
+-	int width, height;
+-	int bps,adjust, sgnd;
+-	int tiPhoto;
++	uint32 width, height, bps, tiPhoto;
++	int adjust, sgnd;
+ 	TIFF *tif;
+ 	tdata_t buf;
+-	tsize_t strip_size;
++	tmsize_t strip_size, rowStride;
+ 	OPJ_UINT32 i, numcomps;
+-	OPJ_SIZE_T rowStride;
+ 	OPJ_INT32* buffer32s = NULL;
+ 	OPJ_INT32 const* planes[4];
+ 	convert_32s_PXCX cvtPxToCx = NULL;
+ 	convert_32sXXx_C1R cvt32sToTif = NULL;
+ 
+-	bps = (int)image->comps[0].prec;
++	bps = (uint32)image->comps[0].prec;
+ 	planes[0] = image->comps[0].data;
+ 	
+ 	numcomps = image->numcomps;
+@@ -674,13 +672,13 @@ int imagetotif(opj_image_t * image, const char *outfile)
+ 			break;
+ 	}
+ 	sgnd = (int)image->comps[0].sgnd;
+-	adjust = sgnd ? 1 << (image->comps[0].prec - 1) : 0;
+-	width   = (int)image->comps[0].w;
+-	height  = (int)image->comps[0].h;
++	adjust = sgnd ? (int)(1 << (image->comps[0].prec - 1)) : 0;
++	width   = (uint32)image->comps[0].w;
++	height  = (uint32)image->comps[0].h;
+ 	
+ 	TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, width);
+ 	TIFFSetField(tif, TIFFTAG_IMAGELENGTH, height);
+-	TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, numcomps);
++	TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, (uint32)numcomps);
+ 	TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bps);
+ 	TIFFSetField(tif, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
+ 	TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
+@@ -688,8 +686,8 @@ int imagetotif(opj_image_t * image, const char *outfile)
+ 	TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
+ 	
+ 	strip_size = TIFFStripSize(tif);
+-	rowStride = ((OPJ_SIZE_T)width * numcomps * (OPJ_SIZE_T)bps + 7U) / 8U;
+-	if (rowStride != (OPJ_SIZE_T)strip_size) {
++	rowStride = (width * numcomps * bps + 7U) / 8U;
++	if (rowStride != strip_size) {
+ 		fprintf(stderr, "Invalid TIFF strip size\n");
+ 		TIFFClose(tif);
+ 		return 1;
+@@ -699,7 +697,7 @@ int imagetotif(opj_image_t * image, const char *outfile)
+ 		TIFFClose(tif);
+ 		return 1;
+ 	}
+-	buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)width * numcomps * sizeof(OPJ_INT32));
++	buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)(width * numcomps * sizeof(OPJ_INT32)));
+ 	if (buffer32s == NULL) {
+ 		_TIFFfree(buf);
+ 		TIFFClose(tif);
+@@ -1211,20 +1209,19 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
+ 	TIFF *tif;
+ 	tdata_t buf;
+ 	tstrip_t strip;
+-	tsize_t strip_size;
++	tmsize_t strip_size;
+ 	int j, currentPlane, numcomps = 0, w, h;
+ 	OPJ_COLOR_SPACE color_space = OPJ_CLRSPC_UNKNOWN;
+ 	opj_image_cmptparm_t cmptparm[4]; /* RGBA */
+ 	opj_image_t *image = NULL;
+ 	int has_alpha = 0;
+-	unsigned short tiBps, tiPhoto, tiSf, tiSpp, tiPC;
+-	unsigned int tiWidth, tiHeight;
++	uint32 tiBps, tiPhoto, tiSf, tiSpp, tiPC, tiWidth, tiHeight;
+ 	OPJ_BOOL is_cinema = OPJ_IS_CINEMA(parameters->rsiz);
+ 	convert_XXx32s_C1R cvtTifTo32s = NULL;
+ 	convert_32s_CXPX cvtCxToPx = NULL;
+ 	OPJ_INT32* buffer32s = NULL;
+ 	OPJ_INT32* planes[4];
+-	OPJ_SIZE_T rowStride;
++	tmsize_t rowStride;
+ 	
+ 	tif = TIFFOpen(filename, "r");
+ 	
+@@ -1243,22 +1240,35 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
+ 	TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &tiSpp);
+ 	TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &tiPhoto);
+ 	TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &tiPC);
+-	w= (int)tiWidth;
+-	h= (int)tiHeight;
+-	
+-	if(tiBps > 16U) {
+-		fprintf(stderr,"tiftoimage: Bits=%d, Only 1 to 16 bits implemented\n",tiBps);
+-		fprintf(stderr,"\tAborting\n");
++
++	if(tiSpp == 0 || tiSpp > 4) { /* should be 1 ... 4 */
++		fprintf(stderr,"tiftoimage: Bad value for samples per pixel == %hu.\n"
++		 "\tAborting.\n", tiSpp);
++		TIFFClose(tif);
++		return NULL;
++	}
++	if(tiBps > 16U || tiBps == 0) {
++		fprintf(stderr,"tiftoimage: Bad values for Bits == %d.\n"
++		 "\tMax. 16 Bits are allowed here.\n\tAborting.\n",tiBps);
+ 		TIFFClose(tif);
+ 		return NULL;
+ 	}
+ 	if(tiPhoto != PHOTOMETRIC_MINISBLACK && tiPhoto != PHOTOMETRIC_RGB) {
+-		fprintf(stderr,"tiftoimage: Bad color format %d.\n\tOnly RGB(A) and GRAY(A) has been implemented\n",(int) tiPhoto);
++		fprintf(stderr,"tiftoimage: Bad color format %d.\n"
++		 "\tOnly RGB(A) and GRAY(A) has been implemented\n",(int) tiPhoto);
+ 		fprintf(stderr,"\tAborting\n");
+ 		TIFFClose(tif);
+ 		return NULL;
+ 	}
+-	
++	if(tiWidth == 0 || tiHeight == 0) {
++		fprintf(stderr,"tiftoimage: Bad values for width(%u) "
++		 "and/or height(%u)\n\tAborting.\n",tiWidth,tiHeight);
++		TIFFClose(tif);
++		return NULL;
++	}
++	w= (int)tiWidth;
++	h= (int)tiHeight;
++
+ 	switch (tiBps) {
+ 		case 1:
+ 		case 2:
+@@ -1312,7 +1322,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
+ 		
+ 		TIFFGetFieldDefaulted(tif, TIFFTAG_EXTRASAMPLES,
+ 													&extrasamples, &sampleinfo);
+-		
++
+ 		if(extrasamples >= 1)
+ 		{
+ 			switch(sampleinfo[0])
+@@ -1333,7 +1343,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
+ 		else /* extrasamples == 0 */
+ 			if(tiSpp == 4 || tiSpp == 2) has_alpha = 1;
+ 	}
+-	
++
+ 	/* initialize image components */
+ 	memset(&cmptparm[0], 0, 4 * sizeof(opj_image_cmptparm_t));
+ 	
+@@ -1346,7 +1356,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
+ 	} else {
+ 		is_cinema = 0U;
+ 	}
+-	
++
+ 	if(tiPhoto == PHOTOMETRIC_RGB) /* RGB(A) */
+ 	{
+ 		numcomps = 3 + has_alpha;
+@@ -1384,10 +1394,24 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
+ 	image->x0 = (OPJ_UINT32)parameters->image_offset_x0;
+ 	image->y0 = (OPJ_UINT32)parameters->image_offset_y0;
+ 	image->x1 =	!image->x0 ? (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1 :
+-	image->x0 + (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1;
++	 image->x0 + (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1;
++	if(image->x1 <= image->x0) {
++		fprintf(stderr,"tiftoimage: Bad value for image->x1(%d) vs. "
++		 "image->x0(%d)\n\tAborting.\n",image->x1,image->x0);
++		TIFFClose(tif);
++		opj_image_destroy(image);
++		return NULL;
++	}
+ 	image->y1 =	!image->y0 ? (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1 :
+-	image->y0 + (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1;
+-
++	 image->y0 + (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1;
++	if(image->y1 <= image->y0) {
++		fprintf(stderr,"tiftoimage: Bad value for image->y1(%d) vs. "
++		 "image->y0(%d)\n\tAborting.\n",image->y1,image->y0);
++		TIFFClose(tif);
++		opj_image_destroy(image);
++		return NULL;
++	}
++	
+ 	for(j = 0; j < numcomps; j++)
+ 	{
+ 		planes[j] = image->comps[j].data;
+@@ -1395,15 +1419,15 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
+ 	image->comps[numcomps - 1].alpha = (OPJ_UINT16)(1 - (numcomps & 1));
+ 		
+ 	strip_size = TIFFStripSize(tif);
+-	
++
+ 	buf = _TIFFmalloc(strip_size);
+ 	if (buf == NULL) {
+ 		TIFFClose(tif);
+ 		opj_image_destroy(image);
+ 		return NULL;
+ 	}
+-	rowStride = ((OPJ_SIZE_T)w * tiSpp * tiBps + 7U) / 8U;
+-	buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)w * tiSpp * sizeof(OPJ_INT32));
++	rowStride = (w * tiSpp * tiBps + 7U) / 8U;
++	buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)(w * tiSpp * sizeof(OPJ_INT32)));
+ 	if (buffer32s == NULL) {
+ 		_TIFFfree(buf);
+ 		TIFFClose(tif);
+@@ -1421,11 +1445,20 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
+ 		for(; (h > 0) && (strip < TIFFNumberOfStrips(tif)); strip++)
+ 		{
+ 				const OPJ_UINT8 *dat8;
+-				OPJ_SIZE_T ssize;
++				tmsize_t ssize;
+ 				
+-				ssize = (OPJ_SIZE_T)TIFFReadEncodedStrip(tif, strip, buf, strip_size);
++				ssize = TIFFReadEncodedStrip(tif, strip, buf, strip_size);
++				if(ssize < 1 || ssize > strip_size) {
++					fprintf(stderr,"tiftoimage: Bad value for ssize(%ld) "
++                     "vs. strip_size(%ld).\n\tAborting.\n",ssize,strip_size);
++					_TIFFfree(buf);
++					_TIFFfree(buffer32s);
++					TIFFClose(tif);
++					opj_image_destroy(image);
++					return NULL;
++				}
+ 				dat8 = (const OPJ_UINT8*)buf;
+-				
++
+ 				while (ssize >= rowStride) {
+ 					cvtTifTo32s(dat8, buffer32s, (OPJ_SIZE_T)w * tiSpp);
+ 					cvtCxToPx(buffer32s, planes, (OPJ_SIZE_T)w);
diff --git a/pkgs/development/libraries/openjpeg/generic.nix b/pkgs/development/libraries/openjpeg/generic.nix
index c70bab523cb6..96cf0451ebf4 100644
--- a/pkgs/development/libraries/openjpeg/generic.nix
+++ b/pkgs/development/libraries/openjpeg/generic.nix
@@ -11,7 +11,7 @@
 , testsSupport ? false
 , jdk ? null
 # Inherit generics
-, branch, version, revision, sha256, ...
+, branch, version, revision, sha256, patches ? [], ...
 }:
 
 assert jpipServerSupport -> jpipLibSupport && curl != null && fcgi != null;
@@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
+  inherit patches;
+
   outputs = [ "out" "dev" ];
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index cdef4d9a49f4..05c03dcd8424 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -19,10 +19,13 @@ stdenv.mkDerivation rec {
     [ "--enable-overlays"
       "--disable-dependency-tracking"   # speeds up one-time build
       "--enable-modules"
+      "--sysconfdir=/etc"
     ] ++ stdenv.lib.optional (openssl == null) "--without-tls"
       ++ stdenv.lib.optional (cyrus_sasl == null) "--without-cyrus-sasl"
       ++ stdenv.lib.optional stdenv.isFreeBSD "--with-pic";
 
+  installFlags = [ "sysconfdir=$(out)/etc" ];
+
   # 1. Fixup broken libtool
   # 2. Libraries left in the build location confuse `patchelf --shrink-rpath`
   #    Delete these to let patchelf discover the right path instead.
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index f39fc2afe7da..22cf7be84d03 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libXft, cairo, harfbuzz
-, libintlOrEmpty, gobjectIntrospection
+, libintlOrEmpty, gobjectIntrospection, darwin
 }:
 
 with stdenv.lib;
@@ -19,7 +19,12 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" "devdoc" ];
 
   buildInputs = [ gobjectIntrospection ];
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ]
+    ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+       Carbon
+       CoreGraphics
+       CoreText
+    ]);
   propagatedBuildInputs = [ cairo harfbuzz libXft ] ++ libintlOrEmpty;
 
   enableParallelBuilding = true;
@@ -48,6 +53,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl2Plus;
 
     maintainers = with maintainers; [ raskin urkud ];
-    platforms = with platforms; linux ++ darwin;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/physics/fastnlo/default.nix b/pkgs/development/libraries/physics/fastnlo/default.nix
new file mode 100644
index 000000000000..307bf1b27db3
--- /dev/null
+++ b/pkgs/development/libraries/physics/fastnlo/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, boost, lhapdf, root, yoda }:
+
+stdenv.mkDerivation rec {
+  name = "fastnlo_toolkit-${version}";
+  version = "2.3.1pre-2212";
+
+  src = fetchurl {
+    url = "http://fastnlo.hepforge.org/code/v23/${name}.tar.gz";
+    sha256 = "0xgnnwc002awvz6dhn7792jc8kdff843yjgvwmgcs60yvcj6blgp";
+  };
+
+  buildInputs = [ boost lhapdf root yoda ];
+
+  CXXFLAGS="-std=c++11"; # for yoda
+
+  configureFlags = [
+    "--with-yoda=${yoda}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    descritption = "A computer code to create and evaluate fast interpolation tables of pre-computed coefficients in perturbation theory for observables in hadron-induced processes";
+    license      = stdenv.lib.licenses.gpl3;
+    homepage     = http://fastnlo.hepforge.org;
+    platforms    = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/libraries/physics/mcgrid/default.nix b/pkgs/development/libraries/physics/mcgrid/default.nix
new file mode 100644
index 000000000000..aabe132e73b3
--- /dev/null
+++ b/pkgs/development/libraries/physics/mcgrid/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, fastnlo, rivet, pkgconfig, sherpa }:
+
+stdenv.mkDerivation rec {
+  name = "mcgrid-${version}";
+  version = "2.0.2";
+
+  src = fetchurl {
+    url = "http://www.hepforge.org/archive/mcgrid/${name}.tar.gz";
+    sha256 = "1mw82x7zqbdchnd6shj3dirsav5i2cndp2hjwb8a8xdh4xh9zvfy";
+  };
+
+  buildInputs = [ fastnlo rivet ];
+  propagatedNativeBuildInputs = [ pkgconfig ];
+
+  preConfigure = ''
+    substituteInPlace mcgrid.pc.in \
+      --replace "Cflags:" "Cflags: -std=c++11"
+  '';
+
+  CXXFLAGS = "-std=c++11";
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A software package that provides access to the APPLgrid and fastNLO interpolation tools for Monte Carlo event generator codes, allowing for fast and flexible variations of scales, coupling parameters and PDFs in cutting edge leading- and next-to-leading-order QCD calculations";
+    license     = stdenv.lib.licenses.gpl3;
+    homepage    = http://mcgrid.hepforge.org;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/libraries/physics/rivet/darwin.patch b/pkgs/development/libraries/physics/rivet/darwin.patch
new file mode 100644
index 000000000000..2d397f1da6ca
--- /dev/null
+++ b/pkgs/development/libraries/physics/rivet/darwin.patch
@@ -0,0 +1,33 @@
+diff --git a/include/Rivet/Tools/osdir.hh b/include/Rivet/Tools/osdir.hh
+index 05f06ca..59af7de 100644
+--- a/include/Rivet/Tools/osdir.hh
++++ b/include/Rivet/Tools/osdir.hh
+@@ -21,7 +21,7 @@
+ 
+ /// @cond OSDIR
+ 
+-#if defined(unix) || defined(__unix) || defined(__unix__)
++#if defined(unix) || defined(__unix) || defined(__unix__) || defined(__APPLE__)
+ #define OSLINK_OSDIR_POSIX
+ #elif defined(_WIN32)
+ #define OSLINK_OSDIR_WINDOWS
+@@ -32,18 +32,7 @@
+ #include <string>
+ 
+ #if defined(OSLINK_OSDIR_NOTSUPPORTED)
+-
+-namespace oslink
+-{
+-	class directory
+-	{
+-		public:
+-			directory(const std::string&)		{ }
+-			operator void*() const				{ return (void*)0; }
+-			std::string next()					{ return ""; }
+-	};
+-}
+-
++#error Platform misdetected or oslink is not implemented
+ #elif defined(OSLINK_OSDIR_POSIX)
+ 
+ #include <sys/types.h>
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index 775ee75f61fc..a82c14fee773 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -2,18 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "rivet-${version}";
-  version = "2.5.2";
+  version = "2.5.3";
 
   src = fetchurl {
     url = "http://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
-    sha256 = "01agf0bswqvci8nwp67kvrlwc2k0sg1s0lxpq2a9q58l99v2gakh";
+    sha256 = "1r0x575ivvm68nnh9qlfvdra5298i047qcbxcg37ki2aaqq07qcr";
   };
 
+  postPatch = "patchShebangs ./src/Analyses/cat_with_lines";
+
   pythonPath = []; # python wrapper support
 
   patches = [
-    ./key_val.patch
-    ./zaxis_fix.patch
+    ./darwin.patch # configure relies on impure sw_vers to -Dunix
   ];
 
   latex = texlive.combine { inherit (texlive)
diff --git a/pkgs/development/libraries/pocketsphinx/default.nix b/pkgs/development/libraries/pocketsphinx/default.nix
index ac4041ee9646..bc37cfb3d184 100644
--- a/pkgs/development/libraries/pocketsphinx/default.nix
+++ b/pkgs/development/libraries/pocketsphinx/default.nix
@@ -1,16 +1,22 @@
-{ stdenv, fetchurl, sphinxbase, pkgconfig }:
+{ stdenv
+, fetchurl
+, sphinxbase
+, pkgconfig
+, python27 # >= 2.6
+, swig2 # 2.0
+}:
 
 stdenv.mkDerivation rec {
-  name = "pocketsphinx-0.8";
+  name = "pocketsphinx-5prealpha";
 
   src = fetchurl {
     url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
-    sha256 = "0ynf5ik4ib2d3ha3r4i8ywpr2dz5i6v51hmfl8kgzj4i7l44qk47";
+    sha256 = "1n9yazzdgvpqgnfzsbl96ch9cirayh74jmpjf7svs4i7grabanzg";
   };
 
   propagatedBuildInputs = [ sphinxbase ];
 
-  buildInputs = [ pkgconfig ];
+  buildInputs = [ pkgconfig python27 swig2 ];
 
   meta = {
     description = "Voice recognition library written in C";
@@ -19,3 +25,22 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.linux;
   };
 }
+
+/* Example usage:
+
+
+1.
+
+$ cat << EOF > vocabulary.txt
+oh mighty computer /1e-40/
+hello world /1e-30/
+EOF
+
+2.
+
+$ pocketsphinx_continuous -inmic yes -kws vocabulary.txt 2> /dev/null
+# after you say "hello world":
+hello world
+...
+
+*/
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index edcbc18fa130..89368282f2c9 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -3,13 +3,14 @@
 , withData ? false, poppler_data
 , qt4Support ? false, qt4 ? null
 , qt5Support ? false, qtbase ? null
+, introspectionSupport ? false, gobjectIntrospection ? null
 , utils ? false
 , minimal ? false, suffix ? "glib"
 }:
 
 let # beware: updates often break cups-filters build
-  version = "0.49.0";
-  sha256 = "17x7nc6c0bk4s95nzq4i1qzbl419p76c40pwkksdvp233q75yj0l";
+  version = "0.50.0";
+  sha256 = "0dmwnh59m75vhii6dw63x8l0qa0ha733pb8bdqzr7lw9nwc37jf9";
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
@@ -28,7 +29,8 @@ stdenv.mkDerivation rec {
     [ zlib freetype fontconfig libjpeg openjpeg ]
     ++ optionals (!minimal) [ cairo lcms curl ]
     ++ optional qt4Support qt4
-    ++ optional qt5Support qtbase;
+    ++ optional qt5Support qtbase
+    ++ optional introspectionSupport gobjectIntrospection;
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -47,7 +49,8 @@ stdenv.mkDerivation rec {
       "--disable-poppler-glib" "--disable-poppler-cpp"
       "--disable-libcurl"
     ]
-    ++ optional (!utils) "--disable-utils" ;
+    ++ optional (!utils) "--disable-utils"
+    ++ optional introspectionSupport "--enable-introspection";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix
index 5a3738564d7a..f74aea9dbd57 100644
--- a/pkgs/development/libraries/protobuf/generic-v3.nix
+++ b/pkgs/development/libraries/protobuf/generic-v3.nix
@@ -18,8 +18,11 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     rm -rf gmock
-    cp -r ${gmock.source} gmock
+    cp -r ${gmock.src}/googlemock gmock
+    cp -r ${gmock.src}/googletest googletest
     chmod -R a+w gmock
+    chmod -R a+w googletest
+    ln -s ../googletest gmock/gtest
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/google/protobuf/testing/googletest.cc \
       --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix
index 47f66c83ff5d..498263458b50 100644
--- a/pkgs/development/libraries/protobuf/generic.nix
+++ b/pkgs/development/libraries/protobuf/generic.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     rm -rf gtest
-    cp -r ${gtest.source} gtest
+    cp -r ${gtest.src}/googletest gtest
     chmod -R a+w gtest
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/google/protobuf/testing/googletest.cc \
diff --git a/pkgs/development/libraries/psol/default.nix b/pkgs/development/libraries/psol/default.nix
new file mode 100644
index 000000000000..5c78c1a288f6
--- /dev/null
+++ b/pkgs/development/libraries/psol/default.nix
@@ -0,0 +1,5 @@
+{ callPackage }:
+callPackage ./generic.nix {} {
+  version = "1.11.33.4";
+  sha256  = "1jq2llp0i4666rwqnx1hs4pjlpblxivvs1jkkjzlmdbsv28jzjq8";
+}
diff --git a/pkgs/development/libraries/psol/generic.nix b/pkgs/development/libraries/psol/generic.nix
new file mode 100644
index 000000000000..3e82bb4975dc
--- /dev/null
+++ b/pkgs/development/libraries/psol/generic.nix
@@ -0,0 +1,16 @@
+{ fetchzip, stdenv }:
+{ version, sha256 }:
+{ inherit version; } // fetchzip {
+  inherit sha256;
+  name   = "psol-${version}";
+  url    = "https://dl.google.com/dl/page-speed/psol/${version}.tar.gz";
+
+  meta = {
+    description = "PageSpeed Optimization Libraries";
+    homepage    = "https://developers.google.com/speed/pagespeed/psol";
+    license     = stdenv.lib.licenses.asl20;
+    # WARNING: This only works with Linux because the pre-built PSOL binary is only supplied for Linux.
+    # TODO: Build PSOL from source to support more platforms.
+    platforms   = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/pupnp/default.nix b/pkgs/development/libraries/pupnp/default.nix
index b1d2b1fd92ec..389e575dbb14 100644
--- a/pkgs/development/libraries/pupnp/default.nix
+++ b/pkgs/development/libraries/pupnp/default.nix
@@ -1,15 +1,28 @@
-{ fetchurl, stdenv }:
+{ fetchFromGitHub, stdenv, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "libupnp-1.6.20";
+  name = "libupnp-${version}";
+  version = "1.6.20";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/pupnp/${name}.tar.bz2";
-    sha256 = "0qrsdsb1qm85hc4jy04qph895613d148f0x1mmk6z99y3q43fdgf";
+  src = fetchFromGitHub {
+    owner = "mrjimenez";
+    repo = "pupnp";
+    rev = "release-${version}";
+    sha256 = "10583dkz1l5sjp2833smql8w428x2nbh1fni8j6h9rji6ma2yhs0";
   };
 
+  buildInputs = [
+    autoconf
+    automake
+    libtool
+  ];
+
   hardeningDisable = [ "fortify" ];
 
+  preConfigure = ''
+    ./bootstrap
+  '';
+
   meta = {
     description = "libupnp, an open source UPnP development kit for Linux";
 
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
index d5f4389169b0..928ff5f788be 100644
--- a/pkgs/development/libraries/qscintilla/default.nix
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -1,18 +1,23 @@
-{ stdenv, fetchurl, qt4, qmake4Hook }:
+{ stdenv, fetchurl, unzip
+, qt4 ? null, qmake4Hook ? null
+, withQt5 ? false, qtbase ? null, qmakeHook ? null
+}:
 
 stdenv.mkDerivation rec {
   pname = "qscintilla";
-  version = "2.9";
+  version = "2.9.4";
 
-  name = "${pname}-${version}";
+  name = "${pname}-${if withQt5 then "qt5" else "qt4"}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-${version}/QScintilla-gpl-${version}.tar.gz";
-    sha256 = "d7c32e32582f93779de861006d87467b38b9ebc06e3d0b32e981cb24369fa417";
+    url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-${version}/QScintilla_gpl-${version}.zip";
+    sha256 = "04678skipydx68zf52vznsfmll2v9aahr66g50lcqbr6xsmgr1yi";
   };
 
-  buildInputs = [ qt4 ];
-  nativeBuildInputs = [ qmake4Hook ];
+  buildInputs = if withQt5 then [ qtbase ] else [ qt4 ];
+  nativeBuildInputs = [ unzip ] ++ (if withQt5 then [ qmakeHook ] else [ qmake4Hook ]);
+
+  enableParallelBuilding = true;
 
   preConfigure = ''
     cd Qt4Qt5
@@ -23,7 +28,7 @@ stdenv.mkDerivation rec {
            qscintilla.pro
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A Qt port of the Scintilla text editing library";
     longDescription = ''
       QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor
@@ -40,7 +45,8 @@ stdenv.mkDerivation rec {
       background colours and multiple fonts.
     '';
     homepage = http://www.riverbankcomputing.com/software/qscintilla/intro;
-    license = stdenv.lib.licenses.gpl2; # and gpl3 and commercial
-    platforms = stdenv.lib.platforms.unix;
+    license = with licenses; [ gpl2 gpl3 ]; # and commercial
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ peterhoeg ];
   };
 }
diff --git a/pkgs/development/libraries/qt-5/5.7/default.nix b/pkgs/development/libraries/qt-5/5.7/default.nix
index 9c35e814a04e..d62bd3d1b51d 100644
--- a/pkgs/development/libraries/qt-5/5.7/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/default.nix
@@ -82,6 +82,7 @@ let
         inherit (pkgs.gst_all_1) gstreamer gst-plugins-base;
       };
       qtquickcontrols = callPackage ./qtquickcontrols.nix {};
+      qtquickcontrols2 = callPackage ./qtquickcontrols2.nix {};
       qtscript = callPackage ./qtscript {};
       qtsensors = callPackage ./qtsensors.nix {};
       qtserialport = callPackage ./qtserialport {};
diff --git a/pkgs/development/libraries/qt-5/5.7/fetch.sh b/pkgs/development/libraries/qt-5/5.7/fetch.sh
index 282fe742fd05..0f7d123aeb23 100644
--- a/pkgs/development/libraries/qt-5/5.7/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.7/fetch.sh
@@ -1,2 +1,2 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.7/5.7.0/submodules/ \
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.7/5.7.1/submodules/ \
             -A '*.tar.xz' )
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 06bec5a0faf1..934203950b09 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
@@ -114,7 +114,6 @@ stdenv.mkDerivation {
     -widgets
     -opengl desktop
     -qml-debug
-    -nis
     -iconv
     -icu
     -pch
diff --git a/pkgs/development/libraries/qt-5/5.7/qtquickcontrols2.nix b/pkgs/development/libraries/qt-5/5.7/qtquickcontrols2.nix
new file mode 100644
index 000000000000..19750f2fd99d
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.7/qtquickcontrols2.nix
@@ -0,0 +1,6 @@
+{ qtSubmodule, qtdeclarative }:
+
+qtSubmodule {
+  name = "qtquickcontrols2";
+  qtInputs = [ qtdeclarative ];
+}
diff --git a/pkgs/development/libraries/qt-5/5.7/srcs.nix b/pkgs/development/libraries/qt-5/5.7/srcs.nix
index e7710ce82d6a..fe497555874d 100644
--- a/pkgs/development/libraries/qt-5/5.7/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.7/srcs.nix
@@ -1,4 +1,4 @@
-# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
 { fetchurl, mirror }:
 
 {
@@ -11,299 +11,299 @@
     };
   };
   qt3d = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qt3d-opensource-src-5.7.0.tar.xz";
-      sha256 = "0a9y4fxm4xmdl5hsv4hfvxcw7jmshy0mwd4j1r2ylqdmg4bql958";
-      name = "qt3d-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qt3d-opensource-src-5.7.1.tar.xz";
+      sha256 = "1sh7yz8nb9iqz3bp6bfc2kmji70zq39d9c0sfxnhif3p2x1wyx0x";
+      name = "qt3d-opensource-src-5.7.1.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtactiveqt-opensource-src-5.7.0.tar.xz";
-      sha256 = "149wj6a5i35k750129kz77y4r8q3hpxqzn1c676fcn9wpmfhay4v";
-      name = "qtactiveqt-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtactiveqt-opensource-src-5.7.1.tar.xz";
+      sha256 = "1md14jdgwsdczpfvc0qkk5agxqk7a9qs91k41zj15ykkw86r428c";
+      name = "qtactiveqt-opensource-src-5.7.1.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtandroidextras-opensource-src-5.7.0.tar.xz";
-      sha256 = "1caimhfyag96v98j1b07pfzjl5inhsyfi9kxzy9nj0pkvpjdgi4g";
-      name = "qtandroidextras-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtandroidextras-opensource-src-5.7.1.tar.xz";
+      sha256 = "1wq9m7a3dh9k8z006cw6m96awc53yf5vnq3wdqf5yfclfz696lhg";
+      name = "qtandroidextras-opensource-src-5.7.1.tar.xz";
     };
   };
   qtbase = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtbase-opensource-src-5.7.0.tar.xz";
-      sha256 = "0ip6xnizsn269r4s1nq9lkx8cdxkjqr1fidwrj3sa8xb7h96syry";
-      name = "qtbase-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtbase-opensource-src-5.7.1.tar.xz";
+      sha256 = "0zjmcrmnnmaz1lr9wc5i6y565hsvl8ycn790ivqaz62dv54zbkgd";
+      name = "qtbase-opensource-src-5.7.1.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtcanvas3d-opensource-src-5.7.0.tar.xz";
-      sha256 = "15xxwciyiy8rwrwgb7bgcbxdiiaba3l4cxxm7rdiqmhs9kyv6wbq";
-      name = "qtcanvas3d-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtcanvas3d-opensource-src-5.7.1.tar.xz";
+      sha256 = "1d5xpq3mhjg4ipxzap7s2vnlfcd02d3yq720npv10xxp2ww0i1x8";
+      name = "qtcanvas3d-opensource-src-5.7.1.tar.xz";
     };
   };
   qtcharts = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtcharts-opensource-src-5.7.0.tar.xz";
-      sha256 = "0hsj5m9in4w9wzyvbs76v7zc67n9ja641ljc5vgfpbn7fmrsij1b";
-      name = "qtcharts-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtcharts-opensource-src-5.7.1.tar.xz";
+      sha256 = "1qrzcddwff2hxsbxrraff16j4abah2zkra2756s1mvydj9lyxzl5";
+      name = "qtcharts-opensource-src-5.7.1.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtconnectivity-opensource-src-5.7.0.tar.xz";
-      sha256 = "00r7lc1w3snfp2qfqmviqzv0cw16zd8m1sfpvxvpl65yqmzcli4q";
-      name = "qtconnectivity-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtconnectivity-opensource-src-5.7.1.tar.xz";
+      sha256 = "0rmr7bd4skby7bax9hpj2sid2bq3098nkw7xm02mdp04hc3bks5k";
+      name = "qtconnectivity-opensource-src-5.7.1.tar.xz";
     };
   };
   qtdatavis3d = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtdatavis3d-opensource-src-5.7.0.tar.xz";
-      sha256 = "18p82vh5s9bdshmxxkh7r9482i5vaih8nfya9f81l8ff7lw7lpcs";
-      name = "qtdatavis3d-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtdatavis3d-opensource-src-5.7.1.tar.xz";
+      sha256 = "1y00p0wyj5cw9c2925y537vpmmg9q3kpf7qr1s7sv67dvvf8bzqv";
+      name = "qtdatavis3d-opensource-src-5.7.1.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtdeclarative-opensource-src-5.7.0.tar.xz";
-      sha256 = "1x7rij423g5chlfd2kix54f393vxwjvdfsn1c7sybqmfycwn5pl6";
-      name = "qtdeclarative-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtdeclarative-opensource-src-5.7.1.tar.xz";
+      sha256 = "0mjxfwnplpx60jc6y94krg00isddl9bfwc7dayl981njb4qds4zx";
+      name = "qtdeclarative-opensource-src-5.7.1.tar.xz";
     };
   };
   qtdeclarative-render2d = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtdeclarative-render2d-opensource-src-5.7.0.tar.xz";
-      sha256 = "1qf893i7z2iyjpqpaxfhji4cgzlmpgh0w3vdqarpn51vcn7jj4q6";
-      name = "qtdeclarative-render2d-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtdeclarative-render2d-opensource-src-5.7.1.tar.xz";
+      sha256 = "0zwch9vn17f3bpy300jcfxx6cx9qymk5j7khx0x9k1xqid4166c3";
+      name = "qtdeclarative-render2d-opensource-src-5.7.1.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtdoc-opensource-src-5.7.0.tar.xz";
-      sha256 = "0d7c7137jvxlwl91c2hh33l4falmjvkmsy1f7lyi73x6nnqzdz8i";
-      name = "qtdoc-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtdoc-opensource-src-5.7.1.tar.xz";
+      sha256 = "1nyrgfw3d8ja2cqb12vyq5mwryw89976f3xkpdhy49mvsws03ysm";
+      name = "qtdoc-opensource-src-5.7.1.tar.xz";
     };
   };
   qtgamepad = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtgamepad-opensource-src-5.7.0.tar.xz";
-      sha256 = "0g36nlnnq19p9svl6pvklxybpwig7r7z4hw0d5dwc2id02ygg62q";
-      name = "qtgamepad-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtgamepad-opensource-src-5.7.1.tar.xz";
+      sha256 = "10lijbsg9xx5ddbbjymdgl41nxz99yn1qgiww2kkggxwwdjj2axv";
+      name = "qtgamepad-opensource-src-5.7.1.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtgraphicaleffects-opensource-src-5.7.0.tar.xz";
-      sha256 = "1rwdjg5mk6xpadmxfq64xfp573zp5lrj9illb9105ra5wff565n8";
-      name = "qtgraphicaleffects-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtgraphicaleffects-opensource-src-5.7.1.tar.xz";
+      sha256 = "1j2drnx7zp3w6cgvy7bn00fyk5v7vw1j1hidaqcg78lzb6zgls1c";
+      name = "qtgraphicaleffects-opensource-src-5.7.1.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtimageformats-opensource-src-5.7.0.tar.xz";
-      sha256 = "1rb27x7i2pmvsck6wax2cg31gqpzaakciy45wm5l3lcl86j48czg";
-      name = "qtimageformats-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtimageformats-opensource-src-5.7.1.tar.xz";
+      sha256 = "1x3p1xmw7spxa4bwriyrwsfrq31jabsdjsi5fras9y39naia55sg";
+      name = "qtimageformats-opensource-src-5.7.1.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtlocation-opensource-src-5.7.0.tar.xz";
-      sha256 = "0rd898gndn41jrp78203lxd94ybfv693l0qg0myag4r46ikk69vh";
-      name = "qtlocation-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtlocation-opensource-src-5.7.1.tar.xz";
+      sha256 = "17zkzffzwbg6aqhsggs23cmwzq4y45m938842lsc423hfm7fdsgr";
+      name = "qtlocation-opensource-src-5.7.1.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtmacextras-opensource-src-5.7.0.tar.xz";
-      sha256 = "1p439sqnchrypggaqkfq3rvfk7xmvqgck4nhwv762jk3kgp48ccq";
-      name = "qtmacextras-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtmacextras-opensource-src-5.7.1.tar.xz";
+      sha256 = "0rr6nl1j6bq47lcq87zsqyma3cdqysamnngwbaccxvpznpcx7jhx";
+      name = "qtmacextras-opensource-src-5.7.1.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtmultimedia-opensource-src-5.7.0.tar.xz";
-      sha256 = "0ndmhiflmyr144nq8drd5njsdi282ixsm4730q5n0ji2v9dp1bh5";
-      name = "qtmultimedia-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtmultimedia-opensource-src-5.7.1.tar.xz";
+      sha256 = "1vvxmgmvjnz9w1h2ph1j2fy77ij141ycx5fric60lq02pxzifax5";
+      name = "qtmultimedia-opensource-src-5.7.1.tar.xz";
     };
   };
   qtpurchasing = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtpurchasing-opensource-src-5.7.0.tar.xz";
-      sha256 = "1db44q3d02nhmrh0fd239n2nsm74myac8saa6jqx1pcap4y4llby";
-      name = "qtpurchasing-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtpurchasing-opensource-src-5.7.1.tar.xz";
+      sha256 = "0hkvrgafz1hx9q4yc3nskv3pd3fszghvvd5a7mj33ynf55wpb57n";
+      name = "qtpurchasing-opensource-src-5.7.1.tar.xz";
     };
   };
-  qtquickcontrols2 = {
-    version = "5.7.0";
+  qtquickcontrols = {
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtquickcontrols2-opensource-src-5.7.0.tar.xz";
-      sha256 = "0i8h933vhvx1bmniqdx0idg6vk82w9byd3dq0bb2phwjg5vv1xb3";
-      name = "qtquickcontrols2-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtquickcontrols-opensource-src-5.7.1.tar.xz";
+      sha256 = "17cyfyqzjbm9dhq9pjscz36y84y16rmxwk6h826gjfprddrimsvg";
+      name = "qtquickcontrols-opensource-src-5.7.1.tar.xz";
     };
   };
-  qtquickcontrols = {
-    version = "5.7.0";
+  qtquickcontrols2 = {
+    version = "5.7.1";
     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";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtquickcontrols2-opensource-src-5.7.1.tar.xz";
+      sha256 = "1v77ydy4k15lksp3bi2kgha2h7m79g4n7c2qhbr09xnvpb8ars7j";
+      name = "qtquickcontrols2-opensource-src-5.7.1.tar.xz";
     };
   };
   qtscript = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtscript-opensource-src-5.7.0.tar.xz";
-      sha256 = "0040890p5ilyrmcpndz1hhp08x2ms5gw4lp4n5iax2a957yy2i4w";
-      name = "qtscript-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtscript-opensource-src-5.7.1.tar.xz";
+      sha256 = "09m41n95448pszr7inlg03ycb66s1a9hzfylaka92382acf1myav";
+      name = "qtscript-opensource-src-5.7.1.tar.xz";
     };
   };
   qtscxml = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtscxml-opensource-src-5.7.0.tar.xz";
-      sha256 = "1waidk96vp9510g94fry0sv1vm2lgzgpwybf6c2xybcsdkbi62rp";
-      name = "qtscxml-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtscxml-opensource-src-5.7.1.tar.xz";
+      sha256 = "135kknqdmib2cjryfmvfgv7a2qx9pyba3m7i7nkbc5d742r4mbcx";
+      name = "qtscxml-opensource-src-5.7.1.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtsensors-opensource-src-5.7.0.tar.xz";
-      sha256 = "1gii6wg2xd3bkb86y5hgpmwcpl04xav030zscpl6fhscl9kcqg98";
-      name = "qtsensors-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtsensors-opensource-src-5.7.1.tar.xz";
+      sha256 = "041v1x8pwfzpyk6y0sy5zgm915pi15xdhiy18fd5wqayvcp99cyc";
+      name = "qtsensors-opensource-src-5.7.1.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtserialbus-opensource-src-5.7.0.tar.xz";
-      sha256 = "0f2xq6fm8lmvd88lc3l37kybqp4wqp71kdch14bwz79y7777lhrc";
-      name = "qtserialbus-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtserialbus-opensource-src-5.7.1.tar.xz";
+      sha256 = "0mxi43l2inpbar8rmg21qjg33bv3f1ycxjgvzjf12ncnybhdnzkj";
+      name = "qtserialbus-opensource-src-5.7.1.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtserialport-opensource-src-5.7.0.tar.xz";
-      sha256 = "0rc2l14s59qskp16wqlkizfai32s41qlm7a86r3qahx28gc51qaw";
-      name = "qtserialport-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtserialport-opensource-src-5.7.1.tar.xz";
+      sha256 = "09jsryc0z49cz9783kq48rkn42f10c6krzivp812ddwjsfdy3mbn";
+      name = "qtserialport-opensource-src-5.7.1.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtsvg-opensource-src-5.7.0.tar.xz";
-      sha256 = "10fqrlqkiq83xhx79g8d2sjy7hjdnp28067z8f4byj7db81rzy51";
-      name = "qtsvg-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtsvg-opensource-src-5.7.1.tar.xz";
+      sha256 = "0irr9h566hl9nx8p919rz276zbfvvd6vqdb6i9g6b3piikdigw5h";
+      name = "qtsvg-opensource-src-5.7.1.tar.xz";
     };
   };
   qttools = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qttools-opensource-src-5.7.0.tar.xz";
-      sha256 = "004m9l7bgh7qnncbyl3d5fkggdrqx58ib21xv4hflvvarxrssibg";
-      name = "qttools-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qttools-opensource-src-5.7.1.tar.xz";
+      sha256 = "1b6zqa5690b8lqms7rrhb8rcq0xg5hp117v3m08qngbcd0i706b4";
+      name = "qttools-opensource-src-5.7.1.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qttranslations-opensource-src-5.7.0.tar.xz";
-      sha256 = "0vasg5ycg5rhj8ljk3aqg1sxfrlz3602n38fr14ip853yqld83ha";
-      name = "qttranslations-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qttranslations-opensource-src-5.7.1.tar.xz";
+      sha256 = "1rsq0bp6p8yf41h1nxrbclxr4xq8v025cbi0lq7yh917ac4xpv0n";
+      name = "qttranslations-opensource-src-5.7.1.tar.xz";
     };
   };
   qtvirtualkeyboard = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtvirtualkeyboard-opensource-src-5.7.0.tar.xz";
-      sha256 = "0bzzci32f8ji94p2n6n16n838lrykyy3h822gfw77c93ivk3shyz";
-      name = "qtvirtualkeyboard-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtvirtualkeyboard-opensource-src-5.7.1.tar.xz";
+      sha256 = "1p9acm75am5lybmn8j2339vck808dmayk4xwbr67jpfigs9qp2xj";
+      name = "qtvirtualkeyboard-opensource-src-5.7.1.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwayland-opensource-src-5.7.0.tar.xz";
-      sha256 = "04dynjcr6gxi3hcqdf688a4hkabi2l17slpcx9k0f3dxygwcgf96";
-      name = "qtwayland-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwayland-opensource-src-5.7.1.tar.xz";
+      sha256 = "1iq1c89y4ggq0dxjlf62jyhh8a9l3x7y914x84w5pby8h3hwagzj";
+      name = "qtwayland-opensource-src-5.7.1.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwebchannel-opensource-src-5.7.0.tar.xz";
-      sha256 = "05lqfidlh1ahdd1j9y20p2037qbcq51zkdzj2m8fwhn7ghbwvd1s";
-      name = "qtwebchannel-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwebchannel-opensource-src-5.7.1.tar.xz";
+      sha256 = "16rij92dxy4k5231l3dpmhy7cnz0cjkn50cpzaf014zrdz3kmav3";
+      name = "qtwebchannel-opensource-src-5.7.1.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwebengine-opensource-src-5.7.0.tar.xz";
-      sha256 = "0pfwsqjh107jqdw1mzzrhn38jxl64d8lljk4586im2ndypzn4mwq";
-      name = "qtwebengine-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwebengine-opensource-src-5.7.1.tar.xz";
+      sha256 = "0ayc3j17nampy7pg464nbi09wr2d3pfbpqql789m0av37lz8h091";
+      name = "qtwebengine-opensource-src-5.7.1.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwebsockets-opensource-src-5.7.0.tar.xz";
-      sha256 = "0hwb2l7iwf4wf7l95dli8j3b7h0nffp56skfg1x810kzj0df26vl";
-      name = "qtwebsockets-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwebsockets-opensource-src-5.7.1.tar.xz";
+      sha256 = "1laj0slwibs0bg69kgrdhc9k1s6yisq3pcsr0r9rhbkzisv7aajw";
+      name = "qtwebsockets-opensource-src-5.7.1.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwebview-opensource-src-5.7.0.tar.xz";
-      sha256 = "1i2ikv1ah4g3rc1pivxiw77p0yj79lialqww91fj781g66pky6l0";
-      name = "qtwebview-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwebview-opensource-src-5.7.1.tar.xz";
+      sha256 = "17qmyayy67ji4d3i3cq0wb8s7hqjrw224zr2blzjc1827rlzkg5k";
+      name = "qtwebview-opensource-src-5.7.1.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwinextras-opensource-src-5.7.0.tar.xz";
-      sha256 = "1fh7kqfwgwi9pcfg9b6hp2fpgvs938wl96ppqan79apxlhqy5awd";
-      name = "qtwinextras-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwinextras-opensource-src-5.7.1.tar.xz";
+      sha256 = "1k7kiq0k7qwsn06p6sg13lr8hnnz7lvvsx18gas46dggkyj66514";
+      name = "qtwinextras-opensource-src-5.7.1.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtx11extras-opensource-src-5.7.0.tar.xz";
-      sha256 = "1yrkn8pqdbvbqykas3wx1vdfimhjkgx3s5jgdxib9dgmgyx6vjzw";
-      name = "qtx11extras-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtx11extras-opensource-src-5.7.1.tar.xz";
+      sha256 = "09z49jm70f5i0gcdz9a16z00pg96x8pz7vri5wpirh3fqqn0qnjz";
+      name = "qtx11extras-opensource-src-5.7.1.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.7.0";
+    version = "5.7.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtxmlpatterns-opensource-src-5.7.0.tar.xz";
-      sha256 = "02z2qxamslg6sphnaykjcjfpypq4b69pb586s43vw4fplm72m21q";
-      name = "qtxmlpatterns-opensource-src-5.7.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtxmlpatterns-opensource-src-5.7.1.tar.xz";
+      sha256 = "1rgqnpg64gn5agmvjwy0am8hp5fpxl3cdkixr1yrsdxi5a6961d8";
+      name = "qtxmlpatterns-opensource-src-5.7.1.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/qtstyleplugins/default.nix b/pkgs/development/libraries/qtstyleplugins/default.nix
new file mode 100644
index 000000000000..addc13a8c968
--- /dev/null
+++ b/pkgs/development/libraries/qtstyleplugins/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, qmakeHook, pkgconfig, gtk2 }:
+
+stdenv.mkDerivation rec {
+  name = "qtstyleplugins-2016-12-01";
+
+  src = fetchFromGitHub {
+    owner = "qt";
+    repo = "qtstyleplugins";
+    rev = "7aa47640c202cc4a9c16aa7df98191236743c8ba";
+    sha256 = "0pysgn5yhbh85rv7syvf2w9g1gj1z1nwspjri39dc95vj108lin5";
+  };
+
+  buildInputs = [ qmakeHook pkgconfig gtk2 ];
+
+  installPhase = ''
+    make INSTALL_ROOT=$NIX_QT5_TMP install
+    mv $NIX_QT5_TMP/$NIX_QT5_TMP $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Additional style plugins for Qt5, including BB10, GTK+, Cleanlooks, Motif, Plastique";
+    homepage = http://blog.qt.io/blog/2012/10/30/cleaning-up-styles-in-qt5-and-adding-fusion/;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.gnidorah ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/qwt/6_qt4.nix b/pkgs/development/libraries/qwt/6_qt4.nix
new file mode 100644
index 000000000000..7774ab7df9ec
--- /dev/null
+++ b/pkgs/development/libraries/qwt/6_qt4.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, qt4, qmake4Hook }:
+
+stdenv.mkDerivation rec {
+  name = "qwt-6.1.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qwt/${name}.tar.bz2";
+    sha256 = "031x4hz1jpbirv9k35rqb52bb9mf2w7qav89qv1yfw1r3n6z221b";
+  };
+
+  buildInputs = [ qt4 ];
+  nativeBuildInputs = [ qmake4Hook ];
+
+  postPatch = ''
+    sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
+  '';
+
+  qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
+
+  meta = with stdenv.lib; {
+    description = "Qt widgets for technical applications";
+    homepage = http://qwt.sourceforge.net/;
+    # LGPL 2.1 plus a few exceptions (more liberal)
+    license = stdenv.lib.licenses.qwt;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+    branch = "6";
+  };
+}
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 1511f12e88b3..10d77c9988c8 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, fixDarwinDylibNames
 
 # Optional Arguments
 , snappy ? null, google-gflags ? null, zlib ? null, bzip2 ? null, lz4 ? null
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "1bxyykj13mw48yk108bkmxlfrp6bd95f27bysayax4lqxkgx0zzw";
   };
 
-  buildInputs = [ snappy google-gflags zlib bzip2 lz4 malloc ];
+  buildInputs = [ snappy google-gflags zlib bzip2 lz4 malloc fixDarwinDylibNames ];
 
   postPatch = ''
     # Hack to fix typos
@@ -36,12 +36,16 @@ stdenv.mkDerivation rec {
   JEMALLOC_LIB = stdenv.lib.optionalString (malloc == jemalloc) "-ljemalloc";
 
   buildFlags = [
+    "DEBUG_LEVEL=0"
     "shared_lib"
+    "static_lib"
   ];
 
   installFlags = [
-    "install-shared"
     "INSTALL_PATH=\${out}"
+    "DEBUG_LEVEL=0"
+    "install-shared"
+    "install-static"
   ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix
index 2609861e319e..29fb338c8389 100644
--- a/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "htslib";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchurl {
     url = "https://github.com/samtools/${pname}/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "49d53a2395b8cef7d1d11270a09de888df8ba06f70fe68282e8235ee04124ae6";
+    sha256 = "0iq3blw23s55vkr1z88p9y2dqrb2dybzhl6hz2nlk53ncihrxcdr";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/science/math/atlas/default.nix b/pkgs/development/libraries/science/math/atlas/default.nix
index 6ff7e387ec1f..e5870ce9c9b1 100644
--- a/pkgs/development/libraries/science/math/atlas/default.nix
+++ b/pkgs/development/libraries/science/math/atlas/default.nix
@@ -104,7 +104,7 @@ stdenv.mkDerivation {
     homepage = "http://math-atlas.sourceforge.net/";
     description = "Automatically Tuned Linear Algebra Software (ATLAS)";
     license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
 
     longDescription = ''
       The ATLAS (Automatically Tuned Linear Algebra Software) project is an
diff --git a/pkgs/development/libraries/science/math/clblas/cuda/default.nix b/pkgs/development/libraries/science/math/clblas/cuda/default.nix
index c142514b2625..6d3faa2fb7ff 100644
--- a/pkgs/development/libraries/science/math/clblas/cuda/default.nix
+++ b/pkgs/development/libraries/science/math/clblas/cuda/default.nix
@@ -7,6 +7,7 @@
 , python
 , cudatoolkit
 , nvidia_x11
+, gtest
 }:
 
 stdenv.mkDerivation rec {
@@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
     cmake ../src -DCMAKE_INSTALL_PREFIX=$out \
                  -DCMAKE_BUILD_TYPE=Release \
                  -DOPENCL_ROOT=${cudatoolkit} \
+                 -DUSE_SYSTEM_GTEST=ON
   '';
 
   dontStrip = true; 
@@ -51,6 +53,7 @@ stdenv.mkDerivation rec {
     python
     cudatoolkit
     nvidia_x11
+    gtest
   ]; 
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
index c0935bd33fd0..d68503298fc0 100644
--- a/pkgs/development/libraries/serd/default.nix
+++ b/pkgs/development/libraries/serd/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "serd-${version}";
-  version = "0.20.0";
+  version = "0.24.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1gxbzqsm212wmn8qkdd3lbl6wbv7fwmaf9qh2nxa4yxjbr7mylb4";
+    sha256 = "0v3a9xss5ailrnb3flfjyl6l9pmp51dc02p0lr6phvwsipg8mywc";
   };
 
   buildInputs = [ pcre pkgconfig 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";
+  installPhase = "${python.interpreter} waf install";
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/serd;
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index df732c40f57e..aef1a1dc8222 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, plib, freeglut, xproto, libX11, libXext, xextproto, libXi
 , inputproto, libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg, freealut
 , openscenegraph, openal, expat, cmake, apr
+, curl
 }:
 
 stdenv.mkDerivation rec {
   name = "simgear-${version}";
-  version = "3.4.0";
+  version = "2016.4.3";
+  shortVersion = "2016.4";
 
   src = fetchurl {
-    url = "http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.tar.bz2";
-    sha256 = "152q3aqlrg3631ppvl6kr1mp5iszplq68l6lrsn9vjxafbz6czcj";
+    url = "mirror://sourceforge/flightgear/release-${shortVersion}/${name}.tar.bz2";
+    sha256 = "1gfj0d03jbi0p08baj46ihhyzbgpymmipw2dp11j13412l15acv9";
   };
 
   buildInputs = [ plib freeglut xproto libX11 libXext xextproto libXi inputproto
                   libICE libSM libXt libXmu mesa boost zlib libjpeg freealut
-                  openscenegraph openal expat cmake apr ];
+                  openscenegraph openal expat cmake apr curl ];
 
   meta = with stdenv.lib; {
     description = "Simulation construction toolkit";
diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix
index 96a19bf37cc9..01ea4c4a1626 100644
--- a/pkgs/development/libraries/sord/default.nix
+++ b/pkgs/development/libraries/sord/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "sord-${version}";
-  version = "0.12.2";
+  version = "0.16.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "0rq7vafdv4vsxi6xk9zf5shr59w3kppdhqbj78185rz5gp9kh1dx";
+    sha256 = "0nh3i867g9z4kdlnk82cg2kcw8r02qgifxvkycvzb4vfjv4v4g4x";
   };
 
   buildInputs = [ pkgconfig python serd ];
 
-  configurePhase = "python waf configure --prefix=$out";
+  configurePhase = "${python.interpreter} waf configure --prefix=$out";
 
-  buildPhase = "python waf";
+  buildPhase = "${python.interpreter} waf";
 
-  installPhase = "python waf install";
+  installPhase = "${python.interpreter} waf install";
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/sord;
diff --git a/pkgs/development/libraries/sord/sord-svn.nix b/pkgs/development/libraries/sord/sord-svn.nix
deleted file mode 100644
index 290e85d81c7e..000000000000
--- a/pkgs/development/libraries/sord/sord-svn.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchsvn, pkgconfig, python, serd }:
-
-stdenv.mkDerivation rec {
-  name = "sord-svn-${rev}";
-  rev = "327";
-
-  src = fetchsvn {
-    url = "http://svn.drobilla.net/sord/trunk";
-    rev = rev;
-    sha256 = "09lf6xmwfg8kbmz1b7d3hrpz0qqr8prdjqrp91aw70cgclx2pwc4";
-  };
-
-  buildInputs = [ pkgconfig python serd ];
-
-  configurePhase = "python waf configure --prefix=$out";
-
-  buildPhase = "python waf";
-
-  installPhase = "python waf install";
-
-  meta = with stdenv.lib; {
-    homepage = http://drobilla.net/software/sord;
-    description = "A lightweight C library for storing RDF data in memory";
-    license = licenses.mit;
-    maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/soundtouch/default.nix b/pkgs/development/libraries/soundtouch/default.nix
index 14eb5a24056f..729967ea1b7f 100644
--- a/pkgs/development/libraries/soundtouch/default.nix
+++ b/pkgs/development/libraries/soundtouch/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ autoconf automake libtool ];
 
-  preConfigurePhases = "./bootstrap";
+  preConfigure = "./bootstrap";
 
   meta = {
       description = "A program and library for changing the tempo, pitch and playback rate of audio";
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
index 1b4cf69f704e..e82b2fe045b3 100644
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ b/pkgs/development/libraries/sphinxbase/default.nix
@@ -2,18 +2,20 @@
 , fetchurl
 , bison
 , pkgconfig
+, python27 # >= 2.6
+, swig2 # 2.0
 , multipleOutputs ? false #Uses incomplete features of nix!
 }:
 
 stdenv.mkDerivation (rec {
-  name = "sphinxbase-0.8";
+  name = "sphinxbase-5prealpha";
 
   src = fetchurl {
     url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
-    sha256 = "1a3c91g6rcfb2k8qyfhnd7s68ds6pxwv61xfp0ai1arbhx28jw2m";
+    sha256 = "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp";
   };
 
-  buildInputs = [ pkgconfig bison ];
+  buildInputs = [ swig2 python27 pkgconfig bison ];
 
   meta = {
     description = "Support Library for Pocketsphinx";
diff --git a/pkgs/development/libraries/tecla/default.nix b/pkgs/development/libraries/tecla/default.nix
index ea03795afc8f..93cf0670dc73 100644
--- a/pkgs/development/libraries/tecla/default.nix
+++ b/pkgs/development/libraries/tecla/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "tecla-1.6.2";
+  name = "tecla-1.6.3";
 
   src = fetchurl {
     url = "http://www.astro.caltech.edu/~mcs/tecla/lib${name}.tar.gz";
-    sha256 = "1f5p1v9ac5r1f6pjzwacb4yf8m6z19rv77p76j7fix34hd9dnqcc";
+    sha256 = "06pfq5wa8d25i9bdjkp4xhms5101dsrbg82riz7rz1a0a32pqxgj";
   };
 
-  configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3";
-
   meta = {
     homepage = "http://www.astro.caltech.edu/~mcs/tecla/";
     description = "Command-line editing library";
diff --git a/pkgs/development/libraries/tix/default.nix b/pkgs/development/libraries/tix/default.nix
new file mode 100644
index 000000000000..7e18e7402273
--- /dev/null
+++ b/pkgs/development/libraries/tix/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, tcl, tk, fetchpatch } :
+
+stdenv.mkDerivation rec {
+  version = "8.4.3";
+  name = "tix-${version}";
+  src = fetchurl {
+     url = "mirror://sourceforge/tix/tix/8.4.3/Tix8.4.3-src.tar.gz";
+     sha256 = "1jq3dkyk9mqkj4cg7mdk5r0cclqsby9l2b7wrysi0zk5yw7h8bsn";
+  };
+  patches = [ 
+  (fetchpatch {
+    name = "tix-8.4.3-tcl8.5.patch";
+    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-tcltk/tix/files/tix-8.4.3-tcl8.5.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d";
+    sha256 = "0wzqmcxxq0rqpnjgxz10spw92yhfygnlwv0h8pcx2ycnqiljz6vj";
+    })
+  ] ++ stdenv.lib.optional (tcl.release == "8.6")
+  (fetchpatch {
+    name = "tix-8.4.3-tcl8.6.patch";
+    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-tcltk/tix/files/tix-8.4.3-tcl8.6.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d";
+    sha256 = "1jaz0l22xj7x1k4rb9ia6i1psnbwk4pblgq4gfvya7gg7fbb7r36";
+    })
+  ;
+  buildInputs = [ tcl tk ];
+  # the configure script expects to find the location of the sources of
+  # tcl and tk in {tcl,tk}Config.sh
+  # In fact, it only needs some private headers. We copy them in 
+  # the private_headers folders and trick the configure script into believing
+  # the sources are here.
+  preConfigure = ''
+    mkdir -p private_headers/generic
+    < ${tcl}/lib/tclConfig.sh sed "s@TCL_SRC_DIR=.*@TCL_SRC_DIR=private_headers@" > tclConfig.sh
+    < ${tk}/lib/tkConfig.sh sed "s@TK_SRC_DIR=.*@TK_SRC_DIR=private_headers@" > tkConfig.sh
+    for i in ${tcl}/include/* ${tk.dev}/include/*; do
+      ln -s $i private_headers/generic;
+    done;
+    '';
+  configureFlags = ''
+      --with-tclinclude=${tcl}/include
+      --with-tclconfig=.
+      --with-tkinclude=${tk.dev}/include
+      --with-tkconfig=.
+      --libdir=''${prefix}/lib
+    '';
+
+  meta = with stdenv.lib; {
+    description = "A widget library for Tcl/Tk";
+    homepage    = http://tix.sourceforge.net/;
+    platforms   = platforms.all;
+    license     = with licenses; [
+      bsd2 # tix
+      gpl2 # patches from portage
+    ];
+  };
+}
+
diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix
index 87a2edee3ca2..2258f28b9c48 100644
--- a/pkgs/development/libraries/tk/generic.nix
+++ b/pkgs/development/libraries/tk/generic.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation {
 
   postInstall = ''
     ln -s $out/bin/wish* $out/bin/wish
+    cp ../{unix,generic}/*.h $out/include
   '';
 
   configureFlags = [
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 622d027c60bc..731bd81cb6f3 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -63,7 +63,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "LunarG Vulkan loader";
-    homepage    = http://www.lunarg.com;
+    homepage    = "http://www.lunarg.com";
     platforms   = platforms.linux;
+    license     = licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/webkitgtk/2.14.nix b/pkgs/development/libraries/webkitgtk/2.14.nix
index 3c92527ea705..6835f59f5863 100644
--- a/pkgs/development/libraries/webkitgtk/2.14.nix
+++ b/pkgs/development/libraries/webkitgtk/2.14.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake
 , pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls
 , gtk2, gtk3, wayland, libwebp, enchant, xlibs, libxkbcommon, epoxy, at_spi2_core
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs
+, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11_kit
+, libidn
 , enableGeoLocation ? true, geoclue2, sqlite
 , gst-plugins-base
 }:
@@ -11,7 +12,7 @@ assert enableGeoLocation -> geoclue2 != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.14.1";
+  version = "2.14.2";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "1dffnz20psgc604azhbzn9a6cdhafar9dw74w3bbwrfy531pcb9f";
+    sha256 = "0mjmcxhafh6l6j062z2nwfqbbvfyx16iqrzrbajswijh23awpnrf";
   };
 
   # see if we can clean this up....
@@ -49,8 +50,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk2 wayland libwebp enchant libnotify gnutls
-    libxml2 libsecret libxslt harfbuzz libpthreadstubs
+    gtk2 wayland libwebp enchant libnotify gnutls pcre nettle libidn
+    libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11_kit
     gst-plugins-base libxkbcommon epoxy at_spi2_core
   ] ++ optional enableGeoLocation geoclue2
     ++ (with xlibs; [ libXdmcp libXt libXtst ]);
diff --git a/pkgs/development/libraries/wxGTK-2.9/default.nix b/pkgs/development/libraries/wxGTK-2.9/default.nix
index 82ba9daed80f..b2f40978f51b 100644
--- a/pkgs/development/libraries/wxGTK-2.9/default.nix
+++ b/pkgs/development/libraries/wxGTK-2.9/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
 , gstreamer, gst_plugins_base, GConf, setfile
-, withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
+, withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true
+, Carbon ? null, Cocoa ? null, Kernel ? null, QuickTime ? null, AGL ? null
 }:
 
 assert withMesa -> mesa != null;
@@ -22,10 +23,12 @@ stdenv.mkDerivation {
     [ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
       gst_plugins_base GConf ]
     ++ optional withMesa mesa
-    ++ optional stdenv.isDarwin setfile;
+    ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QuickTime ];
 
   nativeBuildInputs = [ pkgconfig ];
 
+  propagatedBuildInputs = optional stdenv.isDarwin AGL;
+
   configureFlags =
     [ "--enable-gtk2" "--disable-precomp-headers" "--enable-mediactrl"
       (if compat24 then "--enable-compat24" else "--disable-compat24")
@@ -34,7 +37,7 @@ stdenv.mkDerivation {
     ++ optional withMesa "--with-opengl"
     ++ optionals stdenv.isDarwin
       # allow building on 64-bit
-      [ "--with-cocoa" "--enable-universal-binaries" ];
+      [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ];
 
   SEARCH_LIB = optionalString withMesa "${mesa}/lib";
 
@@ -46,6 +49,9 @@ stdenv.mkDerivation {
     substituteInPlace configure --replace \
       'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
       'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
+    substituteInPlace configure --replace \
+      "-framework System" \
+      -lSystem
   '';
 
   postInstall = "
@@ -60,6 +66,6 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
   
   meta = {
-    platforms = stdenv.lib.platforms.linux;
+    platforms = with stdenv.lib.platforms; darwin ++ linux;
   };
 }
diff --git a/pkgs/development/libraries/wxGTK-3.0/default.nix b/pkgs/development/libraries/wxGTK-3.0/default.nix
index 313e99f1087f..5c45b29ec5cd 100644
--- a/pkgs/development/libraries/wxGTK-3.0/default.nix
+++ b/pkgs/development/libraries/wxGTK-3.0/default.nix
@@ -2,6 +2,7 @@
 , gstreamer, gst_plugins_base, GConf, setfile
 , withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true
 , withWebKit ? false, webkitgtk2 ? null
+, AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
 
@@ -26,10 +27,12 @@ stdenv.mkDerivation {
       gst_plugins_base GConf ]
     ++ optional withMesa mesa
     ++ optional withWebKit webkitgtk2
-    ++ optional stdenv.isDarwin setfile;
+    ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];
 
+  propagatedBuildInputs = optional stdenv.isDarwin AGL;
+
   configureFlags =
     [ "--enable-gtk2" "--disable-precomp-headers" "--enable-mediactrl"
       (if compat24 then "--enable-compat24" else "--disable-compat24")
@@ -38,7 +41,7 @@ stdenv.mkDerivation {
     ++ optional withMesa "--with-opengl"
     ++ optionals stdenv.isDarwin
       # allow building on 64-bit
-      [ "--with-cocoa" "--enable-universal-binaries" ]
+      [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ]
     ++ optionals withWebKit
       ["--enable-webview" "--enable-webview-webkit"];
 
@@ -52,6 +55,9 @@ stdenv.mkDerivation {
     substituteInPlace configure --replace \
       'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
       'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
+    substituteInPlace configure --replace \
+      "-framework System" \
+      -lSystem
   '';
 
   postInstall = "
@@ -66,6 +72,6 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
   
   meta = {
-    platforms = stdenv.lib.platforms.linux;
+    platforms = with stdenv.lib.platforms; darwin ++ linux;
   };
 }
diff --git a/pkgs/development/libraries/wxmac/default.nix b/pkgs/development/libraries/wxmac/default.nix
index e5d680501f00..f4e714248338 100644
--- a/pkgs/development/libraries/wxmac/default.nix
+++ b/pkgs/development/libraries/wxmac/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl
-, expat, libiconv, libjpeg, libpng, libtiff, zlib
-, setfile, rez, derez
-, AGL, Cocoa, Kernel, QuickTime
+{ stdenv, fetchurl, fetchpatch, expat, libiconv, libjpeg, libpng, libtiff, zlib
+# darwin only attributes
+, derez, rez, setfile
+, AGL, Cocoa, Kernel
 }:
 
 with stdenv.lib;
@@ -15,11 +15,46 @@ stdenv.mkDerivation rec {
     sha256 = "346879dc554f3ab8d6da2704f651ecb504a22e9d31c17ef5449b129ed711585d";
   };
 
-  patches = [ ./wx.patch ];
+  patches =
+    [ # Use std::abs() from <cmath> instead of abs() from <math.h> to avoid problems
+      # with abiguous overloads for clang-3.8 and gcc6.
+      (fetchpatch {
+        name = "patch-stc-abs.diff";
+        url = https://github.com/wxWidgets/wxWidgets/commit/73e9e18ea09ffffcaac50237def0d9728a213c02.patch;
+        sha256 = "0w5whmfzm8waw62jmippming0zffa9064m5b3aw5nixph21rlcvq";
+      })
+
+      # Various fixes related to Yosemite. Revisit in next stable release.
+      # Please keep an eye on http://trac.wxwidgets.org/ticket/16329 as well
+      # Theoretically the above linked patch should still be needed, but it isn't.
+      # Try to find out why.
+      (fetchpatch {
+        name = "patch-yosemite.diff";
+        url = https://raw.githubusercontent.com/Homebrew/formula-patches/bbf4995/wxmac/patch-yosemite.diff;
+        sha256 = "0ss66z2a79v976mvlrskyj1zmkyaz8hbwm98p29bscfvcx5845jb";
+      })
+
+      # Remove uncenessary <QuickTime/QuickTime.h> includes
+      # http://trac.wxwidgets.org/changeset/f6a2d1caef5c6d412c84aa900cb0d3990b350938/git-wxWidgets
+      (fetchpatch {
+        name = "patch-quicktime-removal.diff";
+        url = https://raw.githubusercontent.com/Homebrew/formula-patches/bbf4995/wxmac/patch-quicktime-removal.diff;
+        sha256 = "0mzvdk8r70p9s1wj7qzdsqmdrlxlf2dalh9gqs8xjkqq2666yp0y";
+      })
+
+      # Patch for wxOSXPrintData, custom paper not applied
+      # http://trac.wxwidgets.org/ticket/16959
+      (fetchpatch {
+        name = "wxPaperCustomPatch.patch";
+        url = http://trac.wxwidgets.org/raw-attachment/ticket/16959/wxPaperCustomPatch.patch;
+        sha256 = "0xgscv86f8dhggn9n8bhlq9wlj3ydsicgy9v35sraxyma18cbjvl";
+      })
+    ];
 
   buildInputs = [
     expat libiconv libjpeg libpng libtiff zlib
-    Cocoa Kernel QuickTime setfile rez derez
+    derez rez setfile
+    Cocoa Kernel
   ];
 
   propagatedBuildInputs = [ AGL ];
diff --git a/pkgs/development/libraries/wxmac/wx.patch b/pkgs/development/libraries/wxmac/wx.patch
deleted file mode 100644
index 622e22d1fdb4..000000000000
--- a/pkgs/development/libraries/wxmac/wx.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff --git a/include/wx/defs.h b/include/wx/defs.h
-index 397ddd7..d128083 100644
---- a/include/wx/defs.h
-+++ b/include/wx/defs.h
-@@ -3169,12 +3169,20 @@ DECLARE_WXCOCOA_OBJC_CLASS(UIImage);
- DECLARE_WXCOCOA_OBJC_CLASS(UIEvent);
- DECLARE_WXCOCOA_OBJC_CLASS(NSSet);
- DECLARE_WXCOCOA_OBJC_CLASS(EAGLContext);
-+DECLARE_WXCOCOA_OBJC_CLASS(UIWebView);
- 
- typedef WX_UIWindow WXWindow;
- typedef WX_UIView WXWidget;
- typedef WX_EAGLContext WXGLContext;
- typedef WX_NSString* WXGLPixelFormat;
- 
-+typedef WX_UIWebView OSXWebViewPtr;
-+
-+#endif
-+
-+#if wxOSX_USE_COCOA_OR_CARBON
-+DECLARE_WXCOCOA_OBJC_CLASS(WebView);
-+typedef WX_WebView OSXWebViewPtr;
- #endif
- 
- #endif /* __WXMAC__ */
-diff --git a/include/wx/html/webkit.h b/include/wx/html/webkit.h
-index 8700367..f805099 100644
---- a/include/wx/html/webkit.h
-+++ b/include/wx/html/webkit.h
-@@ -18,7 +18,6 @@
- #endif
- 
- #include "wx/control.h"
--DECLARE_WXCOCOA_OBJC_CLASS(WebView); 
- 
- // ----------------------------------------------------------------------------
- // Web Kit Control
-@@ -107,7 +106,7 @@ private:
-     wxString m_currentURL;
-     wxString m_pageTitle;
- 
--    WX_WebView m_webView;
-+    OSXWebViewPtr m_webView;
- 
-     // we may use this later to setup our own mouse events,
-     // so leave it in for now.
-diff --git a/include/wx/osx/webview_webkit.h b/include/wx/osx/webview_webkit.h
-index 803f8b0..438e532 100644
---- a/include/wx/osx/webview_webkit.h
-+++ b/include/wx/osx/webview_webkit.h
-@@ -158,7 +158,7 @@ private:
-     wxWindowID m_windowID;
-     wxString m_pageTitle;
- 
--    wxObjCID m_webView;
-+    OSXWebViewPtr m_webView;
- 
-     // we may use this later to setup our own mouse events,
-     // so leave it in for now.
diff --git a/pkgs/development/libraries/xylib/default.nix b/pkgs/development/libraries/xylib/default.nix
index 030e2f0857bf..c9c84f4e1d89 100644
--- a/pkgs/development/libraries/xylib/default.nix
+++ b/pkgs/development/libraries/xylib/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, boost, zlib, bzip2 }:
+{ stdenv, fetchurl, boost, zlib, bzip2, wxGTK30 }:
 
 stdenv.mkDerivation rec {
   name = "xylib-${version}";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchurl {
-    url = "https://github.com/wojdyr/xylib/releases/download/v${version}/${name}-${version}.tar.bz2";
-    sha256 = "09j426qjbg3damch1hfw16j992kn2hj8gs4lpvqgfqdw61kvqivh";
+    url = "https://github.com/wojdyr/xylib/releases/download/v${version}/${name}.tar.bz2";
+    sha256 = "1r2kx80zhdvz39k6h2fsncm2742xxvxl3z8a3fnr13jl9sl7mnnd";
   };
 
-  buildInputs = [ boost zlib bzip2 ];
+  buildInputs = [ boost zlib bzip2 wxGTK30 ];
 
   meta = with stdenv.lib; {
     description = "Portable library for reading files that contain x-y data from powder diffraction, spectroscopy and other experimental methods";
diff --git a/pkgs/development/libraries/zimlib/default.nix b/pkgs/development/libraries/zimlib/default.nix
index 24cbc818cddb..77a7989baab4 100644
--- a/pkgs/development/libraries/zimlib/default.nix
+++ b/pkgs/development/libraries/zimlib/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   };
   buildInputs = [ automake autoconf libtool lzma ];
   setSourceRoot = "cd openzim-*/zimlib; export sourceRoot=`pwd`";
-  preConfigurePhases = [ "./autogen.sh" ];
+  preConfigure = "./autogen.sh";
 
   meta = {
     description = "Library for reading and writing ZIM files (file format for storing Web content offline)";
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index e61001e7d6db..dca6483dc84d 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, static ? false }:
 
-let version = "1.2.8"; in
+let version = "1.2.10"; in
 
 stdenv.mkDerivation rec {
   name = "zlib-${version}";
 
   src = fetchurl {
     urls =
-      [ "http://www.zlib.net/${name}.tar.gz"  # old versions vanish from here
+      [ "http://www.zlib.net/fossils/${name}.tar.gz"  # stable archive path
         "mirror://sourceforge/libpng/zlib/${version}/${name}.tar.gz"
       ];
-    sha256 = "039agw5rqvqny92cpkrfn243x2gd4xn13hs3xi6isk55d2vqqr9n";
+    sha256 = "05w0jwsqib44jz5jazh7cqz311z4g7znnzn6w6v8g1z4iilryzld";
   };
 
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
   setOutputFlags = false;
   outputDoc = "dev"; # single tiny man3 page
 
-
   preConfigure = ''
     if test -n "$crossConfig"; then
       export CC=$crossConfig-gcc
@@ -81,4 +80,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index 414f60420af2..389ccae2fe52 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -8,19 +8,19 @@ let
   # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
   tarWrapper = runCommand "tarWrapper" {} ''
     mkdir -p $out/bin
-    
+
     cat > $out/bin/tar <<EOF
     #! ${stdenv.shell} -e
     $(type -p tar) "\$@" --warning=no-unknown-keyword
     EOF
-    
+
     chmod +x $out/bin/tar
   '';
-  
+
   # Function that generates a TGZ file from a NPM project
   buildNodeSourceDist =
     { name, version, src, ... }:
-    
+
     stdenv.mkDerivation {
       name = "node-tarball-${name}-${version}";
       inherit src;
@@ -44,13 +44,13 @@ let
           # Bundle the dependencies of the package
           mkdir -p node_modules
           cd node_modules
-          
+
           # Only include dependencies if they don't exist. They may also be bundled in the package.
           if [ ! -e "${dependency.name}" ]
           then
               ${composePackage dependency}
           fi
-          
+
           cd ..
         ''
       ) dependencies);
@@ -63,13 +63,13 @@ let
         text = ''
           var fs = require('fs');
           var url = require('url');
-          
+
           /*
            * Replaces an impure version specification by *
            */
           function replaceImpureVersionSpec(versionSpec) {
               var parsedUrl = url.parse(versionSpec);
-              
+
               if(versionSpec == "latest" || versionSpec == "unstable" ||
                   versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/')
                   return '*';
@@ -79,9 +79,9 @@ let
               else
                   return versionSpec;
           }
-      
+
           var packageObj = JSON.parse(fs.readFileSync('./package.json'));
-      
+
           /* Replace dependencies */
           if(packageObj.dependencies !== undefined) {
               for(var dependency in packageObj.dependencies) {
@@ -89,7 +89,7 @@ let
                   packageObj.dependencies[dependency] = replaceImpureVersionSpec(versionSpec);
               }
           }
-          
+
           /* Replace development dependencies */
           if(packageObj.devDependencies !== undefined) {
               for(var dependency in packageObj.devDependencies) {
@@ -97,7 +97,7 @@ let
                   packageObj.devDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
               }
           }
-          
+
           /* Replace optional dependencies */
           if(packageObj.optionalDependencies !== undefined) {
               for(var dependency in packageObj.optionalDependencies) {
@@ -105,7 +105,7 @@ let
                   packageObj.optionalDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
               }
           }
-          
+
           /* Write the fixed JSON file */
           fs.writeFileSync("package.json", JSON.stringify(packageObj));
         '';
@@ -114,40 +114,47 @@ let
     ''
       DIR=$(pwd)
       cd $TMPDIR
-      
+
       unpackFile ${src}
-      
+
       # Make the base dir in which the target dependency resides first
       mkdir -p "$(dirname "$DIR/${packageName}")"
 
       if [ -f "${src}" ]
       then
           # Figure out what directory has been unpacked
-          packageDir=$(find . -type d -maxdepth 1 | tail -1)
-          
+          packageDir="$(find . -maxdepth 1 -type d | tail -1)"
+
           # Restore write permissions to make building work
           find "$packageDir" -type d -print0 | xargs -0 chmod u+x
           chmod -R u+w "$packageDir"
-          
+
           # Move the extracted tarball into the output folder
           mv "$packageDir" "$DIR/${packageName}"
       elif [ -d "${src}" ]
       then
+          # Get a stripped name (without hash) of the source directory.
+          # On old nixpkgs it's already set internally.
+          if [ -z "$strippedName" ]
+          then
+              strippedName="$(stripHash ${src})"
+          fi
+
           # Restore write permissions to make building work
-          chmod -R u+w $strippedName
-          
+          chmod -R u+w "$strippedName"
+
           # Move the extracted directory into the output folder
-          mv $strippedName "$DIR/${packageName}"
+          mv "$strippedName" "$DIR/${packageName}"
       fi
 
       # Unset the stripped name to not confuse the next unpack step
       unset strippedName
-      
+
       # Some version specifiers (latest, unstable, URLs, file paths) force NPM to make remote connections or consult paths outside the Nix store.
       # The following JavaScript replaces these by * to prevent that
       cd "$DIR/${packageName}"
       node ${fixImpureDependencies}
-      
+
       # Include the dependencies of the package
       ${includeDependencies { inherit dependencies; }}
       cd ..
@@ -160,36 +167,36 @@ let
     tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
     mv node-* $out
   '';
-  
+
   # Builds and composes an NPM package including all its dependencies
   buildNodePackage = { name, packageName, version, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, preRebuild ? "", ... }@args:
-    
+
     stdenv.lib.makeOverridable stdenv.mkDerivation (builtins.removeAttrs args [ "dependencies" ] // {
       name = "node-${name}-${version}";
       buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
       dontStrip = args.dontStrip or true; # Striping may fail a build for some package deployments
-      
+
       inherit dontNpmInstall preRebuild;
-      
+
       unpackPhase = args.unpackPhase or "true";
-      
+
       buildPhase = args.buildPhase or "true";
-      
+
       compositionScript = composePackage args;
       passAsFile = [ "compositionScript" ];
-      
+
       installPhase = args.installPhase or ''
         # Create and enter a root node_modules/ folder
         mkdir -p $out/lib/node_modules
         cd $out/lib/node_modules
-          
+
         # Compose the package and all its dependencies
         source $compositionScriptPath
-        
+
         # Patch the shebangs of the bundled modules to prevent them from
         # calling executables outside the Nix store as much as possible
         patchShebangs .
-        
+
         # Deploy the Node.js package by running npm install. Since the
         # dependencies have been provided already by ourselves, it should not
         # attempt to install them again, which is good, because we want to make
@@ -199,23 +206,26 @@ let
         #
         # The other responsibilities of NPM are kept -- version checks, build
         # steps, postprocessing etc.
-        
+
         export HOME=$TMPDIR
         cd "${packageName}"
         runHook preRebuild
         npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
-        
+
         if [ "$dontNpmInstall" != "1" ]
         then
+            # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+            rm -f npm-shrinkwrap.json
+
             npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
         fi
-        
+
         # Create symlink to the deployed executable folder, if applicable
         if [ -d "$out/lib/node_modules/.bin" ]
         then
             ln -s $out/lib/node_modules/.bin $out/bin
         fi
-        
+
         # Create symlinks to the deployed manual page folders, if applicable
         if [ -d "$out/lib/node_modules/${packageName}/man" ]
         then
@@ -229,7 +239,7 @@ let
                 done
             done
         fi
-        
+
         # Run post install hook, if provided
         runHook postInstall
       '';
@@ -240,17 +250,17 @@ let
     let
       nodeDependencies = stdenv.mkDerivation {
         name = "node-dependencies-${name}-${version}";
-        
+
         buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
-        
+
         includeScript = includeDependencies { inherit dependencies; };
         passAsFile = [ "includeScript" ];
-        
+
         buildCommand = ''
           mkdir -p $out/lib
           cd $out/lib
           source $includeScriptPath
-          
+
           # Create fake package.json to make the npm commands work properly
           cat > package.json <<EOF
           {
@@ -258,15 +268,18 @@ let
               "version": "${version}"
           }
           EOF
-          
+
           # Patch the shebangs of the bundled modules to prevent them from
           # calling executables outside the Nix store as much as possible
           patchShebangs .
-          
-          export HOME=$TMPDIR
+
+          export HOME=$PWD
           npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
-          
+
           ${stdenv.lib.optionalString (!dontNpmInstall) ''
+            # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+            rm -f npm-shrinkwrap.json
+
             npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
           ''}
 
@@ -276,7 +289,7 @@ let
     in
     stdenv.lib.makeOverridable stdenv.mkDerivation {
       name = "node-shell-${name}-${version}";
-      
+
       buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
       buildCommand = ''
         mkdir -p $out/bin
@@ -287,7 +300,7 @@ let
         EOF
         chmod +x $out/bin/shell
       '';
-      
+
       # Provide the dependencies in a development shell through the NODE_PATH environment variable
       inherit nodeDependencies;
       shellHook = stdenv.lib.optionalString (dependencies != []) ''
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index 19d91e44dcde..2e56635f3600 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -6,7 +6,7 @@ let
   mkpath = p:
       "${p}/lib/ocaml/${ocaml.version}/site-lib";
 
-  version = "0.20";
+  version = "0.22";
 
 in
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     owner = "c-cube";
     repo = "ocaml-containers";
     rev = "${version}";
-    sha256 = "1gwflgdbvj293cwi434aafrsgpdgj2sv7r1ghm4l4k5xn17l0qzg";
+    sha256 = "1kbf865z484z9nxskmg150xhfspikkvsxk0wbry5vvczqr63cwhq";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild cppo gen sequence qtest ounit ocaml_oasis qcheck ];
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index 219f104271d3..293faad2301d 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,15 +1,10 @@
-{ stdenv, fetchurl, ocaml, findlib, which, ocsigen_server, ocsigen_deriving,
+{ buildOcaml, stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml,
   js_of_ocaml, ocaml_react, ocaml_lwt, calendar, cryptokit, tyxml,
   ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp,
-  reactivedata, opam, ppx_tools, camlp4}:
+  reactivedata, opam, ppx_tools, ppx_deriving, camlp4}:
 
-let ocamlVersion = (stdenv.lib.getVersion ocaml);
-  in
-
-(
-assert stdenv.lib.versionAtLeast ocamlVersion "4";
-
-stdenv.mkDerivation rec
+let ocamlVersion = (stdenv.lib.getVersion ocaml); in
+buildOcaml rec
 {
   pname = "eliom";
   version = "5.0.0";
@@ -22,12 +17,11 @@ stdenv.mkDerivation rec
 
   patches = [ ./camlp4.patch ];
 
-  buildInputs = [ocaml which ocsigen_server findlib ocsigen_deriving
-                 js_of_ocaml ocaml_optcomp opam ppx_tools camlp4 ];
+  buildInputs = [ which ocaml_optcomp opam ppx_tools camlp4 ];
 
-  propagatedBuildInputs = [ ocaml_lwt reactivedata tyxml ipaddr
-                            calendar cryptokit ocamlnet ocaml_react ocaml_ssl
-                            ocaml_pcre ];
+  propagatedBuildInputs = [ ocaml_lwt reactivedata tyxml ipaddr ocsigen_server ppx_deriving
+                            ocsigen_deriving js_of_ocaml
+                            calendar cryptokit ocamlnet ocaml_react ocaml_ssl ocaml_pcre ];
 
   preConfigure = stdenv.lib.optionalString (!stdenv.lib.versionAtLeast ocamlVersion "4.02") ''
       export PPX=false
@@ -57,8 +51,6 @@ stdenv.mkDerivation rec
 
     license = stdenv.lib.licenses.lgpl21;
 
-    platforms = ocaml.meta.platforms or [];
-
     maintainers = [ stdenv.lib.maintainers.gal_bolle ];
   };
-})
+}
diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix
index 93ebf4b9c92d..7408ee4b478c 100644
--- a/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -8,11 +8,11 @@ assert stdenv.lib.versionAtLeast ocaml.version "3.12";
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "2.18.3";
+  version = "2.18.5";
 
   src = fetchurl {
-    url = https://forge.ocamlcore.org/frs/download.php/1479/lablgtk-2.18.3.tar.gz;
-    sha256 = "1bybn3jafxf4cx25zvn8h2xj9agn1xjbn7j3ywxxqx6az7rfnnwp";
+    url = https://forge.ocamlcore.org/frs/download.php/1627/lablgtk-2.18.5.tar.gz;
+    sha256 = "0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib";
   };
 
   buildInputs = [ocaml findlib pkgconfig gtk2 libgnomecanvas libglade gtksourceview camlp4];
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index dd152262ca79..d2e0e0aa7278 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -1,7 +1,7 @@
 {stdenv, buildOcaml, fetchurl, pcre, ocaml, findlib}:
 
 buildOcaml {
-  name = "ocaml-pcre";
+  name = "pcre";
   version = "7.1.1";
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/pgocaml/default.nix b/pkgs/development/ocaml-modules/pgocaml/default.nix
index 6b9ae97ad54e..a8b3ed158625 100644
--- a/pkgs/development/ocaml-modules/pgocaml/default.nix
+++ b/pkgs/development/ocaml-modules/pgocaml/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4, calendar, csv, ocaml_pcre }:
+{ stdenv, fetchurl, buildOcaml, calendar, csv, re }:
 
-stdenv.mkDerivation {
-  name = "ocaml-pgocaml-2.2";
+buildOcaml {
+  name = "pgocaml";
+  version = "2.3";
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/1506/pgocaml-2.2.tgz;
-    sha256 = "0x0dhlz2rqxpwfdqi384f9fn0ng2irifadmxfm2b4gcz7y1cl9rh";
+    url = https://github.com/darioteixeira/pgocaml/archive/v2.3.tar.gz;
+    sha256 = "18lymxlvcf4nwxawkidq3pilsp5rhl0l8ifq6pjk3ssjlx9w53pg";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
-  propagatedBuildInputs = [ calendar csv ocaml_pcre ];
+  buildInputs = [ ];
+  propagatedBuildInputs = [ calendar csv re ];
+
+  configureFlags = [ "--enable-p4" ];
 
   createFindlibDestdir = true;
 
@@ -16,7 +19,6 @@ stdenv.mkDerivation {
     description = "An interface to PostgreSQL databases for OCaml applications";
     homepage = http://pgocaml.forge.ocamlcore.org/;
     license = licenses.lgpl2;
-    platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [ vbgl ];
   };
 }
diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
index 7f2f8e9e4e58..5cd197b9d3fd 100644
--- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
+++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, buildPerlPackage, zlib, stdenv }:
 
 buildPerlPackage rec {
-  name = "Compress-Raw-Zlib-2.065";
+  name = "Compress-Raw-Zlib-2.071";
 
   src = fetchurl {
     url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
-    sha256 = "1i09h3dvn8ipaj1l2nq2qd19wzhn7wcpbsipdkcniwi0sgy1kf1p";
+    sha256 = "0dk7pcmhnl7n811q3p4rrz5ijdhz6jx367h6rypgvg1y39z4arfs";
   };
 
   preConfigure = ''
@@ -18,7 +18,9 @@ buildPerlPackage rec {
     EOF
   '';
 
-  doCheck = !stdenv.isDarwin;
+  # Try untested for now.  Upstream bug:
+  # https://rt.cpan.org/Public/Bug/Display.html?id=119762
+  doCheck = false && !stdenv.isDarwin;
 
   meta = {
     license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
diff --git a/pkgs/development/python-modules/discordpy/default.nix b/pkgs/development/python-modules/discordpy/default.nix
index cf01ec835a7d..6025956261e5 100644
--- a/pkgs/development/python-modules/discordpy/default.nix
+++ b/pkgs/development/python-modules/discordpy/default.nix
@@ -11,13 +11,13 @@
 
 let
   pname = "discord.py";
-  version = "0.15.1";
+  version = "0.16.0";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "01lgidvnwwva1i65853gaplamllym2nsk0jis2r6f1rzbamgk1yj";
+    sha256 = "0r3qqvx36vywjyjk1nh11ymmr8y81sb45nk63665kcjagx8qnmfx";
   };
 
   propagatedBuildInputs = [ asyncio aiohttp websockets pynacl ];
diff --git a/pkgs/development/python-modules/numpy.nix b/pkgs/development/python-modules/numpy.nix
index 14504d925438..16c919eb4b2e 100644
--- a/pkgs/development/python-modules/numpy.nix
+++ b/pkgs/development/python-modules/numpy.nix
@@ -39,15 +39,18 @@ in buildPythonPackage (args // rec {
     runHook postCheck
   '';
 
+  postInstall = ''
+    ln -s $out/bin/f2py* $out/bin/f2py
+  '';
+
   passthru = {
     blas = blas;
   };
 
-  # The large file support test is disabled because it takes forever
-  # and can cause the machine to run out of disk space when run.
-  prePatch = ''
-    sed -i 's/test_large_file_support/donttest/' numpy/lib/tests/test_format.py
-  '';
+  # Disable two tests
+  # - test_f2py: f2py isn't yet on path.
+  # - test_large_file_support: takes a long time and can cause the machine to run out of disk space
+  NOSE_EXCLUDE="test_f2py,test_large_file_support";
 
   meta = {
     description = "Scientific tools for Python";
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
new file mode 100644
index 000000000000..a923e553582c
--- /dev/null
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -0,0 +1,91 @@
+{ buildPythonPackage
+, python
+, stdenv
+, fetchurl
+, nose
+, glibcLocales
+, cython
+, dateutil
+, scipy
+, numexpr
+, pytz
+, xlrd
+, bottleneck
+, sqlalchemy
+, lxml
+, html5lib
+, beautifulsoup4
+, openpyxl
+, tables
+, xlwt
+, darwin ? {}
+, libcxx ? null
+}:
+
+let
+  inherit (stdenv.lib) optional optionalString concatStringsSep;
+  inherit (stdenv) isDarwin;
+in buildPythonPackage rec {
+  pname = "pandas";
+  version = "0.19.2";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+    sha256 = "6f0f4f598c2b16746803c8bafef7c721c57e4844da752d36240c0acf97658014";
+  };
+
+  LC_ALL = "en_US.UTF-8";
+  buildInputs = [ nose glibcLocales ] ++ optional isDarwin libcxx;
+  propagatedBuildInputs = [
+    cython
+    dateutil
+    scipy
+    numexpr
+    pytz
+    xlrd
+    bottleneck
+    sqlalchemy
+    lxml
+    html5lib
+    beautifulsoup4
+    openpyxl
+    tables
+    xlwt
+  ] ++ optional isDarwin darwin.locale; # provides the locale command
+
+  # For OSX, we need to add a dependency on libcxx, which provides
+  # `complex.h` and other libraries that pandas depends on to build.
+  patchPhase = optionalString isDarwin ''
+    cpp_sdk="${libcxx}/include/c++/v1";
+    echo "Adding $cpp_sdk to the setup.py common_include variable"
+    substituteInPlace setup.py \
+      --replace "['pandas/src/klib', 'pandas/src']" \
+                "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
+
+  # disable clipboard tests since pbcopy/pbpaste are not open source
+    substituteInPlace pandas/io/tests/test_clipboard.py \
+      --replace pandas.util.clipboard no_such_module \
+      --replace OSError ImportError
+  '';
+
+  # The flag `-A 'not network'` will disable tests that use internet.
+  # The `-e` flag disables a few problematic tests.
+
+  checkPhase = ''
+    runHook preCheck
+    # The flag `-w` provides the initial directory to search for tests.
+    # The flag `-A 'not network'` will disable tests that use internet.
+    nosetests -w $out/${python.sitePackages}/pandas --no-path-adjustment -A 'not slow and not network' --stop \
+      --verbosity=3
+     runHook postCheck
+  '';
+
+  meta = {
+    homepage = "http://pandas.pydata.org/";
+    description = "Python Data Analysis Library";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ raskin fridh ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 23e06ff4cb4e..e7cf3b4c4489 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -2,7 +2,7 @@
 
 if (isPyPy) then throw "pycairo not supported for interpreter ${python.executable}" else mkPythonDerivation rec {
   version = "1.10.0";
-  name = "${python.libPrefix}-pycairo-${version}";
+  name = "pycairo-${version}";
   src = if isPy3k
     then fetchurl {
       url = "http://cairographics.org/releases/pycairo-${version}.tar.bz2";
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index 0cbe4491d67d..e3bd8e2b3711 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, fetchurl, python, buildPythonPackage, gmp }:
+{ stdenv, fetchurl, buildPythonPackage, pycryptodome }:
 
-buildPythonPackage rec {
-  name = "pycrypto-2.6.1";
-  namePrefix = "";
+# This is a dummy package providing the drop-in replacement pycryptodome.
+# https://github.com/NixOS/nixpkgs/issues/21671
 
-  src = fetchurl {
-    url = "mirror://pypi/p/pycrypto/${name}.tar.gz";
-    sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
-  };
+let
+  version = pycryptodome.version;
+  pname = "pycrypto";
+in buildPythonPackage rec {
+  name = "${pname}-${version}";
+
+  # Cannot build wheel otherwise (zip 1980 issue)
+  SOURCE_DATE_EPOCH=315532800;
 
-  preConfigure = ''
-    sed -i 's,/usr/include,/no-such-dir,' configure
-    sed -i "s!,'/usr/include/'!!" setup.py
+  # We need to have a dist-info folder, so let's create one with setuptools
+  unpackPhase = ''
+    echo "from setuptools import setup; setup(name='${pname}', version='${version}', install_requires=['pycryptodome'])" > setup.py
   '';
 
-  buildInputs = stdenv.lib.optional (!python.isPypy or false) gmp; # optional for pypy
+  propagatedBuildInputs = [ pycryptodome ];
 
-  doCheck = !(python.isPypy or stdenv.isDarwin); # error: AF_UNIX path too long
+  # Our dummy has no tests
+  doCheck = false;
 
   meta = {
     homepage = "http://www.pycrypto.org/";
     description = "Python Cryptography Toolkit";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = pycryptodome.meta.platforms;
   };
 }
diff --git a/pkgs/development/python-modules/pygame/git.nix b/pkgs/development/python-modules/pygame/git.nix
index 7f815454713d..3140f93aeb40 100644
--- a/pkgs/development/python-modules/pygame/git.nix
+++ b/pkgs/development/python-modules/pygame/git.nix
@@ -41,5 +41,6 @@ buildPythonPackage rec {
     homepage = "http://www.pygame.org/";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index 7d0896c1fb8b..0940ef00ac98 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   name = "pygtk-2.24.0";
-  
+
   disabled = isPy3k;
 
   src = fetchurl {
@@ -20,6 +20,8 @@ buildPythonPackage rec {
 
   buildPhase = "buildPhase";
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-ObjC";
+
   installPhase = "installPhase";
 
   checkPhase = stdenv.lib.optionalString (libglade == null)
diff --git a/pkgs/development/python-modules/pytest-expect/default.nix b/pkgs/development/python-modules/pytest-expect/default.nix
new file mode 100644
index 000000000000..5abfd9423ac7
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-expect/default.nix
@@ -0,0 +1,31 @@
+{ buildPythonPackage
+, lib
+, fetchurl
+, pytest
+, u-msgpack-python
+, six
+}:
+
+let
+  pname = "pytest-expect";
+  version = "1.1.0";
+in buildPythonPackage rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+    sha256 = "36b4462704450798197d090809a05f4e13649d9cba9acdc557ce9517da1fd847";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ u-msgpack-python six ];
+
+  # Tests in neither the archive nor the repo
+  doCheck = false;
+
+  meta = {
+    description = "py.test plugin to store test expectations and mark tests based on them";
+    homepage = https://github.com/gsnedders/pytest-expect;
+    license = lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/u-msgpack-python/default.nix b/pkgs/development/python-modules/u-msgpack-python/default.nix
new file mode 100644
index 000000000000..34d88d74c559
--- /dev/null
+++ b/pkgs/development/python-modules/u-msgpack-python/default.nix
@@ -0,0 +1,33 @@
+{ buildPythonPackage
+, lib
+, fetchurl
+, glibcLocales
+, python
+}:
+
+let
+  pname = "u-msgpack-python";
+  version = "2.3.0";
+in buildPythonPackage rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+    sha256 = "d8df6bb0e2a838aa227c39cfd14aa147ab32b3df6871001874e9b9da9ce1760c";
+  };
+
+  LC_ALL="en_US.UTF-8";
+
+  buildInputs = [ glibcLocales ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = {
+    description = "A portable, lightweight MessagePack serializer and deserializer written in pure Python";
+    homepage = https://github.com/vsergeev/u-msgpack-python;
+    license = lib.licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/webencodings/default.nix b/pkgs/development/python-modules/webencodings/default.nix
new file mode 100644
index 000000000000..54f3517ca002
--- /dev/null
+++ b/pkgs/development/python-modules/webencodings/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage
+, lib
+, fetchurl
+, pytest
+}:
+
+let
+  pname = "webencodings";
+  version = "0.5";
+in buildPythonPackage rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+    sha256 = "a5c55ee93b24e740fe951c37b5c228dccc1f171450e188555a775261cce1b904";
+  };
+
+  buildInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test webencodings/tests.py
+  '';
+
+  meta = {
+    description = "Character encoding aliases for legacy web content";
+    homepage = https://github.com/SimonSapin/python-webencodings;
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/xlwt/default.nix b/pkgs/development/python-modules/xlwt/default.nix
new file mode 100644
index 000000000000..01f920a387ad
--- /dev/null
+++ b/pkgs/development/python-modules/xlwt/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage
+, fetchurl
+, fetchpatch
+, nose
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "xlwt";
+  name = "${pname}-${version}";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+    sha256 = "aed648c17731f40f84550dd2a1aaa53569f0cbcaf5610ba895cd2632587b723c";
+  };
+
+  # re.LOCALE was removed in Python 3.6
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/python-excel/xlwt/commit/86564ef26341020316cd8a27c704ef1dc5a6129b.patch";
+      sha256 = "0ifavfld3rrqjb0iyriy4c0drw31gszvlg3nmnn9dmfsh91vxhs6";
+    })
+  ];
+
+  buildInputs = [ nose ];
+  checkPhase = ''
+    nosetests -v
+  '';
+
+  meta = {
+    description = "Library to create spreadsheet files compatible with MS";
+    homepage = https://github.com/python-excel/xlwt;
+    license = with lib.licenses; [ bsdOriginal bsd3 lgpl21 ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/yenc/default.nix b/pkgs/development/python-modules/yenc/default.nix
new file mode 100644
index 000000000000..7f9f3b6467af
--- /dev/null
+++ b/pkgs/development/python-modules/yenc/default.nix
@@ -0,0 +1,32 @@
+{ fetchurl
+, lib
+, buildPythonPackage
+, python
+, isPyPy
+, isPy3k
+}:
+
+let
+  pname = "yenc";
+  version = "0.4.0";
+in buildPythonPackage {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/dual75/yenc/get/${version}.tar.gz";
+    sha256 = "0zkyzxgq30mbrzpnqam4md0cb09d5falh06m0npc81nnlhcghkp7";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s test
+  '';
+
+  disabled = isPy3k || isPyPy;
+
+  meta = {
+    description = "Encoding and decoding yEnc";
+    license = lib.licenses.lgpl21;
+    homepage = https://bitbucket.org/dual75/yenc;
+    maintainers = with lib.maintainers; [ fridh ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index 339ecab870ad..1461e6232e60 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -6,17 +6,17 @@
 with stdenv.lib;
 
 let
-  baseVersion = "4.1";
+  baseVersion = "4.2";
   revision = "0";
-  version = "${baseVersion}.${revision}";
 in
 
 stdenv.mkDerivation rec {
   name = "qtcreator-${version}";
+  version = "${baseVersion}.${revision}";
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz";
-    sha256 = "00xlzw01ngza54ssmwz2ryahjlrbniy2q3p174xri1pxvcih4b21";
+    sha256 = "0yzj1i6hkzl9w1g8d5vidz7z6amwpj8p3cfibn9slf1sphxph18f";
   };
 
   buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative ];
@@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "INSTALL_ROOT=$(out)" ] ++ optional withDocumentation "install_docs";
 
+  preBuild = optional withDocumentation ''
+    ln -s ${qtbase}/share/doc $NIX_QT5_TMP/share
+  '';
+
   postInstall = ''
     # Install desktop file
     mkdir -p "$out/share/applications"
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 2ef3fbdd0763..49273e34c7e8 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -240,30 +240,30 @@ let
     audio = [ pkgs.portaudio ];
     BayesSAE = [ pkgs.gsl_1 ];
     BayesVarSel = [ pkgs.gsl_1 ];
-    BayesXsrc = [ pkgs.readline pkgs.ncurses ];
+    BayesXsrc = [ pkgs.readline.dev pkgs.ncurses ];
     bigGP = [ pkgs.openmpi ];
     BiocCheck = [ pkgs.which ];
     Biostrings = [ pkgs.zlib ];
     bnpmr = [ pkgs.gsl_1 ];
     BNSP = [ pkgs.gsl_1 ];
-    cairoDevice = [ pkgs.gtk2 ];
-    Cairo = [ pkgs.libtiff pkgs.libjpeg pkgs.cairo ];
+    cairoDevice = [ pkgs.gtk2.dev ];
+    Cairo = [ pkgs.libtiff pkgs.libjpeg pkgs.cairo.dev pkgs.x11 pkgs.fontconfig.lib ];
     Cardinal = [ pkgs.which ];
     chebpol = [ pkgs.fftw ];
     ChemmineOB = [ pkgs.openbabel pkgs.pkgconfig ];
     cit = [ pkgs.gsl_1 ];
     curl = [ pkgs.curl.dev ];
-    devEMF = [ pkgs.xorg.libXft ];
+    devEMF = [ pkgs.xorg.libXft.dev pkgs.x11 ];
     diversitree = [ pkgs.gsl_1 pkgs.fftw ];
     EMCluster = [ pkgs.liblapack ];
-    fftw = [ pkgs.fftw ];
-    fftwtools = [ pkgs.fftw ];
+    fftw = [ pkgs.fftw.dev ];
+    fftwtools = [ pkgs.fftw.dev ];
     Formula = [ pkgs.gmp ];
     geoCount = [ pkgs.gsl_1 ];
-    git2r = [ pkgs.zlib pkgs.openssl ];
+    git2r = [ pkgs.zlib.dev pkgs.openssl.dev ];
     GLAD = [ pkgs.gsl_1 ];
     glpkAPI = [ pkgs.gmp pkgs.glpk ];
-    gmp = [ pkgs.gmp ];
+    gmp = [ pkgs.gmp.dev ];
     graphscan = [ pkgs.gsl_1 ];
     gsl = [ pkgs.gsl_1 ];
     h5 = [ pkgs.hdf5-cpp pkgs.which ];
@@ -272,13 +272,13 @@ let
     iBMQ = [ pkgs.gsl_1 ];
     igraph = [ pkgs.gmp ];
     JavaGD = [ pkgs.jdk ];
-    jpeg = [ pkgs.libjpeg ];
+    jpeg = [ pkgs.libjpeg.dev ];
     KFKSDS = [ pkgs.gsl_1 ];
-    kza = [ pkgs.fftw ];
+    kza = [ pkgs.fftw.dev ];
     libamtrack = [ pkgs.gsl_1 ];
     mixcat = [ pkgs.gsl_1 ];
     mvabund = [ pkgs.gsl_1 ];
-    mwaved = [ pkgs.fftw ];
+    mwaved = [ pkgs.fftw.dev ];
     ncdf4 = [ pkgs.netcdf ];
     nloptr = [ pkgs.nlopt ];
     openssl = [ pkgs.openssl.dev ];
@@ -287,99 +287,99 @@ let
     pbdMPI = [ pkgs.openmpi ];
     pbdNCDF4 = [ pkgs.netcdf ];
     pbdPROF = [ pkgs.openmpi ];
-    PKI = [ pkgs.openssl ];
+    PKI = [ pkgs.openssl.dev ];
     png = [ pkgs.libpng.dev ];
-    PopGenome = [ pkgs.zlib ];
+    PopGenome = [ pkgs.zlib.dev ];
     proj4 = [ pkgs.proj ];
     qtbase = [ pkgs.qt4 ];
     qtpaint = [ pkgs.qt4 ];
     R2GUESS = [ pkgs.gsl_1 ];
-    R2SWF = [ pkgs.zlib pkgs.libpng pkgs.freetype ];
+    R2SWF = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
     RAppArmor = [ pkgs.libapparmor ];
     rapportools = [ pkgs.which ];
     rapport = [ pkgs.which ];
-    rbamtools = [ pkgs.zlib ];
-    rcdd = [ pkgs.gmp ];
-    RcppCNPy = [ pkgs.zlib ];
+    rbamtools = [ pkgs.zlib.dev ];
+    rcdd = [ pkgs.gmp.dev ];
+    RcppCNPy = [ pkgs.zlib.dev ];
     RcppGSL = [ pkgs.gsl_1 ];
-    RcppOctave = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre pkgs.octave ];
+    RcppOctave = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.lzma.dev pkgs.pcre.dev pkgs.octave ];
     RcppZiggurat = [ pkgs.gsl_1 ];
     rgdal = [ pkgs.proj pkgs.gdal ];
     rgeos = [ pkgs.geos ];
-    rggobi = [ pkgs.ggobi pkgs.gtk2 pkgs.libxml2 ];
+    rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ];
     rgl = [ pkgs.mesa pkgs.xlibsWrapper ];
     Rglpk = [ pkgs.glpk ];
-    RGtk2 = [ pkgs.gtk2 ];
+    RGtk2 = [ pkgs.gtk2.dev ];
     rhdf5 = [ pkgs.zlib ];
-    Rhpc = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.openmpi pkgs.pcre ];
-    Rhtslib = [ pkgs.zlib ];
-    RJaCGH = [ pkgs.zlib ];
+    Rhpc = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.lzma.dev pkgs.openmpi pkgs.pcre.dev ];
+    Rhtslib = [ pkgs.zlib.dev ];
+    RJaCGH = [ pkgs.zlib.dev ];
     rjags = [ pkgs.jags ];
-    rJava = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre pkgs.jdk pkgs.libzip ];
+    rJava = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.lzma.dev pkgs.pcre.dev pkgs.jdk pkgs.libzip ];
     Rlibeemd = [ pkgs.gsl_1 ];
-    rmatio = [ pkgs.zlib ];
-    Rmpfr = [ pkgs.gmp pkgs.mpfr ];
+    rmatio = [ pkgs.zlib.dev ];
+    Rmpfr = [ pkgs.gmp pkgs.mpfr.dev ];
     Rmpi = [ pkgs.openmpi ];
     RMySQL = [ pkgs.zlib pkgs.mysql.lib ];
     RNetCDF = [ pkgs.netcdf pkgs.udunits ];
     RODBCext = [ pkgs.libiodbc ];
     RODBC = [ pkgs.libiodbc ];
     rpg = [ pkgs.postgresql ];
-    rphast = [ pkgs.pcre pkgs.zlib pkgs.bzip2 pkgs.gzip pkgs.readline ];
+    rphast = [ pkgs.pcre.dev pkgs.zlib pkgs.bzip2 pkgs.gzip pkgs.readline ];
     Rpoppler = [ pkgs.poppler ];
     RPostgreSQL = [ pkgs.postgresql ];
     RProtoBuf = [ pkgs.protobuf ];
     rPython = [ pkgs.python ];
-    RSclient = [ pkgs.openssl ];
+    RSclient = [ pkgs.openssl.dev ];
     Rserve = [ pkgs.openssl ];
-    Rssa = [ pkgs.fftw ];
-    rtfbs = [ pkgs.zlib pkgs.pcre pkgs.bzip2 pkgs.gzip pkgs.readline ];
-    rtiff = [ pkgs.libtiff ];
+    Rssa = [ pkgs.fftw.dev ];
+    rtfbs = [ pkgs.zlib pkgs.pcre.dev pkgs.bzip2 pkgs.gzip pkgs.readline ];
+    rtiff = [ pkgs.libtiff.dev ];
     runjags = [ pkgs.jags ];
-    RVowpalWabbit = [ pkgs.zlib pkgs.boost ];
+    RVowpalWabbit = [ pkgs.zlib.dev pkgs.boost ];
     rzmq = [ pkgs.zeromq3 ];
     SAVE = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre ];
     sdcTable = [ pkgs.gmp pkgs.glpk ];
-    seewave = [ pkgs.fftw pkgs.libsndfile ];
-    seqinr = [ pkgs.zlib ];
-    seqminer = [ pkgs.zlib pkgs.bzip2 ];
-    showtext = [ pkgs.zlib pkgs.libpng pkgs.icu pkgs.freetype ];
+    seewave = [ pkgs.fftw.dev pkgs.libsndfile.dev ];
+    seqinr = [ pkgs.zlib.dev ];
+    seqminer = [ pkgs.zlib.dev pkgs.bzip2 ];
+    showtext = [ pkgs.zlib pkgs.libpng pkgs.icu pkgs.freetype.dev ];
     simplexreg = [ pkgs.gsl_1 ];
     SOD = [ pkgs.cudatoolkit ]; # requres CL/cl.h
-    spate = [ pkgs.fftw ];
+    spate = [ pkgs.fftw.dev ];
     sprint = [ pkgs.openmpi ];
     ssanv = [ pkgs.proj ];
     stsm = [ pkgs.gsl_1 ];
     stringi = [ pkgs.icu.dev ];
     survSNP = [ pkgs.gsl_1 ];
-    sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype ];
-    TAQMNGR = [ pkgs.zlib ];
-    tiff = [ pkgs.libtiff ];
+    sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
+    TAQMNGR = [ pkgs.zlib.dev ];
+    tiff = [ pkgs.libtiff.dev ];
     TKF = [ pkgs.gsl_1 ];
-    tkrplot = [ pkgs.xorg.libX11 ];
+    tkrplot = [ pkgs.xorg.libX11 pkgs.tk.dev ];
     topicmodels = [ pkgs.gsl_1 ];
     udunits2 = [ pkgs.udunits pkgs.expat ];
     V8 = [ pkgs.v8 ];
     VBLPCM = [ pkgs.gsl_1 ];
     VBmix = [ pkgs.gsl_1 pkgs.fftw pkgs.qt4 ];
-    WhopGenome = [ pkgs.zlib ];
-    XBRL = [ pkgs.zlib pkgs.libxml2 ];
-    xml2 = [ pkgs.libxml2 ];
+    WhopGenome = [ pkgs.zlib.dev ];
+    XBRL = [ pkgs.zlib pkgs.libxml2.dev ];
+    xml2 = [ pkgs.libxml2.dev ];
     XML = [ pkgs.libtool pkgs.libxml2.dev pkgs.xmlsec pkgs.libxslt ];
-    affyPLM = [ pkgs.zlib ];
-    bamsignals = [ pkgs.zlib ];
-    BitSeq = [ pkgs.zlib ];
+    affyPLM = [ pkgs.zlib.dev ];
+    bamsignals = [ pkgs.zlib.dev ];
+    BitSeq = [ pkgs.zlib.dev ];
     DiffBind = [ pkgs.zlib ];
     ShortRead = [ pkgs.zlib.dev ];
-    oligo = [ pkgs.zlib ];
-    gmapR = [ pkgs.zlib ];
-    Rsubread = [ pkgs.zlib ];
+    oligo = [ pkgs.zlib.dev ];
+    gmapR = [ pkgs.zlib.dev ];
+    Rsubread = [ pkgs.zlib.dev ];
     XVector = [ pkgs.zlib.dev ];
     Rsamtools = [ pkgs.zlib.dev ];
-    rtracklayer = [ pkgs.zlib ];
-    affyio = [ pkgs.zlib ];
-    VariantAnnotation = [ pkgs.zlib ];
-    snpStats = [ pkgs.zlib ];
+    rtracklayer = [ pkgs.zlib.dev ];
+    affyio = [ pkgs.zlib.dev ];
+    VariantAnnotation = [ pkgs.zlib.dev ];
+    snpStats = [ pkgs.zlib.dev ];
   };
 
   packagesWithBuildInputs = {
@@ -1791,6 +1791,10 @@ let
         '';
     });
 
+    Cairo = old.Cairo.overrideDerivation (attrs: {
+      NIX_LDFLAGS = "-lfontconfig";
+    });
+
     curl = old.curl.overrideDerivation (attrs: {
       preConfigure = "patchShebangs configure";
     });
@@ -1859,6 +1863,7 @@ let
 
     devEMF = old.devEMF.overrideDerivation (attrs: {
       NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft";
+      NIX_LDFLAGS = "-lX11";
     });
 
     slfm = old.slfm.overrideDerivation (attrs: {
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 8f1280012357..1b4fa2851422 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "1.13.6";
-  sha256 = "1xyhy9cn8w9passp64p6hb3df2fpiqbds6rj7xha1335xpgj5zgs";
+  version = "1.13.7";
+  sha256 = "1avvvdzw0k5k2m5n79b96nkmdfd0sjamc676fz7asz4prz2wiw59";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 26925de8db42..20dc23979f5a 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -21,7 +21,7 @@
 , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
 , cmake, libssh2, openssl, mysql, darwin, git, perl, gecode_3, curl
-, libmsgpack, qt48, libsodium, snappy, libossp_uuid
+, libmsgpack, qt48, libsodium, snappy, libossp_uuid, lxc
 }@args:
 
 let
@@ -145,6 +145,10 @@ in
     buildInputs = [ imagemagick pkgconfig which ];
   };
 
+  ruby-lxc = attrs: {
+    buildInputs = [ lxc ];
+  };
+
   ruby-terminfo = attrs: {
     buildInputs = [ ncurses ];
     buildFlags = [
@@ -164,6 +168,10 @@ in
       '';
     } else {};
 
+  sequel_pg = attrs: {
+    buildInputs = [ postgresql ];
+  };
+
   snappy = attrs: {
     buildInputs = [ args.snappy ];
   };
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 1b59285674c4..d6164ef2e4e0 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -3,14 +3,14 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.36.0";
+  version = "0.37.1";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "1371dcn2dy13pm8mb43p61xb2qlyylkiq1hwr0x42lhv1gwdlcnw";
+    sha256 = "1n3pc3nfh7bcaard7y2fy7hjq4k6777wp9xv50r3zg4454mgbmsy";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/kcov/default.nix b/pkgs/development/tools/analysis/kcov/default.nix
index cf5b974b50f9..cbe6e5fdde9e 100644
--- a/pkgs/development/tools/analysis/kcov/default.nix
+++ b/pkgs/development/tools/analysis/kcov/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "kcov-${version}";
-  version = "29";
+  version = "32";
 
   src = fetchurl {
     url = "https://github.com/SimonKagstrom/kcov/archive/v${version}.tar.gz";
-    sha256 = "0nspf1bfq8zv7zmcmvkbgg3c90k10qcd56gyg8ln5z64nadvha9d";
+    sha256 = "0ic5w6r3cpwb32iky1jmyvfclgkqr0rnfyim7j2r6im21846sa85";
   };
 
   preConfigure = "patchShebangs src/bin-to-c-source.py";
diff --git a/pkgs/development/tools/bloaty/default.nix b/pkgs/development/tools/bloaty/default.nix
index c8e667722c50..8970f7a86d19 100644
--- a/pkgs/development/tools/bloaty/default.nix
+++ b/pkgs/development/tools/bloaty/default.nix
@@ -1,13 +1,13 @@
 { stdenv, binutils, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2016.11.16";
+  version = "2016.12.28";
   name = "bloaty-${version}";
 
   src = fetchgit {
     url = "https://github.com/google/bloaty.git";
-    rev = "d040e4821ace478f9b43360acd6801aefdd323f7";
-    sha256 = "1qk2wgd7vzr5zy0332y9h69cwkqmy8x7qz97xpgwwnk54amm8i3k";
+    rev = "2234386bcee7297dfa1b6d8a5d20f95ea4ed9bb0";
+    sha256 = "0cfsjgbp9r16d6qi8v4k609bbhjff4vhdiapfkhr34z1cik1md4l";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 1e4bacb07254..31870fdaf209 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,32 +1,38 @@
 { stdenv, fetchurl, pkgconfig
-, bzip2, curl, expat, libarchive, xz, zlib
-, useNcurses ? false, ncurses, useQt4 ? false, qt4
-, wantPS ? false, ps ? null
+, bzip2, curl, expat, libarchive, xz, zlib, libuv
+# darwin attributes
+, ps
+, isBootstrap ? false
+, useSharedLibraries ? !stdenv.isCygwin
+, useNcurses ? false, ncurses
+, useQt4 ? false, qt4
 }:
 
 with stdenv.lib;
 
-assert wantPS -> (ps != null);
-assert stdenv ? cc;
-assert stdenv.cc ? libc;
-
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "3.6";
-  minorVersion = "2";
+  majorVersion = "3.7";
+  minorVersion = "1";
   version = "${majorVersion}.${minorVersion}";
 in
 
 stdenv.mkDerivation rec {
-  name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
+  name = "cmake-${os isBootstrap "boot-"}${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
 
   inherit majorVersion;
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "0imkz04ncz6cv5659qfd4scm99k3siq7zrrsa8pvp663d8mf76hq";
+    # from https://cmake.org/files/v3.7/cmake-3.7.1-SHA-256.txt
+    sha256 = "449a5bce64dbd4d5b9517ebd1a1248ed197add6ad27934478976fd5f1f9330e1";
   };
 
+  prePatch = optionalString (!useSharedLibraries) ''
+    substituteInPlace Utilities/cmlibarchive/CMakeLists.txt \
+      --replace '"-framework CoreServices"' '""'
+  '';
+
   # Don't search in non-Nix locations such as /usr, but do search in our libc.
   patches = [ ./search-path-3.2.patch ]
     ++ optional stdenv.isCygwin ./3.2.2-cygwin.patch;
@@ -37,39 +43,36 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   buildInputs =
-    [ setupHook pkgconfig bzip2 curl expat libarchive xz zlib ]
+    [ setupHook pkgconfig ]
+    ++ optionals useSharedLibraries [ bzip2 curl expat libarchive xz zlib libuv ]
     ++ optional useNcurses ncurses
     ++ optional useQt4 qt4;
 
-  propagatedBuildInputs = optional wantPS ps;
+  propagatedBuildInputs = optional stdenv.isDarwin ps;
 
-  preConfigure = with stdenv; ''
-      fixCmakeFiles .
-      substituteInPlace Modules/Platform/UnixPaths.cmake \
-        --subst-var-by libc_bin ${getBin cc.libc} \
-        --subst-var-by libc_dev ${getDev cc.libc} \
-        --subst-var-by libc_lib ${getLib cc.libc}
-      substituteInPlace Modules/FindCxxTest.cmake \
-        --replace "$""{PYTHON_EXECUTABLE}" ${stdenv.shell}
-      configureFlags="--parallel=''${NIX_BUILD_CORES:-1} $configureFlags"
-    '';
-  configureFlags =
-    [ "--docdir=share/doc/${name}"
-      "--no-system-jsoncpp"
-    ]
-    ++ optional (!stdenv.isCygwin) "--system-libs"
+  preConfigure = ''
+    fixCmakeFiles .
+    substituteInPlace Modules/Platform/UnixPaths.cmake \
+      --subst-var-by libc_bin ${getBin stdenv.cc.libc} \
+      --subst-var-by libc_dev ${getDev stdenv.cc.libc} \
+      --subst-var-by libc_lib ${getLib stdenv.cc.libc}
+    substituteInPlace Modules/FindCxxTest.cmake \
+      --replace "$""{PYTHON_EXECUTABLE}" ${stdenv.shell}
+    configureFlags="--parallel=''${NIX_BUILD_CORES:-1} $configureFlags"
+  '';
+
+  configureFlags = [ "--docdir=share/doc/${name}" ]
+    ++ (if useSharedLibraries then [ "--no-system-jsoncpp" "--system-libs" ] else [ "--no-system-libs" ]) # FIXME: cleanup
     ++ optional useQt4 "--qt-gui"
-    ++ ["--"]
-    ++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF";
+    ++ optionals (!useNcurses) [ "--" "-DBUILD_CursesDialog=OFF" ];
 
   dontUseCmakeConfigure = true;
-
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     homepage = http://www.cmake.org/;
     description = "Cross-Platform Makefile Generator";
     platforms = if useQt4 then qt4.meta.platforms else platforms.all;
-    maintainers = with maintainers; [ urkud mornfall ttuegel ];
+    maintainers = with maintainers; [ urkud mornfall ttuegel lnl7 ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index c129d4448a9c..dbdcb6ba8ef5 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -52,12 +52,12 @@ rec {
   };
 
   gradle_latest = gradleGen rec {
-    name = "gradle-3.2.1";
-    nativeVersion = "0.11";
+    name = "gradle-3.3";
+    nativeVersion = "0.12";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "1286wqycc7xnrkn6n37r5g19ajv6igqhavdh9pjxqmry9mjs6hwq";
+      sha256 = "14m2m5f5s2cpp6w0x3lkq6lyx5cd7jp0hldnrab0dkyqg31511n5";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index 550a59a887e4..630dc4c751ee 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -2,13 +2,13 @@
 
 let
   name = "scons";
-  version = "2.5.0";
+  version = "2.5.1";
 in python2Packages.buildPythonApplication {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
-    sha256 = "1sdcj8iapfzmlq7098yas40qwl6khsiwydbxv33sw81wy93nnagb";
+    sha256 = "1wji1z9jdkhnmm99apx6fhld9cs52rr56aigniyrcsmlwy52298b";
   };
   # No tests
   doCheck = false;
diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix
new file mode 100644
index 000000000000..7db0d89e8b1f
--- /dev/null
+++ b/pkgs/development/tools/build-managers/shards/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, crystal, libyaml, which }:
+
+stdenv.mkDerivation rec {
+  name = "shards-${version}";
+  version = "0.7.1";
+
+  src = fetchurl {
+    url = "https://github.com/crystal-lang/shards/archive/v${version}.tar.gz";
+    sha256 = "31de819c66518479682ec781a39ef42c157a1a8e6e865544194534e2567cb110";
+  };
+
+  buildInputs = [ crystal libyaml which ];
+
+  buildFlags = [ "CRFLAGS=" "release" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/shards $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://crystal-lang.org/";
+    license = licenses.asl20;
+    description = "Dependency manager for the Crystal language";
+    maintainers = with maintainers; [ mingchuan ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 2a546c8c9073..1338201b9962 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "1.8.0";
+  version = "1.9.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "0fa8hfdxg903n1dqrqbm4069sr8rq6zx7zzybfyj7qz4mmayp24m";
+    sha256 = "12hcpvc0j6g200qhz12gfsslngbqx4sifrikr05vh2av17hba25s";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "1rvvz34rsjxrgg59rda6v4k8zw16slwprnh4h5b16yhyp7lcx93q";
+    sha256 = "1hqwhg94g514g0ad4h0h7wh7k5clm9i7whzr6c30i8yb00ga628s";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-ci-multi-runner";
     rev = "v${version}";
-    sha256 = "0svmy2dc4h6jll80y8j2ml7k0a9krknsp9d0zpsfkw3wcz1wfipl";
+    sha256 = "1b30daxnpn1psy3vds1m4mnbl2hmvr2bc0zrd3nn9xm3xacm3dqj";
   };
 
   buildInputs = [ go-bindata ];
@@ -57,7 +57,7 @@ buildGoPackage rec {
   '';
 
   meta = with lib; {
-    description = "GitLab Runner the continous integration executor of GitLab";
+    description = "GitLab Runner the continuous integration executor of GitLab";
     license = licenses.mit;
     homepage = "https://about.gitlab.com/gitlab-ci/";
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 5305297a27af..b49719ae0b96 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -1,4 +1,13 @@
-{ stdenv, fetchurl, jre, makeWrapper }:
+{ stdenv, fetchurl, writeText, jre, makeWrapper, fetchMavenArtifact
+, mysqlSupport ? true, mysql_jdbc ? null }:
+
+assert mysqlSupport -> mysql_jdbc != null;
+
+with stdenv.lib;
+let
+  extraJars = optional mysqlSupport mysql_jdbc;
+
+in
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -16,18 +25,38 @@ stdenv.mkDerivation rec {
     tar xfz ${src}
   '';
 
-  installPhase = ''
-    mkdir -p $out/{bin,lib,sdk}
-    mv ./* $out/
-    wrapProgram $out/liquibase --prefix PATH ":" ${jre}/bin --set LIQUIBASE_HOME $out;
-    ln -s $out/liquibase $out/bin/liquibase
+  installPhase =
+    let addJars = dir: ''
+      for jar in ${dir}/*.jar; do
+        CP="\$CP":"\$jar"
+      done
+    '';
+    in ''
+      mkdir -p $out/{bin,lib,sdk}
+      mv ./* $out/
+
+      # we provide our own script
+      rm $out/liquibase
+
+      # there’s a lot of escaping, but I’m not sure how to improve that
+      cat > $out/bin/liquibase <<EOF
+      #!/usr/bin/env bash
+      # taken from the executable script in the source
+      CP="$out/liquibase.jar"
+      ${addJars "$out/lib"}
+      ${concatStringsSep "\n" (map (p: addJars "${p}/share/java") extraJars)}
+
+      ${getBin jre}/bin/java -cp "\$CP" \$JAVA_OPTS \
+        liquibase.integration.commandline.Main \''${1+"\$@"}
+      EOF
+      chmod +x $out/bin/liquibase
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Version Control for your database";
     homepage = "http://www.liquibase.org/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ nequissimus ];
+    maintainers = with maintainers; [ nequissimus profpatsch ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index e789370d5858..1bd7ac76bb19 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv }:
 
 let
-  version = "1.2.2";
+  version = "1.4.13";
   name = "electron-${version}";
 
   meta = with stdenv.lib; {
@@ -17,7 +17,7 @@ let
 
     src = fetchurl {
       url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
-      sha256 = "0jqzs1297f6w7s4j9pd7wyyqbidb0c61yjz47raafslg6nljgp1c";
+      sha256 = "1fd8axaln31c550dh7dnfwigrp44ahp142cklpdc57mz34xjawp3";
       name = "${name}.zip";
     };
 
@@ -45,7 +45,7 @@ let
 
     src = fetchurl {
       url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
-      sha256 = "0rqlpj3400qjsfj8k4lwajrwv5l6f8mhrpvsma7p36fw5qjbwp1z";
+      sha256 = "0aa4wrba1y7pab5g6bzxagj5dfl9bqrbpj3bbi5v5gsd0h34k0yx";
       name = "${name}.zip";
     };
 
diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix
new file mode 100644
index 000000000000..7ebbc1b88e30
--- /dev/null
+++ b/pkgs/development/tools/godot/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, gcc, scons, pkgconfig, libX11, libXcursor
+, libXinerama, libXrandr, libXrender, freetype, openssl, alsaLib
+, libpulseaudio, mesa, mesa_glu, zlib }:
+
+stdenv.mkDerivation rec {
+  name    = "godot-${version}";
+  version = "2.1.1-stable";
+
+  src = fetchFromGitHub {
+    owner  = "godotengine";
+    repo   = "godot";
+    rev    = version;
+    sha256 = "071qkm1l6yn2s9ha67y15w2phvy5m5wl3wqvrslhfmnsir3q3k01";
+  };
+
+  buildInputs = [
+    gcc scons pkgconfig libX11 libXcursor libXinerama libXrandr libXrender
+    freetype openssl alsaLib libpulseaudio mesa mesa_glu zlib
+  ];
+
+  patches = [ ./pkg_config_additions.patch ];
+
+  enableParallelBuilding = true;
+
+  buildPhase = ''
+    scons platform=x11 prefix=$out -j $NIX_BUILD_CORES
+  '';
+
+  installPhase = ''
+    mkdir $out/bin -p
+    cp bin/godot.* $out/bin/
+  '';
+
+  meta = {
+    homepage    = "http://godotengine.org";
+    description = "Free and Open Source 2D and 3D game engine";
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/godot/pkg_config_additions.patch b/pkgs/development/tools/godot/pkg_config_additions.patch
new file mode 100644
index 000000000000..f5e835a73749
--- /dev/null
+++ b/pkgs/development/tools/godot/pkg_config_additions.patch
@@ -0,0 +1,12 @@
++++ build/platform/x11/detect.py
+@@ -132,6 +132,10 @@
+     env.ParseConfig('pkg-config xinerama --cflags --libs')
+     env.ParseConfig('pkg-config xcursor --cflags --libs')
+     env.ParseConfig('pkg-config xrandr --cflags --libs')
++    env.ParseConfig('pkg-config xrender --cflags --libs')
++    env.ParseConfig('pkg-config osmesa --cflags')
++    env.ParseConfig('pkg-config glu --cflags --libs')
++    env.ParseConfig('pkg-config zlib --cflags --libs')
+
+     if (env['builtin_openssl'] == 'no'):
+         env.ParseConfig('pkg-config openssl --cflags --libs')
diff --git a/pkgs/development/tools/jid/default.nix b/pkgs/development/tools/jid/default.nix
index e77921c5437c..9c52ac615514 100644
--- a/pkgs/development/tools/jid/default.nix
+++ b/pkgs/development/tools/jid/default.nix
@@ -3,8 +3,8 @@
 
 buildGoPackage rec {
   name = "jid-${version}";
-  version = "0.6.1";
-  rev = "0.6.1";
+  version = "0.7.1";
+  rev = "${version}";
 
   goPackagePath = "github.com/simeji/jid";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "simeji";
     repo = "jid";
     inherit rev;
-    sha256 = "0hnda2nqgirwbqbzq38kbl83cr0kn7hxsh4wim4fwwla0hs2nwjg";
+    sha256 = "08snlqqch91w88zysfcavmqsafq93zzpkdjqkq1y7hx516fdaz1w";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/jid/deps.nix b/pkgs/development/tools/jid/deps.nix
index 4bc32247c08f..c3ec502b2a99 100644
--- a/pkgs/development/tools/jid/deps.nix
+++ b/pkgs/development/tools/jid/deps.nix
@@ -10,6 +10,33 @@
     };
   }
   {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "e8e01ee22a7d4a91b49646e39245fe08e69c7878";
+      sha256 = "1660g29qhshk6zxhpnc0f52m69jdqqdw2ccbkqw9y4kilnripfvl";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "d228849504861217f796da67fae4f6e347643f15";
+      sha256 = "0ch5sfcpmqczsh8kjbwpzdw31lacbkfyzvpzh4disnhhydbxjq0d";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "30a891c33c7cde7b02a981314b4228ec99380cca";
+      sha256 = "03gsxn89pgkj4jkxm9avnj4f0ckvcskc6fj2lcd98l3akrz50ndg";
+    };
+  }
+  {
     goPackagePath = "github.com/mattn/go-runewidth";
     fetch = {
       type = "git";
@@ -23,8 +50,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "0b413bfa31e8c6843db20dce4454566b1951709e";
-      sha256 = "1n45cq3p7z5533bmsqj3a0xvp7c8ncb52k3l8zqvd37f34zpsyxb";
+      rev = "abe82ce5fb7a42fbd6784a5ceb71aff977e09ed8";
+      sha256 = "156i8apkga8b3272kjhapyqwspgcfkrr9kpqwc5lii43k4swghpv";
+    };
+  }
+  {
+    goPackagePath = "github.com/nwidger/jsoncolor";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nwidger/jsoncolor";
+      rev = "0192e84d44af834c3a90c8a17bf670483b91ad5a";
+      sha256 = "17mndgd1d233c22bd19xv4v2l2i5k8kz7y6n4n54a9i7fi9d10al";
     };
   }
   {
diff --git a/pkgs/development/tools/libsigrokdecode/default.nix b/pkgs/development/tools/libsigrokdecode/default.nix
index 706b9bde3273..539a5bd845da 100644
--- a/pkgs/development/tools/libsigrokdecode/default.nix
+++ b/pkgs/development/tools/libsigrokdecode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python3, libsigrok, check }:
 
 stdenv.mkDerivation rec {
-  name = "libsigrokdecode-0.4.0";
+  name = "libsigrokdecode-0.4.1";
 
   src = fetchurl {
     url = "http://sigrok.org/download/source/libsigrokdecode/${name}.tar.gz";
-    sha256 = "0drmxjc2xavccjl2i6vcjipijrn7459nv8cpmm788pi4fcdrszpx";
+    sha256 = "15aabl9p4586v2bkj4bm4xi7l3309r9zb31sw233s5vi170p0pq6";
   };
 
   buildInputs = [ pkgconfig glib python3 libsigrok check ];
diff --git a/pkgs/development/tools/makerpm/default.nix b/pkgs/development/tools/makerpm/default.nix
new file mode 100644
index 000000000000..404f3758ced4
--- /dev/null
+++ b/pkgs/development/tools/makerpm/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, zlib, libarchive, openssl }: 
+
+stdenv.mkDerivation rec { 
+  version = "1.0";
+  name = "makerpm-${version}";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp makerpm $out/bin
+  '';
+
+  buildInputs = [ zlib libarchive openssl ];
+
+  src = fetchFromGitHub {
+    owner = "ivan-tkatchev";
+    repo = "makerpm";
+    rev = "${version}";
+    sha256 = "089dkbh5705ppyi920rd0ksjc0143xmvnhm8qrx93rsgwc1ggi1y";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ivan-tkatchev/makerpm/;
+    description = "A clean, simple RPM packager reimplemented completely from scratch";
+    license = licenses.free;
+    platforms = platforms.all;
+    maintainers = [ maintainers.ivan-tkatchev ];
+  };
+}
diff --git a/pkgs/development/tools/misc/cscope/default.nix b/pkgs/development/tools/misc/cscope/default.nix
index 2dff98a212d6..b737bb7a7dab 100644
--- a/pkgs/development/tools/misc/cscope/default.nix
+++ b/pkgs/development/tools/misc/cscope/default.nix
@@ -53,6 +53,6 @@ stdenv.mkDerivation rec {
 
     maintainers = with stdenv.lib.maintainers; [viric];
 
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 6386d3176a92..6e80f0907bc6 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -3,15 +3,13 @@
 # TODO: Look at the hardcoded paths to kernel, modules etc.
 stdenv.mkDerivation rec {
   name = "elfutils-${version}";
-  version = "0.165";
+  version = "0.168";
 
   src = fetchurl {
-    url = "http://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2";
-    sha256 = "0wp91hlh9n0ismikljf63558rzdwim8w1s271grsbaic35vr5z57";
+    url = "https://sourceware.org/elfutils/ftp/${version}/${name}.tar.bz2";
+    sha256 = "0xn2fbgda1i703csfs35frvm7l068ybmay4ssrykqdx17f4hg3dq";
   };
 
-  patches = [ ./glibc-2.21.patch ];
-
   hardeningDisable = [ "format" ];
 
   # We need bzip2 in NativeInputs because otherwise we can't unpack the src,
@@ -68,7 +66,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = https://fedorahosted.org/elfutils/;
+    homepage = https://sourceware.org/elfutils/;
     description = "A set of utilities to handle ELF objects";
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl3;
diff --git a/pkgs/development/tools/misc/elfutils/glibc-2.21.patch b/pkgs/development/tools/misc/elfutils/glibc-2.21.patch
deleted file mode 100644
index f67632741e51..000000000000
--- a/pkgs/development/tools/misc/elfutils/glibc-2.21.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From b9d70fb9fb0bd0bf84eb2302cba1691aea74c42e Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mjw@redhat.com>
-Date: Wed, 13 Jan 2016 17:16:48 +0100
-Subject: [PATCH] libelf: Add ELF compression types and defines to libelf.h for
- older glibc.
-
-Older glibc elf.h might not define the new ELF compression defines and
-types. If not just define them in libelf.h directly to make the libelf
-headers work on older glibc systems.
-
-Also include a testcase to check the libelf headers build against the
-system elf.h.
-
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=810885
-
-Signed-off-by: Mark Wielaard <mjw@redhat.com>
----
- libelf/ChangeLog               |  5 +++++
- libelf/libelf.h                | 28 ++++++++++++++++++++++++++++
- tests/ChangeLog                |  8 ++++++++
- tests/Makefile.am              |  9 +++++++--
- tests/system-elf-libelf-test.c | 35 +++++++++++++++++++++++++++++++++++
- 5 files changed, 83 insertions(+), 2 deletions(-)
- create mode 100644 tests/system-elf-libelf-test.c
-
-diff --git a/libelf/ChangeLog b/libelf/ChangeLog
-index 3a1fe91..aabf6f6 100644
---- a/libelf/ChangeLog
-+++ b/libelf/ChangeLog
-@@ -1,3 +1,8 @@
-+2016-01-13  Mark Wielaard  <mjw@redhat.com>
-+
-+	* libelf.h: Check SHF_COMPRESSED is defined. If not define it and the
-+	associated ELF compression types/defines.
-+
- 2015-11-26  Mark Wielaard  <mjw@redhat.com>
- 
- 	* elf_compress.c (__libelf_decompress_elf): New function, extracted
-diff --git a/libelf/libelf.h b/libelf/libelf.h
-index 364e776..c0d6389 100644
---- a/libelf/libelf.h
-+++ b/libelf/libelf.h
-@@ -35,6 +35,34 @@
- /* Get the ELF types.  */
- #include <elf.h>
- 
-+#ifndef SHF_COMPRESSED
-+ /* Older glibc elf.h might not yet define the ELF compression types.  */
-+ #define SHF_COMPRESSED      (1 << 11)  /* Section with compressed data. */
-+
-+ /* Section compression header.  Used when SHF_COMPRESSED is set.  */
-+
-+ typedef struct
-+ {
-+   Elf32_Word   ch_type;        /* Compression format.  */
-+   Elf32_Word   ch_size;        /* Uncompressed data size.  */
-+   Elf32_Word   ch_addralign;   /* Uncompressed data alignment.  */
-+ } Elf32_Chdr;
-+
-+ typedef struct
-+ {
-+   Elf64_Word   ch_type;        /* Compression format.  */
-+   Elf64_Word   ch_reserved;
-+   Elf64_Xword  ch_size;        /* Uncompressed data size.  */
-+   Elf64_Xword  ch_addralign;   /* Uncompressed data alignment.  */
-+ } Elf64_Chdr;
-+
-+ /* Legal values for ch_type (compression algorithm).  */
-+ #define ELFCOMPRESS_ZLIB       1          /* ZLIB/DEFLATE algorithm.  */
-+ #define ELFCOMPRESS_LOOS       0x60000000 /* Start of OS-specific.  */
-+ #define ELFCOMPRESS_HIOS       0x6fffffff /* End of OS-specific.  */
-+ #define ELFCOMPRESS_LOPROC     0x70000000 /* Start of processor-specific.  */
-+ #define ELFCOMPRESS_HIPROC     0x7fffffff /* End of processor-specific.  */
-+#endif
- 
- /* Known translation types.  */
- typedef enum
-diff --git a/tests/ChangeLog b/tests/ChangeLog
-index 366aea9..234ae56 100644
---- a/tests/ChangeLog
-+++ b/tests/ChangeLog
-@@ -1,3 +1,11 @@
-+2016-01-13  Mark Wielaard  <mjw@redhat.com>
-+
-+	* system-elf-libelf-test.c: New test.
-+	* Makefile.am (TESTS): Add system-elf-libelf-test, if !STANDALONE.
-+	(check_PROGRAMS): Likewise.
-+	(system_elf_libelf_test_CPPFLAGS): New variable.
-+	(system_elf_libelf_test_LDADD): Likewise.
-+
- 2016-01-08  Mark Wielaard  <mjw@redhat.com>
- 
- 	* elfputzdata.c (main): Fix parentheses in strncmp test.
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index d09a6d7..7b9e108 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -136,8 +136,8 @@ export ELFUTILS_DISABLE_DEMANGLE = 1
- endif
- 
- if !STANDALONE
--check_PROGRAMS += msg_tst md5-sha1-test
--TESTS += msg_tst md5-sha1-test
-+check_PROGRAMS += msg_tst md5-sha1-test system-elf-libelf-test
-+TESTS += msg_tst md5-sha1-test system-elf-libelf-test
- endif
- 
- if LZMA
-@@ -473,6 +473,11 @@ elfgetzdata_LDADD = $(libelf)
- elfputzdata_LDADD = $(libelf)
- zstrptr_LDADD = $(libelf)
- 
-+# We want to test the libelf header against the system elf.h header.
-+# Don't include any -I CPPFLAGS.
-+system_elf_libelf_test_CPPFLAGS =
-+system_elf_libelf_test_LDADD = $(libelf)
-+
- if GCOV
- check: check-am coverage
- .PHONY: coverage
-diff --git a/tests/system-elf-libelf-test.c b/tests/system-elf-libelf-test.c
-new file mode 100644
-index 0000000..7dfe498
---- /dev/null
-+++ b/tests/system-elf-libelf-test.c
-@@ -0,0 +1,35 @@
-+/* Explicit test compiling with system elf.h header plus libelf header.
-+
-+   Copyright (C) 2016 Red Hat, Inc.
-+   This file is part of elfutils.
-+
-+   This file is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 3 of the License, or
-+   (at your option) any later version.
-+
-+   elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-+
-+#include <elf.h>
-+#include <stddef.h>
-+#include "../libelf/libelf.h"
-+
-+int
-+main (void)
-+{
-+  /* Trivial test, this is really a compile test anyway.  */
-+  if (elf_version (EV_CURRENT) == EV_NONE)
-+    return -1;
-+
-+  /* This will obviously fail. It is just to check that Elf32_Chdr and
-+     elf32_getchdr are available (both at compile time and runtime).  */
-+  Elf32_Chdr *chdr = elf32_getchdr (NULL);
-+
-+  return chdr == NULL ? 0 : -1;
-+}
--- 
-1.8.3.1
-
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index d609b3b664cc..664b83b7e7c4 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "global-${version}";
-  version = "6.5.5";
+  version = "6.5.6";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "0yyg91qw8399lnxfai4bxkh9yq71qdwp9kvadgzp05cdqni44nxw";
+    sha256 = "018m536k5y6lks1a6gqn3bsp7r8zk017znqj9kva1nm8d7x9lbqj";
   };
 
   nativeBuildInputs = [ libtool makeWrapper ];
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 0696dc906449..fbbd6cc4d6f8 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gnum4-1.4.17";
+  name = "gnum4-1.4.18";
 
   src = fetchurl {
-    url = "mirror://gnu/m4/m4-1.4.17.tar.bz2";
-    sha256 = "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf";
+    url = "mirror://gnu/m4/m4-1.4.18.tar.bz2";
+    sha256 = "1xkwwq0sgv05cla0g0a01yzhk0wpsn9y40w9kh9miiiv0imxfh36";
   };
 
   doCheck = false;
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index e3d2c4950bcd..dbd53c65050c 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -3,7 +3,7 @@
 , gitAndTools, mercurial, darcs, subversion, bazaar, openssl, bzip2, libxslt
 , guile, perl, postgresql92, aws-sdk-cpp, nukeReferences, git, boehmgc
 , docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar
-, rpm, dpkg, cdrkit, fetchpatch }:
+, rpm, dpkg, cdrkit, fetchpatch, pixz }:
 
 with stdenv;
 
@@ -61,21 +61,17 @@ let
   };
 in releaseTools.nixBuild rec {
   name = "hydra-${version}";
-  version = "2016-04-15";
+  version = "2016-12-09";
+
+  inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "177bf25d648092826a75369191503a3f2bb763a4";
-    sha256 = "0ngipzm2i2vz5ygfd70hh82d027snpl85r8ncn1rxlkak0g8fxsl";
+    rev = "de55303197d997c4fc5503b52b1321ae9528583d";
+    sha256 = "0nimqsbpjxfwha6d5gp6a7jh50i83z1llmx30da4bscsic8z1xly";
   };
 
-  patches = [(fetchpatch {
-    name = "cmath.diff";
-    url = https://github.com/vcunat/hydra/commit/3c6fca1ba299.diff; # https://github.com/NixOS/hydra/pull/337
-    sha256 = "02m9q304ay45s7xfkm2y7lppakrkx3hrq39mm6348isnbqmbarc0";
-  })];
-
   buildInputs =
     [ makeWrapper autoconf automake libtool unzip nukeReferences pkgconfig sqlite libpqxx
       gitAndTools.topGit mercurial darcs subversion bazaar openssl bzip2 libxslt
@@ -96,7 +92,7 @@ in releaseTools.nixBuild rec {
     ];
 
   hydraPath = lib.makeBinPath (
-    [ libxslt sqlite subversion openssh nixUnstable coreutils findutils
+    [ sqlite subversion openssh nixUnstable coreutils findutils pixz
       gzip bzip2 lzma gnutar unzip git gitAndTools.topGit mercurial darcs gnused bazaar
     ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] );
 
@@ -108,7 +104,7 @@ in releaseTools.nixBuild rec {
   configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
 
   preHook = ''
-    PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$PATH
+    PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$(pwd)/src/hydra-evaluator:$PATH
     PERL5LIB=$(pwd)/src/lib:$PERL5LIB;
   '';
 
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index e1741118fb0f..03a686c125f0 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.4.0";
+    version="2.4.2";
     name="${baseName}-${version}";
-    hash="1hwpjj4nvy8m7hfmhf52vbhmlh7r3wfjjcc589yj8dnh528iqf24";
-    url="http://luarocks.org/releases/luarocks-2.4.0.tar.gz";
-    sha256="1hwpjj4nvy8m7hfmhf52vbhmlh7r3wfjjcc589yj8dnh528iqf24";
+    hash="1rfjfjgnafjxs1zrd1gy0ga5lw28sf5lrdmgzgh6bcp1hd2w67hf";
+    url="http://luarocks.org/releases/luarocks-2.4.2.tar.gz";
+    sha256="1rfjfjgnafjxs1zrd1gy0ga5lw28sf5lrdmgzgh6bcp1hd2w67hf";
   };
   buildInputs = [
     lua curl makeWrapper which unzip
@@ -47,6 +47,6 @@ stdenv.mkDerivation {
     description = ''A package manager for Lua'';
     license = stdenv.lib.licenses.mit ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/tools/misc/rolespec/default.nix b/pkgs/development/tools/misc/rolespec/default.nix
index f9254abe102f..6eb13bb242da 100644
--- a/pkgs/development/tools/misc/rolespec/default.nix
+++ b/pkgs/development/tools/misc/rolespec/default.nix
@@ -7,8 +7,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "nickjj";
     repo = "rolespec";
-    rev = "64a2092773b77f7a888522ceddd815e97b129321";
-    sha256 = "1867acxy18a3cgi84iwsp37sxglaljn1dq50amahp5zkmd8x8vnz";
+    rev = "d9ee530cd709168882059776c482fc37f46cb743";
+    sha256 = "1jkidw6aqr0zfqwmcvlpi9qa140z2pxcfsd43xm5ikx6jcwjdrzl";
     inherit name;
   };
 
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/nickjj/rolespec";
     license = licenses.gpl3;
-    version = "20160105";
+    version = "20161104";
     maintainers = [ maintainers.dochang ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix
index 9adaa3689973..903359f5c762 100644
--- a/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -2,17 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "universal-ctags-${version}";
-  version = "2016-07-06";
+  version = "2017-01-08";
 
   src = fetchFromGitHub {
     owner = "universal-ctags";
     repo = "ctags";
-    rev = "44a325a9db23063b231f6f041af9aaf19320d9b9";
-    sha256 = "11vq901h121ckqgw52k9x7way3q38b7jd08vr1n2sjz7kxh0zdd0";
+    rev = "9668032d8715265ca5b4ff16eb2efa8f1c450883";
+    sha256 = "0nwcf5mh3ba0g23zw7ym73pgpfdass412k2fy67ryr9vnc709jkj";
   };
 
   buildInputs = [ autoreconfHook pkgconfig ];
 
+  # remove when https://github.com/universal-ctags/ctags/pull/1267 is merged
+  patches = [ ./sed-test.patch ];
+
   autoreconfPhase = ''
     ./autogen.sh --tmpdir
   '';
@@ -21,6 +24,10 @@ stdenv.mkDerivation rec {
     sed -i 's|/usr/bin/env perl|${perl}/bin/perl|' misc/optlib2c
   '';
 
+  doCheck = true;
+
+  checkFlags = "units";
+
   meta = with stdenv.lib; {
     description = "A maintained ctags implementation";
     homepage = "https://ctags.io/";
diff --git a/pkgs/development/tools/misc/universal-ctags/sed-test.patch b/pkgs/development/tools/misc/universal-ctags/sed-test.patch
new file mode 100644
index 000000000000..7c44d699d79a
--- /dev/null
+++ b/pkgs/development/tools/misc/universal-ctags/sed-test.patch
@@ -0,0 +1,12 @@
+--- a/Tmain/sorted-help-message.d/run.sh	2017-01-10 11:20:51.515093465 +0100
++++ b/Tmain/sorted-help-message.d/run.sh	2017-01-10 11:17:56.639213720 +0100
+@@ -27,7 +27,7 @@
+ extract_long_options()
+ {
+     sed -n '/Usage:/,$p'  | \
+-    sed -n 's/\(^  --[:alnum:][<>[:alnum:]_-]*\).*/\1/p'
++    sed -n 's/\(^  --[[:alnum:]][<>[:alnum:]_-]*\).*/\1/p'
+ }
+
+ extract_debug_options()
+
diff --git a/pkgs/development/tools/nrpl/default.nix b/pkgs/development/tools/nrpl/default.nix
new file mode 100644
index 000000000000..d6a357235902
--- /dev/null
+++ b/pkgs/development/tools/nrpl/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, lib, fetchFromGitHub, fetchpatch, makeWrapper, nim, pcre, tinycc }:
+
+stdenv.mkDerivation rec {
+  name = "nrpl-${version}";
+  version = "20150522";
+
+  src = fetchFromGitHub {
+    owner  = "wheineman";
+    repo   = "nrpl";
+    rev    = "6d6c189ab7d1c905cc29dc678d66e9e132026f69";
+    sha256 = "1cly9lhrawnc42r31b7r0p0i6hcx8r00aa17gv7w9pcpj8ngb4v2";
+  };
+
+  buildInputs = [ makeWrapper nim pcre ];
+
+  patches = [
+    (fetchpatch {
+      url    = https://patch-diff.githubusercontent.com/raw/wheineman/nrpl/pull/12.patch;
+      name   = "update_for_new_nim.patch";
+      sha256 = "1zff7inhn3l1jnxcnidy705lzi3wqib1chf4rayh1g9i23an7wg1";
+    })
+  ];
+
+  NIX_LDFLAGS = [
+    "-lpcre"
+  ];
+
+  buildPhase = "nim c -d:release nrpl.nim";
+
+  installPhase = "install -Dt $out/bin nrpl";
+
+  postFixup = ''
+    wrapProgram $out/bin/nrpl \
+      --prefix PATH : ${lib.makeBinPath [ nim tinycc ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "REPL for the Nim programming language";
+    homepage = https://github.com/wheineman/nrpl;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
index b19f078d9a27..33a7fe52c394 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
@@ -8,9 +8,9 @@ stdenv.mkDerivation {
     sha256 = "1dali1akyd4zmkwav0d957ynxq2jj6cc94r4xiaql7ca89ajz4jj";
     };
 
-  buildInputs = [ ocaml findlib menhir ocsigen_deriving ppx_deriving
+  buildInputs = [ ocaml findlib menhir ocsigen_deriving
                  cmdliner tyxml reactivedata cppo which base64];
-  propagatedBuildInputs = [ ocaml_lwt camlp4 ];
+  propagatedBuildInputs = [ ocaml_lwt camlp4 ppx_deriving ];
 
   patches = [ ./Makefile.conf.diff ];
 
diff --git a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
new file mode 100644
index 000000000000..9f318afc67d7
--- /dev/null
+++ b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, makeWrapper, ocaml, ncurses}:
+let
+  pname = "omake";
+  version = "0.9.8.6-0.rc1";
+  webpage = "http://omake.metaprl.org";
+in
+stdenv.mkDerivation {
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
+    sha256 = "1sas02pbj56m7wi5vf3vqrrpr4ynxymw2a8ybvfj2dkjf7q9ii13";
+  };
+  patchFlags = "-p0";
+  patches = [ ./warn.patch ];
+
+  buildInputs = [ ocaml makeWrapper ncurses ];
+
+  phases = "unpackPhase patchPhase buildPhase";
+  buildPhase = ''
+    make bootstrap
+    make PREFIX=$out all
+    make PREFIX=$out install
+  '';
+#  prefixKey = "-prefix ";
+#
+#  configureFlags = if transitional then "--transitional" else "--strict";
+#
+#  buildFlags = "world.opt";		
+
+  meta = {
+    description = "Omake build system";
+    homepage = "${webpage}";
+    license = "GPL";
+    platforms = ocaml.meta.platforms or [];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/omake/warn.patch b/pkgs/development/tools/ocaml/omake/warn.patch
new file mode 100644
index 000000000000..4459e89d7f9c
--- /dev/null
+++ b/pkgs/development/tools/ocaml/omake/warn.patch
@@ -0,0 +1,10 @@
+diff -p1 -aur ../omake-0.9.8.6.ori/lib/build/OCaml.om ./lib/build/OCaml.om
+--- ../omake-0.9.8.6.ori/lib/build/OCaml.om	2008-03-05 01:07:25.000000000 +0000
++++ ./lib/build/OCaml.om	2013-06-01 15:52:37.000000000 +0000
+@@ -178,3 +178,3 @@ declare OCAMLDEPFLAGS
+ public.OCAMLPPFLAGS  =
+-public.OCAMLFLAGS    = -warn-error A
++public.OCAMLFLAGS    =
+ public.OCAMLCFLAGS   = -g
+Seulement dans ./lib/build: OCaml.om~
+Seulement dans .: warn.patch
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 7e8e2092ceb7..d7e6bbd0351c 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,47 +1,18 @@
-{ stdenv, lib, gox, gotools, buildGoPackage, fetchFromGitHub
-, fetchgit, fetchhg, fetchbzr, fetchsvn }:
-
-stdenv.mkDerivation rec {
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+buildGoPackage rec {
   name = "packer-${version}";
-  version = "0.10.1";
-
-  src = (import ./deps.nix {
-    inherit stdenv lib gox gotools buildGoPackage fetchgit fetchhg fetchbzr fetchsvn;
-  }).out;
-
-  buildInputs = [ src.go gox gotools ];
-
-  configurePhase = ''
-    export GOPATH=$PWD/share/go
-    export XC_ARCH=$(go env GOARCH)
-    export XC_OS=$(go env GOOS)
+  version = "0.12.1";
 
-    mkdir $GOPATH/bin
+  goPackagePath = "github.com/mitchellh/packer";
 
-    cd $GOPATH/src/github.com/mitchellh/packer
+  subPackages = [ "." ];
 
-    # Don't fetch the deps
-    substituteInPlace "Makefile" --replace ': deps' ':'
-
-    # Avoid using git
-    sed \
-      -e "s|GITBRANCH:=.*||" \
-      -e "s|GITSHA:=.*|GITSHA=${src.rev}|" \
-      -i Makefile
-    sed \
-      -e "s|GIT_COMMIT=.*|GIT_COMMIT=${src.rev}|" \
-      -e "s|GIT_DIRTY=.*|GIT_DIRTY=|" \
-      -i "scripts/build.sh"
-  '';
-
-  buildPhase = ''
-    make generate releasebin
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv bin/* $out/bin
-  '';
+  src = fetchFromGitHub {
+    owner = "mitchellh";
+    repo = "packer";
+    rev = "v${version}";
+    sha256 = "05wd8xf4nahpg96wzligk5av10p0xd2msnb3imk67qgbffrlvmvi";
+  };
 
   meta = with stdenv.lib; {
     description = "A tool for creating identical machine images for multiple platforms from a single source configuration";
diff --git a/pkgs/development/tools/packer/deps.nix b/pkgs/development/tools/packer/deps.nix
deleted file mode 100644
index 25098219ea28..000000000000
--- a/pkgs/development/tools/packer/deps.nix
+++ /dev/null
@@ -1,560 +0,0 @@
-{ stdenv, lib, gox, gotools, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
-
-buildGoPackage rec {
-  name = "packer-${version}";
-  version = "20160507-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "4e5f65131b5491ab44ff8aa0626abe4a85597ac0";
-
-  buildInputs = [ gox gotools ];
-  
-  goPackagePath = "github.com/mitchellh/packer";
-
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/mitchellh/packer";
-    sha256 = "1a61f022h4ygnkp1lyr7vhq5w32a3f061dymgkqmz4c3b8fzcc10";
-  };
-
-  extraSrcs = [
-    {
-      goPackagePath = "github.com/ActiveState/tail";
-
-      src = fetchgit {
-        url = "https://github.com/ActiveState/tail";
-        rev = "1a0242e795eeefe54261ff308dc685f7d29cc58c";
-        sha256 = "0hhr2962xmbqzbf2p79xfrzbmjm33h61fj5zlazj7a55bwxn688d";
-      };
-    }
-    {
-      goPackagePath = "github.com/Azure/azure-sdk-for-go";
-
-      src = fetchgit {
-        url = "https://github.com/Azure/azure-sdk-for-go";
-        rev = "a1883f7b98346e4908a6c25230c95a8a3026a10c";
-        sha256 = "0pxqi0b8qwcc687si3zh6w1d594rxd6kn2wzx23clbp2nc5w3wf4";
-      };
-    }
-    {
-      goPackagePath = "github.com/Azure/go-autorest";
-
-      src = fetchgit {
-        url = "https://github.com/Azure/go-autorest";
-        rev = "b01ec2b60f95678fa759f796bac3c6b9bceaead4";
-        sha256 = "1vqwy4m26ps5lmp066zgiz04s7r2dwa832zjlfmpgha7id16pa0c";
-      };
-    }
-    {
-      goPackagePath = "github.com/Azure/go-ntlmssp";
-
-      src = fetchgit {
-        url = "https://github.com/Azure/go-ntlmssp";
-        rev = "e0b63eb299a769ea4b04dadfe530f6074b277afb";
-        sha256 = "19bn9ds12cyf8y3w5brnxwg8lwdkg16ww9hmnq14y2kmli42l14m";
-      };
-    }
-    {
-      goPackagePath = "github.com/armon/go-radix";
-
-      src = fetchgit {
-        url = "https://github.com/armon/go-radix";
-        rev = "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2";
-        sha256 = "0md8li1gv4ji4vr63cfa2bcmslba94dzw6awzn5ndnpmdb7np6vh";
-      };
-    }
-    {
-      goPackagePath = "github.com/aws/aws-sdk-go";
-
-      src = fetchgit {
-        url = "https://github.com/aws/aws-sdk-go";
-        rev = "8041be5461786460d86b4358305fbdf32d37cfb2";
-        sha256 = "06ilyl1z5mn6i0afd8ila4lr2vwqdgq5zby8v4v2g3dd39qi6jq2";
-      };
-    }
-    {
-      goPackagePath = "github.com/bgentry/speakeasy";
-
-      src = fetchgit {
-        url = "https://github.com/bgentry/speakeasy";
-        rev = "36e9cfdd690967f4f690c6edcc9ffacd006014a0";
-        sha256 = "0grr82p10dk51l082xaqkpq3izj5bhby3l15gj866kngybfb4nzr";
-      };
-    }
-    {
-      goPackagePath = "github.com/dgrijalva/jwt-go";
-
-      src = fetchgit {
-        url = "https://github.com/dgrijalva/jwt-go";
-        rev = "f2193411bd642f7db03249fd79d5292c9b34916a";
-        sha256 = "0nkzn8i5f7x3wyi7mhhj9vpdbkdjvrb9hhrw0fqy6vcghia6dhrj";
-      };
-    }
-    {
-      goPackagePath = "github.com/digitalocean/godo";
-
-      src = fetchgit {
-        url = "https://github.com/digitalocean/godo";
-        rev = "6ca5b770f203b82a0fca68d0941736458efa8a4f";
-        sha256 = "00di15gdv47jfdr1l8cqphmlv5bzalxk7dk53g3mif7vwhs8749j";
-      };
-    }
-    {
-      goPackagePath = "github.com/dylanmei/iso8601";
-
-      src = fetchgit {
-        url = "https://github.com/dylanmei/iso8601";
-        rev = "2075bf119b58e5576c6ed9f867b8f3d17f2e54d4";
-        sha256 = "0px5aq4w96yyjii586h3049xm7rvw5r8w7ph3axhyismrqddqgx1";
-      };
-    }
-    {
-      goPackagePath = "github.com/dylanmei/winrmtest";
-
-      src = fetchgit {
-        url = "https://github.com/dylanmei/winrmtest";
-        rev = "025617847eb2cf9bd1d851bc3b22ed28e6245ce5";
-        sha256 = "1i0wq6r1vm3nhnia3ycm5l590gyia7cwh6971ppnn4rrdmvsw2qh";
-      };
-    }
-    {
-      goPackagePath = "github.com/go-ini/ini";
-
-      src = fetchgit {
-        url = "https://github.com/go-ini/ini";
-        rev = "afbd495e5aaea13597b5e14fe514ddeaa4d76fc3";
-        sha256 = "0dl5ibrrq2i887i0bf8a9m887rhnpgv6wmwyc1sj8a75c0yd02da";
-      };
-    }
-    {
-      goPackagePath = "github.com/google/go-querystring";
-
-      src = fetchgit {
-        url = "https://github.com/google/go-querystring";
-        rev = "2a60fc2ba6c19de80291203597d752e9ba58e4c0";
-        sha256 = "117211606pv0p3p4cblpnirrrassprrvvcq2svwpplsq5vff1rka";
-      };
-    }
-    {
-      goPackagePath = "github.com/hashicorp/atlas-go";
-
-      src = fetchgit {
-        url = "https://github.com/hashicorp/atlas-go";
-        rev = "95fa852edca41c06c4ce526af4bb7dec4eaad434";
-        sha256 = "002lpvxi6my8dk4d4ks091ad66bj6rnz4xchbzpqwvp7n8097aqz";
-      };
-    }
-    {
-      goPackagePath = "github.com/hashicorp/errwrap";
-
-      src = fetchgit {
-        url = "https://github.com/hashicorp/errwrap";
-        rev = "7554cd9344cec97297fa6649b055a8c98c2a1e55";
-        sha256 = "0kmv0p605di6jc8i1778qzass18m0mv9ks9vxxrfsiwcp4la82jf";
-      };
-    }
-    {
-      goPackagePath = "github.com/hashicorp/go-checkpoint";
-
-      src = fetchgit {
-        url = "https://github.com/hashicorp/go-checkpoint";
-        rev = "e4b2dc34c0f698ee04750bf2035d8b9384233e1b";
-        sha256 = "0qjfk1fh5zmn04yzxn98zam8j4ay5mzd5kryazqj01hh7szd0sh5";
-      };
-    }
-    {
-      goPackagePath = "github.com/hashicorp/go-cleanhttp";
-
-      src = fetchgit {
-        url = "https://github.com/hashicorp/go-cleanhttp";
-        rev = "875fb671b3ddc66f8e2f0acc33829c8cb989a38d";
-        sha256 = "0ammv6gn9cmh6padaaw76wa6xvg22a9b3sw078v9chcvfk2bggha";
-      };
-    }
-    {
-      goPackagePath = "github.com/hashicorp/go-multierror";
-
-      src = fetchgit {
-        url = "https://github.com/hashicorp/go-multierror";
-        rev = "d30f09973e19c1dfcd120b2d9c4f168e68d6b5d5";
-        sha256 = "0dc02mvv11hvanh12nhw8jsislnxf6i4gkh6vcil0x23kj00z3iz";
-      };
-    }
-    {
-      goPackagePath = "github.com/hashicorp/go-rootcerts";
-
-      src = fetchgit {
-        url = "https://github.com/hashicorp/go-rootcerts";
-        rev = "6bb64b370b90e7ef1fa532be9e591a81c3493e00";
-        sha256 = "1a81fcm1i0ji2iva0dcimiichgwpbcb7lx0vyaks87zj5wf04qy9";
-      };
-    }
-    {
-      goPackagePath = "github.com/hashicorp/go-version";
-
-      src = fetchgit {
-        url = "https://github.com/hashicorp/go-version";
-        rev = "7e3c02b30806fa5779d3bdfc152ce4c6f40e7b38";
-        sha256 = "0ibqaq6z02himzci4krbfhqdi8fw2gzj9a8z375nl3qbzdgzqnm7";
-      };
-    }
-    {
-      goPackagePath = "github.com/hashicorp/yamux";
-
-      src = fetchgit {
-        url = "https://github.com/hashicorp/yamux";
-        rev = "df949784da9ed028ee76df44652e42d37a09d7e4";
-        sha256 = "080bmbdaq88ri2pn63mcjc4kq2y2sy1742ypqfgrvwssa1ynvnhy";
-      };
-    }
-    {
-      goPackagePath = "github.com/hpcloud/tail";
-
-      src = fetchgit {
-        url = "https://github.com/hpcloud/tail";
-        rev = "1a0242e795eeefe54261ff308dc685f7d29cc58c";
-        sha256 = "0hhr2962xmbqzbf2p79xfrzbmjm33h61fj5zlazj7a55bwxn688d";
-      };
-    }
-    {
-      goPackagePath = "github.com/jmespath/go-jmespath";
-
-      src = fetchgit {
-        url = "https://github.com/jmespath/go-jmespath";
-        rev = "c01cf91b011868172fdcd9f41838e80c9d716264";
-        sha256 = "0lp2m33a6x2pjbv5xlbbcr48qri32s84hcgm3xmgvmrx6zyi74zg";
-      };
-    }
-    {
-      goPackagePath = "github.com/kardianos/osext";
-
-      src = fetchgit {
-        url = "https://github.com/kardianos/osext";
-        rev = "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc";
-        sha256 = "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a";
-      };
-    }
-    {
-      goPackagePath = "github.com/klauspost/compress";
-
-      src = fetchgit {
-        url = "https://github.com/klauspost/compress";
-        rev = "f86d2e6d8a77c6a2c4e42a87ded21c6422f7557e";
-        sha256 = "17f9zxrs2k8q5kghppjnbn0xzl3i4fgl4852kj8cg94b51s5ll9f";
-      };
-    }
-    {
-      goPackagePath = "github.com/klauspost/cpuid";
-
-      src = fetchgit {
-        url = "https://github.com/klauspost/cpuid";
-        rev = "349c675778172472f5e8f3a3e0fe187e302e5a10";
-        sha256 = "1y7gqpcpcb29ws77328vfm30s8nsrbxyylfpb8ksb8wwg062yv6v";
-      };
-    }
-    {
-      goPackagePath = "github.com/klauspost/crc32";
-
-      src = fetchgit {
-        url = "https://github.com/klauspost/crc32";
-        rev = "999f3125931f6557b991b2f8472172bdfa578d38";
-        sha256 = "1sxnq3i7wvcdqx0l91jc04nf5584ym8dxzkz3xvivm8p7kz2xjns";
-      };
-    }
-    {
-      goPackagePath = "github.com/klauspost/pgzip";
-
-      src = fetchgit {
-        url = "https://github.com/klauspost/pgzip";
-        rev = "47f36e165cecae5382ecf1ec28ebf7d4679e307d";
-        sha256 = "00jcx3pdwxi4r2l3m4b8jb17b2srckz488cmjvd1vqkr85a0jp2x";
-      };
-    }
-    {
-      goPackagePath = "github.com/kr/fs";
-
-      src = fetchgit {
-        url = "https://github.com/kr/fs";
-        rev = "2788f0dbd16903de03cb8186e5c7d97b69ad387b";
-        sha256 = "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly";
-      };
-    }
-    {
-      goPackagePath = "github.com/masterzen/simplexml";
-
-      src = fetchgit {
-        url = "https://github.com/masterzen/simplexml";
-        rev = "95ba30457eb1121fa27753627c774c7cd4e90083";
-        sha256 = "0pwsis1f5n4is0nmn6dnggymj32mldhbvihv8ikn3nglgxclz4kz";
-      };
-    }
-    {
-      goPackagePath = "github.com/masterzen/winrm";
-
-      src = fetchgit {
-        url = "https://github.com/masterzen/winrm";
-        rev = "54ea5d01478cfc2afccec1504bd0dfcd8c260cfa";
-        sha256 = "1d4khg7c4vw645id0x301zkgidm4ah6nkmiq52j8wsivi85yhn66";
-      };
-    }
-    {
-      goPackagePath = "github.com/masterzen/xmlpath";
-
-      src = fetchgit {
-        url = "https://github.com/masterzen/xmlpath";
-        rev = "13f4951698adc0fa9c1dda3e275d489a24201161";
-        sha256 = "1y81h7ymk3dp3w3a2iy6qd1dkm323rkxa27dzxw8vwy888j5z8bk";
-      };
-    }
-    {
-      goPackagePath = "github.com/mattn/go-isatty";
-
-      src = fetchgit {
-        url = "https://github.com/mattn/go-isatty";
-        rev = "56b76bdf51f7708750eac80fa38b952bb9f32639";
-        sha256 = "0l8lcp8gcqgy0g1cd89r8vk96nami6sp9cnkx60ms1dn6cqwf5n3";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/cli";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/cli";
-        rev = "5c87c51cedf76a1737bf5ca3979e8644871598a6";
-        sha256 = "1ajxzh3winjnmqhd4yn6b6f155vfzi0dszhzl4a00zb5pdppp1rd";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/go-fs";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/go-fs";
-        rev = "a34c1b9334e86165685a9449b782f20465eb8c69";
-        sha256 = "11sy85p77ffmavpiichzybrfvjm1ilsi4clx98n3363arksavs5i";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/go-homedir";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/go-homedir";
-        rev = "d682a8f0cf139663a984ff12528da460ca963de9";
-        sha256 = "0vsiby9fbkaz7q067wmc6s5pzgpq4gdfx66cj2a1lbdarf7j1kbs";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/go-vnc";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/go-vnc";
-        rev = "723ed9867aed0f3209a81151e52ddc61681f0b01";
-        sha256 = "0nlya2rbmwb3jycqsyah1pn4386712mfrfiprprkbzcna9q7lp1h";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/iochan";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/iochan";
-        rev = "87b45ffd0e9581375c491fef3d32130bb15c5bd7";
-        sha256 = "1435kdcx3j1xgr6mm5c7w7hjx015jb20yfqlkp93q143hspf02fx";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/mapstructure";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/mapstructure";
-        rev = "281073eb9eb092240d33ef253c404f1cca550309";
-        sha256 = "1zjx9fv29639sp1fn84rxs830z7gp7bs38yd5y1hl5adb8s5x1mh";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/multistep";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/multistep";
-        rev = "162146fc57112954184d90266f4733e900ed05a5";
-        sha256 = "0ydhbxziy9204qr43pjdh88y2jg34g2mhzdapjyfpf8a1rin6dn3";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/panicwrap";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/panicwrap";
-        rev = "a1e50bc201f387747a45ffff020f1af2d8759e88";
-        sha256 = "0w5y21psgrl1afsap613c3qw84ik7zhnalnv3bf6r51hyv187y69";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/prefixedio";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/prefixedio";
-        rev = "6e6954073784f7ee67b28f2d22749d6479151ed7";
-        sha256 = "0an2pnnda33ns94v7x0sv9kmsnk62r8xm0cj4d69f2p63r85fdp6";
-      };
-    }
-    {
-      goPackagePath = "github.com/mitchellh/reflectwalk";
-
-      src = fetchgit {
-        url = "https://github.com/mitchellh/reflectwalk";
-        rev = "eecf4c70c626c7cfbb95c90195bc34d386c74ac6";
-        sha256 = "1nm2ig7gwlmf04w7dbqd8d7p64z2030fnnfbgnd56nmd7dz8gpxq";
-      };
-    }
-    {
-      goPackagePath = "github.com/nu7hatch/gouuid";
-
-      src = fetchgit {
-        url = "https://github.com/nu7hatch/gouuid";
-        rev = "179d4d0c4d8d407a32af483c2354df1d2c91e6c3";
-        sha256 = "175alsrjb2a1qzwp1l323vwwpirzaj95yfqqfi780698myhpb52k";
-      };
-    }
-    {
-      goPackagePath = "github.com/packer-community/winrmcp";
-
-      src = fetchgit {
-        url = "https://github.com/packer-community/winrmcp";
-        rev = "f1bcf36a69fa2945e65dd099eee11b560fbd3346";
-        sha256 = "0pj5gfbmx507lp1w3gfn23x0rn0x5rih9nqij9g8d9c4m1sx3275";
-      };
-    }
-    {
-      goPackagePath = "github.com/pierrec/lz4";
-
-      src = fetchgit {
-        url = "https://github.com/pierrec/lz4";
-        rev = "383c0d87b5dd7c090d3cddefe6ff0c2ffbb88470";
-        sha256 = "0l23bmzqfvgh61zlikj6iakg0kz7lybs8zf0nscylskl2hlr09rp";
-      };
-    }
-    {
-      goPackagePath = "github.com/pierrec/xxHash";
-
-      src = fetchgit {
-        url = "https://github.com/pierrec/xxHash";
-        rev = "5a004441f897722c627870a981d02b29924215fa";
-        sha256 = "146ibrgvgh61jhbbv9wks0mabkci3s0m68sg6shmlv1yixkw6gja";
-      };
-    }
-    {
-      goPackagePath = "github.com/pkg/sftp";
-
-      src = fetchgit {
-        url = "https://github.com/pkg/sftp";
-        rev = "e84cc8c755ca39b7b64f510fe1fffc1b51f210a5";
-        sha256 = "0v6g9j9pnkqz72x5409y8gd8ycniziydvsjb4298dkd21d3b94dg";
-      };
-    }
-    {
-      goPackagePath = "github.com/rackspace/gophercloud";
-
-      src = fetchgit {
-        url = "https://github.com/rackspace/gophercloud";
-        rev = "53d1dc4400e1ebcd37a0e01d8c1fe2f4db3b99d2";
-        sha256 = "0rdyljj395k1w7xnxw1i76w29fgl517mvs7bsqll35lss2gbhan2";
-      };
-    }
-    {
-      goPackagePath = "github.com/satori/go.uuid";
-
-      src = fetchgit {
-        url = "https://github.com/satori/go.uuid";
-        rev = "d41af8bb6a7704f00bc3b7cba9355ae6a5a80048";
-        sha256 = "0lw8k39s7hab737rn4nngpbsganrniiv7px6g41l6f6vci1skyn2";
-      };
-    }
-    {
-      goPackagePath = "github.com/tent/http-link-go";
-
-      src = fetchgit {
-        url = "https://github.com/tent/http-link-go";
-        rev = "ac974c61c2f990f4115b119354b5e0b47550e888";
-        sha256 = "0iwq842pvp5y77cr25yanj1cgqzmkz1aw6jzgjrrmlqqkdad5z8c";
-      };
-    }
-    {
-      goPackagePath = "github.com/ugorji/go";
-
-      src = fetchgit {
-        url = "https://github.com/ugorji/go";
-        rev = "646ae4a518c1c3be0739df898118d9bccf993858";
-        sha256 = "0njncpdbh115l5mxyks08jh91kdmy0mvbmxj9mr1psv5k97gf0pn";
-      };
-    }
-    {
-      goPackagePath = "golang.org/x/crypto";
-
-      src = fetchgit {
-        url = "https://go.googlesource.com/crypto";
-        rev = "1f22c0103821b9390939b6776727195525381532";
-        sha256 = "05ahvn9g9cj7797n8ryfxv2g26v3lx1pza9d9pg97iw0rvar9i1h";
-      };
-    }
-    {
-      goPackagePath = "golang.org/x/net";
-
-      src = fetchgit {
-        url = "https://go.googlesource.com/net";
-        rev = "6ccd6698c634f5d835c40c1c31848729e0cecda1";
-        sha256 = "05c7kdjkvf7hrdiv1k12nyss6s8chhakqn1adxbrrahr6rl1nhpj";
-      };
-    }
-    {
-      goPackagePath = "golang.org/x/oauth2";
-
-      src = fetchgit {
-        url = "https://go.googlesource.com/oauth2";
-        rev = "8a57ed94ffd43444c0879fe75701732a38afc985";
-        sha256 = "10pxnbsy1lnx7a1x6g3cna5gdm11aal1r446dpmpgj94xiw96mxv";
-      };
-    }
-    {
-      goPackagePath = "google.golang.org/api";
-
-      src = fetchgit {
-        url = "https://code.googlesource.com/google-api-go-client";
-        rev = "ddff2aff599105a55549cf173852507dfa094b7f";
-        sha256 = "03058zh0v997fxmlvd8r4m63r3z0fzg6fval6wnxw3wq22m7h3yx";
-      };
-    }
-    {
-      goPackagePath = "google.golang.org/cloud";
-
-      src = fetchgit {
-        url = "https://code.googlesource.com/gocloud";
-        rev = "5a3b06f8b5da3b7c3a93da43163b872c86c509ef";
-        sha256 = "03zrw3mgh82gvfgz17k97n8hivnvvplc42c7vyr76i90n1mv29g7";
-      };
-    }
-    {
-      goPackagePath = "gopkg.in/fsnotify.v1";
-
-      src = fetchgit {
-        url = "https://gopkg.in/fsnotify.v1";
-        rev = "8611c35ab31c1c28aa903d33cf8b6e44a399b09e";
-        sha256 = "17a7z88860hhmbgmpc2si1n67s8zk3vzwv5r4wyhrsljcq0bcv9q";
-      };
-    }
-    {
-      goPackagePath = "gopkg.in/tomb.v1";
-
-      src = fetchgit {
-        url = "https://gopkg.in/tomb.v1";
-        rev = "dd632973f1e7218eb1089048e0798ec9ae7dceb8";
-        sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
-      };
-    }
-    {
-      goPackagePath = "gopkg.in/xmlpath.v2";
-
-      src = fetchgit {
-        url = "https://gopkg.in/xmlpath.v2";
-        rev = "860cbeca3ebcc600db0b213c0e83ad6ce91f5739";
-        sha256 = "0jgvd0y78fir4vkcj8acs0pdvlc0xr7i7cspbkm2yjm8wv23p63h";
-      };
-    }
-  ];
-}
diff --git a/pkgs/development/tools/parsing/flex/2.6.1.nix b/pkgs/development/tools/parsing/flex/2.6.1.nix
new file mode 100644
index 000000000000..7ee2e27e60ad
--- /dev/null
+++ b/pkgs/development/tools/parsing/flex/2.6.1.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, bison, m4 }:
+
+stdenv.mkDerivation rec {
+  name = "flex-2.6.1";
+
+  src = fetchurl {
+    url = "https://github.com/westes/flex/releases/download/v2.6.1/flex-2.6.1.tar.gz";
+    sha256 = "0fy14c35yz2m1n1m4f02by3501fn0cca37zn7jp8lpp4b3kgjhrw";
+  };
+
+  buildInputs = [ bison ];
+
+  propagatedNativeBuildInputs = [ m4 ];
+
+  postConfigure = stdenv.lib.optionalString (stdenv.isDarwin || stdenv.isCygwin) ''
+    sed -i Makefile -e 's/-no-undefined//;'
+  '';
+
+  crossAttrs = {
+
+    # disable tests which can't run on build machine
+    postPatch = ''
+      substituteInPlace Makefile.in --replace "tests" " ";
+    '';
+
+    preConfigure = ''
+      export ac_cv_func_malloc_0_nonnull=yes
+      export ac_cv_func_realloc_0_nonnull=yes
+    '';
+  };
+
+  meta = {
+    homepage = https://github.com/westes/flex;
+    description = "A fast lexical analyser generator";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 7ee2e27e60ad..3bb34f5bc907 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, bison, m4 }:
 
 stdenv.mkDerivation rec {
-  name = "flex-2.6.1";
+  name = "flex-${version}";
+  version = "2.6.3";
 
   src = fetchurl {
-    url = "https://github.com/westes/flex/releases/download/v2.6.1/flex-2.6.1.tar.gz";
-    sha256 = "0fy14c35yz2m1n1m4f02by3501fn0cca37zn7jp8lpp4b3kgjhrw";
+    url = "https://github.com/westes/flex/releases/download/v${version}/flex-${version}.tar.gz";
+    sha256 = "1an2cn2z85mkpgqcinh1fhhcd7993qm2lil1yxic8iz76ci79ck8";
   };
 
   buildInputs = [ bison ];
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index e54d4c540fe2..05546da67f01 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -1,30 +1,46 @@
-{stdenv, fetchurl, transfig, tex , ghostscript, colm,  build-manual ? false
+{ stdenv, fetchurl, transfig, tex, ghostscript, colm
+, build-manual ? false
 }:
 
-stdenv.mkDerivation rec {
-  name = "ragel-${version}";
-  version = "7.0.0.9";
+let
+  generic = { version, sha256 }:
+    stdenv.mkDerivation rec {
+      name = "ragel-${version}";
 
-  src = fetchurl {
-    url = "http://www.colm.net/files/ragel/${name}.tar.gz";
-    sha256 = "1w2jhfg3fxl15gcmm7z3jbi6splgc83mmwcfbp08lfc8sg2wmrmr";
+      src = fetchurl {
+        url = "http://www.colm.net/files/ragel/${name}.tar.gz";
+        inherit sha256;
+      };
+
+      buildInputs = stdenv.lib.optional build-manual [ transfig ghostscript tex ];
+
+      preConfigure = stdenv.lib.optional build-manual ''
+        sed -i "s/build_manual=no/build_manual=yes/g" DIST
+      '';
+
+      configureFlags = [ "--with-colm=${colm}" ];
+
+      doCheck = true;
+
+      meta = with stdenv.lib; {
+        homepage = http://www.complang.org/ragel;
+        description = "State machine compiler";
+        license = licenses.gpl2;
+        platforms = platforms.unix;
+        maintainers = with maintainers; [ pSub ];
+      };
+    };
+
+in
+
+{
+  ragelStable = generic {
+    version = "6.9";
+    sha256 = "02k6rwh8cr95f1p5sjjr3wa6dilg06572xz1v71dk8awmc7vw1vf";
   };
 
-  buildInputs = stdenv.lib.optional build-manual [ transfig ghostscript tex ];
-   
-  preConfigure = stdenv.lib.optional build-manual ''
-    sed -i "s/build_manual=no/build_manual=yes/g" DIST
-  '';
-
-  configureFlags = [ "--with-colm=${colm}" ];
-
-  doCheck = true;
-  
-  meta = with stdenv.lib; {
-    homepage = http://www.complang.org/ragel;
-    description = "State machine compiler";
-    license = licenses.gpl2;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ pSub ];
+  ragelDev = generic {
+    version = "7.0.0.9";
+    sha256 = "1w2jhfg3fxl15gcmm7z3jbi6splgc83mmwcfbp08lfc8sg2wmrmr";
   };
 }
diff --git a/pkgs/development/tools/pypi2nix/default.nix b/pkgs/development/tools/pypi2nix/default.nix
index 229d680f8351..1e6b6690e71b 100644
--- a/pkgs/development/tools/pypi2nix/default.nix
+++ b/pkgs/development/tools/pypi2nix/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, python, zip, makeWrapper
+{ stdenv, fetchurl, python, zip, makeWrapper, nix, nix-prefetch-scripts
 }:
 
 let
 
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "https://github.com/garbas/pypi2nix/archive/v${version}.tar.gz";
-    sha256 = "0s79pp7gkgyk7discnv94m6z81fd67p66rdbd4cwk1ma0qljlh2k";
+    sha256 = "08iad1ad2gnvsnd66ddw3lff19ms2yly4iq63c8800j603d0pdhn";
   };
 
   click = fetchurl {
@@ -16,8 +16,8 @@ let
   };
 
   requests = fetchurl {
-    url = "https://pypi.python.org/packages/2e/ad/e627446492cc374c284e82381215dcd9a0a87c4f6e90e9789afefe6da0ad/requests-2.11.1.tar.gz";
-    sha256 = "0cx1w7m4cpslxz9jljxv0l9892ygrrckkiwpp2hangr8b01rikss";
+    url = "https://pypi.python.org/packages/5b/0b/34be574b1ec997247796e5d516f3a6b6509c4e064f2885a96ed885ce7579/requests-2.12.4.tar.gz";
+    sha256 = "0d5fwxmw4ibynk3imph3n4n84m0n3ib1vj339fxhkqri0qd4767d";
   };
 
 in stdenv.mkDerivation rec {
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
     click
     requests
   ];
-  buildInputs = [ python zip makeWrapper ];
+  buildInputs = [ python zip makeWrapper nix.out nix-prefetch-scripts ];
   sourceRoot = ".";
 
   postUnpack = ''
@@ -45,6 +45,11 @@ in stdenv.mkDerivation rec {
     fi
   '';
 
+  patchPhase = ''
+    sed -i -e "s|default='nix-shell',|default='${nix.out}/bin/nix-shell',|" $out/pkgs/pypi2nix/cli.py
+    sed -i -e "s|nix-prefetch-git|${nix-prefetch-scripts}/bin/nix-prefetch-git|" $out/pkgs/pypi2nix/stage2.py
+  '';
+
   commonPhase = ''
     mkdir -p $out/bin
 
diff --git a/pkgs/development/tools/remarshal/default.nix b/pkgs/development/tools/remarshal/default.nix
index ecf919a98298..ac4a39f06920 100644
--- a/pkgs/development/tools/remarshal/default.nix
+++ b/pkgs/development/tools/remarshal/default.nix
@@ -1,20 +1,23 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, pythonPackages, fetchFromGitHub }:
 
-buildGoPackage rec {
-  name = "remarshal-${rev}";
-  rev = "0.3.0";
-  goPackagePath = "github.com/dbohdan/remarshal";
+pythonPackages.buildPythonApplication rec {
+  name = "remarshal-${version}";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
-    rev = "v${rev}";
     owner  = "dbohdan";
     repo   = "remarshal";
-    sha256 = "0lhsqca3lq3xvdwsmrngv4p6b7k2lkbfnxnk5qj6jdd5y7f4b496";
+    rev    = "v${version}";
+    sha256 = "0jslawpzghv3chamrfddnyn5p5068kjxy8d38fxvi5h06qgfb4wp";
   };
 
-  goDeps = ./deps.nix;
+  propagatedBuildInputs = with pythonPackages; [
+    dateutil
+    pytoml
+    pyyaml
+  ];
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "Convert between TOML, YAML and JSON";
     license = licenses.mit;
     homepage = https://github.com/dbohdan/remarshal;
diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix
index d573a6c5b60c..f8569249c06a 100644
--- a/pkgs/development/tools/sauce-connect/default.nix
+++ b/pkgs/development/tools/sauce-connect/default.nix
@@ -4,18 +4,18 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "sauce-connect-${version}";
-  version = "4.4.0";
+  version = "4.4.2";
 
   src = fetchurl (
     if stdenv.system == "x86_64-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
-      sha256 = "19zgnw0qn5f775p581mq5ry086rhcnnhqc6x82hzmwfysbsyl7xs";
+      sha256 = "0n3c9ihrxqy4y4mzgchggqa2v7c0y9jw2yqnjdd7cf4nd24fixbq";
     } else if stdenv.system == "i686-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
-      sha256 = "1m4nf1yidwkmlwald0ycwzvnsp5p93nc4bs1xh67phw0b2db99x9";
+      sha256 = "1pdvx4apd4x1bsyl8lhzlpv3jp3xzyv7yrsl3wjrql17p2asaba6";
     } else {
       url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
-      sha256 = "1bpdpwqa9sw2n7vw2g8q4c1mzgh8wgwn4p7sbryc2ki90yz8ibga";
+      sha256 = "03kn7i0a6mpxfc6mz9h560wadhmw5qxn15is7cl9kgkz5j874xlz";
     }
   );
 
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index ff06e5d4159a..cb6c4614a1a4 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.10.1";
+    version="0.10.2";
     name="${baseName}-${version}";
-    hash="14xfhn9v3mn4m7hfa36750vp7qgmnc5yfrdkjymzm8g9fz39ddx2";
-    url="http://download.slimerjs.org/releases/0.10.1/slimerjs-0.10.1.zip";
-    sha256="14xfhn9v3mn4m7hfa36750vp7qgmnc5yfrdkjymzm8g9fz39ddx2";
+    hash="16pg12bvfqls707nsdqi3bl1c833kncsvnd0qiq5692lrh93x529";
+    url="http://download.slimerjs.org/releases/0.10.2/slimerjs-0.10.2.zip";
+    sha256="16pg12bvfqls707nsdqi3bl1c833kncsvnd0qiq5692lrh93x529";
   };
   buildInputs = [
     unzip zip
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index b0c15a6df4b1..4693e5477161 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -37,6 +37,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
-    description = "The SPIR-V Tools project provides an API and commands for processing SPIR-V modules.";
+    description = "The SPIR-V Tools project provides an API and commands for processing SPIR-V modules";
+    license = licenses.asl20;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/tora/default.nix b/pkgs/development/tools/tora/default.nix
new file mode 100644
index 000000000000..9f8f2df358a5
--- /dev/null
+++ b/pkgs/development/tools/tora/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, lib, fetchFromGitHub, cmake, ecm, makeQtWrapper
+, boost, doxygen, openssl, mysql, postgresql, graphviz, loki, qscintilla, qtbase }:
+
+let
+  qscintillaLib = (qscintilla.override { withQt5 = true; });
+
+in stdenv.mkDerivation rec {
+  name = "tora-${version}";
+  version = "3.1";
+
+  src = fetchFromGitHub {
+    owner  = "tora-tool";
+    repo   = "tora";
+    rev    = "v${version}";
+    sha256 = "0wninl10bcgiljf6wnhn2rv8kmzryw78x5qvbw8s2zfjlnxjsbn7";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    cmake ecm makeQtWrapper
+    boost doxygen graphviz loki mysql openssl postgresql qscintillaLib qtbase
+  ];
+
+  preConfigure = ''
+    sed -i \
+      's|defaultGvHome = "/usr/bin"|defaultGvHome = "${lib.getBin graphviz}/bin"|' \
+      src/widgets/toglobalsetting.cpp
+
+    sed -i \
+      's|/usr/bin/dot|${lib.getBin graphviz}/bin/dot|' \
+      extlibs/libermodel/dotgraph.cpp
+  '';
+
+  cmakeFlags = [
+    "-DWANT_INTERNAL_LOKI=0"
+    "-DWANT_INTERNAL_QSCINTILLA=0"
+    # cmake/modules/FindQScintilla.cmake looks in qtbase and for the wrong library name
+    "-DQSCINTILLA_INCLUDE_DIR=${qscintillaLib}/include"
+    "-DQSCINTILLA_LIBRARY=${qscintillaLib}/lib/libqscintilla2.so"
+    "-DENABLE_DB2=0"
+    "-DENABLE_ORACLE=0"
+    "-DENABLE_TERADATA=0"
+    "-DQT5_BUILD=1"
+    "-Wno-dev"
+  ];
+
+  # these libraries are only searched for at runtime so we need to force-link them
+  NIX_LDFLAGS = [
+    "-lgvc"
+    "-lmysqlclient"
+    "-lecpg"
+    "-lssl"
+  ];
+
+  postFixup = ''
+    wrapQtProgram $out/bin/tora \
+      --prefix PATH : ${lib.getBin graphviz}/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tora SQL tool";
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.linux;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 40e42d478612..39c7ca77f8f6 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -2,7 +2,7 @@
 , libxml2, libxslt, makeWrapper, p7zip, xar, gzip, cpio }:
 
 let
-  version = "1.8.7";
+  version = "1.9.1";
   rake = buildRubyGem {
     inherit ruby;
     gemName = "rake";
@@ -17,9 +17,9 @@ let
       else "system ${stdenv.system} not supported";
 
   sha256 = {
-    "x86_64-linux"  = "10c77b643b73dd3ad7a45a89d8ab95b58b79dc10e0cf6e760fe24abc436b2fdb";
-    "i686-linux"    = "9d2a70f34ab65d8d2cb013917f221835432aa63cd4ef781c9fd1404cfcfe7898";
-    "x86_64-darwin" = "14d68f599a620cf421838ed037f0a1c4467e1b67475deeff62330a21fda4937b";
+    "x86_64-linux"  = "0l1if9c4s4wkbi8k00pl7x00lil21izrd8wb9nv2b5q4gqidc1nh";
+    "i686-linux"    = "1789wjwcpgw3mljl49c8v5kycisay684gyalkkvd06928423y9zb";
+    "x86_64-darwin" = "1xrfq1a0xyifkhhjnpm6wsnms9w8c9q5rd2qqn4sm5npl7viy68p";
   }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch = builtins.replaceStrings ["-linux"] [""] stdenv.system;
@@ -122,12 +122,10 @@ in stdenv.mkDerivation rec {
 
   preFixup = ''
     # 'hide' the template file from shebang-patching
-    chmod -x "$out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable"
     chmod -x "$out/opt/vagrant/embedded/gems/gems/vagrant-$version/plugins/provisioners/salt/bootstrap-salt.sh"
   '';
 
   postFixup = ''
-    chmod +x "$out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable"
     chmod +x "$out/opt/vagrant/embedded/gems/gems/vagrant-$version/plugins/provisioners/salt/bootstrap-salt.sh"
   '' +
   (stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/tools/vultr/default.nix b/pkgs/development/tools/vultr/default.nix
new file mode 100644
index 000000000000..fe4b65846511
--- /dev/null
+++ b/pkgs/development/tools/vultr/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "vultr-${version}";
+  version = "1.12.0";
+  goPackagePath = "github.com/JamesClonk/vultr";
+
+  src = fetchFromGitHub {
+    owner = "JamesClonk";
+    repo = "vultr";
+    rev = "${version}";
+    sha256 = "0fzwzp0vhf3cgl9ij5zpdyn29w9rwwxghr50jjfbagpkfpy4g686";
+  };
+
+  meta = {
+    description = "A command line tool for Vultr services, a provider for cloud virtual private servers";
+    homepage = "https://github.com/JamesClonk/vultr";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.zauberpony ];
+  };
+}
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index eccdffab4c6e..0b6ec87f00aa 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -58,6 +58,11 @@ in
     postInstall = ''
       paxmark m $out/bin/node
       PATH=$out/bin:$PATH patchShebangs $out
+
+      ${optionalString enableNpm '' 
+        mkdir -p $out/share/bash-completion/completions/
+        $out/bin/npm completion > $out/share/bash-completion/completions/npm
+      ''}
     '';
 
     meta = {
diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix
index 404b3b90d7cd..f1dd86d67b92 100644
--- a/pkgs/games/chessx/default.nix
+++ b/pkgs/games/chessx/default.nix
@@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
    qmakeHook
   ];
 
-  enableParallelBuilding = true;
+  # RCC: Error in 'resources.qrc': Cannot find file 'i18n/chessx_da.qm'
+  #enableParallelBuilding = true;
+
   installPhase = ''
       runHook preInstall
       mkdir -p "$out/bin"
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index b55a37e99857..1a1b3a10895c 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -1,22 +1,36 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, makeWrapper
 , freeglut, freealut, mesa, libICE, libjpeg, openal, openscenegraph, plib
 , libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto
 , libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr
 , makeDesktopItem, qtbase
 }:
 
+let
+  version = "2016.4.3";
+  shortVersion = "2016.4";
+  data = stdenv.mkDerivation rec {
+    name = "flightgear-base-${version}";
+
+    src = fetchurl {
+      url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.tar.bz2";
+      sha256 = "1wy4fg6r79a635rrjy2a2a6jkz2p5zzahxs0hz7scgxg4ikb5xp4";
+    };
+
+    phases = [ "installPhase" ];
+
+    installPhase = ''
+      mkdir -p "$out/share/FlightGear"
+      tar xf "${src}" -C "$out/share/FlightGear/" --strip-components=1
+    '';
+  };
+in
 stdenv.mkDerivation rec {
-  version = "3.4.0";
   name = "flightgear-${version}";
+  inherit version;
 
   src = fetchurl {
-    url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Source/${name}.tar.bz2";
-    sha256 = "102pg7mahgxzypvyp76x363qy3a4gxavr4hj16gsha07nl2msr5m";
-  };
-
-  datasrc = fetchurl {
-    url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-${version}.tar.bz2";
-    sha256 = "12qjvycizg693g5jj5qyp1jiwwywg6p9fg6j3zjxhx6r4g1sgvwc";
+    url = "mirror://sourceforge/flightgear/release-${shortVersion}/${name}.tar.bz2";
+    sha256 = "08i8dlia3aral2wwf72n5q5ji4vxj51bnn24g6prqjjy4qww9a9m";
   };
 
   # Of all the files in the source and data archives, there doesn't seem to be
@@ -37,21 +51,22 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
+    makeWrapper
     freeglut freealut mesa libICE libjpeg openal openscenegraph plib
     libSM libunwind libX11 xproto libXext xextproto libXi inputproto
     libXmu libXt simgear zlib boost cmake libpng udev fltk13 apr qtbase
   ];
 
-  preConfigure = ''
-    export cmakeFlagsArray=(-DFG_DATA_DIR="$out/share/FlightGear/")
-  '';
-
   postInstall = ''
     mkdir -p "$out/share/applications/"
-    cp "${desktopItem}"/share/applications/* "$out/share/applications/"
+    cp "${desktopItem}"/share/applications/* "$out/share/applications/" #*/
+
+    for f in $out/bin/* #*/
+    do
+      wrapProgram $f --set FG_ROOT "${data}/share/FlightGear"
+    done
+
 
-    mkdir -p "$out/share/FlightGear"
-    tar xvf "${datasrc}" -C "$out/share/FlightGear/" --strip-components=1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index b5619644bd81..608b1a011200 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, zlib, bzip2, pkgconfig, curl, lzma, gettext
 , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth
 , gtkClient ? false, gtk2
-, server ? true, readline }:
+, server ? true, readline
+, enableSqlite ? true, sqlite
+}:
 
 let
   inherit (stdenv.lib) optional optionals;
@@ -10,14 +12,15 @@ let
   gtkName = if gtkClient then "-gtk" else "";
 
   name = "freeciv";
-  version = "2.5.3";
+  version = "2.5.6";
 in
 stdenv.mkDerivation {
   name = "${name}${sdlName}${gtkName}-${version}";
+  inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/freeciv/${name}-${version}.tar.bz2";
-    sha256 = "0p40bpkhbldsnlqdvfn3qd2vzadxfrfsf1r57x1akwabqs0h62s8";
+    sha256 = "16wrnsx5rmbz6rjs03bhy0vn20i6n6g73lx7fjpai98ixhzc5bfg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -25,10 +28,12 @@ stdenv.mkDerivation {
   buildInputs = [ zlib bzip2 curl lzma gettext ]
     ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype fluidsynth ]
     ++ optionals gtkClient [ gtk2 ]
-    ++ optional server readline;
+    ++ optional server readline
+    ++ optional enableSqlite sqlite;
 
-  configureFlags = []
+  configureFlags = [ "--enable-shared" ]
     ++ optional sdlClient "--enable-client=sdl"
+    ++ optional enableSqlite "--enable-fcdb=sqlite3"
     ++ optional (!gtkClient) "--enable-fcmp=cli"
     ++ optional (!server) "--disable-server";
 
diff --git a/pkgs/games/freeorion/92455f9.patch b/pkgs/games/freeorion/92455f9.patch
deleted file mode 100644
index e40ee78de6df..000000000000
--- a/pkgs/games/freeorion/92455f9.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Naur GG/src/Font.cpp
---- /GG/src/Font.cpp
-+++ /GG/src/Font.cpp
-@@ -1586,8 +1586,13 @@
-     using boost::lexical_cast;
-     FT_UInt index = FT_Get_Char_Index(face, ch);
-     if (index) {
--        if (FT_Load_Glyph(face, index, FT_LOAD_DEFAULT))
--            ThrowBadGlyph("GG::Font::GetGlyphBitmap : Freetype could not load the glyph for character '%1%'", ch);
-+        if (FT_Load_Glyph(face, index, FT_LOAD_DEFAULT)) {
-+            // loading of a glpyh failed so we replace it with
-+            // the 'Replacement Character' at codepoint 0xFFFD
-+            FT_UInt tmp_index = FT_Get_Char_Index(face, 0xFFFD);
-+            if (FT_Load_Glyph(face, tmp_index, FT_LOAD_DEFAULT))
-+                ThrowBadGlyph("GG::Font::GetGlyphBitmap : Freetype could not load the glyph for character '%1%'", ch);
-+        }
- 
-         FT_GlyphSlot glyph = face->glyph;
- 
diff --git a/pkgs/games/freeorion/default.nix b/pkgs/games/freeorion/default.nix
index e143b6ebcf31..91d4db32b683 100644
--- a/pkgs/games/freeorion/default.nix
+++ b/pkgs/games/freeorion/default.nix
@@ -2,18 +2,19 @@
 , libxslt, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.5";
+  version = "0.4.6";
   name = "freeorion-${version}";
 
   src = fetchurl {
-    url = "https://github.com/freeorion/freeorion/releases/download/v0.4.5/FreeOrion_v0.4.5_2015-09-01.f203162_Source.tar.gz";
-    sha256 = "3b99b92eeac72bd059566dbabfab54368989ba83f72e769bc94eb8dd4fe414c0";
+    url = "https://github.com/freeorion/freeorion/releases/download/v0.4.6/FreeOrion_v0.4.6_2016-09-16.49f9123_Source.tar.gz";
+    sha256 = "04g3x1cymf7mnmc2f5mm3c2r5izjmy7z3pvk2ykzz8f8b2kz6gry";
   };
 
   buildInputs = [ cmake boost SDL2 python2 freetype openal libogg libvorbis zlib libpng libtiff libjpeg mesa glew doxygen makeWrapper ];
 
-  # cherry pick for acceptable performance https://github.com/freeorion/freeorion/commit/92455f97c28055e296718230d2e3744eccd738ec
-  patches = [ ./92455f9.patch ];
+  patches = [
+    ./fix_rpaths.patch
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/freeorion/fix_rpaths.patch b/pkgs/games/freeorion/fix_rpaths.patch
new file mode 100644
index 000000000000..f53e9821e5dd
--- /dev/null
+++ b/pkgs/games/freeorion/fix_rpaths.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,7 +46,7 @@
+     set(FreeOrion_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/freeorion")
+ endif()
+ 
+-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${FreeOrion_INSTALL_LIBDIR}")
++set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}/freeorion")
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ 
+ if (WIN32)
diff --git a/pkgs/games/gnuchess/default.nix b/pkgs/games/gnuchess/default.nix
index 9b0ada3f9260..c61d46e9d339 100644
--- a/pkgs/games/gnuchess/default.nix
+++ b/pkgs/games/gnuchess/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     inherit (s) version;
     description = "GNU Chess engine";
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 332c2fbeff14..9e6cc48b435c 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -1,34 +1,51 @@
-{stdenv, fetchFromGitHub, cmake, fmod, mesa, SDL2}:
+{ stdenv, fetchFromGitHub, cmake, zdoom
+, openal, fluidsynth, soundfont-fluid, mesa_noglu, SDL2
+, bzip2, zlib, libjpeg, libsndfile, mpg123, game-music-emu }:
 
-stdenv.mkDerivation {
-  name = "gzdoom-2015-05-07";
-  src = fetchFromGitHub{
+stdenv.mkDerivation rec {
+  name = "gzdoom-${version}";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
-    rev = "a59824cd8897dea5dd452c31be1328415478f990";
-    sha256 = "1lg9dk5prn2bjmyznq941a862alljvfgbb42whbpg0vw9vhpikak";
+    rev = "g${version}";
+    sha256 = "0xxgd8fa29pcdir1xah5cvx41bfy76p4dydpp13mf44p9pr29hrb";
   };
 
-  buildInputs = [ cmake fmod mesa SDL2 ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [
+    SDL2 mesa_noglu openal fluidsynth bzip2 zlib libjpeg libsndfile mpg123
+    game-music-emu
+  ];
+
+  enableParallelBuilding = true;
 
-  cmakeFlags = [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ];
+  NIX_CFLAGS_LINK = [ "-lopenal" "-lfluidsynth" ];
 
-  preConfigure=''
-    sed s@gzdoom.pk3@$out/share/gzdoom.pk3@ -i src/version.h
+  preConfigure = ''
+    sed -i \
+      -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
+      -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
+      src/sound/music_fluidsynth_mididevice.cpp
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp gzdoom $out/bin
-    mkdir -p $out/share
-    cp gzdoom.pk3 $out/share
+    install -Dm755 gzdoom "$out/lib/gzdoom/gzdoom"
+    for i in *.pk3; do
+      install -Dm644 "$i" "$out/lib/gzdoom/$i"
+    done
+    mkdir $out/bin
+    ln -s $out/lib/gzdoom/gzdoom $out/bin/gzdoom
   '';
 
-  meta = {
-    homepage = https://github.com/coelckers/gzdoom;
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/coelckers/gzdoom";
     description = "A Doom source port based on ZDoom. It features an OpenGL renderer and lots of new features";
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.lassulus ];
+    # Doom source license, MAME license
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lassulus ];
   };
 }
 
diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix
index 8590f9a7420b..781dc5e31d83 100644
--- a/pkgs/games/minecraft-server/default.nix
+++ b/pkgs/games/minecraft-server/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "minecraft-server-${version}";
-  version = "1.11";
+  version = "1.11.1";
 
   src  = fetchurl {
     url    = "http://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar";
-    sha256 = "10vgvkklv3l66cvin2ikva2nj86gjl6p9ffizd6r89ixv1grcxrj";
+    sha256 = "161cwwcv73zisac1biz9arrby8y8n0j4bn9hz9rvy8dszlrbq0l0";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix
index 00d4fbf84511..71c7e300a639 100644
--- a/pkgs/games/multimc/default.nix
+++ b/pkgs/games/multimc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, qt5Full, jdk7, zlib, file, makeWrapper, xorg, libpulseaudio, qt5 }:
+{ stdenv, fetchFromGitHub, cmake, qt5Full, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qt5 }:
 
 let
   libnbt = fetchFromGitHub {
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
     rev = "895d8ab4699f1b50bf03532c967a91f5ecb62a50";
     sha256 = "179vc1iv57fx4g4h1wy8yvyvdm671jnvp6zi8pcr1n6azqhwklds";
   };
-  buildInputs = [ cmake qt5Full jdk7 zlib file makeWrapper ];
+  buildInputs = [ cmake qt5Full jdk zlib file makeWrapper ];
 
   libpath = with xorg; [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ];
   postUnpack = ''
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
     cp -v MultiMC $out/bin/
     cp -v jars/*.jar $out/bin/jars/ #*/
     cp -v librainbow.so libnbt++.so libMultiMC_logic.so $out/lib
-    wrapProgram $out/bin/MultiMC --add-flags "-d \$HOME/.multimc/" --set GAME_LIBRARY_PATH $RESULT --prefix PATH : ${jdk7}/bin/
+    wrapProgram $out/bin/MultiMC --add-flags "-d \$HOME/.multimc/" --set GAME_LIBRARY_PATH $RESULT --prefix PATH : ${jdk}/bin/
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/opendungeons/default.nix b/pkgs/games/opendungeons/default.nix
index fe3a381c7f5b..94a44446b6cd 100644
--- a/pkgs/games/opendungeons/default.nix
+++ b/pkgs/games/opendungeons/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchurl, ogre, cegui, boost, sfml, openal, cmake, ois }:
+{ stdenv, fetchFromGitHub, ogre, cegui, boost, sfml, openal, cmake, ois, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "opendungeons-${version}";
-  version = "0.6.0";
+  version = "0.7.1";
 
-  src = fetchurl {
-    url = "ftp://download.tuxfamily.org/opendungeons/${version}/${name}.tar.xz";
-    sha256 = "1g0sjh732794h26cbkr0p96i3c0avm0mx9ip5zbvb2y3sbpjcbib";
+  src = fetchFromGitHub {
+    owner = "OpenDungeons";
+    repo = "OpenDungeons";
+    rev = version;
+    sha256 = "0nipb2h0gn628yxlahjgnfhmpfqa19mjdbj3aqabimdfqds9pryh";
   };
 
   patches = [ ./cmakepaths.patch ];
 
-  buildInputs = [ cmake ogre cegui boost sfml openal ois ];
+  buildInputs = [ cmake ogre cegui boost sfml openal ois pkgconfig ];
 
   meta = with stdenv.lib; {
     description = "An open source, real time strategy game sharing game elements with the Dungeon Keeper series and Evil Genius.";
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index f9be01aa9289..8b3998aa6194 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -11,14 +11,14 @@ let
     };
   });
 in stdenv.mkDerivation rec {
-  version = "0.40.0";
+  version = "0.41.0";
   name = "openmw-${version}";
 
   src = fetchFromGitHub {
     owner = "OpenMW";
     repo = "openmw";
     rev = name;
-    sha256 = "0mqd4gpwvczwqfkw5zvnw7cl1nzv9lkiqq2yc2a0qasaby8qv94w";
+    sha256 = "1qay278965i7ja2rjllhcqfq7zpbapd7w57xly02apniadyfg0yz";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index 0500a456269d..26278dd031cc 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -1,6 +1,6 @@
 {stdenv, gtk3, pkgconfig, libX11, perl, fetchurl, automake115x, autoconf}:
 let
-  version = "20160429.b31155b";
+  version = "20161228.7cae89f";
   buildInputs = [
     gtk3 pkgconfig libX11 perl automake115x autoconf
   ];
@@ -8,7 +8,7 @@ in
 stdenv.mkDerivation {
   src = fetchurl {
    url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
-   sha256 = "0y807srhf6571ijdwpa493qzsx161f0a1pmh2qi44f6ixfcrkgzi";
+   sha256 = "0kqy3gdgfjgaqbjl95pnljz44v91i79qphwdp91k0n5alswxwn76";
   };
   name = "sgt-puzzles-r" + version;
   inherit buildInputs;
diff --git a/pkgs/games/steam/runtime-wrapped.nix b/pkgs/games/steam/runtime-wrapped.nix
index 38d73f59deec..d9d6e0ecf0d0 100644
--- a/pkgs/games/steam/runtime-wrapped.nix
+++ b/pkgs/games/steam/runtime-wrapped.nix
@@ -44,7 +44,7 @@ let
     libav
     atk
     # Only libraries are needed from those two
-    udev182
+    libudev0-shim
     networkmanager098
 
     # Verified games requirements
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 7c578f370d7d..dd21d13a0273 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -1,7 +1,5 @@
-{ stdenv, fetchurl, bison, flex, gettext, pkgconfig, libpng
-, libtheora, openal, physfs, mesa, fribidi, fontconfig
-, freetype, qt4, glew, libogg, libvorbis, zlib, libX11
-, libXrandr, zip, unzip, which, perl
+{ stdenv, lib, fetchurl, perl, unzip, zip, which, pkgconfig
+, qtbase, qtscript, SDL2, libtheora, openal, glew, physfs, fribidi
 , withVideos ? false
 }:
 
@@ -14,28 +12,31 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "3.1.5";
+  version = "3.2.2";
   name = "${pname}-${version}";
+
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/releases/${version}/${name}.tar.xz";
-    sha256 = "0hm49i2knvvg3wlnryv7h4m84s3qa7jfyym5yy6365sx8wzcrai1";
+    sha256 = "064xfxwkqpvqyy7kz46cwi71mxmimxi4wgjly9g51wwxkvz8snmg";
   };
-  buildInputs = [ bison flex gettext pkgconfig libpng libtheora openal
-                  physfs mesa fribidi fontconfig freetype qt4
-                  glew libogg libvorbis zlib libX11 libXrandr zip
-                  unzip perl
-                ];
-  patchPhase = ''
+
+  buildInputs = [ qtbase qtscript SDL2 libtheora openal glew physfs fribidi ];
+  nativeBuildInputs = [ perl zip unzip pkgconfig ];
+
+  postPatch = ''
     substituteInPlace lib/exceptionhandler/dumpinfo.cpp \
                       --replace "which %s" "${which}/bin/which %s"
     substituteInPlace lib/exceptionhandler/exceptionhandler.cpp \
                       --replace "which %s" "${which}/bin/which %s"
   '';
-  configureFlags = "--with-backend=qt --with-distributor=NixOS";
 
-  NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
+  configureFlags = [ "--with-distributor=NixOS" ];
+
+  hardeningDisable = [ "format" ];
+
+  enableParallelBuilding = true;
 
-  postInstall = stdenv.lib.optionalString withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz";
+  postInstall = lib.optionalString withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz";
 
   meta = with stdenv.lib; {
     description = "A free RTS game, originally developed by Pumpkin Studios";
diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix
index 46d3873659ff..442aad46fea8 100644
--- a/pkgs/games/xboard/default.nix
+++ b/pkgs/games/xboard/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     inherit (s) version;
     description = ''GUI for chess engines'';
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/games/xsok/default.nix b/pkgs/games/xsok/default.nix
new file mode 100644
index 000000000000..57c2ca2dfd86
--- /dev/null
+++ b/pkgs/games/xsok/default.nix
@@ -0,0 +1,47 @@
+{stdenv, fetchurl, libX11, imake, libXt, libXaw, libXpm, libXext
+, withNethackLevels ? true
+}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "xsok";
+  version = "1.02";
+
+  src = fetchurl {
+    url = "http://http.debian.net/debian/pool/main/x/xsok/xsok_1.02.orig.tar.gz";
+    sha256 = "0f4z53xsy4w8x8zp5jya689xp3rcfpi5wri2ip0qa8nk3sw7zj73";
+  };
+
+  nethackLevels = fetchurl {
+    url = "https://www.electricmonk.nl/data/nethack/nethack.def";
+    sha256 = "057ircp13hfpy513c7wpyp986hsvhqs7km98w4k39f5wkvp3dj02";
+  };
+
+  buildInputs = [libX11 libXt libXaw libXpm libXext];
+  nativeBuildInputs = [imake];
+
+  NIX_CFLAGS_COMPILE=" -isystem ${libXpm.dev}/include/X11 ";
+
+  preConfigure = ''
+    sed -e "s@/usr/@$out/share/@g" -i src/Imakefile
+    sed -e "s@/var/games/xsok@./.xsok/@g" -i src/Imakefile
+    sed -e '/chown /d' -i src/Imakefile
+    sed -e '/chmod /d' -i src/Imakefile
+    sed -e '/InstallAppDefaults/d' -i src/Imakefile
+  '';
+
+  makeFlags = ["BINDIR=$(out)/bin"];
+
+  postInstall = stdenv.lib.optionalString withNethackLevels ''
+    gzip < ${nethackLevels} > "$out/share/games/lib/xsok/Nethack.def.gz"
+    echo Nethack > "$out/share/games/lib/xsok/gametypes"
+  '';
+
+  meta = {
+    inherit version;
+    description = "A generic Sokoban game for X11";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://tracker.debian.org/pkg/xsok";
+  };
+}
diff --git a/pkgs/games/zandronum/default.nix b/pkgs/games/zandronum/default.nix
index 39c1ea6b7469..7b4185594189 100644
--- a/pkgs/games/zandronum/default.nix
+++ b/pkgs/games/zandronum/default.nix
@@ -1,9 +1,11 @@
-{ stdenv, lib, fetchhg, cmake, pkgconfig, makeWrapper
-, SDL, mesa, bzip2, zlib, fmod, libjpeg, fluidsynth, openssl, sqlite-amalgamation
+{ stdenv, lib, fetchhg, cmake, pkgconfig, makeWrapper, callPackage
+, soundfont-fluid, SDL, mesa, bzip2, zlib, libjpeg, fluidsynth, openssl, sqlite-amalgamation, gtk2
 , serverOnly ? false
 }:
 
-let suffix = lib.optionalString serverOnly "-server";
+let
+  suffix = lib.optionalString serverOnly "-server";
+  fmod = callPackage ./fmod.nix { };
 
 # FIXME: drop binary package when upstream fixes their protocol versioning
 in stdenv.mkDerivation {
@@ -18,7 +20,7 @@ in stdenv.mkDerivation {
   # I have no idea why would SDL and libjpeg be needed for the server part!
   # But they are.
   buildInputs = [ openssl bzip2 zlib SDL libjpeg ]
-             ++ lib.optionals (!serverOnly) [ mesa fmod fluidsynth ];
+             ++ lib.optionals (!serverOnly) [ mesa fmod fluidsynth gtk2 ];
 
   nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
 
@@ -26,6 +28,11 @@ in stdenv.mkDerivation {
     ln -s ${sqlite-amalgamation}/* sqlite/
     sed -ie 's| restrict| _restrict|g' dumb/include/dumb.h \
                                        dumb/src/it/*.c
+  '' + lib.optionalString serverOnly ''
+    sed -i \
+      -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
+      -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
+      src/sound/music_fluidsynth_mididevice.cpp
   '';
 
   cmakeFlags =
@@ -39,27 +46,26 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/bin
-    mkdir -p $out/share/zandronum
+    mkdir -p $out/lib/zandronum
     cp zandronum${suffix} \
-       zandronum.pk3 \
-       skulltag_actors.pk3 \
+       *.pk3 \
        ${lib.optionalString (!serverOnly) "liboutput_sdl.so"} \
-       $out/share/zandronum
+       $out/lib/zandronum
 
     # For some reason, while symlinks work for binary version, they don't for source one.
-    makeWrapper $out/share/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}
+    makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}
   '';
 
   postFixup = lib.optionalString (!serverOnly) ''
-    patchelf --set-rpath $(patchelf --print-rpath $out/share/zandronum/zandronum):$out/share/zandronum \
-      $out/share/zandronum/zandronum
+    patchelf --set-rpath $(patchelf --print-rpath $out/lib/zandronum/zandronum):$out/lib/zandronum \
+      $out/lib/zandronum/zandronum
   '';
 
   meta = with stdenv.lib; {
     homepage = http://zandronum.com/;
     description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
     maintainers = with maintainers; [ lassulus ];
-    license = stdenv.lib.licenses.unfree;
+    license = licenses.unfreeRedistributable;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/fmod/4.24.16.nix b/pkgs/games/zandronum/fmod.nix
index b45ec24ca6bd..b45ec24ca6bd 100644
--- a/pkgs/development/libraries/fmod/4.24.16.nix
+++ b/pkgs/games/zandronum/fmod.nix
diff --git a/pkgs/games/zdoom/default.nix b/pkgs/games/zdoom/default.nix
index ce25f3efda3f..a217c7217b6e 100644
--- a/pkgs/games/zdoom/default.nix
+++ b/pkgs/games/zdoom/default.nix
@@ -1,40 +1,57 @@
-{ stdenv, fetchFromGitHub, cmake, fmod, mesa, SDL }:
-
-stdenv.mkDerivation {
-  name = "zdoom-2.7.1";
-  src = fetchFromGitHub {
-    #url = "https://github.com/rheit/zdoom";
-    owner = "rheit";
-    repo = "zdoom";
-    rev = "2.7.1";
-    sha256 = "00bx4sgl9j1dyih7yysfq4ah6msxw8580g53p99jfym34ky5ppkh";
+{ stdenv, fetchurl, p7zip, cmake
+, SDL2, openal, fluidsynth, soundfont-fluid, bzip2, zlib, libjpeg, game-music-emu
+, libsndfile, mpg123 }:
+
+stdenv.mkDerivation rec {
+  name = "zdoom-${version}";
+  majorVersion = "2.8";
+  version = "${majorVersion}.1";
+
+  src = fetchurl {
+    url = "https://zdoom.org/files/zdoom/${majorVersion}/zdoom-${version}-src.7z";
+    sha256 = "0453fqrh9l00xwphfxni5qkf9y134n3s1mr1dvi5cbkxcva7j8bq";
   };
 
-  buildInputs = [ cmake fmod mesa SDL ];
+  nativeBuildInputs = [ p7zip cmake ];
+  buildInputs = [
+    SDL2 openal fluidsynth bzip2 zlib libjpeg game-music-emu libsndfile mpg123
+  ];
 
   cmakeFlags = [
-    "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so"
-    "-DSDL_INCLUDE_DIR=${SDL.dev}/include"
+    "-DFORCE_INTERNAL_GME=OFF"
+    "-DGME_INCLUDE_DIR=${game-music-emu}/include"
+    "-DGME_LIBRARIES=${game-music-emu}/lib/libgme.so"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-I ${SDL.dev}/include/SDL" ];
-   
+  sourceRoot = ".";
+
+  enableParallelBuilding = true;
+
+  NIX_CFLAGS_LINK = [ "-lopenal" "-lfluidsynth" ];
+
   preConfigure = ''
-    sed s@zdoom.pk3@$out/share/zdoom.pk3@ -i src/version.h
- '';
+    sed -i \
+      -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
+      -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
+      src/sound/music_fluidsynth_mididevice.cpp
+  '';
 
   installPhase = ''
+    install -Dm755 zdoom "$out/lib/zdoom/zdoom"
+    for i in *.pk3; do
+      install -Dm644 "$i" "$out/lib/zdoom/$i"
+    done
     mkdir -p $out/bin
-    cp zdoom $out/bin
-    mkdir -p $out/share
-    cp zdoom.pk3 $out/share
+    ln -s $out/lib/zdoom/zdoom $out/bin/zdoom
   '';
 
-  meta = {
-    homepage = http://zdoom.org/;
+  meta = with stdenv.lib; {
+    homepage = "http://zdoom.org/";
     description = "Enhanced port of the official DOOM source code";
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.lassulus ];
+    # Doom source license, MAME license
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lassulus ];
   };
 }
 
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index 66ea152b2744..d556f94b78cb 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -1,6 +1,7 @@
 { stdenv, lib, pkgArches,
   name, version, src, monos, geckos, platforms,
-  pkgconfig, fontforge, makeWrapper, flex, bison,
+  # flex 2.6.3 causes: undefined reference to `yywrap'
+  pkgconfig, fontforge, makeWrapper, flex_2_6_1, bison,
   supportFlags,
   buildScript ? null, configureFlags ? ""
 }:
@@ -16,7 +17,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
   inherit name src configureFlags;
 
   nativeBuildInputs = [
-    pkgconfig fontforge makeWrapper flex bison
+    pkgconfig fontforge makeWrapper flex_2_6_1 bison
   ];
 
   buildInputs = toBuildInputs pkgArches (with supportFlags; (pkgs:
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index f583fbff231e..6a87ff395b37 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -6,9 +6,9 @@ let fetchurl = args@{url, sha256, ...}:
 in rec {
 
   stable = fetchurl rec {
-    version = "1.8.4";
+    version = "1.8.6";
     url = "https://dl.winehq.org/wine/source/1.8/wine-${version}.tar.bz2";
-    sha256 = "0yahh1n3s3y0bp1a1sr3zpna56749jdgr85hwmpq393pjx1i0pai";
+    sha256 = "1lq6770pkv3342ss2ih18s2hw6i1srbcfg3mljwalqrvxfb7hydi";
 
     ## see http://wiki.winehq.org/Gecko
     gecko32 = fetchurl rec {
@@ -30,9 +30,9 @@ in rec {
   };
 
   unstable = fetchurl rec {
-    version = "1.9.23";
-    url = "https://dl.winehq.org/wine/source/1.9/wine-${version}.tar.bz2";
-    sha256 = "131nqkwlss24r8la84s3v1qx376wq0016d2i2767bpxkyqkagvz3";
+    version = "2.0-rc3";
+    url = "https://dl.winehq.org/wine/source/2.0/wine-${version}.tar.bz2";
+    sha256 = "0sq8li7p30h2a5bbpv27vxpzihr8h890qm78nq21fnh0zflg8x8y";
     inherit (stable) mono;
     gecko32 = fetchurl rec {
       version = "2.47";
@@ -48,15 +48,15 @@ in rec {
 
   staging = fetchFromGitHub rec {
     inherit (unstable) version;
-    sha256 = "188svpmaba2x5a7g8rk68cl2mqrv1vhf1si2g5j5lps9r6pgq1c0";
+    sha256 = "1nk8s54nrlws0d8wpyj1vv2z0l2jansn990xw73v15wzwc3j9p6l";
     owner = "wine-compholio";
     repo = "wine-staging";
     rev = "v${version}";
   };
 
   winetricks = fetchFromGitHub rec {
-    version = "20160724";
-    sha256 = "0nl8gnmsqwwrc8773q8py64kv3r5836xjxsnxjv91n4hhmvgyrzs";
+    version = "20170101";
+    sha256 = "0c2aam68x3nlvc6f4r6rnfw6y3a86644zb0qirwkmh3p04mpdl39";
     owner = "Winetricks";
     repo = "winetricks";
     rev = version;
diff --git a/pkgs/misc/screensavers/light-locker/default.nix b/pkgs/misc/screensavers/light-locker/default.nix
index 80e405d4442f..b13e9c7866c9 100644
--- a/pkgs/misc/screensavers/light-locker/default.nix
+++ b/pkgs/misc/screensavers/light-locker/default.nix
@@ -5,6 +5,8 @@
 , glib
 , pkgconfig
 , libX11
+, libXScrnSaver
+, libXxf86misc
 , gtk3
 , dbus_glib
 , systemd
@@ -23,18 +25,33 @@ stdenv.mkDerivation rec {
     sha256 = "0ygkp5vgkx2nfhfql6j2jsfay394gda23ir3sx4f72j4agsirjvj";
   };
 
-  buildInputs = [ which xfce.xfce4_dev_tools glib pkgconfig libX11 gtk3 dbus_glib systemd wrapGAppsHook ];
+  # Patch so that systemd is "found" when configuring.
+  patches = [ ./systemd.patch ];
+
+  buildInputs = [ which xfce.xfce4_dev_tools glib systemd pkgconfig
+                  libX11 libXScrnSaver libXxf86misc gtk3 dbus_glib wrapGAppsHook ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
+  configureFlags = [ "--with-xf86gamma-ext" "--with-mit-ext"
+                     "--with-dpms-ext" "--with-systemd"
+                     # ConsoleKit and UPower were dropped in favor
+                     # of systemd replacements
+                     "--without-console-kit" "--without-upower" ];
+
   meta = with stdenv.lib; {
     homepage = https://github.com/the-cavalry/light-locker;
-    description = "Light-locker is a simple locker";
+    description = "A simple session-locker for LightDM";
     longDescription = ''
-      light-locker is a simple locker (forked from gnome-screensaver) that aims to have simple, sane, secure defaults and be well integrated with the desktop while not carrying any desktop-specific dependencies.
-      It relies on lightdm for locking and unlocking your session via ConsoleKit/UPower or logind/systemd.
+      A simple locker (forked from gnome-screensaver) that aims to
+      have simple, sane, secure defaults and be well integrated with
+      the desktop while not carrying any desktop-specific
+      dependencies.
+
+      It relies on LightDM for locking and unlocking your session via
+      ConsoleKit/UPower or logind/systemd.
     '';
     license = licenses.gpl2;
     maintainers = with maintainers; [ obadz ];
diff --git a/pkgs/misc/screensavers/light-locker/systemd.patch b/pkgs/misc/screensavers/light-locker/systemd.patch
new file mode 100644
index 000000000000..9cba8b9c0d2f
--- /dev/null
+++ b/pkgs/misc/screensavers/light-locker/systemd.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac.in b/configure.ac.in
+index f7d5f5d..341bc83 100644
+--- a/configure.ac.in
++++ b/configure.ac.in
+@@ -424,7 +424,7 @@ AC_ARG_WITH(systemd,
+             [with_systemd=$withval], [with_systemd=auto])
+ 
+ PKG_CHECK_MODULES(SYSTEMD,
+-                  [libsystemd-login],
++                  [libsystemd],
+                   [have_systemd=yes], [have_systemd=no])
+ 
+ if test "x$with_systemd" = "xauto" ; then
diff --git a/pkgs/misc/screensavers/physlock/default.nix b/pkgs/misc/screensavers/physlock/default.nix
index 683b70120580..e580c9efea82 100644
--- a/pkgs/misc/screensavers/physlock/default.nix
+++ b/pkgs/misc/screensavers/physlock/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "git-20150126";
-  name = "physlock-${version}";
+  version = "0.5";
+  name = "physlock-v${version}";
   src = fetchFromGitHub {
-    owner  = "muennich";
-    repo   = "physlock";
-    rev    = "b64dccc8c22710f8bf01eb5419590cdb0e65cabb";
-    sha256 = "1dapkwj3y6bb4j8q4glms7zsqm7drr37nrnr30sbahwq67rnvzcc";
+    owner = "muennich";
+    repo = "physlock";
+    rev = "v${version}";
+    sha256 = "102kdixrf7xxsxr69lbz73i1ss7959716cmdf8d5kbnhmk6argv7";
   };
 
   preConfigure = ''
diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix
index 8ff4a1074e61..9393a978b071 100644
--- a/pkgs/misc/screensavers/pipes/default.nix
+++ b/pkgs/misc/screensavers/pipes/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pipes-${version}";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "https://github.com/pipeseroni/pipes.sh/archive/v${version}.tar.gz";
-    sha256 = "1225llbm0zfnkqykfi7qz7z5p102pwldmj22761m653jy0ahi7w2";
+    sha256 = "1v0xhgq30zkfjk9l5g8swpivh7rxfjbzhbjpr2c5c836wgn026fb";
   };
 
   buildInputs = with pkgs; [ bash ];
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index eb0209e3502b..ceb0d0a6c441 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
 
-  name = "xlockmore-5.49";
+  name = "xlockmore-5.50";
   src = fetchurl {
     url = "http://sillycycle.com/xlock/${name}.tar.xz";
-    sha256 = "0n2pxm1qxg39h3qkqhbck312cmq7gbpj7hpv210y40kx9fj6biq3";
+    sha256 = "0a9sargn36b5lxil777p35z8m5jr744h9xmc021057aq8kgp4pv3";
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
 
diff --git a/pkgs/misc/themes/orion/default.nix b/pkgs/misc/themes/orion/default.nix
index 4872d62ae512..9ba8cd368cf7 100644
--- a/pkgs/misc/themes/orion/default.nix
+++ b/pkgs/misc/themes/orion/default.nix
@@ -11,7 +11,6 @@ stdenv.mkDerivation {
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
-  phases = "$prePhases unpackPhase installPhase fixupPhase $postPhases";
   installPhase = ''
     mkdir -p $out/share/themes/orion
     cp -r gtk-2.0 gtk-3.0 metacity-1 openbox-3 xfwm4 $out/share/themes/orion
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 08cdb3465c82..6a4105c7323b 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -145,11 +145,11 @@ rec {
   };
 
   Hoogle = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Hoogle-2015-12-24";
+    name = "Hoogle-2016-11-29";
     src = fetchgit {
       url = "git://github.com/Twinside/vim-hoogle";
-      rev = "a5db36f048ac16ab9774fc86f36cd4ae9a444932";
-      sha256 = "1855n6dsimbc0brfbmmkx1gszhmgfghm1h1mpi95mq9qzbwkgjri";
+      rev = "9f00214ece60b9514ef2911fb62e7d53c52d3b4c";
+      sha256 = "1yh732s9k3lhsdqz8qfqijvl0za7cl9mndbzqh4dg2g14f5f5qqw";
     };
     dependencies = [];
 
@@ -167,22 +167,22 @@ rec {
   };
 
   Supertab = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Supertab-2016-01-03";
+    name = "Supertab-2016-11-27";
     src = fetchgit {
       url = "git://github.com/ervandew/supertab";
-      rev = "66511772a430a5eaad7f7d03dbb02e8f33c4a641";
-      sha256 = "1kxxgplsc40wyl7yj3dpcjjgysd41cd32ppcpnj5knphpjw7abp4";
+      rev = "cdaa5c27c5a7f8b08a43d0b2e65929512299e33a";
+      sha256 = "0hym28chljfglqdrxajbh92r35cppxl5wyxdrgqwpa0am9d2xdvg";
     };
     dependencies = [];
 
   };
 
   Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Syntastic-2016-10-30";
+    name = "Syntastic-2016-12-23";
     src = fetchgit {
       url = "git://github.com/scrooloose/syntastic";
-      rev = "734fde7f0b84ff3f670ab5772ed1b8b0c8c16770";
-      sha256 = "18nw0zw8h537d189n0z244fllbyyb9fw47brnmsw82w90b771723";
+      rev = "78c0d21a9b0329766732ca2743a848af1c49e791";
+      sha256 = "1n744grp4ajn4zfra5kfg97sj8rjkqcw1sgx2jbj5qq8l3p5ghad";
     };
     dependencies = [];
 
@@ -200,44 +200,44 @@ rec {
   };
 
   Tagbar = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Tagbar-2016-11-07";
+    name = "Tagbar-2017-01-03";
     src = fetchgit {
       url = "git://github.com/majutsushi/tagbar";
-      rev = "01f57ac5643b0365021ab891f78519d849867a5e";
-      sha256 = "0k0006r895m19kpwqy1ibiia5qm47v4h3mgrlr349wlzqibhmws1";
+      rev = "18b536ce43f1be88be380e5f3b7cd0fd930b4908";
+      sha256 = "0k4c5f3qvszn3a9ndkcl984w832vk2g4hfwl4nkvy9bwqg7q89ya";
     };
     dependencies = [];
 
   };
 
   The_NERD_Commenter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "The_NERD_Commenter-2016-10-10";
+    name = "The_NERD_Commenter-2016-12-15";
     src = fetchgit {
       url = "git://github.com/scrooloose/nerdcommenter";
-      rev = "97cb982f1f0d0631b34b71b065e162916bee4036";
-      sha256 = "136nirs1zi0pjz06yyw2q72ypwmmj25fkl9fjaqgc5q472d77d0v";
+      rev = "18cfe815501c8264844223a944eb388285b48caa";
+      sha256 = "05dg5v1pal5ly8shc4rlnqip5zsdx9901h4336a2k81lss269wd4";
     };
     dependencies = [];
 
   };
 
   The_NERD_tree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "The_NERD_tree-2016-10-21";
+    name = "The_NERD_tree-2017-01-02";
     src = fetchgit {
       url = "git://github.com/scrooloose/nerdtree";
-      rev = "eee431dbd44111c858c6d33ffd366cae1f17f8b3";
-      sha256 = "1fyz3fp2v77piydadcg47pbb7dds9b015kj1baqaxr4gn2gfwq7f";
+      rev = "281701021c5001332a862da80175bf585d24e2e8";
+      sha256 = "0fp2rfz6rmaj01w5kifqzdyi934j20pa8bpgw13ks1s0s4x7xkck";
     };
     dependencies = [];
 
   };
 
   UltiSnips = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "UltiSnips-2016-10-24";
+    name = "UltiSnips-2016-12-16";
     src = fetchgit {
       url = "git://github.com/SirVer/ultisnips";
-      rev = "71c39721de9cb2d67478e8b8c1a543e006fb67df";
-      sha256 = "13lm1fb007ny70pxsvc5wf9s0n90lvimya1n2nn2pyxsnwm416fw";
+      rev = "f974e0317f549c7cf54fa231ee0501206aed6882";
+      sha256 = "0kvpgdkfc70phj2zf6lcblxb25hliiaz2cwg61bq7ip06sbk0fq0";
     };
     dependencies = [];
 
@@ -292,17 +292,6 @@ rec {
 
   };
 
-  ctrlp-py-matcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-py-matcher-2016-09-02";
-    src = fetchgit {
-      url = "git://github.com/FelikZ/ctrlp-py-matcher";
-      rev = "3624f3a085681f787f1f9b7a8a24d4bed395acf1";
-      sha256 = "1126gphnhfvba5xzvqj4s582k61xsvi5hn86zag42v14v5csgw9d";
-    };
-    dependencies = [];
-
-  };
-
   ctrlp-cmatcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "ctrlp-cmatcher-2015-10-15";
     src = fetchgit {
@@ -318,6 +307,17 @@ rec {
     '';
   };
 
+  ctrlp-py-matcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ctrlp-py-matcher-2016-09-02";
+    src = fetchgit {
+      url = "git://github.com/FelikZ/ctrlp-py-matcher";
+      rev = "3624f3a085681f787f1f9b7a8a24d4bed395acf1";
+      sha256 = "1126gphnhfvba5xzvqj4s582k61xsvi5hn86zag42v14v5csgw9d";
+    };
+    dependencies = [];
+
+  };
+
   ctrlp-z = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "ctrlp-z-2015-10-17";
     src = fetchgit {
@@ -329,6 +329,17 @@ rec {
 
   };
 
+  delimitMate = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "delimitMate-2016-07-19";
+    src = fetchgit {
+      url = "git://github.com/Raimondi/delimitMate";
+      rev = "b5719054beebe0135c94f4711a06dc7588041f09";
+      sha256 = "03nmkiq138w6kq4s3mh4yyr6bjvqwj8hg6qlji1ng4vnzb0638q3";
+    };
+    dependencies = [];
+
+  };
+
   extradite = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "extradite-2015-09-22";
     src = fetchgit {
@@ -341,11 +352,11 @@ rec {
   };
 
   fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fugitive-2016-11-05";
+    name = "fugitive-2016-11-13";
     src = fetchgit {
       url = "git://github.com/tpope/vim-fugitive";
-      rev = "b3a8be6975dcc27b523b030bf5d35d9c737aef18";
-      sha256 = "1qizj0xmpaj32b9f8p2d76s5rsvm8cxv0rh5yiczlgfvflbi587r";
+      rev = "b754bc2031f21a532c083dd0d072ba373bbe3a37";
+      sha256 = "1sig8dl3m1dw5zjxdsp00n1cacmcwdvas3iz04zk88v6xsm8rj22";
     };
     dependencies = [];
 
@@ -374,11 +385,11 @@ rec {
   };
 
   vim-autoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-autoformat-2016-11-02";
+    name = "vim-autoformat-2016-12-13";
     src = fetchgit {
       url = "git://github.com/Chiel92/vim-autoformat";
-      rev = "15ee797ad37093e9841b41c121c8d93cf1dedf93";
-      sha256 = "10alg9a8mhasqp26mg7xlran1x474ip3k03s2sjhlvizy6mv5rba";
+      rev = "3715e166a5aa006353ca5bfad2386767676fe848";
+      sha256 = "0ki41pdrl5y4fry3xqn4sdx48zvvd3gc59qzs1nssvn9zp0k9il5";
     };
     dependencies = [];
 
@@ -396,11 +407,11 @@ rec {
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-nvim-2016-11-04";
+    name = "deoplete-nvim-2017-01-04";
     src = fetchgit {
       url = "git://github.com/Shougo/deoplete.nvim";
-      rev = "5fc5ed772de138439322d728b103a7cb225cbf82";
-      sha256 = "1nn9k9rk6m3x48mm6mlji374vkrgwz1rf3pp8smd1hj30dy0njfk";
+      rev = "90569837af21ad0438448582b34d8418b745ffeb";
+      sha256 = "1qkzvgvjg397zaj1i56ld9i0gf2w9y5x2if5gbmag56nhxcwfw32";
     };
     dependencies = [];
 
@@ -440,11 +451,11 @@ rec {
   };
 
   clighter8 = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "clighter8-2016-11-08";
+    name = "clighter8-2017-01-03";
     src = fetchgit {
       url = "git://github.com/bbchung/clighter8";
-      rev = "a264494b6dd3e7636fa31b8aee9b3a42a635a69f";
-      sha256 = "1dg22yfr0za7milqzm7xywa6j9dfs2kvkjlwa046jjkjaqzlfx48";
+      rev = "89d70129ab5437c749041094fa71da97c95bda3f";
+      sha256 = "147i6rhz6ri86k6p0sim72vpsc5f6y8dvwxn7am6vyi21avy4zrz";
     };
     dependencies = [];
     preFixup = ''
@@ -454,11 +465,11 @@ rec {
   };
 
   neomake = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neomake-2016-11-04";
+    name = "neomake-2017-01-04";
     src = fetchgit {
       url = "git://github.com/benekastah/neomake";
-      rev = "0c8795de4519600c204227fdf86c83ca499db783";
-      sha256 = "0vif3jxrxpq8imnhbkl82fb7vvfi4illxxm6drl6wd5wijfwq39k";
+      rev = "9794f6caef063ba1283bb728ac3befda477935f3";
+      sha256 = "11rpc98nv9viyv82j5y4l29jc62bmd2rddp90a6740p8dx5gvx5q";
     };
     dependencies = [];
 
@@ -487,22 +498,22 @@ rec {
   };
 
   spacevim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "spacevim-2016-10-25";
+    name = "spacevim-2016-12-02";
     src = fetchgit {
       url = "git://github.com/ctjhoa/spacevim";
-      rev = "51d936482ce0710f6211aefca45cd33ab59d8444";
-      sha256 = "156sc8ynj1mg75i7n3dpm5nqlwcw727m41jw32fm3pahr3yq3ydq";
+      rev = "9bb2a04b14964a7db1d4131e1af1ed8bd31e910b";
+      sha256 = "0hq6g8czi73hgpkpigi177kp49dslh8xny3j7wjl03bjxsq9fkmk";
     };
     dependencies = [];
 
   };
 
   ctrlp-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-vim-2016-11-07";
+    name = "ctrlp-vim-2016-11-29";
     src = fetchgit {
       url = "git://github.com/ctrlpvim/ctrlp.vim";
-      rev = "88b61e77a285d10d0163bd383d3bb2909ea2ddca";
-      sha256 = "0zb5hcsbgvbsp5h0alkqyqbikzicl29mraw787p2chbps10n1qjw";
+      rev = "2868678a987834563bbc384763135462c2423eb8";
+      sha256 = "0s98nqj22i4x79mqspjkz6b6rpg8hf79iblv4md2ivzlj7ffccx3";
     };
     dependencies = [];
 
@@ -519,16 +530,6 @@ rec {
 
   };
 
-  dracula = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "dracula-2016-09-21";
-    src = fetchgit {
-      url = "git://github.com/dracula/vim";
-      rev = "926dfbab01128322f6326bdd10de2856b1fa3232";
-      sha256 = "1kqd367qa2dnz3qf10lyw7hacahylc94axc6f6f5nw4cklm1g8yv";
-    };
-    dependencies = [];
-  };
-
   vim-jade = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-jade-2016-10-31";
     src = fetchgit {
@@ -540,6 +541,17 @@ rec {
 
   };
 
+  dracula = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "dracula-2016-09-21";
+    src = fetchgit {
+      url = "git://github.com/dracula/vim";
+      rev = "926dfbab01128322f6326bdd10de2856b1fa3232";
+      sha256 = "1kqd367qa2dnz3qf10lyw7hacahylc94axc6f6f5nw4cklm1g8yv";
+    };
+    dependencies = [];
+
+  };
+
   neco-ghc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "neco-ghc-2016-07-01";
     src = fetchgit {
@@ -574,22 +586,22 @@ rec {
   };
 
   elm-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "elm-vim-2016-10-02";
+    name = "elm-vim-2016-11-26";
     src = fetchgit {
       url = "git://github.com/elmcast/elm-vim";
-      rev = "7760aed9f258cf6a7d2c56d547dd3ea45f832025";
-      sha256 = "1f1z2929aka2shkwb8z2ky26cvw2cgx7wdcikw9mljpgc1s7nl5d";
+      rev = "16a9a380a514e23c02d4bd7374112aa2dac1f3a4";
+      sha256 = "1mjccw7yx8hrn4vriickzag9z5g3xzqd6qh6w3xkw0nfh8mx2sgn";
     };
     dependencies = [];
 
   };
 
   vim-localvimrc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-localvimrc-2016-10-07";
+    name = "vim-localvimrc-2016-11-08";
     src = fetchgit {
       url = "git://github.com/embear/vim-localvimrc";
-      rev = "f0c9b8d0b6f0d4c83d9dba5137772bd6c97afb4e";
-      sha256 = "02dzh8gckbpdifh7nmfzwn6qs3swjm783ld4h7dl1ky6xq4f06mv";
+      rev = "9f6de2ddfea2a397bc3e5335779bc93a8260ff99";
+      sha256 = "0ks8x7zjqnbm06y3niidj9h0ccqky29b2vpdkvs1vwnli10bg6sh";
     };
     dependencies = [];
 
@@ -618,11 +630,11 @@ rec {
   };
 
   vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-go-2016-10-23";
+    name = "vim-go-2017-01-01";
     src = fetchgit {
       url = "git://github.com/fatih/vim-go";
-      rev = "10c805b83f160eb9e7f9cbe00d26c1b6d06ba636";
-      sha256 = "0316kzmwb2p91rwz31ddr7r5bd52aa7jxzkb3vdhdb7f3bmcwx3q";
+      rev = "d7c628ff228c2e6a4d4d5808f198471a775cf8b5";
+      sha256 = "1375qz8id08d10p6i7ppvk3khq778996bx1n7qarz6vx6kb19zcn";
     };
     dependencies = [];
 
@@ -651,22 +663,33 @@ rec {
   };
 
   psc-ide-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "psc-ide-vim-2016-11-05";
+    name = "psc-ide-vim-2016-11-29";
     src = fetchgit {
       url = "git://github.com/frigoeu/psc-ide-vim";
-      rev = "bb7f0ef6620899cb6256e3ee5956d3b30769488b";
-      sha256 = "1x47phq0shap338as120vf0srl69fas11kggzsxjg1dxblg69iww";
+      rev = "640842ac8786098fc74fce4737734c97a7629591";
+      sha256 = "0mwqkgqlglcnv1k7k5lmibc7piwkd79j96vgv52ya31hg50vkrin";
     };
     dependencies = [];
 
   };
 
   vim-jsonnet = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-jsonnet-2016-10-11";
+    name = "vim-jsonnet-2016-12-16";
     src = fetchgit {
       url = "git://github.com/google/vim-jsonnet";
-      rev = "bf1997a5607912cc121fe617a6fef76d3d872aa4";
-      sha256 = "04vgbzknz7x6r8gwvlajjqd653fvv1x4szib00bnzw87vsagdiiy";
+      rev = "ff255a3ac45dcd8bcda04728a8140243adde9c57";
+      sha256 = "16ica7n8dcb3kq40dx3sd8lwvdrz7bzks1cranw2vxh4riv1i251";
+    };
+    dependencies = [];
+
+  };
+
+  vim-jsdoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-jsdoc-2016-10-30";
+    src = fetchgit {
+      url = "git://github.com/heavenshell/vim-jsdoc";
+      rev = "45c7c7cef440a29f7bf24436640413e3d5d578ff";
+      sha256 = "0kr4p01pyrz9w7yfh50gsz6n60qvnqxsr1055hvsyx36nzw6l3za";
     };
     dependencies = [];
 
@@ -695,33 +718,33 @@ rec {
   };
 
   calendar-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "calendar-vim-2016-11-06";
+    name = "calendar-vim-2016-12-06";
     src = fetchgit {
       url = "git://github.com/itchyny/calendar.vim";
-      rev = "ca4b4b2ed364831ba27d50f17b44d1e9506715ef";
-      sha256 = "1i2ywg0h3rb6f05k7ahng9bvjg7hxqdg1nzcijs5m6kxkn8kjj2k";
+      rev = "6cf60f08a42c8b22ea3ae191a89e1faa4fdd3dae";
+      sha256 = "172xgsmzwpy890bg813d89wz210lfdhckvispdl45l15armdy99y";
     };
     dependencies = [];
 
   };
 
   lightline-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "lightline-vim-2016-11-06";
+    name = "lightline-vim-2016-12-03";
     src = fetchgit {
       url = "git://github.com/itchyny/lightline.vim";
-      rev = "836d4c84f76e7066bcfa4c6c60449714cf2b2c45";
-      sha256 = "0qdhpwr4iyifmk0l463s4k5nm8k744ycvxmxgz3s38vkn8q5y06w";
+      rev = "059888ab650fa192dd441e52bd9f41f08b247529";
+      sha256 = "1pa627jjmrhlfbd8yms8lvfgnm0gj9xkr29jkq122icfl6hv3fwx";
     };
     dependencies = [];
 
   };
 
   thumbnail-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "thumbnail-vim-2016-09-06";
+    name = "thumbnail-vim-2016-12-25";
     src = fetchgit {
       url = "git://github.com/itchyny/thumbnail.vim";
-      rev = "d697fb7a73a53275390c20040faab87b54f12f84";
-      sha256 = "112hkblw30ym7bpv8454fylalv9kn0l3268gpkh9a5qdr2kf99b1";
+      rev = "f911ebd0dfe08dd83a55dd0d0e4804195079b13c";
+      sha256 = "1pa0c34v2mah97i41hg1vyppf44sfmvdpji30bq54yv7gza36plz";
     };
     dependencies = [];
 
@@ -750,11 +773,11 @@ rec {
   };
 
   vim-orgmode = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-orgmode-2016-11-03";
+    name = "vim-orgmode-2016-11-12";
     src = fetchgit {
       url = "git://github.com/jceb/vim-orgmode";
-      rev = "304fd3ced3b929a8507e460b99b0bf4e6a9b3c7d";
-      sha256 = "13r4mnqng5hsiarqdrr3vqa4frf6jlwlaxpl72czvpyrvd4mvc2m";
+      rev = "67a693c37bac75ba163d35b9972efd0c7e0deb71";
+      sha256 = "1rdcyfdyq4lbfh9ya63kf05aqcr9g6q7r4ngzn1fgy7pmqdpk7vf";
     };
     dependencies = [];
 
@@ -783,11 +806,11 @@ rec {
   };
 
   auto-pairs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "auto-pairs-2016-07-17";
+    name = "auto-pairs-2016-11-21";
     src = fetchgit {
       url = "git://github.com/jiangmiao/auto-pairs";
-      rev = "1b3a1efb078fdf74d4013308b63de57dfda0cc8e";
-      sha256 = "1g5gb9xvc9xw3rxg8p4w3qcsdl3xfpi5ax380916aq237kmrnzdk";
+      rev = "84518168107c34fb540ee4f8cde743ceaf682bae";
+      sha256 = "104mahfn956vb98psfml0b4x1yhwn8w6af3hkym3fdxy4ksh4fj4";
     };
     dependencies = [];
 
@@ -838,11 +861,11 @@ rec {
   };
 
   fzf-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fzf-vim-2016-10-29";
+    name = "fzf-vim-2016-12-25";
     src = fetchgit {
       url = "git://github.com/junegunn/fzf.vim";
-      rev = "0bc9b231fbab6749f18f2f34cc21c649b9a7d3ed";
-      sha256 = "1gpy744qd7hch1ab7kfzz1njg74hasvh53w7kbm7ni5sw7pn5w64";
+      rev = "2066643243eddf2ed1f5d3a1a5485d6ff71851a4";
+      sha256 = "0svw41n4x1j7s9l7qh5s0mk2s5ibdfq4pzdiknvfb342na6xi2b5";
     };
     dependencies = [];
 
@@ -871,11 +894,11 @@ rec {
   };
 
   vim-eighties = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-eighties-2015-11-02";
+    name = "vim-eighties-2016-12-15";
     src = fetchgit {
       url = "git://github.com/justincampbell/vim-eighties";
-      rev = "62a9719df45fddd0456bf47420fc4768f9c8f5a5";
-      sha256 = "1ada7f2lhdwjqmy5kxma69s215z4phi4khh8hsy5qd6k3a4bvyrs";
+      rev = "1a6ea42ead1e31524ec94cfefb6afc1d8dacd170";
+      sha256 = "1yh1kny28c7f5qm52y7xd5aj4mycksfb0x1zvcb37c73ycdxc1v2";
     };
     dependencies = [];
 
@@ -893,33 +916,33 @@ rec {
   };
 
   vim-jinja = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-jinja-2016-05-20";
+    name = "vim-jinja-2016-11-16";
     src = fetchgit {
       url = "git://github.com/lepture/vim-jinja";
-      rev = "0bcc2993ef13bacd4bf1a0d91eb17652f7aedb86";
-      sha256 = "1wypg9rf7q65g6l3ajp75gdb4cd7spckzd4b7ccg8c47vd937dcj";
+      rev = "8d330a7aaf0763d080dc82204b4aaba6ac0605c6";
+      sha256 = "1n62ga02rcj7jjgzvwr46pckj59dc1zqahjgampjcwdd8vf4mg3q";
     };
     dependencies = [];
 
   };
 
   vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimtex-2016-11-04";
+    name = "vimtex-2017-01-03";
     src = fetchgit {
       url = "git://github.com/lervag/vimtex";
-      rev = "fa1adca64aea62d512bbc9e0b0f4b88ac8667ed4";
-      sha256 = "0gnz4jh5gagnk06jndmxqmjhymbnpjz18wx5i071q7imkv0420s4";
+      rev = "4c76e8f74025c6c753167f23a6be0bcfc1e39af7";
+      sha256 = "1syl4wyffn59i43q6kcy3hz5kzwmp0wj4xmwsahg81fxq4wzdz3n";
     };
     dependencies = [];
 
   };
 
   vim-easymotion = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-easymotion-2016-10-19";
+    name = "vim-easymotion-2016-12-25";
     src = fetchgit {
       url = "git://github.com/lokaltog/vim-easymotion";
-      rev = "11632455de8caa40f264501df8f0a3e249cf0595";
-      sha256 = "1lmmahpsghfqnri7wi2i9370q4dfzpdbafabi97vfxyyclxj4bz9";
+      rev = "af9786ee5780bf0cbafbd7b341c2b5234d18c1c0";
+      sha256 = "0f9xc6wz53msq03qivbmqfcfjncba0mrcl4x8vdkzr4chi0yxvbd";
     };
     dependencies = [];
 
@@ -952,11 +975,11 @@ rec {
   };
 
   vim-startify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-startify-2016-10-31";
+    name = "vim-startify-2017-01-02";
     src = fetchgit {
       url = "git://github.com/mhinz/vim-startify";
-      rev = "9732427469c6933cbedeb7e662c70a2aaf4e63d2";
-      sha256 = "022ibyqq140130x8c2901sskh03q516ghnc25i41qv6b2hcsq1ad";
+      rev = "c26fcfcd17cfa64e051c8aa97f78894d91a21604";
+      sha256 = "0rcvh612qvcsbf0bagq44dk2hbarhcc2v9a8n7lc5f7rsgdhxp7w";
     };
     dependencies = [];
 
@@ -1007,16 +1030,38 @@ rec {
   };
 
   haskell-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "haskell-vim-2016-11-05";
+    name = "haskell-vim-2016-12-29";
     src = fetchgit {
       url = "git://github.com/neovimhaskell/haskell-vim";
-      rev = "cf2f339d2b551547d4f5a365db17f0f12b99a0c0";
-      sha256 = "1zdq7rc7bklz88df2cwgw7n43z0mn4fylx7gyfmi8sfm1bx5avnj";
+      rev = "434f5903556e2bea99d433d48adb681cb4967d27";
+      sha256 = "0lwclld3yqh4mf0bqqaxvqsfqsjq8q5pl27q1byqrr9x3ngjx5zz";
     };
     dependencies = [];
 
   };
 
+  cpsm = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "cpsm-2016-09-21";
+    src = fetchgit {
+      url = "git://github.com/nixprime/cpsm";
+      rev = "565ab53a66fa52c46d80adf6981b07f4bdffcb1d";
+      sha256 = "125gcnqrg2276sp715q924cxwjxwsv3j4m0n1zj17w9srnpn4r1k";
+    };
+    dependencies = [];
+    buildInputs = [
+      python3
+      stdenv
+      cmake
+      boost
+      icu
+    ];
+    buildPhase = ''
+      patchShebangs .
+      export PY3=ON
+      ./install.sh
+    '';
+  };
+
   shabadou-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "shabadou-vim-2016-07-19";
     src = fetchgit {
@@ -1029,11 +1074,11 @@ rec {
   };
 
   vim-watchdogs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-watchdogs-2016-09-05";
+    name = "vim-watchdogs-2016-11-14";
     src = fetchgit {
       url = "git://github.com/osyo-manga/vim-watchdogs";
-      rev = "96ee0ce968da8da8ace48457665c7d5c942dd49d";
-      sha256 = "16dk0wsikqmcywgm04vwv76p2sc6jw0krq4cg02zdpgyb4xxgp3n";
+      rev = "455a61a34e6f2f82fda7e6de0fc14fc740a11764";
+      sha256 = "05mqphn2l3f0sa86xq5iw1gmm8l1x8ri26kiw6w40hvdc22xkak5";
     };
     dependencies = [];
 
@@ -1051,11 +1096,11 @@ rec {
   };
 
   vim-racer = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-racer-2016-10-18";
+    name = "vim-racer-2017-01-04";
     src = fetchgit {
       url = "git://github.com/racer-rust/vim-racer";
-      rev = "6c87080bdb145595e37c304fd8b570b349eda381";
-      sha256 = "1hjf8j7jnf2vb62w6zv3xm0hdhjmm0hxqq18symxfqpkii1kwx6c";
+      rev = "3bd56cc87518c1bf02b681d586447366ae8e815a";
+      sha256 = "0wq2iwgb7wpg62r68f9j5g3kycyap8sks735p9mcsq63rrqmw6l4";
     };
     dependencies = [];
 
@@ -1073,55 +1118,55 @@ rec {
   };
 
   vim-grammarous = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-grammarous-2016-10-07";
+    name = "vim-grammarous-2017-01-03";
     src = fetchgit {
       url = "git://github.com/rhysd/vim-grammarous";
-      rev = "81ff81d1ac5e2ea059600588165ba9b2ecb854eb";
-      sha256 = "1xpm1j64f5c62d7dnpkc9lfg6qh0nwjbnk3a5gqmz3iy4z1hsdwb";
+      rev = "33f9b3a0f8d6fb01e3c565948bd6185f5079d732";
+      sha256 = "0l4qbd5phqqxdz1g7xz20p2fql1x2ccsv6v7sgal8bvk6b5f8dk0";
     };
     dependencies = [];
 
   };
 
   rust-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "rust-vim-2016-10-28";
+    name = "rust-vim-2017-01-01";
     src = fetchgit {
       url = "git://github.com/rust-lang/rust.vim";
-      rev = "59e5e2f8b7df21eb438124b95c7295da9c53e1d7";
-      sha256 = "1zdx29l6lhini9562j75g3d41yvjf78pi8cady16i7644hw11r0m";
+      rev = "732b5fcb3652f81726d5f0f5b97c9027c01f057a";
+      sha256 = "0yrg0wlpc9nj5zf25vgr9zd1kwapds3f10njr0dw0wgxr7g204dz";
     };
     dependencies = [];
 
   };
 
   neoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neoformat-2016-11-05";
+    name = "neoformat-2016-12-24";
     src = fetchgit {
       url = "git://github.com/sbdchd/neoformat";
-      rev = "8a4d9783879e404bd0a9e185dfec2cd6cd529c31";
-      sha256 = "076cm2cg4kyps7n5d3kp2vjcwvkay20f1pl26yvdsjac14w6x9l9";
+      rev = "a0460e8ef4e48d8d1ee9c377546820a6164fee16";
+      sha256 = "0jlvvc1ijpkadjqix6gr17y8gnfc0rhjqzbg08biw8jpks4fh44p";
     };
     dependencies = [];
 
   };
 
   vim-polyglot = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-polyglot-2016-09-11";
+    name = "vim-polyglot-2016-12-20";
     src = fetchgit {
       url = "git://github.com/sheerun/vim-polyglot";
-      rev = "74652b465d7eff97070001317a4ea5557717378d";
-      sha256 = "18bw8fdpq5riqfy656kw4a9hmrk8s967qx36lq0s16sbyqxm15ag";
+      rev = "e404a658b1647fad396a954776eda0bdabf8353c";
+      sha256 = "11q4k3yj1spxzhxjcwnild4njqmafznm179scvcw8lci8sm8w3hm";
     };
     dependencies = [];
 
   };
 
   neocomplete-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neocomplete-vim-2016-10-19";
+    name = "neocomplete-vim-2017-01-01";
     src = fetchgit {
       url = "git://github.com/shougo/neocomplete.vim";
-      rev = "4bf7526a1c8cca9f8614e8a09178f334eaca0481";
-      sha256 = "1qpxqvdiglisl8bnh1wli957lwr56mq96pm266qmwj6d38h8yby7";
+      rev = "7904f0ff33ce667dfb203e812b783bf443c983cf";
+      sha256 = "1gxvmzmlk8ga45vs8c24in92k6i9z3vxpmcpqpjjc40f4l8hqyds";
     };
     dependencies = [];
 
@@ -1139,22 +1184,22 @@ rec {
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-vim-2016-11-04";
+    name = "neosnippet-vim-2017-01-02";
     src = fetchgit {
       url = "git://github.com/shougo/neosnippet.vim";
-      rev = "22bf9611263fcc9fd2c4bd61031053624ff82714";
-      sha256 = "0f0j0spw8zkvrfhbdlk020y19fh4awhhqwc3ylnxday3q5avxa16";
+      rev = "65af2b9bcad50ba1543b38a8dd30df1aee2142ce";
+      sha256 = "107xb0pvqc4ivqpz5i7z8xfk26577y3jsxzvm86bizbxc2wi92m9";
     };
     dependencies = [];
 
   };
 
   unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "unite-vim-2016-11-04";
+    name = "unite-vim-2016-12-14";
     src = fetchgit {
       url = "git://github.com/shougo/unite.vim";
-      rev = "f3f6df24c04faf29ae4d716aa776f85e88e7ea38";
-      sha256 = "1yyw1blg82g6d8dbl6f4kgfka3d5lh0vgjmp310aysqdhnfag2az";
+      rev = "be09b0e5784c4c4c13aefae4f16313696c6f51de";
+      sha256 = "1nd09llf9v09acyizdmwgjkkdg1b14f8d02b5h3bgidv753dbx64";
     };
     dependencies = [];
 
@@ -1180,32 +1225,32 @@ rec {
   };
 
   vimshell-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimshell-vim-2016-10-20";
+    name = "vimshell-vim-2016-12-14";
     src = fetchgit {
       url = "git://github.com/shougo/vimshell.vim";
-      rev = "b42ba02a491d6a4b6daa3178a747e59e7b1800c7";
-      sha256 = "1vpxyfyc9p8h5pwmkdqfvvyxgddbzbmycnzpn9kbyxz89r8k94kj";
+      rev = "d0c5bef010237855b4de25863bc54895effe5d7a";
+      sha256 = "13szswi1n04w66c4h701y47xblrba8ysxjwvmnfxb0pyd1x3gzgz";
     };
     dependencies = [ "vimproc-vim" ];
   };
 
   gundo-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "gundo-vim-2016-01-19";
+    name = "gundo-vim-2016-12-16";
     src = fetchgit {
       url = "git://github.com/sjl/gundo.vim";
-      rev = "e7fe41024ace9047eee610f23311d44fd9d917c0";
-      sha256 = "14mx617mxh7q6rhjfcnv080hpr965vhqzfwhlizpmzc16lsf7ni1";
+      rev = "b4f3624d01ffdfd7bdcd2e19128fffe768fe6262";
+      sha256 = "0a18z3yc2fmpaymzlyjkjblxxkjvn83yh64rvidr3nzg262applz";
     };
     dependencies = [];
 
   };
 
   vim-hardtime = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-hardtime-2016-07-05";
+    name = "vim-hardtime-2016-12-19";
     src = fetchgit {
       url = "git://github.com/takac/vim-hardtime";
-      rev = "93ed99803df721648a9b93f0ccd4afe3d8d95a4e";
-      sha256 = "0as6kbdg2jqkxphxyv6ik6qxyp245hl52aqmx5gjd4vi3pryg0gl";
+      rev = "0551f0836d311fae408fb1dc73e0c09cdfa3661b";
+      sha256 = "1izyx3dnds1hdhjk16578cdda72mnhbsrdz2klm0dygfvfq9h7x4";
     };
     dependencies = [];
 
@@ -1234,11 +1279,11 @@ rec {
   };
 
   vim-quickrun = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-quickrun-2016-10-16";
+    name = "vim-quickrun-2016-12-14";
     src = fetchgit {
       url = "git://github.com/thinca/vim-quickrun";
-      rev = "c4c368c835b91c012b011dde613a914c0e167fd0";
-      sha256 = "0hk7y7gkcxkzgp102x2b3igx7pq194h6ixahmv8s9qv5ndv2km4s";
+      rev = "f968a467781f0f3c788768b95487d80efa6ceb28";
+      sha256 = "0kd6qi7zqahrgr3y773x3q885ww41ladgl10lx0r1x2yjr5y8nv4";
     };
     dependencies = [];
 
@@ -1300,26 +1345,27 @@ rec {
   };
 
   youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "youcompleteme-2016-11-04";
+    name = "youcompleteme-2017-01-04";
     src = fetchgit {
       url = "git://github.com/valloric/youcompleteme";
-      rev = "4f2494e87ebd5a6e9b5dc10a436d4d943f137fe6";
-      sha256 = "03fl5ccql6v6da27wns0fiqcyhn0rmwx5vz7l3xqq1xg3x44m5n2";
+      rev = "3fde57b029f760baedeaf7c0c880326e32f5c4d9";
+      sha256 = "1bilzzv02ksqv6m44alp32s61scxqqj5cxx1klr70mhm81k2ksb9";
     };
     dependencies = [];
     buildInputs = [
       python go cmake
-      (if stdenv.isDarwin then llvmPackages.clang else llvmPackages.clang-unwrapped)
-      llvmPackages.llvm
     ] ++ stdenv.lib.optional stdenv.isDarwin Cocoa;
 
     propagatedBuildInputs = stdenv.lib.optional (!stdenv.isDarwin) rustracerd;
 
     patches = [
-      ./patches/youcompleteme/1-top-cmake.patch
       ./patches/youcompleteme/2-ycm-cmake.patch
     ];
 
+    # YCM requires path to external libclang 3.9
+    # For explicit use and as env variable for ../third_party/ycmd/build.py
+    EXTRA_CMAKE_ARGS="-DEXTERNAL_LIBCLANG_PATH=${llvmPackages.clang.cc}/lib/libclang.${if stdenv.isDarwin then "dylib" else "so"}";
+
     buildPhase = ''
       patchShebangs .
       substituteInPlace plugin/youcompleteme.vim \
@@ -1327,9 +1373,10 @@ rec {
 
       mkdir build
       pushd build
-      cmake -G "Unix Makefiles" . ../third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON -DUSE_SYSTEM_LIBCLANG=ON
+      cmake -G "Unix Makefiles" . ../third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON \
+        $EXTRA_CMAKE_ARGS
       make ycm_core -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
-      ${python}/bin/python ../third_party/ycmd/build.py --gocode-completer --clang-completer --system-libclang
+      ${python}/bin/python ../third_party/ycmd/build.py --gocode-completer --clang-completer
       popd
     '';
 
@@ -1343,22 +1390,22 @@ rec {
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-airline-themes-2016-10-26";
+    name = "vim-airline-themes-2016-12-09";
     src = fetchgit {
       url = "git://github.com/vim-airline/vim-airline-themes";
-      rev = "e03e9f62d25f9afb04c88ec6ca66cf2098242016";
-      sha256 = "0c6qnh7xjp7qiw5hdz4a3n9v4fk7vynm592aqs4cmhhgjfv1s845";
+      rev = "2a97d9ee410d7b9980a7741fc6e705d53eea23c2";
+      sha256 = "1crqpryfvamjqw8wqn6nlfqbflgwcfxqf4jk3j58rjxssl0vrfbc";
     };
     dependencies = [];
 
   };
 
   vim-pandoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-pandoc-2016-11-05";
+    name = "vim-pandoc-2016-12-16";
     src = fetchgit {
       url = "git://github.com/vim-pandoc/vim-pandoc";
-      rev = "a92155e8d3a5d8d4e4636783bdebb72ab465b89a";
-      sha256 = "0f4mf40h9h55nishgml833mj1n99wpxbahzgmmx3avfvhxcr97hm";
+      rev = "56b0940954c98c9a089948e1cbbafd2e6e7369e7";
+      sha256 = "0yn4cc3i71vxickvwz4g94fc39pgg9phqdz7sc6kf6xran6p0jdy";
     };
     dependencies = [];
 
@@ -1514,11 +1561,11 @@ rec {
   };
 
   deoplete-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-go-2016-11-12";
+    name = "deoplete-go-2016-12-22";
     src = fetchgit {
       url = "git://github.com/zchee/deoplete-go";
-      rev = "807b5536e7cebd06d0ce7b7d54c021a82774aee2";
-      sha256 = "1ragxnlzpf17f1wdy512hkz6bd673gzl16f14v78873rcyxpiw53";
+      rev = "3762a44995559277ea6b0bbcd3242dc5250d438e";
+      sha256 = "16hdp7gq3mxddwbi4qbpqknc67yfr8xr52v198189jgnwajs3c6x";
     };
     dependencies = [];
     buildInputs = [ python3 ]; 
@@ -1531,22 +1578,22 @@ rec {
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-jedi-2016-10-22";
+    name = "deoplete-jedi-2016-12-01";
     src = fetchgit {
       url = "git://github.com/zchee/deoplete-jedi";
-      rev = "57e5b61578d4d0a27fa75fd5f8dc21d110d60989";
-      sha256 = "050ck7k37lbvw44z7hdk530cswcqywrdfvw5v1bs37mjnh3l9dnj";
+      rev = "13c69a4baefdcf3be4288d82b9a75405fff06838";
+      sha256 = "15w53k5mxrpj6qaybxgyvmbxizkk6r06hsmw9hff8aig4xd3dw74";
     };
     dependencies = [];
 
   };
 
   goyo = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "goyo-2016-04-03";
+    name = "goyo-2017-01-03";
     src = fetchgit {
       url = "git://github.com/junegunn/goyo.vim";
-      rev = "8e8f1d45b61e1fce7f84ee061c38f9e033e86ff9";
-      sha256 = "120farhbfyzd7k1s1i68drwa5zzzm9yrcwzw45gwa2j7kqbv4hnx";
+      rev = "ebdd67fd6160b7f95ac8fe50b382694c9961d6b8";
+      sha256 = "08kx7dsa00amwgjdq1grhapjsa8mk2z11pwgn6xc342zkvrlf0fn";
     };
     dependencies = [];
 
@@ -1630,11 +1677,11 @@ rec {
   };
 
   snipmate = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "snipmate-2016-09-01";
+    name = "snipmate-2016-11-14";
     src = fetchgit {
       url = "git://github.com/garbas/vim-snipmate";
-      rev = "31986191ac9923afcd53bf6425c9b6c35fdbb214";
-      sha256 = "1l48h5xmkx412bm29mvl6kz11n7xbkk37ph8v5vgdws380d0fiag";
+      rev = "2d70860ba49afc83cb5902acb99174e3cf08538d";
+      sha256 = "015h8narda721svapf17963r3r48cz63477pmb3fhy2rp8lvvif4";
     };
     dependencies = ["vim-addon-mw-utils" "tlib"];
 
@@ -1805,11 +1852,11 @@ rec {
   };
 
   vim-addon-manager = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-manager-2016-02-07";
+    name = "vim-addon-manager-2016-12-20";
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-manager";
-      rev = "872f9302cf0eb8e9cb6259ea4f329d2265f9e32d";
-      sha256 = "14aixpj9p8b568mdh4pl7bmpw1rsc4d7axqr09g1m0a8q6rxipc7";
+      rev = "20f75ea1cfa119c61656d71701875c06493180fd";
+      sha256 = "04q1rim08l1ccl7w2764nahhhampvkzzbwnjnnvpb1zgi71ixivy";
     };
     dependencies = [];
     buildInputs = stdenv.lib.optional stdenv.isDarwin Cocoa;
@@ -1926,22 +1973,22 @@ rec {
   };
 
   vim-airline = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-airline-2016-11-04";
+    name = "vim-airline-2016-12-29";
     src = fetchgit {
       url = "git://github.com/vim-airline/vim-airline";
-      rev = "258430db82329c1298750af91391c1b21a5a5b58";
-      sha256 = "16m884mfrhmnn12nclmdngkcknkhy1kcn4dhpkk7fs5i89yik1rj";
+      rev = "a2431f2adb23a003abdfe5294861bbd69de52e52";
+      sha256 = "1qd5f133rg3pqdm889zg0hxhrmgzd71maz6jif4a4hjbghi61wjs";
     };
     dependencies = [];
 
   };
 
   vim-coffee-script = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-coffee-script-2016-09-19";
+    name = "vim-coffee-script-2016-12-27";
     src = fetchgit {
       url = "git://github.com/kchmck/vim-coffee-script";
-      rev = "b91dbe92ad794a85a03b089f384fa324ff4e0c3d";
-      sha256 = "0rkv0n9r3rczx1269i9nf4xs3q934n7iqnrykhnlqbl255s5agd4";
+      rev = "72f48c3f9bb6ba4f9ba1e6e4933c2c25686a1b62";
+      sha256 = "07qamx2jv5418ya1c1hca3qvnfvw78r15iakgh0kljajzdq3yy0b";
     };
     dependencies = [];
 
@@ -1970,11 +2017,11 @@ rec {
   };
 
   vim-gitgutter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-gitgutter-2016-10-27";
+    name = "vim-gitgutter-2016-12-23";
     src = fetchgit {
       url = "git://github.com/airblade/vim-gitgutter";
-      rev = "1742a8f568df549f4daeda90174b54d0c371501f";
-      sha256 = "1d4d4lpf43dd5fpn3cqb3lrfr4k6ilmanmk9cymwf9byri3s4xdv";
+      rev = "7b81a8a22607f073b76b106e2d5e63cc936b0d25";
+      sha256 = "19v2akrhhfb9zy7mvljjwvi7lqrnviw88gxh4xmpy82vghiwdrfs";
     };
     dependencies = [];
 
@@ -2025,44 +2072,44 @@ rec {
   };
 
   vim-signature = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signature-2016-10-17";
+    name = "vim-signature-2016-11-20";
     src = fetchgit {
       url = "git://github.com/kshenoy/vim-signature";
-      rev = "f1f7108aacac5dc3a7e3b697c489f8271fa054b8";
-      sha256 = "0y9ls3m9l2f5jwkbfn26xhw1brp03c9ylmzxfnw28z2bfh5778iy";
+      rev = "7e13913188809c45e14988270213744d1c3bb485";
+      sha256 = "0lcmv8fxj50r1r51379sxdy0ra3s0i1cgyqi4wp2zmpz06c1c2nx";
     };
     dependencies = [];
 
   };
 
   vim-signify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signify-2016-10-07";
+    name = "vim-signify-2016-12-31";
     src = fetchgit {
       url = "git://github.com/mhinz/vim-signify";
-      rev = "a7e3219de8f603aaec35b30027778aa417fcb691";
-      sha256 = "1dq369s2bavwkv59cklbjz2zr6vk5ahqs53x1pj0l1xx3rg9h3aq";
+      rev = "32d8797d887b0980514cdf7f11c9c1379d597e57";
+      sha256 = "1jhb6pljqbz8mlcc4zfjqzhyyp4yz5b6h7s0224m7vm4xvsphq8y";
     };
     dependencies = [];
 
   };
 
   vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-snippets-2016-11-05";
+    name = "vim-snippets-2016-12-27";
     src = fetchgit {
       url = "git://github.com/honza/vim-snippets";
-      rev = "93c3241c79886d027c802c93804e597f5b9d742f";
-      sha256 = "0m0k2czyhf9lwla4pyzf6jrb0h1xclcww1pqwnmbf1g10ns7n2zh";
+      rev = "e24d33f96a95332dde0edaa7e7e3e7a64244de56";
+      sha256 = "1clba2x05klqab5ifkg19cxm22ibx6ycdfdn71clglk96wli1h0f";
     };
     dependencies = [];
 
   };
 
   vim-webdevicons = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-webdevicons-2016-11-06";
+    name = "vim-webdevicons-2016-12-10";
     src = fetchgit {
       url = "git://github.com/ryanoasis/vim-devicons";
-      rev = "4fbf39a8984ed9a450b5cd078d65955de472bace";
-      sha256 = "0m549vm5qzk1hiixf4p740fkqw58y46pdimb5jhpm484sqyggvj5";
+      rev = "93387d7fba06f8ba7ee52dc00d08919f8a35341d";
+      sha256 = "1zxw0mbb5a54kc31qfwi1d9gylagsa9jnbsfghnsminx32ch8jcd";
     };
     dependencies = [];
 
@@ -2080,11 +2127,11 @@ rec {
   };
 
   vimwiki = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimwiki-2016-05-18";
+    name = "vimwiki-2016-12-18";
     src = fetchgit {
       url = "git://github.com/vimwiki/vimwiki";
-      rev = "4831384ab9f1c40c9e433857d958c4d9a7beb8ec";
-      sha256 = "1wjbsd37h5fxkkia90h708mmqisdj0kxzm9k97jm2zq36zngmd86";
+      rev = "3a8743700581923c6fd2684510dad48a8b2b8c64";
+      sha256 = "19b27h0zsmi1xphzf1qhmry11gca4j1mh0mli12yvkr9v61rnj6b";
     };
     dependencies = [];
 
@@ -2112,36 +2159,4 @@ rec {
 
   };
 
-  vim-jsdoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-jsdoc-2016-11-05";
-    src = fetchgit {
-      url = "git://github.com/heavenshell/vim-jsdoc";
-      rev = "45c7c7cef440a29f7bf24436640413e3d5d578ff";
-      sha256 = "0kr4p01pyrz9w7yfh50gsz6n60qvnqxsr1055hvsyx36nzw6l3za";
-    };
-    dependencies = [];
-
-  };
-
-  cpsm = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "cpsm-2016-09-21";
-    src = fetchgit {
-      url = "git://github.com/nixprime/cpsm";
-      rev = "565ab53a66fa52c46d80adf6981b07f4bdffcb1d";
-      sha256 = "125gcnqrg2276sp715q924cxwjxwsv3j4m0n1zj17w9srnpn4r1k";
-    };
-    dependencies = [];
-    buildInputs = [
-      python3
-      stdenv
-      cmake
-      boost
-      icu
-    ];
-    buildPhase = ''
-      patchShebangs .
-      export PY3=ON
-      ./install.sh
-    '';
-  };
 }
diff --git a/pkgs/misc/vim-plugins/patches/youcompleteme/1-top-cmake.patch b/pkgs/misc/vim-plugins/patches/youcompleteme/1-top-cmake.patch
deleted file mode 100644
index fddf91b1c57c..000000000000
--- a/pkgs/misc/vim-plugins/patches/youcompleteme/1-top-cmake.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-
---- ./third_party/ycmd/cpp/CMakeLists.txt
-+++ ./third_party/ycmd/cpp/CMakeLists.txt
-@@ -121,8 +121,8 @@
-     set( CPP11_AVAILABLE true )
-   endif()
- elseif( COMPILER_IS_CLANG )
--  set( CPP11_AVAILABLE true )
--  set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11" )
-+  #set( CPP11_AVAILABLE true )
-+  #  set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11" )
-   set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++" )
- endif()
- 
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme
index 4b81be5205b8..8da267837fb7 100644
--- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme
+++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme
@@ -1,16 +1,17 @@
     buildInputs = [
       python go cmake
-      (if stdenv.isDarwin then llvmPackages.clang else llvmPackages.clang-unwrapped)
-      llvmPackages.llvm
     ] ++ stdenv.lib.optional stdenv.isDarwin Cocoa;
 
     propagatedBuildInputs = stdenv.lib.optional (!stdenv.isDarwin) rustracerd;
 
     patches = [
-      ./patches/youcompleteme/1-top-cmake.patch
       ./patches/youcompleteme/2-ycm-cmake.patch
     ];
 
+    # YCM requires path to external libclang 3.9
+    # For explicit use and as env variable for ../third_party/ycmd/build.py
+    EXTRA_CMAKE_ARGS="-DEXTERNAL_LIBCLANG_PATH=${llvmPackages.clang.cc}/lib/libclang.${if stdenv.isDarwin then "dylib" else "so"}";
+
     buildPhase = ''
       patchShebangs .
       substituteInPlace plugin/youcompleteme.vim \
@@ -18,9 +19,10 @@
 
       mkdir build
       pushd build
-      cmake -G "Unix Makefiles" . ../third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON -DUSE_SYSTEM_LIBCLANG=ON
+      cmake -G "Unix Makefiles" . ../third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON \
+        $EXTRA_CMAKE_ARGS
       make ycm_core -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
-      ${python}/bin/python ../third_party/ycmd/build.py --gocode-completer --clang-completer --system-libclang
+      ${python}/bin/python ../third_party/ycmd/build.py --gocode-completer --clang-completer
       popd
     '';
 
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index c1e09c201114..1148fe5c4a16 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -31,6 +31,10 @@ let
       mv System/* .
       rmdir System
 
+      pushd lib
+      ln -s -L /usr/lib/libcups*.dylib .
+      popd
+
       cd Library/Frameworks/QuartzCore.framework/Versions/A/Headers
       for file in CI*.h; do
         rm $file
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 4fbd2d76e99b..4108bc60c270 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -217,7 +217,7 @@ let
     libresolv       = applePackage "libresolv"         "osx-10.11.6"     "09flfdi3dlzq0yap32sxidacpc4nn4va7z12a6viip21ix2xb2gf" {};
     Libsystem       = applePackage "Libsystem"         "osx-10.11.6"     "1nfkmbqml587v2s1d1y2s2v8nmr577jvk51y6vqrfvsrhdhc2w94" {};
     libutil         = applePackage "libutil"           "osx-10.11.6"     "1gmgmcyqdyc684ih7dimdmxdljnq7mzjy5iqbf589wc0pa8h5abm" {};
-    libunwind       = applePackage "libunwind"         "osx-10.11.6"     "16nhx2pahh9d62mvszc88q226q5lwjankij276fxwrm8wb50zzlx" {};
+    libunwind       = applePackage "libunwind"         "osx-10.11.6"     "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk1b" {};
     mDNSResponder   = applePackage "mDNSResponder"     "osx-10.11.6"     "069incq28a78yh1bnr17h9cd5if5mwqpq8ahnkyxxx25fkaxgzcf" {};
     objc4           = applePackage "objc4"             "osx-10.11.6"     "00b7vbgxni8frrqyi69b4njjihlwydzjd9zj9x4z5dbx8jabkvrj" {};
     ppp             = applePackage "ppp"               "osx-10.11.6"     "1dql6r1v0vbcs04958nn2i6p31yfsxyy51jca63bm5mf0gxalk3f" {};
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix
index 81a45d99a86e..b4b2b6858952 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix
@@ -1,15 +1,16 @@
 { stdenv, appleDerivation, dyld, osx_private_sdk }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
+  buildPhase = ":";
 
+  # install headers only
   installPhase = ''
     mkdir -p $out/lib
     cp -R include $out/include
   '';
 
   meta = with stdenv.lib; {
-    maintainers = with maintainers; [ copumpkin ];
+    maintainers = with maintainers; [ copumpkin lnl7 ];
     platforms   = platforms.darwin;
     license     = licenses.apsl20;
   };
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index 41fb090710cb..202426e78726 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoconf, automake, libtool_2
-, llvm, libcxx, libcxxabi, clang, openssl, libuuid
+, llvm, libcxx, libcxxabi, clang, libuuid
 , libobjc ? null
 }:
 
@@ -15,7 +15,7 @@ let
       sha256 = "0bzyabzr5dvbxglr74d0kbrk2ij5x7s5qcamqi1v546q1had1wz1";
     };
 
-    buildInputs = [ autoconf automake libtool_2 openssl libuuid ] ++
+    buildInputs = [ autoconf automake libtool_2 libuuid ] ++
       # Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang)
       stdenv.lib.optionals (!stdenv.isDarwin) [ llvm clang ] ++
       stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ];
diff --git a/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix b/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
index 0d5e21485b9a..e2776475432f 100644
--- a/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
+++ b/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation {
-  name = "reattach-to-user-namespace-2.4";
+  name = "reattach-to-user-namespace-2.5";
 
   src = fetchgit {
     url = "https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git";
-    sha256 = "0hrh95di5dvpynq2yfcrgn93l077h28i6msham00byw68cx0dd3z";
-    rev = "2765aeab8f337c29e260a912bf4267a2732d8640";
+    sha256 = "0kv11vi54g6waf9941hy1pwmwyab0y7hbmbkcgwhzb5ja21ysc2a";
+    rev = "3689998acce9990726c8a68a85298ab693a62458";
   };
 
   buildFlags = "ARCHES=x86_64";
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index b525cbfc261b..3205275ff93a 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -27,12 +27,6 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  crossAttrs = {
-    patchPhase = ''
-      sed -i s/extern/static/g include/iatomic.h
-    '';
-  };
-
   meta = with stdenv.lib; {
     homepage = http://www.alsa-project.org/;
     description = "ALSA, the Advanced Linux Sound Architecture libraries";
diff --git a/pkgs/os-specific/linux/amdgpu-pro/default.nix b/pkgs/os-specific/linux/amdgpu-pro/default.nix
index 4a0527242c7f..cbfa2e1b0300 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/default.nix
+++ b/pkgs/os-specific/linux/amdgpu-pro/default.nix
@@ -30,9 +30,9 @@ let
 
 in stdenv.mkDerivation rec {
 
-  version = "16.40";
+  version = "16.50";
   pname = "amdgpu-pro";
-  build = "16.40-348864";
+  build = "${version}-362463";
 
   libCompatDir = "/run/lib/${libArch}";
 
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url =
     "https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-${build}.tar.xz";
-    sha256 = "1c06lx07irmlpmbmgb3qcgpzj6q6rimszrbbdrgz8kqnfpcv3mjr";
+    sha256 = "1wl8mabk9g7s43bdarzl2i5crp8rl1advnb5mw3p3821sqzh2nd9";
     curlOpts = "--referer http://support.amd.com/en-us/kb-articles/Pages/AMD-Radeon-GPU-PRO-Linux-Beta-Driver%e2%80%93Release-Notes.aspx";
   };
 
@@ -58,20 +58,18 @@ in stdenv.mkDerivation rec {
   '';
 
   modulePatches = [
-    ./patches/0001-Find-correct-System.map.patch
-    ./patches/0002-Fix-kernel-module-install-location.patch
-    ./patches/0003-Add-Gentoo-as-build-option.patch
-    ./patches/0004-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
-    ./patches/0005-Remove-first-param-from-drm_gem_object_lookup.patch
-    ./patches/0006-Remove-vblank_disable_allowed-assignment.patch
-    ./patches/0007-Fix-__drm_atomic_helper_connector_destroy_state-call.patch
-    ./patches/0008-Change-seq_printf-format-for-64-bit-context.patch
-    ./patches/0009-Fix-vblank-calls.patch
-    ./patches/0010-Fix-crtc_gamma-functions-for-4.8.0.patch
-    ./patches/0011-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
-    ./patches/0012-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
-    ./patches/0013-Remove-dependency-on-System.map.patch
-    ./patches/0014-disable-dal-by-default.patch
+    ./patches/0001-Fix-kernel-module-install-location.patch
+    ./patches/0002-Add-Gentoo-as-build-option.patch
+    ./patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
+    ./patches/0004-Change-seq_printf-format-for-64-bit-context.patch
+    ./patches/0005-Fix-vblank-calls.patch
+    ./patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch
+    ./patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
+    ./patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
+    ./patches/0009-Remove-dependency-on-System.map.patch
+    ./patches/0010-disable-dal-by-default.patch
+    ./patches/0011-kcl-fixes-for-16.50-linux-4.8.patch
+    ./patches/0012-use-kernel-fence_array-in-4.8.patch
   ];
 
   patchPhase = optionalString (!libsOnly) ''
@@ -137,7 +135,6 @@ in stdenv.mkDerivation rec {
       patchelf --interpreter "$interpreter" --set-rpath "$libPath" "$out/bin/$prog"
     done
   '' + ''
-    ln -s libgbm.so.1.0.0 $out/lib/libgbm.so.1
     ln -s ${makeLibraryPath [ncurses5]}/libncursesw.so.5 $out/lib/libtinfo.so.5
   '';
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0001-Find-correct-System.map.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-Find-correct-System.map.patch
deleted file mode 100644
index 2a086cf37bc9..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0001-Find-correct-System.map.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4243cf67bcdf8c3865efbfe19dc8841c88ab2daa Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 15:30:26 +0100
-Subject: [PATCH 01/14] Find correct System.map
-
----
- pre-build.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pre-build.sh b/pre-build.sh
-index 95457bd..169ccf0 100755
---- a/pre-build.sh
-+++ b/pre-build.sh
-@@ -27,7 +27,7 @@ source amd/backport/symbols
- 
- echo '// auto generated by DKMS pre-build.sh' > amd/backport/symbols.c
- for sym in $SYMS; do
--    addr=$(grep $sym /boot/System.map-$KERNELVER | awk -F' ' '{print $1}')
-+    addr=$(grep $sym /boot/System.map*-$KERNELVER | awk -F' ' '{print $1}')
-     echo "void *$sym = (void *)0x$addr;" >> amd/backport/symbols.c
- done
- 
--- 
-2.10.1
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0002-Fix-kernel-module-install-location.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-Fix-kernel-module-install-location.patch
index be8868835563..5af823a93946 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0002-Fix-kernel-module-install-location.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-Fix-kernel-module-install-location.patch
@@ -1,25 +1,25 @@
-From c1860b4e8c2ebb784a07d6ba067c510950e67d24 Mon Sep 17 00:00:00 2001
+From e787277fd4f43399de2da355b08e478c2a58d589 Mon Sep 17 00:00:00 2001
 From: "Luke A. Guest" <laguest@archeia.com>
 Date: Sun, 25 Sep 2016 15:31:13 +0100
-Subject: [PATCH 02/14] Fix kernel module install location
+Subject: [PATCH 01/11] Fix kernel module install location
 
 ---
  dkms.conf | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/dkms.conf b/dkms.conf
-index d1a5e1d..0e03f08 100644
+index 7f11158..2f080e2 100644
 --- a/dkms.conf
 +++ b/dkms.conf
 @@ -2,7 +2,7 @@ PACKAGE_NAME="amdgpu-pro"
- PACKAGE_VERSION="16.40-348864"
+ PACKAGE_VERSION="16.50-362463"
  BUILT_MODULE_NAME[0]="amdgpu"
  BUILT_MODULE_LOCATION[0]="amd/amdgpu"
--DEST_MODULE_LOCATION[0]="/extra"
+-DEST_MODULE_LOCATION[0]="/updates"
 +DEST_MODULE_LOCATION[0]="/kernel/drivers/gpu/drm/amd/amdgpu"
  AUTOINSTALL="yes"
  PRE_BUILD="pre-build.sh $kernelver"
- REMAKE_INITRD="yes"
+ 
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Add-Gentoo-as-build-option.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0002-Add-Gentoo-as-build-option.patch
index d8b0f289d849..be627992c067 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Add-Gentoo-as-build-option.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0002-Add-Gentoo-as-build-option.patch
@@ -1,20 +1,20 @@
-From c26c7670869e02c39c0d0f6dee9094a621f42252 Mon Sep 17 00:00:00 2001
+From da51551f671be3282b6f69ef76e495b169a5dc3f Mon Sep 17 00:00:00 2001
 From: "Luke A. Guest" <laguest@archeia.com>
 Date: Sun, 25 Sep 2016 15:31:49 +0100
-Subject: [PATCH 03/14] Add Gentoo as build option
+Subject: [PATCH 02/11] Add Gentoo as build option
 
 ---
  amd/backport/Makefile | 5 +++++
  1 file changed, 5 insertions(+)
 
 diff --git a/amd/backport/Makefile b/amd/backport/Makefile
-index 0c285ef..dcc94d5 100644
+index a6ab7fe..ff9339d 100644
 --- a/amd/backport/Makefile
 +++ b/amd/backport/Makefile
-@@ -17,8 +17,13 @@ else ifeq ("ubuntu",$(OS_NAME))
- ccflags-y += -DOS_NAME_UBUNTU
- else ifeq ("steamos",$(OS_NAME))
- ccflags-y += -DOS_NAME_STEAMOS
+@@ -22,8 +22,13 @@ else ifeq ("sled",$(OS_NAME))
+ ccflags-y += -DOS_NAME_SLE
+ else ifeq ("sles",$(OS_NAME))
+ ccflags-y += -DOS_NAME_SLE
 +else ifeq ("gentoo",$(OS_NAME))
 +ccflags-y += -DOS_NAME_GENTOO
 +# We don't have a version inside /etc/os-release.
@@ -26,5 +26,5 @@ index 0c285ef..dcc94d5 100644
  
  ccflags-y += \
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0004-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
index 794da9b5fb71..ae5b62b1d231 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0004-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
@@ -1,17 +1,17 @@
-From d21e811c6f26674a0e1c2398dce6d247a1dd4918 Mon Sep 17 00:00:00 2001
+From 999a30883f34c4603c3b747a58a89d4924583769 Mon Sep 17 00:00:00 2001
 From: "Luke A. Guest" <laguest@archeia.com>
 Date: Sun, 25 Sep 2016 15:46:58 +0100
-Subject: [PATCH 04/14] Remove extra parameter from ttm_bo_reserve for 4.7.0
+Subject: [PATCH 03/11] Remove extra parameter from ttm_bo_reserve for 4.7.0
 
 ---
  amd/backport/include/kcl/kcl_ttm.h | 4 ++++
  1 file changed, 4 insertions(+)
 
 diff --git a/amd/backport/include/kcl/kcl_ttm.h b/amd/backport/include/kcl/kcl_ttm.h
-index 05c444b..c5a602c 100644
+index 6e5a170..52cdbc8 100644
 --- a/amd/backport/include/kcl/kcl_ttm.h
 +++ b/amd/backport/include/kcl/kcl_ttm.h
-@@ -106,7 +106,11 @@ static inline int kcl_ttm_bo_reserve(struct ttm_buffer_object *bo,
+@@ -113,7 +113,11 @@ static inline int kcl_ttm_bo_reserve(struct ttm_buffer_object *bo,
  				 struct ww_acquire_ctx *ticket)
  {
  #if defined(BUILD_AS_DKMS)
@@ -24,5 +24,5 @@ index 05c444b..c5a602c 100644
  	return ttm_bo_reserve(bo, interruptible, no_wait, ticket);
  #endif
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0004-Change-seq_printf-format-for-64-bit-context.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0004-Change-seq_printf-format-for-64-bit-context.patch
new file mode 100644
index 000000000000..925a92e2a7e5
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0004-Change-seq_printf-format-for-64-bit-context.patch
@@ -0,0 +1,25 @@
+From 084b2915e6876d8fdb913938569c0ce7ffef65bc Mon Sep 17 00:00:00 2001
+From: "Luke A. Guest" <laguest@archeia.com>
+Date: Sun, 25 Sep 2016 16:46:39 +0100
+Subject: [PATCH 04/11] Change seq_printf format for 64 bit context
+
+---
+ amd/amdgpu/amdgpu_sa.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/amd/amdgpu/amdgpu_sa.c b/amd/amdgpu/amdgpu_sa.c
+index 052f745..5886b9a 100644
+--- a/amd/amdgpu/amdgpu_sa.c
++++ b/amd/amdgpu/amdgpu_sa.c
+@@ -428,7 +428,7 @@ void amdgpu_sa_bo_dump_debug_info(struct amdgpu_sa_manager *sa_manager,
+ 			   soffset, eoffset, eoffset - soffset);
+ 
+ 		if (i->fence)
+-#if defined(BUILD_AS_DKMS)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
+ 			seq_printf(m, " protected by 0x%08x on context %d",
+ 				   i->fence->seqno, i->fence->context);
+ #else
+-- 
+2.11.0
+
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0009-Fix-vblank-calls.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0005-Fix-vblank-calls.patch
index 82db5905a459..99b54aca2ab0 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0009-Fix-vblank-calls.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0005-Fix-vblank-calls.patch
@@ -1,18 +1,19 @@
-From 9da98ec93816277a2d4e93d3205da044bace08bc Mon Sep 17 00:00:00 2001
+From 1884ef3a813f3dac0029c7539654ba978635d5d3 Mon Sep 17 00:00:00 2001
 From: "Luke A. Guest" <laguest@archeia.com>
 Date: Sun, 25 Sep 2016 16:49:09 +0100
-Subject: [PATCH 09/14] Fix vblank calls
+Subject: [PATCH 05/11] Fix vblank calls
 
 ---
  amd/amdgpu/amdgpu_display.c   | 8 ++++++++
- amd/amdgpu/dce_v10_0.c        | 8 ++++++++
- amd/amdgpu/dce_v11_0.c        | 8 ++++++++
- amd/amdgpu/dce_v8_0.c         | 8 ++++++++
+ amd/amdgpu/dce_v10_0.c        | 4 ++++
+ amd/amdgpu/dce_v11_0.c        | 4 ++++
+ amd/amdgpu/dce_v8_0.c         | 4 ++++
+ amd/amdgpu/dce_virtual.c      | 8 ++++++++
  amd/dal/amdgpu_dm/amdgpu_dm.c | 4 ++++
- 5 files changed, 36 insertions(+)
+ 6 files changed, 32 insertions(+)
 
 diff --git a/amd/amdgpu/amdgpu_display.c b/amd/amdgpu/amdgpu_display.c
-index 862611c..267c65f 100644
+index 8425b1d..d6cd383 100644
 --- a/amd/amdgpu/amdgpu_display.c
 +++ b/amd/amdgpu/amdgpu_display.c
 @@ -268,7 +268,11 @@ int amdgpu_crtc_page_flip(struct drm_crtc *crtc,
@@ -38,20 +39,12 @@ index 862611c..267c65f 100644
 +#endif
  
  pflip_cleanup:
- 	if (unlikely(amdgpu_bo_reserve(new_rbo, false) != 0)) {
+ 	if (unlikely(amdgpu_bo_reserve(new_abo, false) != 0)) {
 diff --git a/amd/amdgpu/dce_v10_0.c b/amd/amdgpu/dce_v10_0.c
-index 0fd1e4f..5f0044c 100644
+index 650d193..b1880ac 100644
 --- a/amd/amdgpu/dce_v10_0.c
 +++ b/amd/amdgpu/dce_v10_0.c
-@@ -3372,11 +3372,19 @@ static int dce_v10_0_pageflip_irq(struct amdgpu_device *adev,
- 
- 	/* wakeup usersapce */
- 	if (works->event)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+		drm_crtc_send_vblank_event(&amdgpu_crtc->base, works->event);
-+#else
- 		drm_send_vblank_event(adev->ddev, crtc_id, works->event);
-+#endif
+@@ -3342,7 +3342,11 @@ static int dce_v10_0_pageflip_irq(struct amdgpu_device *adev,
  
  	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
  
@@ -64,18 +57,26 @@ index 0fd1e4f..5f0044c 100644
  
  	return 0;
 diff --git a/amd/amdgpu/dce_v11_0.c b/amd/amdgpu/dce_v11_0.c
-index a85eb5f..8edc670 100644
+index ca03d8e..b654b64 100644
 --- a/amd/amdgpu/dce_v11_0.c
 +++ b/amd/amdgpu/dce_v11_0.c
-@@ -3432,11 +3432,19 @@ static int dce_v11_0_pageflip_irq(struct amdgpu_device *adev,
+@@ -3391,7 +3391,11 @@ static int dce_v11_0_pageflip_irq(struct amdgpu_device *adev,
+ 
+ 	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
  
- 	/* wakeup usersapce */
- 	if(works->event)
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+		drm_crtc_send_vblank_event(&amdgpu_crtc->base, works->event);
++	drm_crtc_vblank_put(&amdgpu_crtc->base);
 +#else
- 		drm_send_vblank_event(adev->ddev, crtc_id, works->event);
+ 	drm_vblank_put(adev->ddev, amdgpu_crtc->crtc_id);
 +#endif
+ 	schedule_work(&works->unpin_work);
+ 
+ 	return 0;
+diff --git a/amd/amdgpu/dce_v8_0.c b/amd/amdgpu/dce_v8_0.c
+index 8e4dff7..b598caa 100644
+--- a/amd/amdgpu/dce_v8_0.c
++++ b/amd/amdgpu/dce_v8_0.c
+@@ -3252,7 +3252,11 @@ static int dce_v8_0_pageflip_irq(struct amdgpu_device *adev,
  
  	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
  
@@ -87,16 +88,16 @@ index a85eb5f..8edc670 100644
  	schedule_work(&works->unpin_work);
  
  	return 0;
-diff --git a/amd/amdgpu/dce_v8_0.c b/amd/amdgpu/dce_v8_0.c
-index 308f5e4..57e8014 100644
---- a/amd/amdgpu/dce_v8_0.c
-+++ b/amd/amdgpu/dce_v8_0.c
-@@ -3323,11 +3323,19 @@ static int dce_v8_0_pageflip_irq(struct amdgpu_device *adev,
+diff --git a/amd/amdgpu/dce_virtual.c b/amd/amdgpu/dce_virtual.c
+index 0c6e873..36e2094 100644
+--- a/amd/amdgpu/dce_virtual.c
++++ b/amd/amdgpu/dce_virtual.c
+@@ -746,11 +746,19 @@ static int dce_virtual_pageflip_irq(struct amdgpu_device *adev,
  
  	/* wakeup usersapce */
  	if (works->event)
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+		drm_crtc_send_vblank_event(&amdgpu_crtc->base, works->event);
++    drm_crtc_send_vblank_event(&amdgpu_crtc->base, works->event);
 +#else
  		drm_send_vblank_event(adev->ddev, crtc_id, works->event);
 +#endif
@@ -112,10 +113,10 @@ index 308f5e4..57e8014 100644
  
  	return 0;
 diff --git a/amd/dal/amdgpu_dm/amdgpu_dm.c b/amd/dal/amdgpu_dm/amdgpu_dm.c
-index 30865ec..f49999b 100644
+index c5fcf5a..e9892d8 100644
 --- a/amd/dal/amdgpu_dm/amdgpu_dm.c
 +++ b/amd/dal/amdgpu_dm/amdgpu_dm.c
-@@ -196,10 +196,14 @@ static void dm_pflip_high_irq(void *interrupt_params)
+@@ -213,10 +213,14 @@ static void dm_pflip_high_irq(void *interrupt_params)
  
  	/* wakeup usersapce */
  	if(works->event)
@@ -131,5 +132,5 @@ index 30865ec..f49999b 100644
  	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
  
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0005-Remove-first-param-from-drm_gem_object_lookup.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0005-Remove-first-param-from-drm_gem_object_lookup.patch
deleted file mode 100644
index 94cb3e72ed56..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0005-Remove-first-param-from-drm_gem_object_lookup.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-From 4ac701dce0a4139e89c80237fc4eaa65f48c6f07 Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 15:53:50 +0100
-Subject: [PATCH 05/14] Remove first param from drm_gem_object_lookup
-
----
- amd/amdgpu/amdgpu_bo_list.c         |  4 ++++
- amd/amdgpu/amdgpu_cs.c              |  4 ++++
- amd/amdgpu/amdgpu_display.c         |  4 ++++
- amd/amdgpu/amdgpu_gem.c             | 20 ++++++++++++++++++++
- amd/amdgpu/dce_v10_0.c              |  4 ++++
- amd/amdgpu/dce_v11_0.c              |  4 ++++
- amd/amdgpu/dce_v8_0.c               |  4 ++++
- amd/dal/amdgpu_dm/amdgpu_dm_types.c |  4 ++++
- 8 files changed, 48 insertions(+)
-
-diff --git a/amd/amdgpu/amdgpu_bo_list.c b/amd/amdgpu/amdgpu_bo_list.c
-index 844214d..7ae09cf 100644
---- a/amd/amdgpu/amdgpu_bo_list.c
-+++ b/amd/amdgpu/amdgpu_bo_list.c
-@@ -107,7 +107,11 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev,
- 		struct amdgpu_bo *bo;
- 		struct mm_struct *usermm;
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+		gobj = drm_gem_object_lookup(filp, info[i].bo_handle);
-+#else
- 		gobj = drm_gem_object_lookup(adev->ddev, filp, info[i].bo_handle);
-+#endif
- 		if (!gobj) {
- 			r = -ENOENT;
- 			goto error_free;
-diff --git a/amd/amdgpu/amdgpu_cs.c b/amd/amdgpu/amdgpu_cs.c
-index 20f6ab2..22363ab 100644
---- a/amd/amdgpu/amdgpu_cs.c
-+++ b/amd/amdgpu/amdgpu_cs.c
-@@ -92,8 +92,12 @@ static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser *p,
- {
- 	struct drm_gem_object *gobj;
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	gobj = drm_gem_object_lookup(p->filp, data->handle);
-+#else
- 	gobj = drm_gem_object_lookup(p->adev->ddev, p->filp,
- 				     data->handle);
-+#endif
- 	if (gobj == NULL)
- 		return -EINVAL;
- 
-diff --git a/amd/amdgpu/amdgpu_display.c b/amd/amdgpu/amdgpu_display.c
-index 96c4fa5..862611c 100644
---- a/amd/amdgpu/amdgpu_display.c
-+++ b/amd/amdgpu/amdgpu_display.c
-@@ -601,7 +601,11 @@ amdgpu_user_framebuffer_create(struct drm_device *dev,
- 	struct amdgpu_framebuffer *amdgpu_fb;
- 	int ret;
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]);
-+#else
- 	obj = drm_gem_object_lookup(dev, file_priv, mode_cmd->handles[0]);
-+#endif
- 	if (obj ==  NULL) {
- 		dev_err(&dev->pdev->dev, "No GEM object associated to handle 0x%08X, "
- 			"can't create framebuffer\n", mode_cmd->handles[0]);
-diff --git a/amd/amdgpu/amdgpu_gem.c b/amd/amdgpu/amdgpu_gem.c
-index 0069aec..6da025b 100644
---- a/amd/amdgpu/amdgpu_gem.c
-+++ b/amd/amdgpu/amdgpu_gem.c
-@@ -397,7 +397,11 @@ int amdgpu_mode_dumb_mmap(struct drm_file *filp,
- 	struct drm_gem_object *gobj;
- 	struct amdgpu_bo *robj;
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	gobj = drm_gem_object_lookup(filp, handle);
-+#else
- 	gobj = drm_gem_object_lookup(dev, filp, handle);
-+#endif
- 	if (gobj == NULL) {
- 		return -ENOENT;
- 	}
-@@ -461,7 +465,11 @@ int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
- 	int r = 0;
- 	long ret;
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	gobj = drm_gem_object_lookup(filp, handle);
-+#else
- 	gobj = drm_gem_object_lookup(dev, filp, handle);
-+#endif
- 	if (gobj == NULL) {
- 		return -ENOENT;
- 	}
-@@ -495,7 +503,11 @@ int amdgpu_gem_metadata_ioctl(struct drm_device *dev, void *data,
- 	int r = -1;
- 
- 	DRM_DEBUG("%d \n", args->handle);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	gobj = drm_gem_object_lookup(filp, args->handle);
-+#else
- 	gobj = drm_gem_object_lookup(dev, filp, args->handle);
-+#endif
- 	if (gobj == NULL)
- 		return -ENOENT;
- 	robj = gem_to_amdgpu_bo(gobj);
-@@ -643,7 +655,11 @@ int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,
- 		return -EINVAL;
- 	}
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	gobj = drm_gem_object_lookup(filp, args->handle);
-+#else
- 	gobj = drm_gem_object_lookup(dev, filp, args->handle);
-+#endif
- 	if (gobj == NULL)
- 		return -ENOENT;
- 	rbo = gem_to_amdgpu_bo(gobj);
-@@ -705,7 +721,11 @@ int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data,
- 	struct amdgpu_bo *robj;
- 	int r;
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	gobj = drm_gem_object_lookup(filp, args->handle);
-+#else
- 	gobj = drm_gem_object_lookup(dev, filp, args->handle);
-+#endif
- 	if (gobj == NULL) {
- 		return -ENOENT;
- 	}
-diff --git a/amd/amdgpu/dce_v10_0.c b/amd/amdgpu/dce_v10_0.c
-index 3fae88d..0fd1e4f 100644
---- a/amd/amdgpu/dce_v10_0.c
-+++ b/amd/amdgpu/dce_v10_0.c
-@@ -2594,7 +2594,11 @@ static int dce_v10_0_crtc_cursor_set2(struct drm_crtc *crtc,
- 		return -EINVAL;
- 	}
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	obj = drm_gem_object_lookup(file_priv, handle);
-+#else
- 	obj = drm_gem_object_lookup(crtc->dev, file_priv, handle);
-+#endif
- 	if (!obj) {
- 		DRM_ERROR("Cannot find cursor object %x for crtc %d\n", handle, amdgpu_crtc->crtc_id);
- 		return -ENOENT;
-diff --git a/amd/amdgpu/dce_v11_0.c b/amd/amdgpu/dce_v11_0.c
-index fe87795..a85eb5f 100644
---- a/amd/amdgpu/dce_v11_0.c
-+++ b/amd/amdgpu/dce_v11_0.c
-@@ -2604,7 +2604,11 @@ static int dce_v11_0_crtc_cursor_set2(struct drm_crtc *crtc,
- 		return -EINVAL;
- 	}
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	obj = drm_gem_object_lookup(file_priv, handle);
-+#else
- 	obj = drm_gem_object_lookup(crtc->dev, file_priv, handle);
-+#endif
- 	if (!obj) {
- 		DRM_ERROR("Cannot find cursor object %x for crtc %d\n", handle, amdgpu_crtc->crtc_id);
- 		return -ENOENT;
-diff --git a/amd/amdgpu/dce_v8_0.c b/amd/amdgpu/dce_v8_0.c
-index 1f5959b..308f5e4 100644
---- a/amd/amdgpu/dce_v8_0.c
-+++ b/amd/amdgpu/dce_v8_0.c
-@@ -2448,7 +2448,11 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc,
- 		return -EINVAL;
- 	}
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	obj = drm_gem_object_lookup(file_priv, handle);
-+#else
- 	obj = drm_gem_object_lookup(crtc->dev, file_priv, handle);
-+#endif
- 	if (!obj) {
- 		DRM_ERROR("Cannot find cursor object %x for crtc %d\n", handle, amdgpu_crtc->crtc_id);
- 		return -ENOENT;
-diff --git a/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-index d14c96f..a9de2e5 100644
---- a/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-+++ b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-@@ -156,7 +156,11 @@ static int dm_crtc_pin_cursor_bo_new(
- 
- 		amdgpu_crtc = to_amdgpu_crtc(crtc);
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+		obj = drm_gem_object_lookup(file_priv, handle);
-+#else
- 		obj = drm_gem_object_lookup(crtc->dev, file_priv, handle);
-+#endif
- 
- 		if (!obj) {
- 			DRM_ERROR(
--- 
-2.10.1
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0010-Fix-crtc_gamma-functions-for-4.8.0.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch
index b11ab3e557e2..566b7039bb3e 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0010-Fix-crtc_gamma-functions-for-4.8.0.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch
@@ -1,7 +1,7 @@
-From b41eafa282a003cde9729e2ff486f55dc54f12c6 Mon Sep 17 00:00:00 2001
+From 12660ae02838f99c0784194908f7a189bc2ab0ae Mon Sep 17 00:00:00 2001
 From: "Luke A. Guest" <laguest@archeia.com>
 Date: Sun, 25 Sep 2016 16:56:47 +0100
-Subject: [PATCH 10/14] Fix crtc_gamma functions for 4.8.0
+Subject: [PATCH 06/11] Fix crtc_gamma functions for 4.8.0
 
 ---
  amd/amdgpu/dce_v10_0.c              | 19 +++++++++++++++++++
@@ -11,10 +11,10 @@ Subject: [PATCH 10/14] Fix crtc_gamma functions for 4.8.0
  4 files changed, 69 insertions(+)
 
 diff --git a/amd/amdgpu/dce_v10_0.c b/amd/amdgpu/dce_v10_0.c
-index 5f0044c..85378aa 100644
+index b1880ac..53746fa 100644
 --- a/amd/amdgpu/dce_v10_0.c
 +++ b/amd/amdgpu/dce_v10_0.c
-@@ -2671,6 +2671,24 @@ static void dce_v10_0_cursor_reset(struct drm_crtc *crtc)
+@@ -2627,6 +2627,24 @@ static void dce_v10_0_cursor_reset(struct drm_crtc *crtc)
  	}
  }
  
@@ -39,7 +39,7 @@ index 5f0044c..85378aa 100644
  static void dce_v10_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
  				    u16 *blue, uint32_t start, uint32_t size)
  {
-@@ -2685,6 +2703,7 @@ static void dce_v10_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green
+@@ -2641,6 +2659,7 @@ static void dce_v10_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green
  	}
  	dce_v10_0_crtc_load_lut(crtc);
  }
@@ -48,10 +48,10 @@ index 5f0044c..85378aa 100644
  static void dce_v10_0_crtc_destroy(struct drm_crtc *crtc)
  {
 diff --git a/amd/amdgpu/dce_v11_0.c b/amd/amdgpu/dce_v11_0.c
-index 8edc670..0129543 100644
+index b654b64..3edd66d 100644
 --- a/amd/amdgpu/dce_v11_0.c
 +++ b/amd/amdgpu/dce_v11_0.c
-@@ -2681,6 +2681,24 @@ static void dce_v11_0_cursor_reset(struct drm_crtc *crtc)
+@@ -2643,6 +2643,24 @@ static void dce_v11_0_cursor_reset(struct drm_crtc *crtc)
  	}
  }
  
@@ -76,7 +76,7 @@ index 8edc670..0129543 100644
  static void dce_v11_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
  				    u16 *blue, uint32_t start, uint32_t size)
  {
-@@ -2695,6 +2713,7 @@ static void dce_v11_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green
+@@ -2657,6 +2675,7 @@ static void dce_v11_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green
  	}
  	dce_v11_0_crtc_load_lut(crtc);
  }
@@ -85,10 +85,10 @@ index 8edc670..0129543 100644
  static void dce_v11_0_crtc_destroy(struct drm_crtc *crtc)
  {
 diff --git a/amd/amdgpu/dce_v8_0.c b/amd/amdgpu/dce_v8_0.c
-index 57e8014..d0d9267 100644
+index b598caa..d203894 100644
 --- a/amd/amdgpu/dce_v8_0.c
 +++ b/amd/amdgpu/dce_v8_0.c
-@@ -2525,6 +2525,24 @@ static void dce_v8_0_cursor_reset(struct drm_crtc *crtc)
+@@ -2478,6 +2478,24 @@ static void dce_v8_0_cursor_reset(struct drm_crtc *crtc)
  	}
  }
  
@@ -113,7 +113,7 @@ index 57e8014..d0d9267 100644
  static void dce_v8_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
  				    u16 *blue, uint32_t start, uint32_t size)
  {
-@@ -2539,6 +2557,7 @@ static void dce_v8_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
+@@ -2492,6 +2510,7 @@ static void dce_v8_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
  	}
  	dce_v8_0_crtc_load_lut(crtc);
  }
@@ -122,10 +122,10 @@ index 57e8014..d0d9267 100644
  static void dce_v8_0_crtc_destroy(struct drm_crtc *crtc)
  {
 diff --git a/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-index fedf490..c1f3c27 100644
+index edc8e86..32755a9 100644
 --- a/amd/dal/amdgpu_dm/amdgpu_dm_types.c
 +++ b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-@@ -995,6 +995,13 @@ void amdgpu_dm_crtc_destroy(struct drm_crtc *crtc)
+@@ -998,6 +998,13 @@ void amdgpu_dm_crtc_destroy(struct drm_crtc *crtc)
  	kfree(crtc);
  }
  
@@ -139,7 +139,7 @@ index fedf490..c1f3c27 100644
  static void amdgpu_dm_atomic_crtc_gamma_set(
  		struct drm_crtc *crtc,
  		u16 *red,
-@@ -1002,6 +1009,7 @@ static void amdgpu_dm_atomic_crtc_gamma_set(
+@@ -1005,6 +1012,7 @@ static void amdgpu_dm_atomic_crtc_gamma_set(
  		u16 *blue,
  		uint32_t start,
  		uint32_t size)
@@ -147,7 +147,7 @@ index fedf490..c1f3c27 100644
  {
  	struct drm_device *dev = crtc->dev;
  	struct drm_property *prop = dev->mode_config.prop_crtc_id;
-@@ -1009,6 +1017,10 @@ static void amdgpu_dm_atomic_crtc_gamma_set(
+@@ -1012,6 +1020,10 @@ static void amdgpu_dm_atomic_crtc_gamma_set(
  	crtc->state->mode.private_flags |= AMDGPU_CRTC_MODE_PRIVATE_FLAGS_GAMMASET;
  
  	drm_atomic_helper_crtc_set_property(crtc, prop, 0);
@@ -159,5 +159,5 @@ index fedf490..c1f3c27 100644
  
  static int dm_crtc_funcs_atomic_set_property(
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0006-Remove-vblank_disable_allowed-assignment.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0006-Remove-vblank_disable_allowed-assignment.patch
deleted file mode 100644
index dc35fe4c96af..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0006-Remove-vblank_disable_allowed-assignment.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d4a070e6d68ff7ce8ac49c6135acc759c9a1cf6e Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 16:01:43 +0100
-Subject: [PATCH 06/14] Remove vblank_disable_allowed assignment
-
----
- amd/amdgpu/amdgpu_irq.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/amd/amdgpu/amdgpu_irq.c b/amd/amdgpu/amdgpu_irq.c
-index 6e85e69..71358c9 100644
---- a/amd/amdgpu/amdgpu_irq.c
-+++ b/amd/amdgpu/amdgpu_irq.c
-@@ -240,7 +240,9 @@ int amdgpu_irq_init(struct amdgpu_device *adev)
- 		INIT_WORK(&adev->hotplug_work,
- 				amdgpu_hotplug_work_func);
- 	}
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
- 	adev->ddev->vblank_disable_allowed = true;
-+#endif
- 
- 	INIT_WORK(&adev->reset_work, amdgpu_irq_reset_work_func);
- 
--- 
-2.10.1
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-__drm_atomic_helper_connector_destroy_state-call.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-__drm_atomic_helper_connector_destroy_state-call.patch
deleted file mode 100644
index 9e8749a31ca6..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-__drm_atomic_helper_connector_destroy_state-call.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 406bb3a83b51b2bcf61a972721aa116e69c0a771 Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 16:10:27 +0100
-Subject: [PATCH 07/14] Fix __drm_atomic_helper_connector_destroy_state call
-
----
- amd/dal/amdgpu_dm/amdgpu_dm_types.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-index a9de2e5..fedf490 100644
---- a/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-+++ b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-@@ -1224,7 +1224,11 @@ void amdgpu_dm_connector_atomic_destroy_state(
- 	struct dm_connector_state *dm_state =
- 		to_dm_connector_state(state);
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	__drm_atomic_helper_connector_destroy_state(connector->state);
-+#else
- 	__drm_atomic_helper_connector_destroy_state(connector, state);
-+#endif
- 
- 	kfree(dm_state);
- }
--- 
-2.10.1
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0011-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
index d205fc3189ce..197fdd32b107 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0011-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
@@ -1,17 +1,17 @@
-From 32422de1ddaf539d284b32de5fe43d07b7553499 Mon Sep 17 00:00:00 2001
+From 7a5d45874b1e2bbbff2d2410f38203b5b0ae67c4 Mon Sep 17 00:00:00 2001
 From: "Luke A. Guest" <laguest@archeia.com>
 Date: Sun, 25 Sep 2016 17:00:32 +0100
-Subject: [PATCH 11/14] Fix drm_atomic_helper_swap_state for 4.8.0
+Subject: [PATCH 07/11] Fix drm_atomic_helper_swap_state for 4.8.0
 
 ---
  amd/dal/amdgpu_dm/amdgpu_dm_types.c | 4 ++++
  1 file changed, 4 insertions(+)
 
 diff --git a/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-index c1f3c27..60cba1a 100644
+index 32755a9..60ca073 100644
 --- a/amd/dal/amdgpu_dm/amdgpu_dm_types.c
 +++ b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-@@ -2331,7 +2331,11 @@ int amdgpu_dm_atomic_commit(
+@@ -2528,7 +2528,11 @@ int amdgpu_dm_atomic_commit(
  	 * the software side now.
  	 */
  
@@ -24,5 +24,5 @@ index c1f3c27..60cba1a 100644
  	/*
  	 * From this point state become old state really. New state is
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0012-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
index 77b0cf796401..8674c3537e88 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0012-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
@@ -1,17 +1,17 @@
-From 69207f061e13e6f02418d5706d230135abcc1a72 Mon Sep 17 00:00:00 2001
+From 7c536e8b9f73926014c0622eb101f2cf174b507b Mon Sep 17 00:00:00 2001
 From: "Luke A. Guest" <laguest@archeia.com>
 Date: Sun, 25 Sep 2016 19:19:45 +0100
-Subject: [PATCH 12/14] Add extra flag to ttm_bo_move_ttm for >=4.8.0-rc2
+Subject: [PATCH 08/11] Add extra flag to ttm_bo_move_ttm for >=4.8.0-rc2
 
 ---
  amd/amdgpu/amdgpu_ttm.c | 8 ++++++++
  1 file changed, 8 insertions(+)
 
 diff --git a/amd/amdgpu/amdgpu_ttm.c b/amd/amdgpu/amdgpu_ttm.c
-index 145732a..dd691fa 100644
+index 89760f8..d102224 100644
 --- a/amd/amdgpu/amdgpu_ttm.c
 +++ b/amd/amdgpu/amdgpu_ttm.c
-@@ -344,7 +344,11 @@ static int amdgpu_move_vram_ram(struct ttm_buffer_object *bo,
+@@ -428,7 +428,11 @@ static int amdgpu_move_vram_ram(struct ttm_buffer_object *bo,
  	if (unlikely(r)) {
  		goto out_cleanup;
  	}
@@ -23,7 +23,7 @@ index 145732a..dd691fa 100644
  out_cleanup:
  	ttm_bo_mem_put(bo, &tmp_mem);
  	return r;
-@@ -377,7 +381,11 @@ static int amdgpu_move_ram_vram(struct ttm_buffer_object *bo,
+@@ -461,7 +465,11 @@ static int amdgpu_move_ram_vram(struct ttm_buffer_object *bo,
  	if (unlikely(r)) {
  		return r;
  	}
@@ -36,5 +36,5 @@ index 145732a..dd691fa 100644
  		goto out_cleanup;
  	}
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0008-Change-seq_printf-format-for-64-bit-context.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0008-Change-seq_printf-format-for-64-bit-context.patch
deleted file mode 100644
index 827237a5f9ad..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0008-Change-seq_printf-format-for-64-bit-context.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f268e7fa537fd8e12f4023803df795b2e29747e7 Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 16:46:39 +0100
-Subject: [PATCH 08/14] Change seq_printf format for 64 bit context
-
----
- amd/amdgpu/amdgpu_sa.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/amd/amdgpu/amdgpu_sa.c b/amd/amdgpu/amdgpu_sa.c
-index 768a265..51d118e 100644
---- a/amd/amdgpu/amdgpu_sa.c
-+++ b/amd/amdgpu/amdgpu_sa.c
-@@ -428,8 +428,13 @@ void amdgpu_sa_bo_dump_debug_info(struct amdgpu_sa_manager *sa_manager,
- 			   soffset, eoffset, eoffset - soffset);
- 
- 		if (i->fence)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+			seq_printf(m, " protected by 0x%08x on context %llu",
-+				   i->fence->seqno, i->fence->context);
-+#else
- 			seq_printf(m, " protected by 0x%08x on context %d",
- 				   i->fence->seqno, i->fence->context);
-+#endif
- 
- 		seq_printf(m, "\n");
- 	}
--- 
-2.10.1
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0013-Remove-dependency-on-System.map.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0009-Remove-dependency-on-System.map.patch
index 23a648e0d522..52c5f7f45930 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0013-Remove-dependency-on-System.map.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0009-Remove-dependency-on-System.map.patch
@@ -1,36 +1,32 @@
-From 115cdb5a06b112674d9652ef44d7f19583ff0136 Mon Sep 17 00:00:00 2001
+From 4d645984264e449d6a4507af033b26daed952eac Mon Sep 17 00:00:00 2001
 From: David McFarland <corngood@gmail.com>
 Date: Wed, 26 Oct 2016 22:26:39 -0300
-Subject: [PATCH 13/14] Remove dependency on System.map
+Subject: [PATCH 09/11] Remove dependency on System.map
 
 ---
- amd/backport/Makefile    |  3 +--
+ amd/backport/Makefile    |  1 -
  amd/backport/kcl_fence.c | 10 ++++++++--
- amd/backport/symbols     |  3 ---
- 3 files changed, 9 insertions(+), 7 deletions(-)
+ amd/backport/symbols     |  7 -------
+ 3 files changed, 8 insertions(+), 10 deletions(-)
  delete mode 100644 amd/backport/symbols
 
 diff --git a/amd/backport/Makefile b/amd/backport/Makefile
-index dcc94d5..ef27e94 100644
+index ff9339d..3f2d9ea 100644
 --- a/amd/backport/Makefile
 +++ b/amd/backport/Makefile
-@@ -55,10 +55,9 @@ ccflags-y += -DOS_NAME_RHEL_7
+@@ -64,7 +64,6 @@ ccflags-y += -DOS_NAME_RHEL_7_3
  endif
  endif
  
 -BACKPORT_OBJS = symbols.o
  endif
  
--BACKPORT_OBJS += kcl_drm.o kcl_ttm.o kcl_amdgpu.o kcl_fence.o kcl_mn.o
-+BACKPORT_OBJS = kcl_drm.o kcl_ttm.o kcl_amdgpu.o kcl_fence.o kcl_mn.o
- 
- amdgpu-y += $(addprefix ../backport/,$(BACKPORT_OBJS))
- 
+ BACKPORT_OBJS += kcl_drm.o kcl_ttm.o kcl_amdgpu.o kcl_fence.o kcl_mn.o amdgpu_kcl.o kcl_fence_array.o kcl_kthread.o
 diff --git a/amd/backport/kcl_fence.c b/amd/backport/kcl_fence.c
-index 8c697aa..85d96d3 100644
+index 54ad819..39f6d61 100644
 --- a/amd/backport/kcl_fence.c
 +++ b/amd/backport/kcl_fence.c
-@@ -25,8 +25,14 @@ struct default_wait_cb {
+@@ -52,8 +52,14 @@ struct default_wait_cb {
  	struct task_struct *task;
  };
  
@@ -49,13 +45,17 @@ index 8c697aa..85d96d3 100644
  _kcl_fence_wait_any_timeout(struct fence **fences, uint32_t count,
 diff --git a/amd/backport/symbols b/amd/backport/symbols
 deleted file mode 100644
-index 2d3f2ee..0000000
+index 68cae63..0000000
 --- a/amd/backport/symbols
 +++ /dev/null
-@@ -1,3 +0,0 @@
+@@ -1,7 +0,0 @@
 -SYMS=""
 -
 -SYMS+="fence_default_wait_cb"
+-
+-if version_lt 2.6.33; then
+-    SYMS+=" kallsyms_lookup_name"
+-fi
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0014-disable-dal-by-default.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0010-disable-dal-by-default.patch
index 693985ec2a2d..e69e5c583198 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0014-disable-dal-by-default.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0010-disable-dal-by-default.patch
@@ -1,19 +1,19 @@
-From 942064886eae63ed7aa0a63c07e9f175898dddf7 Mon Sep 17 00:00:00 2001
+From 5ab8e5e36634391a5c440bf78463226b2074485e Mon Sep 17 00:00:00 2001
 From: David McFarland <corngood@gmail.com>
 Date: Thu, 25 Aug 2016 22:17:06 -0300
-Subject: [PATCH 14/14] disable dal by default
+Subject: [PATCH 10/11] disable dal by default
 
 ---
  amd/amdgpu/amdgpu_drv.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/amd/amdgpu/amdgpu_drv.c b/amd/amdgpu/amdgpu_drv.c
-index 66f3242..df62815 100644
+index d6b3f35..4477865 100755
 --- a/amd/amdgpu/amdgpu_drv.c
 +++ b/amd/amdgpu/amdgpu_drv.c
-@@ -79,7 +79,7 @@ int amdgpu_vm_block_size = -1;
- int amdgpu_vm_fault_stop = 0;
+@@ -88,7 +88,7 @@ int amdgpu_vm_fault_stop = 0;
  int amdgpu_vm_debug = 0;
+ int amdgpu_vram_page_split = -1;
  int amdgpu_exp_hw_support = 0;
 -int amdgpu_dal = -1;
 +int amdgpu_dal = 0;
@@ -21,5 +21,5 @@ index 66f3242..df62815 100644
  int amdgpu_sched_hw_submission = 2;
  int amdgpu_powerplay = -1;
 -- 
-2.10.1
+2.11.0
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0011-kcl-fixes-for-16.50-linux-4.8.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0011-kcl-fixes-for-16.50-linux-4.8.patch
new file mode 100644
index 000000000000..0cf3ad262f69
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0011-kcl-fixes-for-16.50-linux-4.8.patch
@@ -0,0 +1,114 @@
+From 156445f6eda047ee5a5d6e4bde36c3e9ccbbd7d9 Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Thu, 29 Dec 2016 14:20:06 -0400
+Subject: [PATCH 11/11] kcl fixes for 16.50 + linux-4.8
+
+---
+ amd/amdgpu/dce_v6_0.c              |  5 +++--
+ amd/amdgpu/dce_virtual.c           |  5 +++--
+ amd/backport/include/kcl/kcl_drm.h | 12 ++++++++++++
+ amd/backport/include/kcl/kcl_ttm.h |  2 +-
+ amd/backport/kcl_drm.c             |  4 ++++
+ 5 files changed, 23 insertions(+), 5 deletions(-)
+
+diff --git a/amd/amdgpu/dce_v6_0.c b/amd/amdgpu/dce_v6_0.c
+index fd3eeb0..1f1874c 100644
+--- a/amd/amdgpu/dce_v6_0.c
++++ b/amd/amdgpu/dce_v6_0.c
+@@ -1946,9 +1946,9 @@ static void dce_v6_0_cursor_reset(struct drm_crtc *crtc)
+ 	}
+ }
+ 
+-static void dce_v6_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
+-				    u16 *blue, uint32_t start, uint32_t size)
++static kcl_crtc_gamma_set_callback(dce_v6_0_crtc_gamma_set)
+ {
++  kcl_crtc_gamma_set_pre
+ 	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
+ 	int end = (start + size > 256) ? 256 : start + size, i;
+ 
+@@ -1959,6 +1959,7 @@ static void dce_v6_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
+ 		amdgpu_crtc->lut_b[i] = blue[i] >> 6;
+ 	}
+ 	dce_v6_0_crtc_load_lut(crtc);
++  kcl_crtc_gamma_set_suf
+ }
+ 
+ static void dce_v6_0_crtc_destroy(struct drm_crtc *crtc)
+diff --git a/amd/amdgpu/dce_virtual.c b/amd/amdgpu/dce_virtual.c
+index 36e2094..11b98e2 100644
+--- a/amd/amdgpu/dce_virtual.c
++++ b/amd/amdgpu/dce_virtual.c
+@@ -152,9 +152,9 @@ static void dce_virtual_bandwidth_update(struct amdgpu_device *adev)
+ 	return;
+ }
+ 
+-static void dce_virtual_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
+-				    u16 *blue, uint32_t start, uint32_t size)
++static kcl_crtc_gamma_set_callback(dce_virtual_crtc_gamma_set)
+ {
++  kcl_crtc_gamma_set_pre
+ 	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
+ 	int end = (start + size > 256) ? 256 : start + size, i;
+ 
+@@ -164,6 +164,7 @@ static void dce_virtual_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *gre
+ 		amdgpu_crtc->lut_g[i] = green[i] >> 6;
+ 		amdgpu_crtc->lut_b[i] = blue[i] >> 6;
+ 	}
++  kcl_crtc_gamma_set_suf
+ }
+ 
+ static void dce_virtual_crtc_destroy(struct drm_crtc *crtc)
+diff --git a/amd/backport/include/kcl/kcl_drm.h b/amd/backport/include/kcl/kcl_drm.h
+index 95bf640..61c38b1 100644
+--- a/amd/backport/include/kcl/kcl_drm.h
++++ b/amd/backport/include/kcl/kcl_drm.h
+@@ -206,4 +206,16 @@ int drm_atomic_helper_resume(struct drm_device *dev,
+ 
+ #endif
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++#define kcl_crtc_gamma_set_callback(n) int n(struct drm_crtc *crtc, \
++    u16 *red, u16 *green, u16 *blue, uint32_t size)
++#define kcl_crtc_gamma_set_pre uint32_t start = 0;
++#define kcl_crtc_gamma_set_suf return 0;
++#else
++#define kcl_crtc_gamma_set_callback(n) void n(struct drm_crtc *crtc, \
++    u16 *red, u16 *green, u16 *blue, uint32_t start, uint32_t size)
++#define kcl_crtc_gamma_set_pre
++#define kcl_crtc_gamma_set_suf
++#endif
++
+ #endif /* AMDGPU_BACKPORT_KCL_DRM_H */
+diff --git a/amd/backport/include/kcl/kcl_ttm.h b/amd/backport/include/kcl/kcl_ttm.h
+index 52cdbc8..cdda0b5 100644
+--- a/amd/backport/include/kcl/kcl_ttm.h
++++ b/amd/backport/include/kcl/kcl_ttm.h
+@@ -152,7 +152,7 @@ static inline int kcl_ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
+ 		bool evict, bool no_wait_gpu,
+ 		struct ttm_mem_reg *new_mem)
+ {
+-#if defined(BUILD_AS_DKMS)
++#if defined(BUILD_AS_DKMS) && (LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0))
+ 	return ttm_bo_move_accel_cleanup(bo, fence,
+ 			evict, no_wait_gpu, new_mem);
+ #else
+diff --git a/amd/backport/kcl_drm.c b/amd/backport/kcl_drm.c
+index 27d4aaa..a083c87 100644
+--- a/amd/backport/kcl_drm.c
++++ b/amd/backport/kcl_drm.c
+@@ -178,7 +178,11 @@ static inline struct drm_plane_state *
+ _kcl_drm_atomic_get_existing_plane_state(struct drm_atomic_state *state,
+                     struct drm_plane *plane)
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++    return drm_atomic_get_existing_plane_state(state, plane);
++#else
+     return state->plane_states[drm_plane_index(plane)];
++#endif
+ }
+ 
+ void
+-- 
+2.11.0
+
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0012-use-kernel-fence_array-in-4.8.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0012-use-kernel-fence_array-in-4.8.patch
new file mode 100644
index 000000000000..07ce868c29db
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0012-use-kernel-fence_array-in-4.8.patch
@@ -0,0 +1,55 @@
+From 73e77e056427e2042b8d84933c02db92e17cf233 Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Thu, 29 Dec 2016 14:49:18 -0400
+Subject: [PATCH] use kernel fence_array in 4.8+
+
+---
+ amd/backport/include/kcl/kcl_fence_array.h | 10 ++++++++--
+ amd/backport/kcl_fence_array.c             |  2 +-
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/amd/backport/include/kcl/kcl_fence_array.h b/amd/backport/include/kcl/kcl_fence_array.h
+index bb4401e..0d9f344 100644
+--- a/amd/backport/include/kcl/kcl_fence_array.h
++++ b/amd/backport/include/kcl/kcl_fence_array.h
+@@ -19,11 +19,15 @@
+  * more details.
+  */
+ 
+-#ifndef __LINUX_FENCE_ARRAY_H
+-#define __LINUX_FENCE_ARRAY_H
++#ifndef __KCL_FENCE_ARRAY_H
++#define __KCL_FENCE_ARRAY_H
+ 
+ #include <linux/fence.h>
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)
++#include <linux/fence-array.h>
++#else
++
+ /**
+  * struct fence_array_cb - callback helper for fence array
+  * @cb: fence callback structure for signaling
+@@ -72,4 +76,6 @@ struct fence_array *fence_array_create(int num_fences, struct fence **fences,
+ 				       u64 context, unsigned seqno,
+ 				       bool signal_on_any);
+ 
++#endif
++
+ #endif /* __LINUX_FENCE_ARRAY_H */
+diff --git a/amd/backport/kcl_fence_array.c b/amd/backport/kcl_fence_array.c
+index d7ee15c..1865444 100644
+--- a/amd/backport/kcl_fence_array.c
++++ b/amd/backport/kcl_fence_array.c
+@@ -21,7 +21,7 @@
+ #include <linux/export.h>
+ #include <linux/slab.h>
+ 
+-#if defined(BUILD_AS_DKMS)
++#if defined(BUILD_AS_DKMS) && LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0)
+ static void fence_array_cb_func(struct fence *f, struct fence_cb *cb);
+ 
+ static const char *fence_array_get_driver_name(struct fence *fence)
+-- 
+2.11.0
+
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
index a779b53d3a5f..926675f01631 100644
--- a/pkgs/os-specific/linux/android-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "android-udev-rules-${version}";
-  version = "20161014";
+  version = "20170109";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "0xc7wslxf7xsvfbd83wsw4nikmpq1zfd607y2p2r3j1vkw1yak08";
+    sha256 = "1fxr6iyb70swmmp46xvx8iz9h6xj7x6q9yfdsl958zd63j8sjzjr";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/autofs/default.nix b/pkgs/os-specific/linux/autofs/default.nix
index 4401eb24cb48..d2d2c4a3988a 100644
--- a/pkgs/os-specific/linux/autofs/default.nix
+++ b/pkgs/os-specific/linux/autofs/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, flex, bison, linuxHeaders, libtirpc, utillinux, nfs-utils, e2fsprogs
-, libxml2 }:
+, libxml2, kerberos, kmod, openldap, sssd, cyrus_sasl, openssl }:
 
 let
   version = "5.1.2";
@@ -13,7 +13,9 @@ in stdenv.mkDerivation {
   };
 
   preConfigure = ''
-    configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH"
+    configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH --with-openldap=${openldap} --with-sasl=${cyrus_sasl}"
+    export sssldir="${sssd}/lib/sssd/modules"
+    export HAVE_SSS_AUTOFS=1
 
     export MOUNT=${lib.getBin utillinux}/bin/mount
     export MOUNT_NFS=${lib.getBin nfs-utils}/bin/mount.nfs
@@ -29,7 +31,8 @@ in stdenv.mkDerivation {
     #make install SUBDIRS="samples" # impure!
   '';
 
-  buildInputs = [ linuxHeaders libtirpc libxml2 ];
+  buildInputs = [ linuxHeaders libtirpc libxml2 kerberos kmod openldap sssd
+                  openssl cyrus_sasl ];
 
   nativeBuildInputs = [ flex bison ];
 
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index 6a5dced454c0..0ee928754db7 100644
--- a/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
 let
-  ver = "2016.4";
+  ver = "2016.5";
 in
 stdenv.mkDerivation rec {
   name = "alfred-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0p8x8m1bdk560d64v010ck7dgm301cy7panxijczcf4p74clh835";
+    sha256 = "1ln997qyknkfm7xp4vx5lm0z833ksn1gn4dyjvr3qr1pgyzvmcrp";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index 4fd022a418bb..c8cab86413fb 100644
--- a/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libnl }:
 
 let
-  ver = "2016.4";
+  ver = "2016.5";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1ybn2akwj29hsjps6qgvg1ncf238002d3r7fik627ig8cgmx0wi4";
+    sha256 = "1saa088ggsr7bwlvnzpgjj6zqn51j0km96f4x1djhj55hwfypv87";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index ce0ef1ad1055..044469986245 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -2,14 +2,14 @@
 
 #assert stdenv.lib.versionOlder kernel.version "3.17";
 
-let base = "batman-adv-2016.4"; in
+let base = "batman-adv-2016.5"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha256 = "1sshl700gwfnqih95q1kp7sya71svp8px2rn14dbb790hgfkc4mw";
+    sha256 = "1dqdzpxdrgqpgkc6bqfvbvx5x18bpd9y459j0iyva47lqj8gr86h";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix
index d6593b4ee500..f3b262f1f7d3 100644
--- a/pkgs/os-specific/linux/bcc/default.nix
+++ b/pkgs/os-specific/linux/bcc/default.nix
@@ -2,14 +2,14 @@
   flex, bison, elfutils, python, pythonPackages, luajit, netperf, iperf }:
 
 stdenv.mkDerivation rec {
-  version = "git-2016-08-30";
+  version = "0.2.0";
   name = "bcc-${version}";
 
   src = fetchFromGitHub {
     owner = "iovisor";
     repo = "bcc";
-    rev = "4c2b5388f8d685a127a4d757c254a380e0aa915c";
-    sha256 = "1bd4darmr60vfr5414zq0bd9rq42r6h3cwiiwjllksbi4v2jvx77";
+    rev = "v${version}";
+    sha256 = "1xifh8lcqmn4mk6w4srjf4zk6mlwgck4fpcyhhliy39963ch5k08";
   };
 
   buildInputs = [ makeWrapper cmake llvmPackages.llvm llvmPackages.clang-unwrapped kernel
diff --git a/pkgs/os-specific/linux/busybox/busybox-in-store.patch b/pkgs/os-specific/linux/busybox/busybox-in-store.patch
index 3500f167a14a..d3111efbdc48 100644
--- a/pkgs/os-specific/linux/busybox/busybox-in-store.patch
+++ b/pkgs/os-specific/linux/busybox/busybox-in-store.patch
@@ -1,14 +1,14 @@
 Allow BusyBox to be invoked as "<something>-busybox". This is
 necessary when it's run from the Nix store as <hash>-busybox during
 stdenv bootstrap.
---- busybox-1.25.1-orig/libbb/appletlib.orig	2016-10-26 19:54:20.510957575 -0400
-+++ busybox-1.25.1/libbb/appletlib.c	2016-10-26 19:48:31.590862853 -0400
-@@ -884,7 +884,7 @@
- 	int applet;
- 
- # if ENABLE_BUSYBOX
+--- busybox-1.26.1-orig/libbb/appletlib.orig	2016-10-26 19:54:20.510957575 -0400
++++ busybox-1.26.1/libbb/appletlib.c	2016-10-26 19:48:31.590862853 -0400
+@@ -887,7 +887,7 @@
+ static NORETURN void run_applet_and_exit(const char *name, char **argv)
+ {
+ #  if ENABLE_BUSYBOX
 -	if (is_prefixed_with(name, "busybox"))
 +	if (strstr(name, "busybox") != 0)
  		exit(busybox_main(argv));
- # endif
- 	/* find_applet_by_name() search is more expensive, so goes second */
+ #  endif
+ #  if NUM_APPLETS > 0
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 6f86529a265e..b3502d269b09 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -26,11 +26,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.25.1";
+  name = "busybox-1.26.1";
 
   src = fetchurl {
     url = "http://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "0bm0l8xdjdz3kdyajp8wg27yamsw7r2y88nnrxwvvz984c7pwri7";
+    sha256 = "1wl1yy82am53srhgpi1w04hs5hbqjljrrxwwfic35k1mza3y9fqg";
   };
 
   hardeningDisable = [ "format" ] ++ lib.optional enableStatic [ "fortify" ];
diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix
index b9f1ee90fe95..1064f628c108 100644
--- a/pkgs/os-specific/linux/consoletools/default.nix
+++ b/pkgs/os-specific/linux/consoletools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "linuxconsoletools-${version}";
-  version = "1.4.9";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxconsole/${name}.tar.bz2";
-    sha256 = "0rwv2fxn12bblp096m9jy1lhngz26lv6g6zs4cgfg4frikwn977s";
+    sha256 = "0il1m8pgw8f6b8qid035ixamv0w5fgh9pinx5vw4ayxn03nyzlnf";
   };
 
   buildInputs = [ SDL ];
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 5e028ffc74ad..f61a5497c4b3 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python2 != null;
 
 stdenv.mkDerivation rec {
-  name = "cryptsetup-1.7.0";
+  name = "cryptsetup-1.7.3";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/cryptsetup/v1.7/${name}.tar.xz";
-    sha256 = "0j6iwf64pdrl4nm5ypc2r33b3k0aflb939wz2496vcqdrjkj8m87";
+    sha256 = "00nwd96m9yq4k3cayc04i5y7iakkzana35zxky6hpx2w8zl08axg";
   };
 
   configureFlags = [ "--enable-cryptsetup-reencrypt" "--with-crypto_backend=openssl" ]
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 0f55fa963a42..cd561df0ec41 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -4,11 +4,11 @@ assert lib.versionAtLeast kernel.version "3.18";
 
 stdenv.mkDerivation rec {
   name = "dpdk-${version}-${kernel.version}";
-  version = "16.07";
+  version = "16.07.2";
 
   src = fetchurl {
-    url = "http://dpdk.org/browse/dpdk/snapshot/dpdk-${version}.tar.gz";
-    sha256 = "1sgh55w3xpc0lb70s74cbyryxdjijk1fbv9b25jy8ms3lxaj966c";
+    url = "http://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
+    sha256 = "1mzwazmzpq8mvwiham80y6h53qpvjpp76v0d58gz9bfiphbi9876";
   };
 
   buildInputs = [ pkgconfig libvirt ];
diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix
index 8ab4da2da8cf..772e69ac390e 100644
--- a/pkgs/os-specific/linux/eudev/default.nix
+++ b/pkgs/os-specific/linux/eudev/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="eudev";
-    version = "3.2";
+    version = "3.2.1";
     name="${baseName}-${version}";
     url="http://dev.gentoo.org/~blueness/eudev/eudev-${version}.tar.gz";
-    sha256 = "099w62ncq78nxpxizf910mx18hc8x4qvzw3azjd00fir89wmyjnq";
+    sha256 = "06gyyl90n85x8i7lfhns514y1kg1ians13l467admyzy3kjxkqsp";
   };
   buildInputs = [
     glib pkgconfig gperf utillinux
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 30fdbadd87b1..74486843b92b 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="firejail";
-    version="0.9.42";
+    version="0.9.44.4";
     name="${baseName}-${version}";
-    hash="0iwv97c0ygxrgxg997618a7cq3hl1l3b0njx7bqzv11vjzpcwfsg";
-    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.42.tar.xz";
-    sha256="0iwv97c0ygxrgxg997618a7cq3hl1l3b0njx7bqzv11vjzpcwfsg";
+    hash="03y1xc70w5xr6jynmj305fmgniz2cq21q85s5q7dnda8ap6s4w1d";
+    url="https://netcologne.dl.sourceforge.net/project/firejail/firejail/firejail-0.9.44.4.tar.xz";
+    sha256="03y1xc70w5xr6jynmj305fmgniz2cq21q85s5q7dnda8ap6s4w1d";
   };
   buildInputs = [
     which
@@ -24,8 +24,6 @@ stdenv.mkDerivation {
   preConfigure = ''
     sed -e 's@/bin/bash@${stdenv.shell}@g' -i $( grep -lr /bin/bash .)
     sed -e "s@/bin/cp@$(which cp)@g" -i $( grep -lr /bin/cp .)
-    sed -e '/void fs_var_run(/achar *vrcs = get_link("/var/run/current-system")\;' -i ./src/firejail/fs_var.c
-    sed -e '/ \/run/iif(vrcs!=NULL){symlink(vrcs, "/var/run/current-system")\;free(vrcs)\;}' -i ./src/firejail/fs_var.c
   '';
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index 46f242b2ea0c..34b6aa1378cd 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -1,13 +1,10 @@
 { stdenv, fetchFromGitHub, utillinux
-  ,autoconf, automake, libtool, gettext }:
+, autoconf, automake, libtool, gettext }:
 
 stdenv.mkDerivation rec {
   name = "fuse-${version}";
-
   version = "2.9.7";
 
-  #builder = ./builder.sh;
-
   src = fetchFromGitHub {
     owner = "libfuse";
     repo = "libfuse";
@@ -17,8 +14,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ utillinux autoconf automake libtool gettext ];
 
-  inherit utillinux;
-
   preConfigure =
     ''
       export MOUNT_FUSE_PATH=$out/sbin
@@ -32,7 +27,7 @@ stdenv.mkDerivation rec {
 
       sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c
       sed -e 's@CONFIG_RPATH=/usr/share/gettext/config.rpath@CONFIG_RPATH=${gettext}/share/gettext/config.rpath@' -i makeconf.sh
-      
+
       ./makeconf.sh
     '';
 
diff --git a/pkgs/os-specific/linux/google-authenticator/default.nix b/pkgs/os-specific/linux/google-authenticator/default.nix
index 0e5f62083829..119621d92781 100644
--- a/pkgs/os-specific/linux/google-authenticator/default.nix
+++ b/pkgs/os-specific/linux/google-authenticator/default.nix
@@ -1,27 +1,28 @@
-{ stdenv, lib, fetchurl, pam, qrencode }:
+{ stdenv, lib, fetchurl, autoreconfHook, pam, qrencode }:
 
 stdenv.mkDerivation rec {
-  name = "google-authenticator-1.0";
+  name = "google-authenticator-libpam-${version}";
+  version = "1.03";
 
   src = fetchurl {
-    url = "https://google-authenticator.googlecode.com/files/libpam-${name}-source.tar.bz2";
-    sha1 = "017b7d89989f1624e360abe02d6b27a6298d285d";
+    url = "https://github.com/google/google-authenticator-libpam/archive/${version}.tar.gz";
+    sha256 = "0wb95z5v1w4sk0p7y9pbn4v95w9hrbf80vw9k2z2sgs0156ljkb7";
   };
 
-  buildInputs = [ pam ];
+  buildInputs = [ autoreconfHook pam ];
 
   preConfigure = ''
-    sed -i 's|libqrencode.so.3|${qrencode}/lib/libqrencode.so.3|' google-authenticator.c
+    sed -i "s|libqrencode.so.3|${qrencode}/lib/libqrencode.so.3|" src/google-authenticator.c
   '';
 
   installPhase = ''
     mkdir -p $out/bin $out/lib/security
-    cp pam_google_authenticator.so $out/lib/security
+    cp ./.libs/pam_google_authenticator.so $out/lib/security
     cp google-authenticator $out/bin
   '';
 
   meta = with lib; {
-    homepage = https://code.google.com/p/google-authenticator/;
+    homepage = https://github.com/google/google-authenticator-libpam;
     description = "Two-step verification, with pam module";
     license = licenses.asl20;
     maintainers = with maintainers; [ aneeshusa ];
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 6f6c0c66cc3b..1ff68fc04080 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "iproute2-${version}";
-  version = "4.7.0";
+  version = "4.9.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "14kvpdlxq8204f5ayfdfb6mc0423mbf3px9q0spdly9sng7xnq4g";
+    sha256 = "1i0n071hiqxw1gisngw2jln3kcp9sh47n6fj5hdwqrvp7w20zwy0";
   };
 
   patches = lib.optionals enableFan [
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 72fbe15b02dd..95ca51a972e9 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.68";
+  version = "3.12.69";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0k4kwxmm6vj840k4v6iyswsajaxsb5g9vrc7mzr4grflfbjrgh14";
+    sha256 = "1pzghmj0j2shms4n3knryigy73qssskd6awbgk6mmyg42wypbcmm";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix
index 4a18f2e498b9..727126de388d 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.18.44";
+  version = "3.18.45";
   extraMeta.branch = "3.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1cjdh9w2q164r53k06vv6nhxwjzm69nha5wndp8r1hjywjwcqqan";
+    sha256 = "1qwvqrlzpf57zvh57dsdk4c4swgbasf2ab75vcn2py8l7jl6rxf0";
   };
 
   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 baf011a1b8e3..f3eceb5fe266 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.38";
+  version = "4.4.41";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "19hn51cpyvq3igilm0xw4ivbmdah5ryah6rpkwgqly351djrxvbp";
+    sha256 = "1z26frg7sx5n9bvkpg9pfspwhxxvlnnfnrnjr7aqhcgsbxzq8vca";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.8.nix b/pkgs/os-specific/linux/kernel/linux-4.8.nix
index b6121fbd1b41..a5ce23ee3e47 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.8.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.8.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.8.14";
+  version = "4.8.17";
   extraMeta.branch = "4.8";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1ksszmlgb6cwqx90rn0cavg1n6xvhwn9nragwl7sha11hpbl9qw1";
+    sha256 = "1zk0q6bvqgz2pk1axd5z0cx71vqk96314f1zn8apwa4raylf9fpa";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index f154e143e03a..29f0eba71755 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9";
-  modDirVersion = "4.9.0";
+  version = "4.9.2";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "029098dcffab74875e086ae970e3828456838da6e0ba22ce3f64ef764f3d7f1a";
+    sha256 = "0f2p12pkzgrh9k5c7g2wwjnv6gzqha8bgd7b0qgbzq3ss7nrmnld";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
index b6121fbd1b41..8a71a771c4fc 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.8.14";
+  version = "4.8.16";
   extraMeta.branch = "4.8";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1ksszmlgb6cwqx90rn0cavg1n6xvhwn9nragwl7sha11hpbl9qw1";
+    sha256 = "1aml6vhsfpvm8rsadraff7qj0ivgd9aw75k2q65drz4iby1pqb9h";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 394469d06fab..b547240eaf2a 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9-rc8";
-  modDirVersion = "4.9.0-rc8";
-  extraMeta.branch = "4.9";
+  version = "4.10-rc2";
+  modDirVersion = "4.10.0-rc2";
+  extraMeta.branch = "4.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
-    sha256 = "1xyham8by966mavk5wxy6va5cq2lf2d1jiqps70kcc4064v365r7";
+    sha256 = "1r3w6mqvmjnsmqrk73xsrqybdvs1czjw5xl1x2wsi2w9nifb47zq";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 5562608effaa..42a6e0d037b9 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -95,9 +95,9 @@ rec {
   };
 
   grsecurity_testing = grsecPatch
-    { kver   = "4.8.14";
-      grrev  = "201612110933";
-      sha256 = "1sm4nr9g5vpwlhm6a567arrjyrfr77bzjspbafg5nfjlbj7apkym";
+    { kver   = "4.8.16";
+      grrev  = "201701062021";
+      sha256 = "0ivl9dpbyf0f7ywgh8kbzdf0za10yrh6s8plqk9vnns3dhgcnvnq";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
@@ -165,4 +165,23 @@ rec {
         sha256 = "19viqjjgq8j8jiz5yhgmzwhqvhwv175q645qdazd1k69d25nv2ki";
       };
     };
+
+  panic_on_icmp6_frag_CVE_2016_9919 = rec
+    { name = "panic_on_icmp6_frag_CVE_2016_9919.patch";
+      patch = fetchpatch {
+        inherit name;
+        url = "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=79dc7e3f1cd323be4c81aa1a94faa1b3ed987fb2";
+        sha256 = "0mps33r4mnwiy0bmgrzgqkrk59yya17v6kzpv9024g4xlz61rk8p";
+      };
+    };
+
+  p9_caching_4_4 = rec
+    { name = "9p-caching.patch";
+      patch = fetchpatch {
+        inherit name;
+        url = https://github.com/edolstra/linux/commit/d522582553368b9564e2d88a8d7b1d469bf98c65.patch;
+        sha256 = "01h7461pdgavd6ghd6w9wg136hkaca0mrmmzhy6s3phksksimbc2";
+      };
+    };
+
 }
diff --git a/pkgs/os-specific/linux/kexectools/default.nix b/pkgs/os-specific/linux/kexectools/default.nix
index 1b18fb590170..206dc6889e8b 100644
--- a/pkgs/os-specific/linux/kexectools/default.nix
+++ b/pkgs/os-specific/linux/kexectools/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "kexec-tools-${version}";
-  version = "2.0.13";
+  version = "2.0.14";
 
   src = fetchurl {
     urls = [
       "mirror://kernel/linux/utils/kernel/kexec/${name}.tar.xz"
       "http://horms.net/projects/kexec/kexec-tools/${name}.tar.xz"
     ];
-    sha256 = "1k75p9h29xx57l1c69ravm4pg9pmriqxmwja12hgrnvi251ayjw7";
+    sha256 = "1ihd3kzw8xnc5skq4pb633rr80007knjm4n1dd67a24xkplygcpz";
   };
 
   hardeningDisable = [ "format" "pic" "relro" ];
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index 3021ce20b46b..0417bf59cfa3 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -13,10 +13,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ flex ];
 
-  # Temporary work-around for problems after flex security update:
-  # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835542
-  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
-
   preBuild = ''
     makeFlagsArray+=("PREFIX=$out")
     makeFlagsArray+=("DESTDIR=$out")
diff --git a/pkgs/os-specific/linux/libudev0-shim/default.nix b/pkgs/os-specific/linux/libudev0-shim/default.nix
new file mode 100644
index 000000000000..203d1defa288
--- /dev/null
+++ b/pkgs/os-specific/linux/libudev0-shim/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, udev }:
+
+stdenv.mkDerivation rec {
+  name = "libudev0-shim-${version}";
+  version = "1";
+
+  src = fetchFromGitHub {
+    owner = "archlinux";
+    repo = "libudev0-shim";
+    rev = "v${version}";
+    sha256 = "1460qm6rp1cqnns39lj24z7191m8sbpvbjabqbzb55dkdd2kw50z";
+  };
+
+  buildInputs = [ udev ];
+
+  installPhase = ''
+    name="$(echo libudev.so.*)"
+    install -Dm755 "$name" "$out/lib/$name"
+    ln -s "$name" "$out/lib/libudev.so.0"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Shim to preserve libudev.so.0 compatibility";
+    homepage = "https://github.com/archlinux/libudev0-shim";
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/os-specific/linux/mdadm/4.nix b/pkgs/os-specific/linux/mdadm/4.nix
new file mode 100644
index 000000000000..d929668a26aa
--- /dev/null
+++ b/pkgs/os-specific/linux/mdadm/4.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, groff }:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "mdadm-4.0";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.xz";
+    sha256 = "1ad3mma641946wn5lsllwf0lifw9lps34fv1nnkhyfpd9krffshx";
+  };
+
+  # This is to avoid self-references, which causes the initrd to explode
+  # in size and in turn prevents mdraid systems from booting.
+  allowedReferences = [ stdenv.glibc.out ];
+
+  patches = [ ./no-self-references.patch ];
+
+  makeFlags = [
+    "NIXOS=1" "INSTALL=install" "INSTALL_BINDIR=$(out)/sbin"
+    "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm"
+  ] ++ stdenv.lib.optionals (stdenv ? cross) [
+    "CROSS_COMPILE=${stdenv.cross.config}-"
+  ];
+
+  nativeBuildInputs = [ groff ];
+
+  # Attempt removing if building with gcc5 when updating
+  NIX_CFLAGS_COMPILE = "-std=gnu89";
+
+  preConfigure = ''
+    sed -e 's@/lib/udev@''${out}/lib/udev@' \
+        -e 's@ -Werror @ @' \
+        -e 's@/usr/sbin/sendmail@/var/setuid-wrappers/sendmail@' -i Makefile
+  '';
+
+  meta = {
+    description = "Programs for managing RAID arrays under Linux";
+    homepage = http://neil.brown.name/blog/mdadm;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix
index f60ece0fceca..0e0178e8845b 100644
--- a/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     ' libmultipath/defaults.h
     sed -i -e 's,\$(DESTDIR)/\(usr/\)\?,$(prefix)/,g' \
       kpartx/Makefile libmpathpersist/Makefile
+    sed -i -e "s,GZIP = .*, GZIP = gzip -9n -c," \
+      Makefile.inc
   '';
 
   nativeBuildInputs = [ gzip ];
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index ae0c7703de61..dd12a18dc82d 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name    = "musl-${version}";
-  version = "1.1.11";
+  version = "1.1.15";
 
   src = fetchurl {
     url    = "http://www.musl-libc.org/releases/${name}.tar.gz";
-    sha256 = "0grmmah3d9wajii26010plpinv3cbiq3kfqsblgn84kv3fjnv7mv";
+    sha256 = "1ymhxkskivzph0q34zadwfglc5gyahqajm7chqqn2zraxv3lgr4p";
   };
 
   enableParallelBuilding = true;
@@ -22,6 +22,15 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-shared"
     "--enable-static"
+    "--disable-gcc-wrapper"
+  ];
+
+  patches = [
+    # CVE-2016-8859: http://www.openwall.com/lists/oss-security/2016/10/19/1
+    (fetchpatch {
+      url = "https://git.musl-libc.org/cgit/musl/patch/?id=c3edc06d1e1360f3570db9155d6b318ae0d0f0f7";
+      sha256 = "15ih0aj27lz4sgq8r5jndc3qy5gz3ciraavrqpp0vw8h5wjcsb9v";
+    })
   ];
 
   dontDisableStatic = true;
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 69e4de69f9c9..967a98d95663 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -12,7 +12,7 @@ assert (!libsOnly) -> kernel != null;
 
 let
 
-  versionNumber = "375.20";
+  versionNumber = "375.26";
 
   # Policy: use the highest stable version as the default (on our master).
   inherit (stdenv.lib) makeLibraryPath;
@@ -30,12 +30,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0da3mgfmkhs576wfkdmk8pbmvsksalkwz8a75vnhk0385fnd6yfc";
+        sha256 = "0yv19rkz2wzzj0fygfjb1mh21iy769kff3yg2kzk8bsiwnmcyybw";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}.run";
-        sha256 = "02v20xns8w4flpllibc684g5yghi5dy28avsarccjyn5knhl03ni";
+        sha256 = "1kqy9ayja3g5znj2hzx8pklz8qi0b0l9da7c3ldg3hlxf31v4hjg";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index e8b6cea08eb6..8182394536c5 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "odp-dpdk-${version}";
-  version = "2016-08-16";
+  version = "1.12.0.0";
 
   src = fetchgit {
     url = "https://git.linaro.org/lng/odp-dpdk.git";
-    rev = "7068593f600e2b5a23ee1780d5c722c54e966df1";
-    sha256 = "0pz0zkxqaac193x21wmj3x88gfza6bvhmv5yf8fzkpm9zxnl2sy4";
+    rev = "5e370e1113973feafb43a8e57d4c59be40e9aeab";
+    sha256 = "0rrakbxnbsqaj148xaz2hwxjvg3cmzlynfkvcp8w56sqyly75d0n";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
@@ -16,12 +16,6 @@ stdenv.mkDerivation rec {
   RTE_SDK = "${dpdk}";
   RTE_TARGET = "x86_64-native-linuxapp-gcc";
 
-  patchPhase = ''
-    substituteInPlace scripts/git_hash.sh --replace /bin/bash /bin/sh
-    substituteInPlace scripts/get_impl_str.sh --replace /bin/bash /bin/sh
-    echo -n ${version} > .scmversion
-  '';
-
   dontDisableStatic = true;
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/ofp/default.nix b/pkgs/os-specific/linux/ofp/default.nix
new file mode 100644
index 000000000000..e083c0f04570
--- /dev/null
+++ b/pkgs/os-specific/linux/ofp/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
+, openssl, libpcap, odp-dpdk, dpdk
+}:
+
+stdenv.mkDerivation rec {
+  name = "ofp-${version}";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "OpenFastPath";
+    repo = "ofp";
+    rev = "${version}";
+    sha256 = "05902593fycgkwzk5g7wzgk0k40nrrgybplkdka3rqnlj6aydhqf";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ openssl libpcap odp-dpdk dpdk ];
+
+  dontDisableStatic = true;
+
+  postPatch = ''
+    substituteInPlace configure.ac --replace m4_esyscmd m4_esyscmd_s
+    substituteInPlace scripts/git_hash.sh --replace /bin/bash /bin/sh
+    echo ${version} > .scmversion
+  '';
+
+  configureFlags = [
+    "--with-odp=${odp-dpdk}"
+    "--with-odp-lib=odp-dpdk"
+    "--disable-shared"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "High performance TCP/IP stack";
+    homepage = http://www.openfastpath.org;
+    license = licenses.bsd3;
+    platforms =  [ "x86_64-linux" ];
+    maintainers = [ maintainers.abuibrahim ];
+  };
+}
diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix
index 3ce9617ec5b1..68237d70f519 100644
--- a/pkgs/os-specific/linux/pktgen/default.nix
+++ b/pkgs/os-specific/linux/pktgen/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "pktgen-${version}";
-  version = "3.0.13";
+  version = "3.1.0";
 
   src = fetchurl {
-    url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.gz";
-    sha256 = "64629b454ed8dc036d5e9bb30b3ae84a0bab0142b651c72da85ab1454e9ae0d6";
+    url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-v${version}.tar.gz";
+    sha256 = "1a1dl8h8p76wlcjlvn736mz4nc2nc5c3764rlydiz86wl45mb0nb";
   };
 
   nativeBuildInputs = stdenv.lib.optionals withGtk [ pkgconfig ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace lib/lua/src/luaconf.h --replace /usr/local $out
-    substituteInPlace lib/common/wr_lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu
+    substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu
   '';
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/pommed-light/default.nix b/pkgs/os-specific/linux/pommed-light/default.nix
new file mode 100644
index 000000000000..a039984ff338
--- /dev/null
+++ b/pkgs/os-specific/linux/pommed-light/default.nix
@@ -0,0 +1,65 @@
+{
+  stdenv
+, fetchurl
+, pciutils
+, confuse
+, alsaLib
+, audiofile
+, pkgconfig
+, zlib
+, eject
+}:
+
+stdenv.mkDerivation rec {
+  pkgname = "pommed-light";
+  version = "1.50lw";
+  name = "${pkgname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/bytbox/${pkgname}/archive/v${version}.tar.gz";
+
+    sha256 = "1r2f28zqmyvzgymd0ng53hscbrq8vcqhxdnkq5dppjf9yrzn018b";
+  };
+
+  postPatch = ''
+    substituteInPlace pommed.conf.mactel --replace /usr $out
+    substituteInPlace pommed.conf.pmac --replace /usr $out
+    substituteInPlace pommed/beep.h --replace /usr $out
+    substituteInPlace pommed/cd_eject.c --replace /usr/bin/eject ${eject}/bin/eject
+  '';
+
+  buildInputs = [
+    pciutils
+    confuse
+    alsaLib
+    audiofile
+    pkgconfig
+    zlib
+    eject
+  ];
+
+  installPhase = ''
+    install -Dm755 pommed/pommed $out/bin/pommed
+    install -Dm644 pommed.conf.mactel $out/etc/pommed.conf.mactel
+    install -Dm644 pommed.conf.pmac $out/etc/pommed.conf.pmac
+
+    # Man page
+    install -Dm644 pommed.1 $out/share/man/man1/pommed.1
+
+    # Sounds
+    install -Dm644 pommed/data/goutte.wav $out/share/pommed/goutte.wav
+    install -Dm644 pommed/data/click.wav $out/share/pommed/click.wav
+  '';
+
+  meta = {
+    description = "A trimmed version of the pommed hotkey handler for MacBooks";
+    longDescription = ''
+      This is a stripped-down version of pommed with client, dbus, and
+      ambient light sensor support removed, optimized for use with dwm
+      and the like.
+    '';
+    homepage = https://github.com/bytbox/pommed-light;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index e84c964d675f..06ad440c7754 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -9,56 +9,64 @@ with stdenv.lib;
 let
   buildKernel = any (n: n == configFile) [ "kernel" "all" ];
   buildUser = any (n: n == configFile) [ "user" "all" ];
-in
-
-assert any (n: n == configFile) [ "kernel" "user" "all" ];
-assert buildKernel -> kernel != null;
 
-stdenv.mkDerivation rec {
-  name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
+  common = { version, sha256 } @ args : stdenv.mkDerivation rec {
+    name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
 
-  version = "0.6.5.8";
-
-  src = fetchFromGitHub {
-    owner = "zfsonlinux";
-    repo = "spl";
-    rev = "spl-${version}";
-    sha256 = "000yvaccqlkrq15sdz0734fp3lkmx58182cdcfpm4869i0q7rf0s";
-  };
+    src = fetchFromGitHub {
+      owner = "zfsonlinux";
+      repo = "spl";
+      rev = "spl-${version}";
+      inherit sha256;
+    };
 
-  patches = [ ./const.patch ./install_prefix.patch ];
+    patches = [ ./const.patch ./install_prefix.patch ];
 
-  nativeBuildInputs = [ autoreconfHook ];
+    nativeBuildInputs = [ autoreconfHook ];
 
-  hardeningDisable = [ "pic" ];
+    hardeningDisable = [ "pic" ];
 
-  preConfigure = ''
-    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
-    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"
-  '';
+    preConfigure = ''
+      substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
+      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"
+    '';
 
-  configureFlags = [
-    "--with-config=${configFile}"
-  ] ++ optionals buildKernel [
-    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
-    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-  ];
+    configureFlags = [
+      "--with-config=${configFile}"
+    ] ++ optionals buildKernel [
+      "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+      "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    ];
 
-  enableParallelBuilding = true;
+    enableParallelBuilding = true;
 
-  meta = {
-    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
+    meta = {
+      description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
 
-    longDescription = ''
-      This kernel module is a porting layer for ZFS to work inside the linux
-      kernel.
-    '';
+      longDescription = ''
+          This kernel module is a porting layer for ZFS to work inside the linux
+          kernel.
+      '';
 
-    homepage = http://zfsonlinux.org/;
-    platforms = platforms.linux;
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ jcumming wizeman wkennington fpletz ];
+      homepage = http://zfsonlinux.org/;
+      platforms = platforms.linux;
+      license = licenses.gpl2Plus;
+      maintainers = with maintainers; [ jcumming wizeman wkennington fpletz ];
+    };
   };
-}
+
+in
+  assert any (n: n == configFile) [ "kernel" "user" "all" ];
+  assert buildKernel -> kernel != null;
+  {
+    splStable = common {
+      version = "0.6.5.8";
+      sha256 = "000yvaccqlkrq15sdz0734fp3lkmx58182cdcfpm4869i0q7rf0s";
+    };
+    splUnstable = common {
+      version = "0.7.0-rc2";
+      sha256 = "1y7jlyj8jwgrgnd6hiabms5h9430b6wjbnr3pwb16mv40wns1i65";
+    };
+  }
diff --git a/pkgs/os-specific/linux/sssd/default.nix b/pkgs/os-specific/linux/sssd/default.nix
new file mode 100644
index 000000000000..312ac0c281ab
--- /dev/null
+++ b/pkgs/os-specific/linux/sssd/default.nix
@@ -0,0 +1,87 @@
+{ stdenv, fetchurl, pkgs, lib, glibc, augeas, dnsutils, c-ares,
+  cyrus_sasl, ding-libs, libnl, libunistring, nss, samba, libnfsidmap, doxygen,
+  python, python3, pam, popt, talloc, tdb, tevent, pkgconfig, ldb, openldap,
+  pcre, kerberos, cifs_utils, glib, keyutils, dbus, fakeroot, libxslt, libxml2,
+  docbook_xml_xslt, ldap, systemd, nspr, check, cmocka, uid_wrapper,
+  nss_wrapper, docbook_xml_dtd_44, ncurses, Po4a, http-parser, jansson }:
+
+let
+  name = "sssd-${version}";
+  version = "1.14.2";
+
+  docbookFiles = "${pkgs.docbook_xml_xslt}/share/xml/docbook-xsl/catalog.xml:${pkgs.docbook_xml_dtd_44}/xml/dtd/docbook/catalog.xml";
+in
+stdenv.mkDerivation {
+  inherit name;
+  inherit version;
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/released/sssd/${name}.tar.gz";
+    sha1 = "167b2216c536035175ff041d0449e0a874c68601";
+  };
+
+  preConfigure = ''
+    export SGML_CATALOG_FILES="${docbookFiles}"
+    export PYTHONPATH=${ldap}/lib/python2.7/site-packages
+    export PATH=$PATH:${pkgs.openldap}/libexec
+    export CPATH=${pkgs.libxml2.dev}/include/libxml2
+
+    configureFlagsArray=(
+      --prefix=$out
+      --sysconfdir=/etc
+      --localstatedir=/var
+      --enable-pammoddir=$out/lib/security
+      --with-os=fedora
+      --with-pid-path=/run
+      --with-python2-bindings
+      --with-python3-bindings
+      --with-syslog=journald
+      --without-selinux
+      --without-semanage
+      --with-xml-catalog-path=''${SGML_CATALOG_FILES%%:*}
+      --with-ldb-lib-dir=$out/modules/ldb
+      --with-nscd=${glibc.bin}/sbin/nscd
+    )
+  '';
+
+  enableParallelBuilding = true;
+  buildInputs = [ augeas dnsutils c-ares cyrus_sasl ding-libs libnl libunistring nss
+                  samba libnfsidmap doxygen python python3 popt
+                  talloc tdb tevent pkgconfig ldb pam openldap pcre kerberos
+                  cifs_utils glib keyutils dbus fakeroot libxslt libxml2
+                  ldap systemd nspr check cmocka uid_wrapper
+                  nss_wrapper ncurses Po4a http-parser jansson ];
+
+  makeFlags = [
+    "SGML_CATALOG_FILES=${docbookFiles}"
+  ];
+
+  installFlags = [
+     "sysconfdir=$(out)/etc"
+     "localstatedir=$(out)/var"
+     "pidpath=$(out)/run"
+     "sss_statedir=$(out)/var/lib/sss"
+     "logpath=$(out)/var/log/sssd"
+     "pubconfpath=$(out)/var/lib/sss/pubconf"
+     "dbpath=$(out)/var/lib/sss/db"
+     "mcpath=$(out)/var/lib/sss/mc"
+     "pipepath=$(out)/var/lib/sss/pipes"
+     "gpocachepath=$(out)/var/lib/sss/gpo_cache"
+     "secdbpath=$(out)/var/lib/sss/secrets"
+     "initdir=$(out)/rc.d/init"
+  ];
+
+  postInstall = ''
+    rm -rf "$out"/run
+    rm -rf "$out"/rc.d
+    rm -f "$out"/modules/ldb/memberof.la
+    find "$out" -depth -type d -exec rmdir --ignore-fail-on-non-empty {} \;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "System Security Services Daemon";
+    homepage = https://fedorahosted.org/sssd/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.e-user ];
+  };
+}
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 1088e0befdfc..281ee101eac3 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -2,14 +2,14 @@
 let
   inherit (stdenv.lib) optional optionalString;
   baseName = "sysdig";
-  version = "0.12.0";
+  version = "0.13.0";
 in
 stdenv.mkDerivation {
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "https://github.com/draios/sysdig/archive/${version}.tar.gz";
-    sha256 = "17nf2h5ajy333rwh91hzaw8zq2mnkb3lxy8fmbbs8qazgsvwz6c3";
+    sha256 = "0ghxj473v471nnry8h9accxpwwjp8nbzkgw8dniqld0ixx678pia";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/thin-provisioning-tools/default.nix b/pkgs/os-specific/linux/thin-provisioning-tools/default.nix
deleted file mode 100644
index c075c3f1667d..000000000000
--- a/pkgs/os-specific/linux/thin-provisioning-tools/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, autoconf, pkgconfig, utillinux, coreutils, expat, libaio, boost}:
-
-let
-  version = "0.6.1";
-in
-
-stdenv.mkDerivation {
-  name = "thin-provisioning-tools-${version}";
-
-  src = fetchFromGitHub {
-    owner = "jthornber";
-    repo = "thin-provisioning-tools";
-    rev = "e46bdfd4cc6cdb13852de8aba4e3019425ab0a89";
-    sha256 = "061rw33nw16g71ij05axl713wimawx54h2ggpqxvzy7iyi6lhdcm";
-  };
-
-  nativeBuildInputs = [ autoconf pkgconfig expat libaio boost ];
-
-  preConfigure =
-    ''
-      autoconf
-    '';
-
-  meta = {
-    homepage = https://github.com/jthornber/thin-provisioning-tools;
-    descriptions = "Tools for manipulating the metadata of the device-mapper targets (dm-thin-pool, dm-cache, dm-era)";
-    platforms = stdenv.lib.platforms.linux;
-    inherit version;
-  };
-}
diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix
index f0f25f14e496..272b1368dec4 100644
--- a/pkgs/os-specific/linux/tp_smapi/default.nix
+++ b/pkgs/os-specific/linux/tp_smapi/default.nix
@@ -1,13 +1,12 @@
-{stdenv, fetchurl, kernel}:
+{ stdenv, fetchurl, kernel, writeScript, coreutils, gnugrep, jq, curl
+}:
 
-stdenv.mkDerivation rec {
-  version = "0.42";
-  name = "tp_smapi-${version}-${kernel.version}";
+let
+  data = stdenv.lib.importJSON ./update.json;
+in stdenv.mkDerivation rec {
+  name = "tp_smapi-${data.version}-${kernel.version}";
 
-  src = fetchurl {
-    url = "https://github.com/evgeni/tp_smapi/releases/download/tp-smapi%2F0.42/tp_smapi-${version}.tgz";
-    sha256 = "09rdg7fm423x6sbbw3lvnvmk4nyc33az8ar93xgq0n9qii49z3bv";
-  };
+  src = fetchurl  { inherit (data) url sha256; };
 
   hardeningDisable = [ "pic" ];
 
@@ -25,6 +24,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = import ./update.nix {
+    inherit writeScript coreutils gnugrep jq curl;
+  };
+
   meta = {
     description = "IBM ThinkPad hardware functions driver";
     homepage = "https://github.com/evgeni/tp_smapi/tree/tp-smapi/0.41";
diff --git a/pkgs/os-specific/linux/tp_smapi/update.json b/pkgs/os-specific/linux/tp_smapi/update.json
new file mode 100644
index 000000000000..15e9801e7f25
--- /dev/null
+++ b/pkgs/os-specific/linux/tp_smapi/update.json
@@ -0,0 +1,5 @@
+{
+  "version": "0.42",
+  "url": "https://github.com/evgeni/tp_smapi/archive/tp-smapi/0.42.tar.gz",
+  "sha256": "cd28bf6ee21b2c27b88d947cb0bfcb19648c7daa5d350115403dbcad05849381"
+}
diff --git a/pkgs/os-specific/linux/tp_smapi/update.nix b/pkgs/os-specific/linux/tp_smapi/update.nix
new file mode 100644
index 000000000000..0c97d18472cd
--- /dev/null
+++ b/pkgs/os-specific/linux/tp_smapi/update.nix
@@ -0,0 +1,23 @@
+{ writeScript, coreutils, gnugrep, jq, curl
+}:
+
+writeScript "update-tp_smapi" ''
+PATH=${coreutils}/bin:${gnugrep}/bin:${jq}/bin:${curl}/bin
+
+pushd pkgs/os-specific/linux/tp_smapi
+
+tmpfile=`mktemp`
+tags=`curl -s https://api.github.com/repos/evgeni/tp_smapi/tags`
+latest_tag=`echo $tags | jq -r '.[] | .name' | grep -oP "^tp-smapi/\K.*" | sort --version-sort | tail -1`
+sha256=`curl -sL "https://github.com/evgeni/tp_smapi/archive/tp-smapi/$latest_tag.tar.gz" | sha256sum | cut -d" " -f1`
+
+cat > update.json <<EOF
+{
+  "version": "$latest_tag",
+  "url": "https://github.com/evgeni/tp_smapi/archive/tp-smapi/$latest_tag.tar.gz",
+  "sha256": "$sha256"
+}
+EOF
+
+popd
+''
diff --git a/pkgs/os-specific/linux/udev/145.nix b/pkgs/os-specific/linux/udev/145.nix
deleted file mode 100644
index 6dd551e1ce13..000000000000
--- a/pkgs/os-specific/linux/udev/145.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ stdenv, fetchurl, gperf, pkgconfig, glib, acl, libusb, usbutils, pciutils }:
-
-assert stdenv ? glibc;
-
-stdenv.mkDerivation rec {
-  name = "udev-145";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2";
-    sha256 = "1zmibp6n7d582fqx8vmg9vb2a1435hghfpz36056bc25ccwf7yiv";
-  };
-
-  buildInputs = [gperf pkgconfig glib acl libusb usbutils];
-
-  configureFlags = "--with-pci-ids-path=${pciutils}/share/pci.ids";
-
-  preConfigure =
-    ''
-      substituteInPlace extras/keymap/Makefile.in \
-        --replace /usr/include ${stdenv.glibc.dev}/include
-    '';
-
-  postInstall =
-    ''
-      # Install some rules that really should be installed by default.
-      for i in 40-alsa.rules 40-infiniband.rules 40-isdn.rules 40-pilot-links.rules 64-device-mapper.rules 64-md-raid.rules; do
-        cp rules/packages/$i $out/libexec/rules.d/
-      done
-
-      # The path to rule_generator.functions in write_cd_rules and
-      # write_net_rules is broken.  Also, don't store the mutable
-      # persistant rules in /etc/udev/rules.d but in
-      # /var/lib/udev/rules.d.
-      for i in $out/libexec/write_cd_rules $out/libexec/write_net_rules; do
-        substituteInPlace $i \
-          --replace /lib/udev $out/libexec \
-          --replace /etc/udev/rules.d /var/lib/udev/rules.d
-      done
-
-      # Don't set PATH to /bin:/sbin; won't work in NixOS.
-      substituteInPlace $out/libexec/rule_generator.functions \
-        --replace 'PATH=' '#PATH='
-
-      # Don't hardcore the FIRMWARE_DIRS variable; obtain it from the
-      # environment of the caller.
-      sed '3,4d' -i $out/libexec/firmware.sh
-    '';
-
-  meta = {
-    homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html;
-    description = "Udev manages the /dev filesystem";
-  };
-}
diff --git a/pkgs/os-specific/linux/udev/182.nix b/pkgs/os-specific/linux/udev/182.nix
deleted file mode 100644
index 33a4907c7caa..000000000000
--- a/pkgs/os-specific/linux/udev/182.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchurl, pkgconfig
-, pciutils, utillinux, kmod, usbutils, gperf
-}:
-
-assert stdenv ? glibc;
-
-stdenv.mkDerivation rec {
-  name = "udev-182";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2";
-    sha256 = "143qvm0kij26j2l5icnch4x38fajys6li7j0c5mpwi6kqmc8hqx0";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  buildInputs = [ utillinux kmod usbutils #glib gobjectIntrospection
-                  gperf
-                ];
-
-  configureFlags = [ "--with-pci-ids-path=${pciutils}/share/pci.ids"
-                     "--disable-gudev"
-                     "--disable-introspection"
-                   ];
-
-  postPatch = ''
-    sed -i 's:input.h:input-event-codes.h:' Makefile.in
-    sed -i '20a#include <stdint.h>' src/mtd_probe/mtd_probe.h
-  '';
-
-  NIX_LDFLAGS = [ "-lrt" ];
-
-  meta = with stdenv.lib; {
-    homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html;
-    description = "Udev manages the /dev filesystem";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index 2e2bb82d1331..489d6ac8bc61 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -1,16 +1,16 @@
 { 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";
+# module requires Linux >= 3.18 https://www.wireguard.io/install/#kernel-requirements
+assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.18";
 
 let
-  name = "wireguard-experimental-${version}";
+  name = "wireguard-${version}";
 
-  version = "0.0.20161129";
+  version = "0.0.20170105";
 
   src = fetchurl {
-    url    = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-experimental-${version}.tar.xz";
-    sha256 = "1dyik704aixq38n71alpr4r8dxh7ipy7mgwbbccipsdadbjy7p3v";
+    url    = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
+    sha256 = "15iqb1a85aygbf3myw6r79i5h3vpjam1rs6xrnf5kgvgmvp91n8v";
   };
 
   meta = with stdenv.lib; {
@@ -46,6 +46,9 @@ let
     buildInputs = [ libmnl ];
 
     makeFlags = [
+      "WITH_BASHCOMPLETION=yes"
+      "WITH_WGQUICK=yes"
+      "WITH_SYSTEMDUNITS=yes"
       "DESTDIR=$(out)"
       "PREFIX=/"
       "-C" "tools"
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 3d3b52acf6fd..b308a5ec3c35 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -3,11 +3,11 @@
 , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.32.0";
+  name = "xf86-input-wacom-0.34.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "03c73vi5rrcr92442k82f4kbabp21yqcrqi6ak2afl41zjdar5wc";
+    sha256 = "0idhkigl0pnyp08sqm6bqfb4h20v6rjrb71z1gdv59gk7d7qwpgi";
   };
 
   buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index d7e406107b1b..bd2767a66b45 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,117 +1,161 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, utillinux, nukeReferences, coreutils
+{ stdenv, fetchFromGitHub, autoreconfHook, utillinux, nukeReferences, coreutils, fetchpatch
 , configFile ? "all"
 
 # Userspace dependencies
-, zlib, libuuid, python
+, zlib, libuuid, python, attr
 
 # Kernel dependencies
-, kernel ? null, spl ? null
+, kernel ? null, spl ? null, splUnstable ? null
 }:
 
 with stdenv.lib;
 let
   buildKernel = any (n: n == configFile) [ "kernel" "all" ];
   buildUser = any (n: n == configFile) [ "user" "all" ];
-in
 
-assert any (n: n == configFile) [ "kernel" "user" "all" ];
-assert buildKernel -> kernel != null && spl != null;
-
-stdenv.mkDerivation rec {
-  name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
-
-  version = "0.6.5.8";
-
-  src = fetchFromGitHub {
-    owner = "zfsonlinux";
-    repo = "zfs";
-    rev = "zfs-${version}";
-    sha256 = "0qccz1832p3i80qlrrrypypspb9sy9hmpgcfx9vmhnqmkf0yri4a";
-  };
-
-  patches = [ ./nix-build.patch ];
-
-  buildInputs = [ autoreconfHook nukeReferences ]
-    ++ optionals buildKernel [ spl ]
-    ++ optionals buildUser [ zlib libuuid python ];
-
-  # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
-  NIX_CFLAGS_LINK = "-lgcc_s";
-
-  hardeningDisable = [ "pic" ];
-
-  preConfigure = ''
-    substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "umount -t zfs"           "${utillinux}/bin/umount -t zfs"
-    substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "mount -t zfs"            "${utillinux}/bin/mount -t zfs"
-    substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount"             "${utillinux}/bin/umount"
-    substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount"              "${utillinux}/bin/mount"
-    substituteInPlace ./udev/rules.d/*            --replace "/lib/udev/vdev_id"       "$out/lib/udev/vdev_id"
-    substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/ztest"         "$out/sbin/ztest"
-    substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/zdb"           "$out/sbin/zdb"
-    substituteInPlace ./config/user-systemd.m4    --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d"
-    substituteInPlace ./config/zfs-build.m4       --replace "\$sysconfdir/init.d"     "$out/etc/init.d"
-    substituteInPlace ./etc/zfs/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
-    substituteInPlace ./cmd/zed/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
-    substituteInPlace ./module/Makefile.in        --replace "/bin/cp"                 "cp"
-    substituteInPlace ./etc/systemd/system/zfs-share.service.in \
-        --replace "@bindir@/rm " "${coreutils}/bin/rm "
-    ./autogen.sh
-  '';
-
-  configureFlags = [
-    "--with-config=${configFile}"
-  ] ++ optionals buildUser [
-    "--with-dracutdir=$(out)/lib/dracut"
-    "--with-udevdir=$(out)/lib/udev"
-    "--with-systemdunitdir=$(out)/etc/systemd/system"
-    "--with-systemdpresetdir=$(out)/etc/systemd/system-preset"
-    "--with-mounthelperdir=$(out)/bin"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--enable-systemd"
-  ] ++ optionals buildKernel [
-    "--with-spl=${spl}/libexec/spl"
-    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
-    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-  ];
-
-  enableParallelBuilding = true;
-
-  installFlags = [
-    "sysconfdir=\${out}/etc"
-    "DEFAULT_INITCONF_DIR=\${out}/default"
-  ];
-
-  postInstall = ''
-    # Prevent kernel modules from depending on the Linux -dev output.
-    nuke-refs $(find $out -name "*.ko")
-  '' + optionalString buildUser ''
-    # Remove provided services as they are buggy
-    rm $out/etc/systemd/system/zfs-import-*.service
-
-    sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/*
-
-    for i in $out/etc/systemd/system/*; do
-      substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target"
-    done
-
-    # Fix pkgconfig.
-    ln -s ../share/pkgconfig $out/lib/pkgconfig
-
-    # Remove tests because they add a runtime dependency on gcc
-    rm -rf $out/share/zfs/zfs-tests
-  '';
-
-  meta = {
-    description = "ZFS Filesystem Linux Kernel module";
-    longDescription = ''
-      ZFS is a filesystem that combines a logical volume manager with a
-      Copy-On-Write filesystem with data integrity detection and repair,
-      snapshotting, cloning, block devices, deduplication, and more.
+  common = { version, sha256, extraPatches, spl, inkompatibleKernelVersion ? null } @ args:
+    if buildKernel &&
+       (inkompatibleKernelVersion != null) &&
+       versionAtLeast kernel.version inkompatibleKernelVersion then
+      throw "linux v${kernel.version} is not yet supported by zfsonlinux v${version}"
+    else stdenv.mkDerivation rec {
+      name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
+
+      src = fetchFromGitHub {
+        owner = "zfsonlinux";
+        repo = "zfs";
+        rev = "zfs-${version}";
+        inherit sha256;
+      };
+
+      patches = extraPatches;
+
+      buildInputs = [ autoreconfHook nukeReferences ]
+      ++ optionals buildKernel [ spl ]
+      ++ optionals buildUser [ zlib libuuid python attr ];
+
+      # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
+      NIX_CFLAGS_LINK = "-lgcc_s";
+
+      hardeningDisable = [ "pic" ];
+
+      preConfigure = ''
+        substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "umount -t zfs"           "${utillinux}/bin/umount -t zfs"
+        substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "mount -t zfs"            "${utillinux}/bin/mount -t zfs"
+        substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount"             "${utillinux}/bin/umount"
+        substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount"              "${utillinux}/bin/mount"
+        substituteInPlace ./udev/rules.d/*            --replace "/lib/udev/vdev_id"       "$out/lib/udev/vdev_id"
+        substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/ztest"         "$out/sbin/ztest"
+        substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/zdb"           "$out/sbin/zdb"
+        substituteInPlace ./config/user-systemd.m4    --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d"
+        substituteInPlace ./config/zfs-build.m4       --replace "\$sysconfdir/init.d"     "$out/etc/init.d"
+        substituteInPlace ./etc/zfs/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
+        substituteInPlace ./cmd/zed/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
+        substituteInPlace ./module/Makefile.in        --replace "/bin/cp"                 "cp"
+        substituteInPlace ./etc/systemd/system/zfs-share.service.in \
+          --replace "@bindir@/rm " "${coreutils}/bin/rm "
+        ./autogen.sh
+      '';
+
+      configureFlags = [
+        "--with-config=${configFile}"
+        ] ++ optionals buildUser [
+        "--with-dracutdir=$(out)/lib/dracut"
+        "--with-udevdir=$(out)/lib/udev"
+        "--with-systemdunitdir=$(out)/etc/systemd/system"
+        "--with-systemdpresetdir=$(out)/etc/systemd/system-preset"
+        "--with-mounthelperdir=$(out)/bin"
+        "--sysconfdir=/etc"
+        "--localstatedir=/var"
+        "--enable-systemd"
+        ] ++ optionals buildKernel [
+        "--with-spl=${spl}/libexec/spl"
+        "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+        "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+      ];
+
+      enableParallelBuilding = true;
+
+      installFlags = [
+        "sysconfdir=\${out}/etc"
+        "DEFAULT_INITCONF_DIR=\${out}/default"
+      ];
+
+      postInstall = ''
+        # Prevent kernel modules from depending on the Linux -dev output.
+        nuke-refs $(find $out -name "*.ko")
+      '' + optionalString buildUser ''
+        # Remove provided services as they are buggy
+        rm $out/etc/systemd/system/zfs-import-*.service
+
+        sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/*
+
+        for i in $out/etc/systemd/system/*; do
+        substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target"
+        done
+
+        # Fix pkgconfig.
+        ln -s ../share/pkgconfig $out/lib/pkgconfig
+
+        # Remove tests because they add a runtime dependency on gcc
+        rm -rf $out/share/zfs/zfs-tests
       '';
-    homepage = http://zfsonlinux.org/;
-    license = licenses.cddl;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ jcumming wizeman wkennington fpletz ];
-  };
-}
+
+      meta = {
+        description = "ZFS Filesystem Linux Kernel module";
+        longDescription = ''
+          ZFS is a filesystem that combines a logical volume manager with a
+          Copy-On-Write filesystem with data integrity detection and repair,
+          snapshotting, cloning, block devices, deduplication, and more.
+        '';
+        homepage = http://zfsonlinux.org/;
+        license = licenses.cddl;
+        platforms = platforms.linux;
+        maintainers = with maintainers; [ jcumming wizeman wkennington fpletz ];
+      };
+    };
+in
+  assert any (n: n == configFile) [ "kernel" "user" "all" ];
+  assert buildKernel -> kernel != null && spl != null;
+  {
+    # also check if kernel version constraints in
+    # ./nixos/modules/tasks/filesystems/zfs.nix needs
+    # to be adapted
+    zfsStable = common {
+      # comment/uncomment if breaking kernel versions are known
+      inkompatibleKernelVersion = "4.9";
+
+      version = "0.6.5.8";
+
+      # this package should point to the latest release.
+      sha256 = "0qccz1832p3i80qlrrrypypspb9sy9hmpgcfx9vmhnqmkf0yri4a";
+      extraPatches = [
+        (fetchpatch {
+          url = "https://github.com/Mic92/zfs/compare/zfs-0.6.5.8...nixos-zfs-0.6.5.8.patch";
+          sha256 = "14kqqphzg02m9a7qncdhff8958cfzdrvsid3vsrm9k75lqv1w08z";
+        })
+      ];
+      inherit spl;
+    };
+    zfsUnstable = common {
+      # comment/uncomment if breaking kernel versions are known
+      inkompatibleKernelVersion = "4.10";
+
+      version = "0.7.0-rc2";
+
+      # this package should point to a version / git revision compatible with the latest kernel release
+      sha256 = "197y2jyav9h1ksri9kzqvrwmzpb58mlgw27vfvgd4bvxpwfxq53s";
+      extraPatches = [
+        (fetchpatch {
+          url = "https://github.com/Mic92/zfs/compare/zfs-0.7.0-rc2...nixos-zfs-0.7.0-rc2.patch";
+          sha256 = "1p33bwd6p5r5phbqb657x8h9x3bd012k2mdmbzgnb09drh9v0r82";
+        })
+        (fetchpatch {
+          name = "Kernel_4.9_zfs_aio_fsync_removal.patch";
+          url = "https://github.com/zfsonlinux/zfs/commit/99ca173929cb693012dabe98bcee4f12ec7e6e92.patch";
+          sha256 = "10npvpj52rpq88vdsn7zkdhx2lphzvqypsd9abdadjbqkwxld9la";
+        })
+      ];
+      spl = splUnstable;
+    };
+  }
diff --git a/pkgs/os-specific/linux/zfs/nix-build.patch b/pkgs/os-specific/linux/zfs/nix-build.patch
deleted file mode 100644
index cc9e36838c7e..000000000000
--- a/pkgs/os-specific/linux/zfs/nix-build.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index f8abb5f..82e8fb6 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -11,10 +11,10 @@ endif
- if CONFIG_KERNEL
- SUBDIRS += module
- 
--extradir = @prefix@/src/zfs-$(VERSION)
-+extradir = @prefix@/libexec/zfs-$(VERSION)
- extra_HEADERS = zfs.release.in zfs_config.h.in
- 
--kerneldir = @prefix@/src/zfs-$(VERSION)/$(LINUX_VERSION)
-+kerneldir = @prefix@/zfs-$(VERSION)/$(LINUX_VERSION)
- nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
- endif
- 
-diff --git a/include/Makefile.am b/include/Makefile.am
-index a94cad5..a160fe2 100644
---- a/include/Makefile.am
-+++ b/include/Makefile.am
-@@ -29,6 +29,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include
-+kerneldir = @prefix@/include
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
-index 595d1db..d41375d 100644
---- a/include/linux/Makefile.am
-+++ b/include/linux/Makefile.am
-@@ -18,6 +18,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/linux
-+kerneldir = @prefix@/include/linux
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
-index 77ecfb2..52b3612 100644
---- a/include/sys/Makefile.am
-+++ b/include/sys/Makefile.am
-@@ -114,6 +114,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys
-+kerneldir = @prefix@/include/sys
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
-index 8bca5d8..a5eafcd 100644
---- a/include/sys/fm/Makefile.am
-+++ b/include/sys/fm/Makefile.am
-@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm
-+kerneldir = @prefix@/include/sys/fm
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fm/fs/Makefile.am b/include/sys/fm/fs/Makefile.am
-index fdc9eb5..807c47c 100644
---- a/include/sys/fm/fs/Makefile.am
-+++ b/include/sys/fm/fs/Makefile.am
-@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm/fs
-+kerneldir = @prefix@/include/sys/fm/fs
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
-index 0859b9f..b0c6eec 100644
---- a/include/sys/fs/Makefile.am
-+++ b/include/sys/fs/Makefile.am
-@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fs
-+kerneldir = @prefix@/include/sys/fs
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/module/Makefile.in b/module/Makefile.in
-index d4ddee2..876c811 100644
---- a/module/Makefile.in
-+++ b/module/Makefile.in
-@@ -18,9 +18,9 @@ modules:
- 	@# installed devel headers, or they may be in the module
- 	@# subdirectory when building against the spl source tree.
- 	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
--		/bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
-+		cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
- 	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
--		/bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
-+		cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
- 	else \
- 		echo -e "\n" \
- 		"*** Missing spl symbols ensure you have built the spl:\n" \
-@@ -28,6 +28,8 @@ modules:
- 		"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
- 		exit 1; \
- 	fi
-+	@# when copying a file out of the nix store, we need to make it writable again.
-+	chmod +w @SPL_SYMBOLS@
- 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS=m $@
- 
- clean:
-@@ -42,15 +44,15 @@ clean:
- modules_install:
- 	@# Install the kernel modules
- 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
--		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-+		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
- 		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
- 		KERNELRELEASE=@LINUX_VERSION@
- 	@# Remove extraneous build products when packaging
--	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
--	if [ -n "$(DESTDIR)" ]; then \
-+	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-+	if [ -n "@prefix@" ]; then \
- 		find $$kmoddir -name 'modules.*' | xargs $(RM); \
- 	fi
--	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-+	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
- 	if [ -f $$sysmap ]; then \
- 		depmod -ae -F $$sysmap @LINUX_VERSION@; \
- 	fi
diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index ed772e7b247f..2433750ce45f 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -1,20 +1,25 @@
-{ stdenv, fetchurl, fetchgit, jansson, libxml2, libxslt, ncurses, openssl, sqlite, utillinux }:
-
+{ stdenv, pkgs, fetchurl, fetchgit,
+  jansson, libxml2, libxslt, ncurses, openssl, sqlite,
+  utillinux, dmidecode, libuuid, binutils, newt,
+  lua,
+  srtp, wget, curl,
+  subversionClient
+}:
 stdenv.mkDerivation rec {
   name = "asterisk-${version}";
-  version = "13.6.0";
+  version = "14.1.2";
 
   src = fetchurl {
     url = "http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${version}.tar.gz";
-    sha256 = "0nh0fnqx84as92kk9d73s0386cndd17l06y1c72jl2bdjhyba0ca";
+    sha256 = "0w9s4334rwvpyxm169grmnb4k9yq0l2al73dyh4cb8769qcs0ij8";
   };
 
   # Note that these sounds are included with the release tarball. They are
   # provided here verbatim for the convenience of anyone wanting to build
   # Asterisk from other sources.
   coreSounds = fetchurl {
-    url = http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-core-sounds-en-gsm-1.4.26.tar.gz;
-    sha256 = "2300e3ed1d2ded6808a30a6ba71191e7784710613a5431afebbd0162eb4d5d73";
+    url = http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-core-sounds-en-gsm-1.5.tar.gz;
+    sha256 = "01xzbg7xy0c5zg7sixjw5025pvr4z64kfzi9zvx19im0w331h4cd";
   };
   mohSounds = fetchurl {
     url = http://downloads.asterisk.org/pub/telephony/sounds/releases/asterisk-moh-opsound-wav-2.03.tar.gz;
@@ -22,7 +27,7 @@ stdenv.mkDerivation rec {
   };
   # TODO: Sounds for other languages could be added here
 
-  buildInputs = [ jansson libxml2 libxslt ncurses openssl sqlite utillinux ];
+  buildInputs = [ jansson libxml2 libxslt ncurses openssl sqlite utillinux dmidecode libuuid binutils newt lua srtp wget curl subversionClient ];
 
   patches = [
     # Disable downloading of sound files (we will fetch them
@@ -38,14 +43,24 @@ stdenv.mkDerivation rec {
 
   # Use the following preConfigure section when building Asterisk from sources
   # other than the release tarball.
-#   preConfigure = ''
-#     ln -s ${coreSounds} sounds/asterisk-core-sounds-en-gsm-1.4.26.tar.gz
-#     ln -s ${mohSounds} sounds/asterisk-moh-opsound-wav-2.03.tar.gz
-#   '';
+  # preConfigure = ''
+  #   ln -s ${coreSounds} sounds/asterisk-core-sounds-en-gsm-1.5.tar.gz
+  #   ln -s ${mohSounds} sounds/asterisk-moh-opsound-wav-2.03.tar.gz
+  #'';
 
   # The default libdir is $PREFIX/usr/lib, which causes problems when paths
   # compiled into Asterisk expect ${out}/usr/lib rather than ${out}/lib.
-  configureFlags = "--libdir=\${out}/lib";
+  configureFlags = [
+    "--libdir=\${out}/lib"
+    "--with-lua=${lua}/lib"
+    "--with-pjproject-bundled"
+  ];
+
+  preBuild = ''
+    make menuselect.makeopts
+    substituteInPlace menuselect.makeopts --replace 'format_mp3 ' ""
+    ./contrib/scripts/get_mp3_source.sh
+  '';
 
   postInstall = ''
     # Install sample configuration files for this version of Asterisk
@@ -56,9 +71,6 @@ stdenv.mkDerivation rec {
     description = "Software implementation of a telephone private branch exchange (PBX)";
     homepage = http://www.asterisk.org/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ auntie ];
-    # Marked as broken due to needing an update for security issues.
-    # See: https://github.com/NixOS/nixpkgs/issues/18856
-    broken = true;
+    maintainers = with maintainers; [ auntie DerTim1 ];
   };
 }
diff --git a/pkgs/servers/asterisk/disable-download.patch b/pkgs/servers/asterisk/disable-download.patch
index 8b15ecdfaaa3..670886bfe3cc 100644
--- a/pkgs/servers/asterisk/disable-download.patch
+++ b/pkgs/servers/asterisk/disable-download.patch
@@ -1,7 +1,7 @@
-diff -ruN asterisk-13.2.0/sounds/Makefile asterisk-13.2.0-patched/sounds/Makefile
---- asterisk-13.2.0/sounds/Makefile	2014-09-09 14:01:11.000000000 -0600
-+++ asterisk-13.2.0-patched/sounds/Makefile	2015-03-31 16:12:00.549133670 -0600
-@@ -89,7 +89,7 @@
+diff -ruN asterisk-14.1.2/sounds/Makefile asterisk-14.1.2-patched/sounds/Makefile 
+--- asterisk-14.1.2/sounds/Makefile	2016-11-10 20:43:02.000000000 +0100
++++ asterisk-14.1.2-patched/sounds/Makefile	2016-11-16 10:08:46.591615147 +0100
+@@ -90,7 +90,7 @@
  	  ) && touch "$(1)$(if $(3),/$(3),)/$$@"; \
  	fi
  
diff --git a/pkgs/servers/asterisk/runtime-vardirs.patch b/pkgs/servers/asterisk/runtime-vardirs.patch
index dfc00186d136..17959bac9a07 100644
--- a/pkgs/servers/asterisk/runtime-vardirs.patch
+++ b/pkgs/servers/asterisk/runtime-vardirs.patch
@@ -1,6 +1,6 @@
-diff -rupN asterisk-13.3.2/build_tools/make_defaults_h asterisk-13.3.2-patched/build_tools/make_defaults_h
---- asterisk-13.3.2/build_tools/make_defaults_h	2012-01-30 14:21:16.000000000 -0700
-+++ asterisk-13.3.2-patched/build_tools/make_defaults_h	2015-04-15 19:07:46.760351155 -0600
+diff -rupN asterisk-14.1.2/build_tools/make_defaults_h asterisk-14.1.2-patched/build_tools/make_defaults_h
+--- asterisk-14.1.2/build_tools/make_defaults_h	2016-11-10 20:43:02.000000000 +0100
++++ asterisk-14.1.2-patched/build_tools/make_defaults_h	2016-11-16 10:09:04.189625495 +0100
 @@ -1,4 +1,13 @@
  #!/bin/sh
 +
diff --git a/pkgs/servers/atlassian/crowd.nix b/pkgs/servers/atlassian/crowd.nix
index d84ddd00882b..05b88cf9cf3b 100644
--- a/pkgs/servers/atlassian/crowd.nix
+++ b/pkgs/servers/atlassian/crowd.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, home ? "/var/lib/crowd" }:
+{ stdenv, fetchurl, home ? "/var/lib/crowd"
+, port ? 8092, proxyUrl ? null, openidPassword ? "WILL_NEVER_BE_SET" }:
 
 stdenv.mkDerivation rec {
   name = "atlassian-crowd-${version}";
@@ -18,9 +19,22 @@ stdenv.mkDerivation rec {
     rm -rf apache-tomcat/work
     ln -s /run/atlassian-crowd/work apache-tomcat/work
 
+    ln -s /run/atlassian-crowd/database database
+
     substituteInPlace apache-tomcat/bin/startup.sh --replace start run
 
     echo "crowd.home=${home}" > crowd-webapp/WEB-INF/classes/crowd-init.properties
+    substituteInPlace build.properties \
+      --replace "openidserver.url=http://localhost:8095/openidserver" \
+                "openidserver.url=http://localhost:${toString port}/openidserver"
+    substituteInPlace crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
+      --replace "http://localhost:8095/" \
+                "http://localhost:${toString port}/"
+    sed -r -i crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
+      -e 's,application.password\s+password,application.password ${openidPassword},'
+  '' + stdenv.lib.optionalString (proxyUrl != null) ''
+    sed -i crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
+      -e 's,http://localhost:${toString port}/openidserver,${proxyUrl}/openidserver,'
   '';
 
   installPhase = ''
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index a03b81583c0e..0e77aa1d8ee7 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -2,11 +2,11 @@
 , enableIPv6 ? false }:
 
 stdenv.mkDerivation rec {
-  name = "bird-1.6.2";
+  name = "bird-1.6.3";
 
   src = fetchurl {
     url = "ftp://bird.network.cz/pub/bird/${name}.tar.gz";
-    sha256 = "1xlq78mgfyh9yvg9zld9mx75bxg9ajbn4cjjchnf0msh0ibzhlw8";
+    sha256 = "0z3yrxqb0p7f8b7r2gk4mvrwfzk45zx7yr9aifbvba1vgksiri9r";
   };
 
   buildInputs = [ flex bison readline ];
diff --git a/pkgs/servers/dict/dictd-db.nix b/pkgs/servers/dict/dictd-db.nix
index 500ac6fd47bf..70cd362c5ea3 100644
--- a/pkgs/servers/dict/dictd-db.nix
+++ b/pkgs/servers/dict/dictd-db.nix
@@ -28,6 +28,14 @@ let
      };
    };
 in rec {
+  deu2eng = makeDictdDBFreedict (fetchurl {
+    url = http://prdownloads.sourceforge.net/freedict/deu-eng.tar.gz;
+    sha256 = "0dqrhv04g4f5s84nbgisgcfwk5x0rpincif0yfhfh4sc1bsvzsrb";
+  }) "deu-eng" "de_DE";
+  eng2deu = makeDictdDBFreedict (fetchurl {
+    url = http://prdownloads.sourceforge.net/freedict/eng-deu.tar.gz;
+    sha256 = "01x12p72sa3071iff3jhzga8588440f07zr56r3x98bspvdlz73r";
+  }) "eng-deu" "en_EN";
   nld2eng = makeDictdDBFreedict (fetchurl {
     url = http://prdownloads.sourceforge.net/freedict/nld-eng.tar.gz;
     sha256 = "1vhw81pphb64fzsjvpzsnnyr34ka2fxizfwilnxyjcmpn9360h07";
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index e3f2364463ba..d3daad1e0cbc 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "11lxkb7d79c75scrs28q4xmr0ii2li69zj1c650al3qxir8yf754";
   };
 
-  outputs = [ "bin" "lib" "dev" "out" "man" "dnsutils" "host" ];
+  outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
 
   patches = [ ./dont-keep-configure-flags.patch ./remove-mkdir-var.patch ] ++
     stdenv.lib.optional stdenv.isDarwin ./darwin-openssl-linking-fix.patch;
@@ -40,13 +40,10 @@ stdenv.mkDerivation rec {
     moveToOutput bin/isc-config.sh $dev
 
     moveToOutput bin/host $host
-    ln -sf $host/bin/host $bin/bin
 
     moveToOutput bin/dig $dnsutils
     moveToOutput bin/nslookup $dnsutils
     moveToOutput bin/nsupdate $dnsutils
-    ln -sf $dnsutils/bin/{dig,nslookup,nsupdate} $bin/bin
-    ln -sf $host/bin/host $dnsutils/bin
 
     for f in "$lib/lib/"*.la "$dev/bin/"{isc-config.sh,bind*-config}; do
       sed -i "$f" -e 's|-L${openssl.dev}|-L${openssl.out}|g'
@@ -60,5 +57,7 @@ stdenv.mkDerivation rec {
 
     maintainers = with stdenv.lib.maintainers; [viric peti];
     platforms = with stdenv.lib.platforms; unix;
+
+    outputsToInstall = [ "out" "dnsutils" "host" ];
   };
 }
diff --git a/pkgs/servers/gotty/default.nix b/pkgs/servers/gotty/default.nix
index 28ca858440b8..ccab31ce225f 100644
--- a/pkgs/servers/gotty/default.nix
+++ b/pkgs/servers/gotty/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gotty-${version}";
-  version = "0.0.10";
+  version = "0.0.13";
   rev = "v${version}";
 
   goPackagePath = "github.com/yudai/gotty";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "yudai";
     repo = "gotty";
-    sha256 = "0gvnbr61d5si06ik2j075jg00r9b94ryfgg06nqxkf10dp8lgi09";
+    sha256 = "1hsfjyjjzr1zc9m8bnhid1ag6ipcbx59111y9p7k8az8jiyr112g";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index 5e87164c1b14..e9c1ec8b7242 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -16,12 +16,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert http2Support -> nghttp2 != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.23";
+  version = "2.4.25";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc";
+    sha256 = "1cl0bkqg6srb1sypga0cn8dcmdyxldavij73zmmkxvlz3kgw4zpq";
   };
 
   # FIXME: -dev depends on -doc
diff --git a/pkgs/servers/http/apache-modules/mod_perl/default.nix b/pkgs/servers/http/apache-modules/mod_perl/default.nix
new file mode 100644
index 000000000000..04746d678c52
--- /dev/null
+++ b/pkgs/servers/http/apache-modules/mod_perl/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, apacheHttpd, perl }:
+
+stdenv.mkDerivation rec {
+  name = "mod_perl-2.0.10";
+
+  src = fetchurl {
+    url = "mirror://apache/perl/${name}.tar.gz";
+    sha256 = "0r1bhzwl5gr0202r6448943hjxsickzn55kdmb7dzad39vnq7kyi";
+  };
+
+  buildInputs = [ apacheHttpd perl ];
+  buildPhase = ''
+    perl Makefile.PL \
+      MP_APXS=${apacheHttpd.dev}/bin/apxs
+    make
+  '';
+  installPhase = ''
+    mkdir -p $out
+    make install DESTDIR=$out
+    mv $out${apacheHttpd}/* $out
+    mv $out${apacheHttpd.dev}/* $out
+    mv $out${perl}/* $out
+    rm $out/nix -rf
+  '';
+}
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 549c401fec73..c6f88c24509c 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -7,11 +7,11 @@ assert enableMagnet -> lua5_1 != null;
 assert enableMysql -> mysql != null;
 
 stdenv.mkDerivation rec {
-  name = "lighttpd-1.4.41";
+  name = "lighttpd-1.4.44";
 
   src = fetchurl {
     url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
-    sha256 = "0v3b6hp8hfwg7kmmxs64hdn9iqkql5qjv2389wl7pp6nyqz3ik2b";
+    sha256 = "08jlgcy08w1gd8hkmz0bccipv4dzxdairj89nbz5f6b5hnlnrdmd";
   };
 
   buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ]
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index b1d70907e28c..5d5a98ad8a8f 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -27,7 +27,6 @@ stdenv.mkDerivation {
     "--with-http_realip_module"
     "--with-http_addition_module"
     "--with-http_xslt_module"
-    "--with-http_image_filter_module"
     "--with-http_geoip_module"
     "--with-http_sub_module"
     "--with-http_dav_module"
@@ -44,6 +43,7 @@ stdenv.mkDerivation {
     # Install destination problems
     # "--with-http_perl_module"
   ] ++ optional withStream "--with-stream"
+    ++ optional (gd != null) "--with-http_image_filter_module"
     ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio"
     ++ map (mod: "--add-module=${mod.src}") modules;
 
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index c00cc3f4e5d1..0e688b0c0c46 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix (args // {
-  version = "1.11.7";
-  sha256 = "03ihv5v8qasifh4wlql0ggbqkyvak29g0h5fqzka69i15fsvwm8d";
+  version = "1.11.8";
+  sha256 = "0d3bcrgj2ykky2yk06y0ihv6832s30mqzcfwq8a560brbmqz7bjk";
 })
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index e5c53aec7260..20ea55f82a10 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -136,4 +136,43 @@
       sha256 = "0h98a8kiw2qkqfavysm1v16kf4cs4h39j583wapif4p0qx3bbm89";
     };
   };
+
+  # For an example usage, see https://easyengine.io/wordpress-nginx/tutorials/single-site/fastcgi-cache-with-purging/
+  fastcgi-cache-purge = {
+    src = fetchFromGitHub {
+      owner  = "FRiCKLE";
+      repo   = "ngx_cache_purge";
+      rev    = "2.3";
+      sha256 = "0ib2jrbjwrhvmihhnzkp4w87fxssbbmmmj6lfdwpm6ni8p9g60dw";
+    };
+  };
+
+  pagespeed =
+    let
+      version = pkgs.psol.version;
+
+      moduleSrc = fetchFromGitHub {
+        owner  = "pagespeed";
+        repo   = "ngx_pagespeed";
+        rev    = "v${version}-beta";
+        sha256 = "03dvzf1lgsjxcs1jjxq95n2rhgq0wy0f9ahvgascy0fak7qx4xj9";
+      };
+
+      ngx_pagespeed = pkgs.runCommand
+        "ngx_pagespeed"
+        {
+          meta = {
+            description = "PageSpeed module for Nginx";
+            homepage    = "https://developers.google.com/speed/pagespeed/module/";
+            license     = pkgs.stdenv.lib.licenses.asl20;
+          };
+        }
+        ''
+          cp -r "${moduleSrc}" "$out"
+          chmod -R +w "$out"
+          ln -s "${pkgs.psol}" "$out/psol"
+        '';
+    in {
+      src = ngx_pagespeed;
+    };
 }
diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix
index edf1e59931ed..909b26f162b0 100644
--- a/pkgs/servers/http/tomcat/default.nix
+++ b/pkgs/servers/http/tomcat/default.nix
@@ -51,14 +51,13 @@ in {
 
   tomcat85 = common {
     versionMajor = "8";
-    versionMinor = "5.8";
-    sha256 = "1rfws897m09pbnb1jc4684didpklfhqp86szv2jcqzdx0hlfxxs0";
+    versionMinor = "5.9";
+    sha256 = "1dy8bf18jwyi6p7ayb96gbhd4iyfq4d37s3qxnlll8vklfx388np";
   };
 
   tomcatUnstable = common {
     versionMajor = "9";
-    versionMinor = "0.0.M13";
-    sha256 = "0im3w4iqpar7x50vg7c9zkxyqf9x53xs5jvcq79xqgrmcqb9lk91";
+    versionMinor = "0.0.M15";
+    sha256 = "1spbq5vh2dplp83ki3fbbwl0klxq36s4rwkpcjdnwjxjymg9k432";
   };
-
 }
diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
index 66059cff6f76..1914933c558c 100644
--- a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
+++ b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
@@ -98,15 +98,15 @@ diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream
 index a0659ab..dba3729 100644
 --- a/src/lib-ssl-iostream/iostream-ssl.c
 +++ b/src/lib-ssl-iostream/iostream-ssl.c
-@@ -29,7 +29,7 @@ static int ssl_module_load(const char **error_r)
- 	memset(&mod_set, 0, sizeof(mod_set));
+@@ -34,7 +34,7 @@ static int ssl_module_load(const char **error_r)
  	mod_set.abi_version = DOVECOT_ABI_VERSION;
  	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
+ 	mod_set.require_init_funcs = TRUE;
 -	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
 +	ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set);
- 
- 	ssl_vfuncs = module_get_symbol(ssl_module, "ssl_vfuncs");
- 	if (ssl_vfuncs == NULL) {
+ 	if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
+ 					&mod_set, error_r) < 0)
+ 		return -1;
 diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c
 index e2233bf..bbf981e 100644
 --- a/src/lib-storage/mail-storage-settings.c
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 2be20323f259..36d45672150e 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -8,7 +8,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.2.25";
+  name = "dovecot-2.2.27";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs = [ openssl bzip2 zlib clucene_core_2 icu openldap ]
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.2/${name}.tar.gz";
-    sha256 = "0rwn5wc5b8j9fzqcjggdgpzmb77myrf4ra294z1gg5v3hhng7nfq";
+    sha256 = "1s8qvr6fa9d0n179kdwgpsi72zkvpbh9q57q8fr2fjysgjl94zw9";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 0918e308d263..68e3ad4ca426 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -1,11 +1,11 @@
 { coreutils, fetchurl, db, openssl, pcre, perl, pkgconfig, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "exim-4.87";
+  name = "exim-4.88";
 
   src = fetchurl {
-    url = "http://mirror.switch.ch/ftp/mirror/exim/exim/exim4/${name}.tar.bz2";
-    sha256 = "1jbxn13shq90kpn0s73qpjnx5xm8jrpwhcwwgqw5s6sdzw6iwsbl";
+    url = "http://ftp.exim.org/pub/exim/exim4/${name}.tar.bz2";
+    sha256 = "0bca3wb45hl7h8m8bpvsmrmqa07jhbhqyigs9pl29hhzwgbmz78i";
   };
 
   buildInputs = [ coreutils db openssl pcre perl pkgconfig ];
diff --git a/pkgs/servers/mail/rmilter/default.nix b/pkgs/servers/mail/rmilter/default.nix
index 5c41f84c6836..e0e5fd45b7f2 100644
--- a/pkgs/servers/mail/rmilter/default.nix
+++ b/pkgs/servers/mail/rmilter/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, cmake, bison, flex, openssl, pcre, libmilter, opendkim,
- libmemcached }:
+{ stdenv, fetchFromGitHub, cmake, bison, flex, pkgconfig, openssl, pcre
+, libmilter, opendkim, libmemcached, glib }:
 
 let patchedLibmilter = stdenv.lib.overrideDerivation  libmilter (_ : {
     patches = libmilter.patches ++ [ ./fd-passing-libmilter.patch ];
@@ -8,17 +8,17 @@ in
 
 stdenv.mkDerivation rec {
   name = "rmilter-${version}";
-  version = "1.8.5";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "vstakhov";
     repo = "rmilter";
     rev = version;
-    sha256 = "1bfql9v243iw3v87kjgwcx4xxw7g5nv1rsi9gk8p7xg5mzrhi3bn";
+    sha256 = "1gbp6jah88l6xqgflim01ycyp63l733bgir65fxnnrmifj1qzymh";
   };
 
-  nativeBuildInputs = [ bison cmake flex ];
-  buildInputs = [ libmemcached patchedLibmilter openssl pcre opendkim];
+  nativeBuildInputs = [ bison cmake flex pkgconfig ];
+  buildInputs = [ libmemcached patchedLibmilter openssl pcre opendkim glib ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/vstakhov/rmilter";
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index c978c9566a35..692227b5094c 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub, cmake, perl
-, file, glib, gmime, libevent, luajit, openssl, pcre, pkgconfig, sqlite }:
+, file, glib, gmime, libevent, luajit, openssl, pcre, pkgconfig, sqlite, ragel }:
 
 let libmagic = file;  # libmagic provided by file package ATM
 in
 
 stdenv.mkDerivation rec {
   name = "rspamd-${version}";
-  version = "1.2.7";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "vstakhov";
     repo = "rspamd";
     rev = version;
-    sha256 = "0wr9lndg5fpsrjknm828zj0zy7zvdqrak9bdr6pga3bnq6xabbik";
+    sha256 = "19hy9qr9lv17br2algig95d64zzdyly7n6c3z8fanwcpk35sgrhr";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
-  buildInputs = [ glib gmime libevent libmagic luajit openssl pcre sqlite];
+  buildInputs = [ glib gmime libevent libmagic luajit openssl pcre sqlite ragel ];
 
   postPatch = ''
     substituteInPlace conf/common.conf --replace "\$CONFDIR/rspamd.conf.local" "/etc/rspamd/rspamd.conf.local"
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index d1301fad7abc..fd74ffe54c38 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -9,15 +9,28 @@ let
       sha256 = "0gmx4y5kqqphnq3m7xk2vpzb0w2a4palicw7wfdr1q2schl9fhz2";
     };
   };
+  matrix-synapse-ldap3 = pythonPackages.buildPythonApplication rec {
+    name = "matrix-synapse-ldap3-${version}";
+    version = "0.1.1";
+
+    src = fetchFromGitHub {
+      owner = "matrix-org";
+      repo = "matrix-synapse-ldap3";
+      rev = "564eb3f109ce7f1082c47d5f8efaa792d90467f1";
+      sha256 = "1mkjlvy7a3rq405m59ihkh1wq7pa4l03fp8hgwwyjnbmz25bqmbk";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ service-identity ldap3 twisted ];
+  };
 in pythonPackages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.18.4";
+  version = "0.18.7-rc2";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "0hcag9a4wd6a9q0ln5l949xr1bhmk1zrnf9vf3qi3lzxgi0rbm98";
+    sha256 = "13rx77xfcci7q8xpxxgnh84h6md53akjcy9glwn20vm9vpka3vvj";
   };
 
   patches = [ ./matrix-synapse.patch ];
@@ -25,9 +38,9 @@ in pythonPackages.buildPythonApplication rec {
   propagatedBuildInputs = with pythonPackages; [
     blist canonicaljson daemonize dateutil frozendict pillow pybcrypt pyasn1
     pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests2
-    service-identity signedjson systemd twisted ujson unpaddedbase64 pyyaml
+    signedjson systemd twisted ujson unpaddedbase64 pyyaml
     matrix-angular-sdk bleach netaddr jinja2 psycopg2
-    ldap3 psutil msgpack lxml
+    psutil msgpack lxml matrix-synapse-ldap3
   ];
 
   # Checks fail because of Tox.
diff --git a/pkgs/servers/matrix-synapse/matrix-synapse.patch b/pkgs/servers/matrix-synapse/matrix-synapse.patch
index a6a393ea56c3..288e6ff16245 100644
--- a/pkgs/servers/matrix-synapse/matrix-synapse.patch
+++ b/pkgs/servers/matrix-synapse/matrix-synapse.patch
@@ -3,18 +3,18 @@ new file mode 120000
 index 0000000..2f1d413
 --- /dev/null
 +++ b/homeserver
-@@ -0,0 +1 @@
+@@ -0,0 +1,1 @@
 +synapse/app/homeserver.py
 \ No newline at end of file
 diff --git a/setup.py b/setup.py
-index 9d24761..f3e6a00 100755
+index b00c2af..c7f6e0a 100755
 --- a/setup.py
 +++ b/setup.py
-@@ -85,6 +85,6 @@ setup(
+@@ -92,6 +92,6 @@ setup(
      include_package_data=True,
      zip_safe=False,
      long_description=long_description,
 -    scripts=["synctl"] + glob.glob("scripts/*"),
 +    scripts=["synctl", "homeserver"] + glob.glob("scripts/*"),
-     cmdclass={'test': Tox},
+     cmdclass={'test': TestCommand},
  )
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 821d049c2974..aa14af89c32d 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,8 +1,8 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "4.0.0";
-  ts = "1480439068";
+  version = "4.0.2";
+  ts = "1481203731";
   name = "grafana-v${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -10,12 +10,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "0ps9bi4mnb3k6g2824crhyb804srk2b4d2j9k306vg0cizirn75c";
+    sha256 = "1z71nb4qmp1qavsc101k86hc4yyis3mlqb1csrymkhgl94qpiiqm";
   };
 
   srcStatic = fetchurl {
     url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}-${ts}.linux-x64.tar.gz";
-    sha256 = "10n3vmmyr1rvq29r5cz1rwz60smavj6fahz4vaqldh1v0qyqzjlm";
+    sha256 = "1jnh2hn95r1ik0z31b4p0niq7apykppf8jcjjhsbqf8yp8i2b737";
   };
 
   preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
diff --git a/pkgs/servers/monitoring/nagios/default.nix b/pkgs/servers/monitoring/nagios/default.nix
index c4d60cabaa39..5d7becb16525 100644
--- a/pkgs/servers/monitoring/nagios/default.nix
+++ b/pkgs/servers/monitoring/nagios/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nagios-${version}";
-  version = "4.2.3";
+  version = "4.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/nagios/nagios-4.x/${name}/${name}.tar.gz";
-    sha256 = "0p16sm5pkbzf4py30hwzm38194cl23wfzsvkhk4jkf3p1fq7xvl3";
+    sha256 = "0w0blbwiw0ps04b7gkyyk89qkgwsxh6gydhmggbm1kl3ar3mq1dh";
   };
 
   patches = [ ./nagios.patch ];
diff --git a/pkgs/servers/monitoring/prometheus/json-exporter.nix b/pkgs/servers/monitoring/prometheus/json-exporter.nix
new file mode 100644
index 000000000000..465a85259f4d
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/json-exporter.nix
@@ -0,0 +1,25 @@
+# This file was generated by go2nix.
+{ stdenv, buildGoPackage, fetchFromGitHub, lib }:
+
+buildGoPackage rec {
+  name = "prometheus-json-exporter-${version}";
+  version = "unstable-2016-09-13";
+  rev = "d45e5ebdb08cb734ad7a8683966032af1d91a76c";
+
+  goPackagePath = "github.com/kawamuray/prometheus-json-exporter";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "kawamuray";
+    repo = "prometheus-json-exporter";
+    sha256 = "0v3as7gakdqpsir97byknsrqxxxkq66hp23j4cscs45hsdb24pi9";
+  };
+
+  goDeps = ./json-exporter_deps.nix;
+
+  meta = {
+    description = "A prometheus exporter which scrapes remote JSON by JSONPath";
+    homepage = "https://github.com/kawamuray/prometheus-json-exporter";
+    license = lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/json-exporter_deps.nix b/pkgs/servers/monitoring/prometheus/json-exporter_deps.nix
new file mode 100644
index 000000000000..9416125bc0c2
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/json-exporter_deps.nix
@@ -0,0 +1,111 @@
+# This file was generated by go2nix.
+[
+  {
+    goPackagePath = "github.com/Sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Sirupsen/logrus";
+      rev = "a437dfd2463eaedbec3dfe443e477d3b0a810b3f";
+      sha256 = "1904s2bbc7p88anzjp6fyj3jrbm5p6wbb8j4490674dq10kkcfbj";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
+      sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "8ee79997227bf9b34611aee7946ae64735e6fd93";
+      sha256 = "0qm1lpdhf97k2hxgivq2cpjgawhlmmz39y230kgxijhm96xijxb8";
+    };
+  }
+  {
+    goPackagePath = "github.com/kawamuray/jsonpath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kawamuray/jsonpath";
+      rev = "5c448ebf973557834ef870e788b0b2d95ac68d12";
+      sha256 = "1i1id1i85rf09rldp03h0ibyi6zg0fz9p9l5qj7i8dfs6h6y8f0a";
+    };
+  }
+  {
+    goPackagePath = "github.com/kawamuray/prometheus-exporter-harness";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kawamuray/prometheus-exporter-harness";
+      rev = "97eeea7b8b0619ea2a065d75c0f0f5909327afa6";
+      sha256 = "12al8irf8jb6p2xmm4wbh0wjqsyrdywynr4w122wxxnsx2n56xyv";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "575f371f7862609249a1be4c9145f429fe065e32";
+      sha256 = "0hyvszjv5m6i40k2fn21c3bjr8jhlfdqavk1r6g2v5dybyj47vps";
+    };
+  }
+  {
+    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 = "0d5de9d6d8629cb8bee6d4674da4127cd8b615a3";
+      sha256 = "1zlvvgw67p66fz9nswkydq15j4a5z5kkiskl0jxps8i27ya1baq0";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "abf152e5f3e97f2fafac028d2cc06c1feb87ffa5";
+      sha256 = "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev = "0bdeddeeb0f650497d603c4ad7b20cfe685682f6";
+      sha256 = "1ny63c7bfwfrsp7vfkvb4i0xhq4v7yxqnwxa52y4xlfxs4r6v6fg";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "a5b47d31c556af34a302ce5d659e6fea44d90de0";
+      sha256 = "0v6l48fshdjrqzyq1kwn22gy7vy434xdr1i0lm3prsf6jbln9fam";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
new file mode 100644
index 000000000000..a52e1abad875
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, go, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "snmp_exporter-${version}";
+  version = "0.1.0";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/prometheus/snmp_exporter";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "prometheus";
+    repo = "snmp_exporter";
+    sha256 = "1faa1gla5nqkhf1kq60v22bcph41qix3dn9db0w0fh2pkxpdxvrp";
+  };
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "SNMP Exporter for Prometheus";
+    homepage = https://github.com/prometheus/snmp_exporter;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ oida ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
new file mode 100644
index 000000000000..456e69042963
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
@@ -0,0 +1,26 @@
+# This file was generated by go2nix.
+{ stdenv, buildGoPackage, fetchFromGitHub, lib }:
+
+buildGoPackage rec {
+  name = "prometheus_varnish_exporter-${version}";
+  version = "1.2";
+  rev = "0f0e3e2";
+
+  goPackagePath = "github.com/jonnenauha/prometheus_varnish_exporter";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "jonnenauha";
+    repo = "prometheus_varnish_exporter";
+    sha256 = "15vw3jqzm2nad81j14spib5v7q2jpibclzrnkd688003vkizlwyn";
+  };
+
+  goDeps = ./varnish-exporter_deps.nix;
+
+  meta = {
+    homepage = "https://github.com/jonnenauha/prometheus_varnish_exporter";
+    description = "Varnish exporter for Prometheus";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ MostAwesomeDude ];
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix
new file mode 100644
index 000000000000..09a09be36e36
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix
@@ -0,0 +1,66 @@
+# This file was generated by go2nix.
+[
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
+      sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "8ee79997227bf9b34611aee7946ae64735e6fd93";
+      sha256 = "0qm1lpdhf97k2hxgivq2cpjgawhlmmz39y230kgxijhm96xijxb8";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "575f371f7862609249a1be4c9145f429fe065e32";
+      sha256 = "0hyvszjv5m6i40k2fn21c3bjr8jhlfdqavk1r6g2v5dybyj47vps";
+    };
+  }
+  {
+    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 = "0d5de9d6d8629cb8bee6d4674da4127cd8b615a3";
+      sha256 = "1zlvvgw67p66fz9nswkydq15j4a5z5kkiskl0jxps8i27ya1baq0";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "abf152e5f3e97f2fafac028d2cc06c1feb87ffa5";
+      sha256 = "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws";
+    };
+  }
+]
diff --git a/pkgs/servers/mpd/darwin-enable-cxx-exceptions.patch b/pkgs/servers/mpd/darwin-enable-cxx-exceptions.patch
deleted file mode 100644
index db330a913cbd..000000000000
--- a/pkgs/servers/mpd/darwin-enable-cxx-exceptions.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-diff -Naur mpd-0.19.9.orig/configure mpd-0.19.9/configure
---- mpd-0.19.9.orig/configure	2015-01-26 19:47:27.000000000 +0000
-+++ mpd-0.19.9/configure	2015-01-26 19:47:27.000000000 +0000
-@@ -17113,138 +17113,6 @@
- done
- 
- 
--if test x$no_exceptions = xyes; then
--
--
--
--
--for flag in -fno-exceptions; do
--  as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
--$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
--if eval \${$as_CACHEVAR+:} false; then :
--  $as_echo_n "(cached) " >&6
--else
--
--  ax_check_save_flags=$CXXFLAGS
--  CXXFLAGS="$CXXFLAGS  $flag"
--  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h.  */
--
--int
--main ()
--{
--
--  ;
--  return 0;
--}
--_ACEOF
--if ac_fn_cxx_try_compile "$LINENO"; then :
--  eval "$as_CACHEVAR=yes"
--else
--  eval "$as_CACHEVAR=no"
--fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--  CXXFLAGS=$ax_check_save_flags
--fi
--eval ac_res=\$$as_CACHEVAR
--	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
--$as_echo "$ac_res" >&6; }
--if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
--  if ${CXXFLAGS+:} false; then :
--  case " $CXXFLAGS " in
--    *" $flag "*)
--      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$flag"; } >&5
--  (: CXXFLAGS already contains $flag) 2>&5
--  ac_status=$?
--  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
--  test $ac_status = 0; }
--      ;;
--    *)
--      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$flag\""; } >&5
--  (: CXXFLAGS="$CXXFLAGS $flag") 2>&5
--  ac_status=$?
--  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
--  test $ac_status = 0; }
--      CXXFLAGS="$CXXFLAGS $flag"
--      ;;
--   esac
--else
--  CXXFLAGS="$flag"
--fi
--
--else
--  :
--fi
--
--done
--
--
--
--
--
--for flag in -fno-rtti; do
--  as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
--$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
--if eval \${$as_CACHEVAR+:} false; then :
--  $as_echo_n "(cached) " >&6
--else
--
--  ax_check_save_flags=$CXXFLAGS
--  CXXFLAGS="$CXXFLAGS  $flag"
--  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h.  */
--
--int
--main ()
--{
--
--  ;
--  return 0;
--}
--_ACEOF
--if ac_fn_cxx_try_compile "$LINENO"; then :
--  eval "$as_CACHEVAR=yes"
--else
--  eval "$as_CACHEVAR=no"
--fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--  CXXFLAGS=$ax_check_save_flags
--fi
--eval ac_res=\$$as_CACHEVAR
--	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
--$as_echo "$ac_res" >&6; }
--if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
--  if ${CXXFLAGS+:} false; then :
--  case " $CXXFLAGS " in
--    *" $flag "*)
--      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$flag"; } >&5
--  (: CXXFLAGS already contains $flag) 2>&5
--  ac_status=$?
--  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
--  test $ac_status = 0; }
--      ;;
--    *)
--      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$flag\""; } >&5
--  (: CXXFLAGS="$CXXFLAGS $flag") 2>&5
--  ac_status=$?
--  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
--  test $ac_status = 0; }
--      CXXFLAGS="$CXXFLAGS $flag"
--      ;;
--   esac
--else
--  CXXFLAGS="$flag"
--fi
--
--else
--  :
--fi
--
--done
--
--fi
- 
- 
- 
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 4b26b92cdb29..c07ca6a83420 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -29,18 +29,16 @@
 let
   opt = stdenv.lib.optional;
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
-  major = "0.19";
-  minor = "19";
+  major = "0.20";
+  minor = "";
 
 in stdenv.mkDerivation rec {
-  name = "mpd-${major}.${minor}";
+  name = "mpd-${major}${if minor == "" then "" else "." + minor}";
   src = fetchurl {
     url    = "http://www.musicpd.org/download/mpd/${major}/${name}.tar.xz";
-    sha256 = "07af1m2lgblyiq0gcs26zv8n22wrhrpmf49xsm338h1n87d6r1dw";
+    sha256 = "068nxsfkp2ppcjh3fmcbapkiwnjpvkii73bfydpw4bf2yphdvsa8";
   };
 
-  patches = stdenv.lib.optionals stdenv.isDarwin ./darwin-enable-cxx-exceptions.patch;
-
   buildInputs = [ pkgconfig glib boost ]
     ++ opt stdenv.isDarwin darwin.apple_sdk.frameworks.CoreAudioKit
     ++ opt stdenv.isLinux systemd
diff --git a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
index bc83d0cccab6..12543b336dda 100644
--- a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
+++ b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="apache-jena-fuseki";
-    version = "2.4.0";
+    version = "2.4.1";
     name="${baseName}-${version}";
     url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
-    sha256 = "0jjrgvnc571wdkv722k0xc43n94w0rn1ci4ndxya9fvlag1rjhlb";
+    sha256 = "01yjpghgz637wwgnk5n9d7kchc3mmrbyrm8fs4rh2hkh66mq3ya4";
   };
   buildInputs = [
     makeWrapper
diff --git a/pkgs/servers/nosql/riak-cs/2.1.1.nix b/pkgs/servers/nosql/riak-cs/2.1.1.nix
index 439af4da565b..a0df98faf360 100644
--- a/pkgs/servers/nosql/riak-cs/2.1.1.nix
+++ b/pkgs/servers/nosql/riak-cs/2.1.1.nix
@@ -1,11 +1,13 @@
-{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam, coreutils, riak }:
+{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam, coreutils, riak
+, Carbon ? null, Cocoa ? null }:
 
 stdenv.mkDerivation rec {
   name = "riak_cs-2.1.1";
 
   buildInputs = [
-    which unzip erlang pam git wget
-  ];
+    which unzip erlang git wget
+  ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ]
+    ++ lib.optional stdenv.isLinux [ pam ];
 
   src = fetchurl {
     url = "http://s3.amazonaws.com/downloads.basho.com/riak-cs/2.1/2.1.1/riak-cs-2.1.1.tar.gz";
@@ -60,7 +62,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Dynamo inspired NoSQL DB by Basho with S3 compatibility";
-    platforms   = [ "x86_64-linux" ];
+    platforms   = [ "x86_64-linux" "x86_64-darwin" ];
     license     = licenses.asl20;
     maintainer  = with maintainers; [ mdaiter ];
   };
diff --git a/pkgs/servers/nosql/riak-cs/stanchion.nix b/pkgs/servers/nosql/riak-cs/stanchion.nix
index 5835b7e29c93..8ea71d611ebb 100644
--- a/pkgs/servers/nosql/riak-cs/stanchion.nix
+++ b/pkgs/servers/nosql/riak-cs/stanchion.nix
@@ -1,11 +1,13 @@
-{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam, coreutils, riak }:
+{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam, coreutils, riak 
+, Carbon ? null, Cocoa ? null }:
 
 stdenv.mkDerivation rec {
   name = "stanchion-2.1.1";
 
   buildInputs = [
-    which unzip erlang pam git wget
-  ];
+    which unzip erlang git wget
+  ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ]
+    ++ lib.optional stdenv.isLinux [ pam ];
 
   src = fetchurl {
     url = "http://s3.amazonaws.com/downloads.basho.com/stanchion/2.1/2.1.1/stanchion-2.1.1.tar.gz";
@@ -57,7 +59,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     maintainers = with maintainers; [ mdaiter ];
     description = "Manager for Riak CS";
-    platforms   = [ "x86_64-linux" ];
+    platforms   = [ "x86_64-linux" "x86_64-darwin" ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/servers/owncloud/default.nix b/pkgs/servers/owncloud/default.nix
index ada198a171a4..c452ac869fce 100644
--- a/pkgs/servers/owncloud/default.nix
+++ b/pkgs/servers/owncloud/default.nix
@@ -43,28 +43,28 @@ in {
   };
 
   owncloud80 = common {
-    versiona = "8.0.15";
-    sha256 = "18042jkp4p3b6xh394zm80126975g94r4ka8gzwhyvgfwpgxrx84";
+    versiona = "8.0.16";
+    sha256 = "1pgfawrmx6n02h7h6g5wk0sa1kgablqa8ljfiywyw8znxxa5lnrm";
   };
 
   owncloud81 = common {
-    versiona = "8.1.10";
-    sha256 = "1vspsd3l86mrhhddmyafwdr961f4dy6ln2j4dds2h45wf6296c63";
+    versiona = "8.1.11";
+    sha256 = "04izfzj3ckcs0x882kkggp6y7zcrhdihm71wkd9vk6j5fn8k9am0";
   };
 
   owncloud82 = common {
-    versiona = "8.2.8";
-    sha256 = "0k10b3gfpfk3imxhkra0vn6a004xmcma09lw6pgxnalpmpbm8jiy";
+    versiona = "8.2.9";
+    sha256 = "09gzpxd9gjg8h57m8j0r6xnr85fdb951ykwmjby811c6730769pw";
   };
 
   owncloud90 = common {
-    versiona = "9.0.5";
-    sha256 = "1igpjc4rfaxqrkf2dln85wvdii54nrmwlh17fq3g0232l3vw9hn8";
+    versiona = "9.0.7";
+    sha256 = "1j6xrd4dhc0v0maa3z8n392nfc9hrnvbxxyqr8g8kz88w9vbqa6h";
   };
 
   owncloud91 = common {
-    versiona = "9.1.1";
-    sha256 = "1fd73ggzj2v43j284is2c6936gwkmz1inr5fm88rmq5pxcqkbgx6";
+    versiona = "9.1.3";
+    sha256 = "1sgnsj2ng14lh05n5kc3jv03xk6xnkyx7xj1rasxlqgvzwsyp8g0";
   };
 
 }
diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix
index 467f3ffb1d48..122d5bd7dc9c 100644
--- a/pkgs/servers/plex/default.nix
+++ b/pkgs/servers/plex/default.nix
@@ -6,9 +6,9 @@
 let
   plexPass = throw "Plex pass has been removed at upstream's request; please unset nixpkgs.config.plex.pass";
   plexpkg = if enablePlexPass then plexPass else {
-    version = "1.2.7.2987";
-    vsnHash = "1bef33a";
-    sha256 = "17d1yisbikcp25mgn71rf8w76zhy015f33hxjj93swfm1qrq55hq";
+    version = "1.3.3.3148";
+    vsnHash = "b38628e";
+    sha256 = "1dx8z27l1dwigr3ipcdzn25hnj0206255ihxh9rnh2qchrcqmb5y";
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index d41e1bce7f58..616d898b33f0 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, python2, par2cmdline, unzip, unrar, p7zip, makeWrapper}:
 
 let
-  pythonEnv = python2.withPackages(ps: with ps; [ pyopenssl cheetah]);
+  pythonEnv = python2.withPackages(ps: with ps; [ pyopenssl cheetah yenc ]);
   path = stdenv.lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
 in stdenv.mkDerivation rec {
   version = "1.1.0";
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 2dfdf3709ee5..51bee4f0b4c9 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -19,11 +19,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "samba-${version}";
-  version = "4.4.6";
+  version = "4.5.3";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "1361ijz7vpgf66w3j9z7qb37rnlrydxw01ibjnfhjqqcb7fj7i1p";
+    sha256 = "1jif95684swssqwp9v3i2r08cn3r2iddf6ly68db4wmvl5ac8vgh";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix
index c9f4e2d253f9..cad349c4b51f 100644
--- a/pkgs/servers/shellinabox/default.nix
+++ b/pkgs/servers/shellinabox/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pam, openssl, openssh, shadow, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "2.19";
+  version = "2.20";
   name = "shellinabox-${version}";
 
   src = fetchFromGitHub {
     owner = "shellinabox";
     repo = "shellinabox";
-    rev = "1a8010f2c94a62e7398c4fa130dfe9e099dc55cd";
-    sha256 = "16cr7gbnh6vzsxlhg9j9avqrxbhbkqhsbvh197b0ccdwbb04ysan";
+    rev = "v${version}";
+    sha256 = "1hmfayh21cks2lyj572944ll0mmgsxbnj981b3hq3nhdg8ywzjfr";
   };
 
   patches = [ ./shellinabox-minus.patch ];
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index 5deb3ea871b5..6f553f707124 100644
--- a/pkgs/servers/sonarr/default.nix
+++ b/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sonarr-${version}";
-  version = "2.0.0.4409";
+  version = "2.0.0.4472";
 
   src = fetchurl {
     url = "http://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz";
-    sha256 = "1kaj1m4ifby8liks8i7fsbgwbajaqwd96yindqp5maf2n6px2nw2";
+    sha256 = "0sz03z057pyai151lxsdsgxlv6kvrnd1xxw7i1ss7b79l6xgmpw8";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix
index faee8415f4bc..820c3fc96050 100644
--- a/pkgs/servers/sql/mysql/5.5.x.nix
+++ b/pkgs/servers/sql/mysql/5.5.x.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.5.53";
+  version = "5.5.54";
 
   src = fetchurl {
     url = "mirror://mysql/MySQL-5.5/${name}.tar.gz";
-    sha256 = "1snnyz8s7dd3ypm73vbpw36pflz7wqh2bawdvp4riri44pa6va57";
+    sha256 = "1f0sg72vbhavj1cbay0gyyrrw0mjcf2k0nf30zmn2h68ik7wnfr7";
   };
 
   patches = if stdenv.isCygwin then [
diff --git a/pkgs/servers/sql/mysql/5.7.x.nix b/pkgs/servers/sql/mysql/5.7.x.nix
index 5823cc57fba6..71867a94ef25 100644
--- a/pkgs/servers/sql/mysql/5.7.x.nix
+++ b/pkgs/servers/sql/mysql/5.7.x.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.7.16";
+  version = "5.7.17";
 
   src = fetchurl {
     url = "mirror://mysql/MySQL-5.7/${name}.tar.gz";
-    sha256 = "198qhd9bdm0fnpp307mgby2aar92yzya0937kxi7bcpdfjcvada9";
+    sha256 = "0lcn9cm36n14g22bcppq5vf4nxbrl3khvlsp9hsixqdfb3l27gyf";
   };
 
   preConfigure = stdenv.lib.optional stdenv.isDarwin ''
diff --git a/pkgs/servers/sql/postgresql/pg_similarity/default.nix b/pkgs/servers/sql/postgresql/pg_similarity/default.nix
new file mode 100644
index 000000000000..32945c9fa62b
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/pg_similarity/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchFromGitHub, gcc, postgresql }:
+
+stdenv.mkDerivation {
+
+  name = "pg_similarity-1.0";
+  src = fetchFromGitHub {
+    owner = "eulerto";
+    repo = "pg_similarity";
+    rev = "be1a8b08c8716e59b89982557da9ea68cdf868c5";
+    sha256 = "1z4v4r2yccdr8kz3935fnk1bc5vj0qj0apscldyap4wxlyi89xim";
+  };
+
+  buildInputs = [ postgresql gcc ];
+  buildPhase = "USE_PGXS=1 make";
+  installPhase = ''
+    mkdir -p $out/bin   # for buildEnv to setup proper symlinks
+    install -D pg_similarity.so -t $out/lib/
+    install -D ./{pg_similarity--unpackaged--1.0.sql,pg_similarity--1.0.sql,pg_similarity.control} -t $out/share/extension
+  '';
+
+  meta = {
+    description = ''
+       pg_similarity is an extension to support similarity queries on PostgreSQL. The implementation
+       is tightly integrated in the RDBMS in the sense that it defines operators so instead of the traditional
+       operators (= and <>) you can use ~~~ and ~!~ (any of these operators represents a similarity function).
+    '';
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with lib.maintainers; [ danbst ];
+  };
+}
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index e12d7e9b97d0..b64dfeda667a 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -1,25 +1,36 @@
-{ fetchurl, stdenv, perl, lib, openldap, pam, db, cyrus_sasl, libcap,
-expat, libxml2, libtool, openssl}:
+{ stdenv, fetchurl, perl, openldap, pam, db, cyrus_sasl, libcap
+, expat, libxml2, openssl }:
+
 stdenv.mkDerivation rec {
-  name = "squid-3.5.19";
+  name = "squid-3.5.23";
+
   src = fetchurl {
-    url = "http://www.squid-cache.org/Versions/v3/3.5/${name}.tar.bz2";
-    sha256 = "1iy2r7r12xv0q9414rczbqbbggyyxgdmg21bynpygwkgalaz1dxx";
+    url = "http://www.squid-cache.org/Versions/v3/3.5/${name}.tar.xz";
+    sha256 = "1nqbljph2mbxjy1jzsis5vplfvvc2y6rdlxy609zx4hyyjchqk7s";
   };
-  buildInputs = [perl openldap pam db cyrus_sasl libcap expat libxml2
-    libtool openssl];
+
+  buildInputs = [
+    perl openldap pam db cyrus_sasl libcap expat libxml2 openssl
+  ];
+
   configureFlags = [
     "--enable-ipv6"
     "--disable-strict-error-checking"
     "--disable-arch-native"
     "--with-openssl"
     "--enable-ssl-crtd"
+    "--enable-linux-netfilter"
+    "--enable-storeio=ufs,aufs,diskd,rock"
+    "--enable-removal-policies=lru,heap"
+    "--enable-delay-pools"
+    "--enable-x-accelerator-vary"
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A caching proxy for the Web supporting HTTP, HTTPS, FTP, and more";
     homepage = "http://www.squid-cache.org";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/servers/xmpp/openfire/default.nix b/pkgs/servers/xmpp/openfire/default.nix
index 9ae159a453db..0e6fcd5e9896 100644
--- a/pkgs/servers/xmpp/openfire/default.nix
+++ b/pkgs/servers/xmpp/openfire/default.nix
@@ -23,5 +23,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "XMPP server in Java";
     platforms = stdenv.lib.platforms.unix;
+    # Some security advisories seem to apply, and each next version wants to
+    # write into larger parts of installation directory; installation is just
+    # unpacking, though
+    broken = true;
   };
 }
diff --git a/pkgs/shells/bash/4.3.nix b/pkgs/shells/bash/4.3.nix
deleted file mode 100644
index 76c24323fca9..000000000000
--- a/pkgs/shells/bash/4.3.nix
+++ /dev/null
@@ -1,118 +0,0 @@
-{ stdenv, fetchurl, readline ? null, interactive ? false, texinfo ? null, binutils ? null, bison }:
-
-assert interactive -> readline != null;
-assert stdenv.isDarwin -> binutils != null;
-
-let
-  version = "4.3";
-  realName = "bash-${version}";
-  shortName = "bash43";
-  baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline";
-  sha256 = "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg";
-
-  inherit (stdenv.lib) optional optionalString;
-in
-
-stdenv.mkDerivation rec {
-  name = "${realName}-p${toString (builtins.length patches)}";
-
-  src = fetchurl {
-    url = "mirror://gnu/bash/${realName}.tar.gz";
-    inherit sha256;
-  };
-
-  hardeningDisable = [ "format" ];
-
-  outputs = [ "out" "doc" "info" ];
-
-  # the man pages are small and useful enough
-  outputMan = if interactive then "out" else null;
-
-  NIX_CFLAGS_COMPILE = ''
-    -DSYS_BASHRC="/etc/bashrc"
-    -DSYS_BASH_LOGOUT="/etc/bash_logout"
-    -DDEFAULT_PATH_VALUE="/no-such-path"
-    -DSTANDARD_UTILS_PATH="/no-such-path"
-    -DNON_INTERACTIVE_LOGIN_SHELLS
-    -DSSH_SOURCE_BASHRC
-  '';
-
-  patchFlags = "-p0";
-
-  patches =
-    (let
-      patch = nr: sha256:
-        fetchurl {
-          url = "mirror://gnu/bash/${realName}-patches/${shortName}-${nr}";
-          inherit sha256;
-        };
-    in
-      import ./bash-4.3-patches.nix patch)
-      ++ optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch;
-
-  crossAttrs = {
-    configureFlags = baseConfigureFlags +
-      " bash_cv_job_control_missing=nomissing bash_cv_sys_named_pipes=nomissing" +
-      optionalString stdenv.isCygwin ''
-        --without-libintl-prefix --without-libiconv-prefix
-        --with-installed-readline
-        bash_cv_dev_stdin=present
-        bash_cv_dev_fd=standard
-        bash_cv_termcap_lib=libncurses
-      '';
-  };
-
-  configureFlags = baseConfigureFlags;
-
-  # Note: Bison is needed because the patches above modify parse.y.
-  nativeBuildInputs = [bison]
-    ++ optional (texinfo != null) texinfo
-    ++ optional interactive readline
-    ++ optional stdenv.isDarwin binutils;
-
-  # Bash randomly fails to build because of a recursive invocation to
-  # build `version.h'.
-  enableParallelBuilding = false;
-
-  postInstall = ''
-    ln -s bash "$out/bin/sh"
-  '';
-
-  postFixup = if interactive
-    then ''
-      substituteInPlace "$out/bin/bashbug" \
-        --replace '${stdenv.shell}' "$out/bin/bash"
-    ''
-    # most space is taken by locale data
-    else ''
-      rm -r "$out/share" "$out/bin/bashbug"
-    '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.gnu.org/software/bash/;
-    description =
-      "GNU Bourne-Again Shell, the de facto standard shell on Linux" +
-        (if interactive then " (for interactive use)" else "");
-
-    longDescription = ''
-      Bash is the shell, or command language interpreter, that will
-      appear in the GNU operating system.  Bash is an sh-compatible
-      shell that incorporates useful features from the Korn shell
-      (ksh) and C shell (csh).  It is intended to conform to the IEEE
-      POSIX P1003.2/ISO 9945.2 Shell and Tools standard.  It offers
-      functional improvements over sh for both programming and
-      interactive use.  In addition, most sh scripts can be run by
-      Bash without modification.
-    '';
-
-    license = licenses.gpl3Plus;
-
-    platforms = platforms.all;
-
-    maintainers = [ maintainers.peti ];
-  };
-
-  passthru = {
-    shellPath = "/bin/bash";
-  };
-}
diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix
index 406ca4d08fd7..7dbb18324972 100644
--- a/pkgs/shells/bash/4.4.nix
+++ b/pkgs/shells/bash/4.4.nix
@@ -12,11 +12,21 @@ let
   baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline";
   sha256 = "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq";
 
+  upstreamPatches =
+    let
+      patch = nr: sha256:
+        fetchurl {
+          url = "mirror://gnu/bash/${realName}-patches/${shortName}-${nr}";
+          inherit sha256;
+        };
+    in
+      import ./bash-4.4-patches.nix patch;
+
   inherit (stdenv.lib) optional optionalString;
 in
 
 stdenv.mkDerivation rec {
-  name = "${realName}-p${toString (builtins.length patches)}";
+  name = "${realName}-p${toString (builtins.length upstreamPatches)}";
 
   src = fetchurl {
     url = "mirror://gnu/bash/${realName}.tar.gz";
@@ -41,15 +51,14 @@ stdenv.mkDerivation rec {
 
   patchFlags = "-p0";
 
-  patches =
-    (let
-      patch = nr: sha256:
-        fetchurl {
-          url = "mirror://gnu/bash/${realName}-patches/${shortName}-${nr}";
-          inherit sha256;
-        };
-    in
-      import ./bash-4.4-patches.nix patch)
+  patches = upstreamPatches
+      ++ [ (fetchurl {
+              # https://security.gentoo.org/glsa/201701-02
+              url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-shells"
+                  + "/bash/files/bash-4.4-popd-offset-overflow.patch"
+                  + "?id=1bf1ceeb04a2f57e1e5e1636a8c288c4d0db6682";
+              sha256 = "02n08lw5spvsc2b1bll0gr6mg4qxcg7pzfjkw7ji5w7bjcikccbm";
+          }) ]
       ++ optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch;
 
   crossAttrs = {
diff --git a/pkgs/shells/bash/bash-4.3-patches.nix b/pkgs/shells/bash/bash-4.3-patches.nix
index 83743938de32..a09e56e46993 100644
--- a/pkgs/shells/bash/bash-4.3-patches.nix
+++ b/pkgs/shells/bash/bash-4.3-patches.nix
@@ -47,4 +47,6 @@ patch: [
 (patch "044" "16bzaq9fs2kaw2n2k6vvljkjw5k5kx06isnq8hxkfrxz60384f4k")
 (patch "045" "08q02mj9imp2njpgm6f5q5m61i7qzp33rbxxzarixalyisbw6vms")
 (patch "046" "13v8dymwj83wcvrfayjqrs5kqar05bcj4zpiacrjkkchnsk5dd5k")
+(patch "047" "0jkwqviwkqdc13wv3q0g0kapjr68ggs1xzhqy696pfkqgvg4i4n6")
+(patch "048" "18nzlk1idwkq0xd54s83lx8kam8kcvz7yc0mw6hnq2ax3i2ib0jv")
 ]
diff --git a/pkgs/shells/bash/bash-4.4-patches.nix b/pkgs/shells/bash/bash-4.4-patches.nix
index b8019fb33502..c3ef5470aebf 100644
--- a/pkgs/shells/bash/bash-4.4-patches.nix
+++ b/pkgs/shells/bash/bash-4.4-patches.nix
@@ -1,4 +1,9 @@
 # Automatically generated by `update-patch-set.sh'; do not edit.
 
 patch: [
+(patch "001" "03vzy7qwjdd5qvl3ydg99naazas2qmyd0yhnrflgjbbm64axja1y")
+(patch "002" "0lrwq6vyqism3yqv9s7kzaf3dsl4q5w9r5svcqz279qp7qca083h")
+(patch "003" "1chqww2rj6g42b8s60q5zlzy0jzp684jkpsbrbfy1vzxja8mmpsi")
+(patch "004" "1cy8abf96hkrjhw921ndr0shlcnc52bg45rn6xri4v5clhq0l25d")
+(patch "005" "0a8515kyk4zsgmvlqvlganjfr7pq0j6kzpr4d6xx02kpbdr4n7i2")
 ]
diff --git a/pkgs/shells/nix-zsh-completions/default.nix b/pkgs/shells/nix-zsh-completions/default.nix
index af7b4a746f4d..5faca2fa8e84 100644
--- a/pkgs/shells/nix-zsh-completions/default.nix
+++ b/pkgs/shells/nix-zsh-completions/default.nix
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "spwhitt";
     repo = "nix-zsh-completions";
-    rev = "0.2";
-    sha256 = "0wimjdxnkw1lzhjn28zm4pgbij86ym0z17ayivpzz27g0sacimga";
+    rev = "0.3";
+    sha256 = "1vwkd4nppjrvy6xb0vx4z73awrhaah1433dp6h4ghi3cdrrjn7ri";
   };
 
   installPhase = ''
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "ZSH completions for Nix, NixOS, and NixOps";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.spwhitt ];
+    maintainers = [ stdenv.lib.maintainers.spwhitt stdenv.lib.maintainers.olejorgenb ];
   };
 }
diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix
index 4e76c7aef335..8ae11e7e75c8 100644
--- a/pkgs/shells/oh-my-zsh/default.nix
+++ b/pkgs/shells/oh-my-zsh/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   name = "oh-my-zsh-${version}";
-  version = "2016-11-16";
+  version = "2016-12-14";
 
   src = fetchgit {
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    rev = "3477ff25274fa75bd9e6110f391f6ad98ca2af72";
-    sha256 = "07fvxg5jbw41j4nrs31hm0dfrwdh01gf5ik21gb4b4ddig2mjhc9";
+    rev = "67dad45b38b7f0bafcaf7679da6eb4596301843b";
+    sha256 = "1adgj0p4c8aq9rpkv33k8ra69922vfkjw63b666i66v6zr0s8znp";
   };
 
   phases = "installPhase";
diff --git a/pkgs/shells/zsh-autosuggestions/default.nix b/pkgs/shells/zsh-autosuggestions/default.nix
new file mode 100644
index 000000000000..4071d7bd0f21
--- /dev/null
+++ b/pkgs/shells/zsh-autosuggestions/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, zsh }:
+
+# To make use of this derivation, use the `programs.zsh.enableAutoSuggestions` option
+
+stdenv.mkDerivation rec {
+  name = "zsh-autosuggestions-${version}";
+  version = "0.3.3";
+
+  src = fetchFromGitHub {
+    repo = "zsh-autosuggestions";
+    owner = "zsh-users";
+    rev = "v${version}";
+    sha256 = "0mnwyz4byvckrslzqfng5c0cx8ka0y12zcy52kb7amg3l07jrls4";
+  };
+
+  buildInputs = [ zsh ];
+
+  buildPhases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    install -D zsh-autosuggestions.zsh \
+      $out/share/zsh-autosuggestions/zsh-autosuggestions.zsh
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Fish shell autosuggestions for Zsh";
+    homepage = "https://github.com/zsh-users/zsh-autosuggestions";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.loskutov ];
+  };
+}
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 537df67d4478..c48140462002 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -2,11 +2,11 @@
 
 let
 
-  version = "5.3";
+  version = "5.3.1";
 
   documentation = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.gz";
-    sha256 = "0cvkdw7x6i4m2brc9aakw8d3bmp6baziv72amlq9jd65r421bq88";
+    sha256 = "0hbqn1zg3x5i9klqfzhizk88jzy8pkg65r9k41b3cn42lg3ncsy1";
   };
 
 in
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}.tar.gz";
-    sha256 = "0vcsgc1ymqhq0acklhlq5skgj27z597x2a7nx5g3j6q4jvx778hx";
+    sha256 = "03h42gjqx7yb7qggi7ha0ndsggnnav1qm9vx737jwmiwzy8ab51x";
   };
 
   buildInputs = [ ncurses pcre ];
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index af82788d3fa9..9f4a4517627e 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -87,8 +87,9 @@ rec {
 
 
   coreutilsMinimal = (pkgs.coreutils.override (args: {
-    # We want coreutils without ACL support.
+    # We want coreutils without ACL/attr support.
     aclSupport = false;
+    attrSupport = false;
     # Our tooling currently can't handle scripts in bin/, only ELFs and symlinks.
     singleBinary = "symlinks";
   })).crossDrv;
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index e13fb88eff0b..d31253075c9d 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -6,8 +6,9 @@ rec {
 
 
   coreutilsMinimal = coreutils.override (args: {
-    # We want coreutils without ACL support.
+    # We want coreutils without ACL/attr support.
     aclSupport = false;
+    attrSupport = false;
     # Our tooling currently can't handle scripts in bin/, only ELFs and symlinks.
     singleBinary = "symlinks";
   });
diff --git a/pkgs/tools/X11/ffcast/default.nix b/pkgs/tools/X11/ffcast/default.nix
index 936805ed17ca..1e1e3f888c99 100644
--- a/pkgs/tools/X11/ffcast/default.nix
+++ b/pkgs/tools/X11/ffcast/default.nix
@@ -1,22 +1,20 @@
-{ stdenv, fetchgit, autoconf, automake, perl, libX11 }:
+{ stdenv, fetchFromGitHub, autoreconfHook, perl, libX11 }:
 
 stdenv.mkDerivation rec {
   name = "ffcast-${version}";
   version = "2.5.0";
-  rev = "7c3bf681e7ca9b242e55dbf0c07856ed994d94e9";
 
-  src = fetchgit {
-    url = https://github.com/lolilolicon/FFcast;
-    sha256 = "1s1y6rqjq126jvdzc75wz20szisbz8h8fkphlwxcxzl9xll17akj";
+  src = fetchFromGitHub {
+    owner = "lolilolicon";
+    repo = "FFcast";
+    rev = "${version}";
+    sha256 = "047y32bixhc8ksr98vwpgd0k1xxgsv2vs0n3kc2xdac4krc9454h";
   };
 
-  buildInputs = [ autoconf automake perl libX11 ];
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ perl libX11 ];
 
-  preConfigure = ''
-    ./bootstrap
-  '';
-
-  configureFlags = [ "--enable-xrectsel" ];
+  configureFlags = [ "--disable-xrectsel" ];
 
   postBuild = ''
     make DESTDIR="$out" install
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index e7233d0f7145..16e339b41c27 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -10,8 +10,8 @@ let
   mimisrc = fetchFromGitHub {
     owner = "march-linux";
     repo = "mimi";
-    rev = "d85ea8256ed627e93b387cd42e4ab39bfab9504c";
-    sha256 = "1h9mb3glfvc6pa2f9g07xgmf8lrwxiyjxvl906xlysy4klybxvhg";
+    rev = "8e0070f17bcd3612ee83cb84e663e7c7fabcca3d";
+    sha256 = "15gw2nyrqmdsdin8gzxihpn77grhk9l97jp7s7pr7sl4n9ya2rpj";
   };
 in
 
diff --git a/pkgs/tools/X11/xrectsel/default.nix b/pkgs/tools/X11/xrectsel/default.nix
new file mode 100644
index 000000000000..f38ecab9f112
--- /dev/null
+++ b/pkgs/tools/X11/xrectsel/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, libX11 }:
+
+stdenv.mkDerivation rec {
+  name = "xrectsel-${version}";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "lolilolicon";
+    repo = "xrectsel";
+    rev = "${version}";
+    sha256 = "0prl4ky3xzch6xcb673mcixk998d40ngim5dqc5374b1ls2r6n7l";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ libX11 ];
+
+  postBuild = ''
+    make DESTDIR="$out" install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Print the geometry of a rectangular screen region";
+    homepage = https://github.com/lolilolicon/xrectsel;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.guyonvarch ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/admin/certbot/default.nix b/pkgs/tools/admin/certbot/default.nix
index 998b8d2e13de..8ff147faacc4 100644
--- a/pkgs/tools/admin/certbot/default.nix
+++ b/pkgs/tools/admin/certbot/default.nix
@@ -4,13 +4,13 @@
 
 python2Packages.buildPythonApplication rec {
   name = "certbot-${version}";
-  version = "0.6.0";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "certbot";
     repo = "certbot";
     rev = "v${version}";
-    sha256 = "1x0prlldkgg0hxmya4m5h3k3c872wr0jylmzpr3m04mk339yiw0c";
+    sha256 = "03yfr8vlq62l0h14qk03flrkbvbv9mc5cf6rmh37naj8jwpl8cic";
   };
 
   propagatedBuildInputs = with python2Packages; [
@@ -32,7 +32,7 @@ python2Packages.buildPythonApplication rec {
 
   patchPhase = ''
     substituteInPlace certbot/notify.py --replace "/usr/sbin/sendmail" "/var/setuid-wrappers/sendmail"
-    substituteInPlace certbot/le_util.py --replace "sw_vers" "/usr/bin/sw_vers"
+    substituteInPlace certbot/util.py --replace "sw_vers" "/usr/bin/sw_vers"
   '';
 
   postInstall = ''
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 90bfd97ab593..dd8aada62fe8 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -7,18 +7,18 @@ assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
   name = "google-cloud-sdk-${version}";
-  version = "134.0.0";
+  version = "138.0.0";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86.tar.gz";
-        sha256 = "0pv2whqqcjvz3x02rn08vyssvbqxsncqvx9916v2ycdpiymffdz0";
+        sha256 = "1z2v4bg743qkdlmyyy0z2j5s0g10vbc1643gxrhyz491sk6sp616";
       }
     else
       fetchurl {
         url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86_64.tar.gz";
-        sha256 = "1kji861ii4ig73scg64lijcqdg2p0d2i2af1fdbkils0imwa3m5l";
+        sha256 = "1y64bx9vj6rrapffr7zwxbxxbqlddx91n82kr99mwv19n11hydyw";
       };
 
   buildInputs = [python27 makeWrapper];
diff --git a/pkgs/tools/admin/salt/fix-libcrypto-loading.patch b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
index c5cc1bde5d07..fa2c5c0aa521 100644
--- a/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
+++ b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
@@ -2,10 +2,10 @@ diff --git a/salt/utils/rsax931.py b/salt/utils/rsax931.py
 index 9eb1f4a..d764f7a 100644
 --- a/salt/utils/rsax931.py
 +++ b/salt/utils/rsax931.py
-@@ -36,7 +36,7 @@ def _load_libcrypto():
+@@ -36,7 +36,6 @@ def _load_libcrypto():
                  'libcrypto.so*'))
              lib = lib[0] if len(lib) > 0 else None
-         if lib:
+-        if lib:
 -            return cdll.LoadLibrary(lib)
-+            return cdll.LoadLibrary('@libcrypto@')
++        return cdll.LoadLibrary('@libcrypto@')
          raise OSError('Cannot locate OpenSSL libcrypto')
diff --git a/pkgs/tools/admin/simp_le/default.nix b/pkgs/tools/admin/simp_le/default.nix
index b4ed398541f0..aef077e21a06 100644
--- a/pkgs/tools/admin/simp_le/default.nix
+++ b/pkgs/tools/admin/simp_le/default.nix
@@ -1,26 +1,16 @@
 { stdenv, fetchFromGitHub, fetchpatch, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
-  name = "simp_le-2016-04-17";
+  name = "simp_le-2016-12-16";
 
+  # kuba/simp_le seems unmaintained
   src = fetchFromGitHub {
-    owner = "kuba";
+    owner = "zenhack";
     repo = "simp_le";
-    rev = "3a103b76f933f9aef782a47401dd2eff5057a6f7";
-    sha256 = "0x8gqazn09m30bn1l7xnf8snhbb7yz7sb09imciqmm4jqdvn797z";
+    rev = "63a43b8547cd9fbc87db6bcd9497c6e37f73abef";
+    sha256 = "04dr8lvcpi797722lsy06nxhlihrxdqgdy187pg3hl1ki2iq3ixx";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/kuba/simp_le/commit/4bc788fdd611c4118c3f86b5f546779723aca5a7.patch";
-      sha256 = "0036p11qn3plydv5s5z6i28r6ihy1ipjl0y8la0izpkiq273byfc";
-    })
-    (fetchpatch {
-      url = "https://github.com/kuba/simp_le/commit/9ec7efe593cadb46348dc6924c1e6a31f0f9e636.patch";
-      sha256 = "0n3m94n14y9c42185ly47d061g6awc8vb8xs9abffaigxv59k06j";
-    })
-  ];
-
   propagatedBuildInputs = with pythonPackages; [ acme ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index 1af3f53ade91..2b61b5b2679f 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  setupHook = ./setup-hook.sh;
+
   meta = {
     homepage = http://p7zip.sourceforge.net/;
     description = "A port of the 7-zip archiver";
diff --git a/pkgs/tools/archivers/p7zip/setup-hook.sh b/pkgs/tools/archivers/p7zip/setup-hook.sh
new file mode 100644
index 000000000000..4dc88f07c0bd
--- /dev/null
+++ b/pkgs/tools/archivers/p7zip/setup-hook.sh
@@ -0,0 +1,5 @@
+unpackCmdHooks+=(_try7zip)
+_try7zip() {
+    if ! [[ "$curSrc" =~ \.7z$ ]]; then return 1; fi
+    7z x "$curSrc"
+}
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 60cfe4a28148..48d42e6533a6 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -56,12 +56,12 @@ let
   };
 
   pluginsWithoutDeps = [
-    "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart"
-    "export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy" "hook" "ihate"
-    "importadded" "importfeeds" "info" "inline" "ipfs" "lyrics"
-    "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play"
-    "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
-    "types" "zero"
+    "absubmit" "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates"
+    "edit" "embedart" "export" "filefilter" "freedesktop" "fromfilename"
+    "ftintitle" "fuzzy" "hook" "ihate" "importadded" "importfeeds" "info"
+    "inline" "ipfs" "lyrics" "mbcollection" "mbsubmit" "mbsync" "metasync"
+    "missing" "permissions" "play" "plexupdate" "random" "rewrite" "scrub"
+    "smartplaylist" "spotify" "the" "types" "zero"
   ];
 
   enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins);
@@ -74,13 +74,13 @@ let
 
 in pythonPackages.buildPythonApplication rec {
   name = "beets-${version}";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "beetbox";
     repo = "beets";
     rev = "v${version}";
-    sha256 = "1yj2m7l157lldhxanwifp3yv1c6k649iwhn061mcf26q4n8qmspk";
+    sha256 = "0sh2ap7jbqh7p8h63kgrx1ja9lyqlxjpfnh6axxw9p1mh78cgc1v";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index 09821b01700a..b27d5c834b1b 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -2,24 +2,25 @@
 
 python3Packages.buildPythonApplication rec {
   name = "borgbackup-${version}";
-  version = "1.0.8";
+  version = "1.0.9";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://github.com/borgbackup/borg/releases/download/"
       + "${version}/${name}.tar.gz";
-    sha256 = "1fdfi0yzzdrrlml6780n4fh61sqm7pw6fcd1y67kfkvw8hy5c0k9";
+    sha256 = "1ciwp9yilcibk0x82y5nn8ps95jrm8rxvff8mjrlp7a2w100i1im";
   };
 
   nativeBuildInputs = with python3Packages; [
     # For building documentation:
-    sphinx
+    sphinx sphinx_rtd_theme
+  ];
+  buildInputs = [
+    acl lz4 openssl python3Packages.setuptools_scm
+  ];
+  propagatedBuildInputs = with python3Packages; [
+    cython llfuse msgpack
   ];
-  propagatedBuildInputs = [
-    acl lz4 openssl
-  ] ++ (with python3Packages; [
-    cython msgpack llfuse tox detox setuptools_scm
-  ]);
 
   preConfigure = ''
     export BORG_OPENSSL_PREFIX="${openssl.dev}"
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index 4f5601501e94..b08bb0768f2c 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -32,6 +32,6 @@ in python2Packages.buildPythonApplication {
     homepage = "http://www.nongnu.org/duplicity";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric peti];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index a055b87c2631..7917403a915e 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation {
     homepage = http://duply.net/;
     license = licenses.gpl2;
     maintainers = [ maintainers.bjornfor ];
-    platforms = platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix b/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
index ecadcc2b001e..40ca08c92606 100644
--- a/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
+++ b/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
@@ -8,12 +8,24 @@ stdenv.mkDerivation {
     sha256 = "1jkjvvnjcyxpql97xjjx0kwvy70kxpiznr2zpjy2hhci5s10zmpq";
   };
 
+  # Patches from Gentoo / Fedora
+  # https://bugs.gentoo.org/257360
+  # https://bugzilla.redhat.com/show_bug.cgi?id=426068
+  # https://bugzilla.redhat.com/show_bug.cgi?id=243036
+  patches = [
+    ./dvd+rw-tools-7.0-dvddl.patch
+    ./dvd+rw-tools-7.0-glibc2.6.90.patch
+    ./dvd+rw-tools-7.0-wctomb.patch
+    ./dvd+rw-tools-7.0-wexit.patch
+    ./dvd+rw-tools-7.1-layerbreaksetup.patch
+  ];
+
   buildInputs = [cdrkit m4];
 
   preBuild = ''
     makeFlags="prefix=$out"
   '';
-  
+
   # Incompatibility with Linux 2.6.23 headers, see
   # http://www.mail-archive.com/cdwrite@other.debian.org/msg11464.html
   NIX_CFLAGS_COMPILE = "-DINT_MAX=__INT_MAX__";
diff --git a/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
new file mode 100644
index 000000000000..c1c6fb3332a2
--- /dev/null
+++ b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
@@ -0,0 +1,13 @@
+--- ./growisofs_mmc.cpp.joe	2006-04-27 20:45:00.788446635 +0200
++++ ./growisofs_mmc.cpp	2006-04-27 20:46:01.666824300 +0200
+@@ -1412,9 +1412,7 @@
+     blocks += 15, blocks &= ~15;
+ 
+     if (blocks <= split)
+-	fprintf (stderr,":-( more than 50%% of space will be *wasted*!\n"
+-			"    use single layer media for this recording\n"),
+-	exit (FATAL_START(EMEDIUMTYPE));
++	fprintf (stderr,":-? more than 50%% of space will be *wasted*!\n");
+ 
+     blocks /= 16;
+     blocks += 1;
diff --git a/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
new file mode 100644
index 000000000000..49742d3c4db0
--- /dev/null
+++ b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
@@ -0,0 +1,11 @@
+diff -up dvd+rw-tools-7.0/transport.hxx.glibc2.6.90 dvd+rw-tools-7.0/transport.hxx
+--- dvd+rw-tools-7.0/transport.hxx.glibc2.6.90	2007-08-15 12:56:17.000000000 +0200
++++ dvd+rw-tools-7.0/transport.hxx	2007-08-15 12:56:42.000000000 +0200
+@@ -11,6 +11,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
++#include <limits.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
diff --git a/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
new file mode 100644
index 000000000000..3d13fc8d273e
--- /dev/null
+++ b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
@@ -0,0 +1,11 @@
+--- ./transport.hxx~	2008-03-25 21:24:47.000000000 -0400
++++ ./transport.hxx	2008-03-25 21:25:36.000000000 -0400
+@@ -116,7 +116,7 @@
+ extern "C" char *plusminus_locale()
+ { static class __plusminus {
+     private:
+-	char str[4];
++	char str[MB_LEN_MAX];
+     public:
+ 	__plusminus()	{   setlocale(LC_CTYPE,ENV_LOCALE);
+ 			    int l = wctomb(str,(wchar_t)(unsigned char)'');
diff --git a/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch
new file mode 100644
index 000000000000..e7910cbdd7b8
--- /dev/null
+++ b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch
@@ -0,0 +1,11 @@
+--- dvd+rw-tools-7.0/dvd+rw-format.cpp.wexit	2007-06-21 12:42:30.000000000 +0200
++++ dvd+rw-tools-7.0/dvd+rw-format.cpp	2007-06-21 12:44:13.000000000 +0200
+@@ -245,7 +245,7 @@ int main (int argc, char *argv[])
+ 	alarm(1);
+ 	while ((waitpid(pid,&i,0) != pid) && !WIFEXITED(i)) ;
+ 	if (WEXITSTATUS(i) == 0) fprintf (stderr,"\n");
+-	exit (0);
++	exit (WEXITSTATUS(i));
+     }
+ #endif
+ 
diff --git a/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch
new file mode 100644
index 000000000000..7636f8393df2
--- /dev/null
+++ b/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch
@@ -0,0 +1,93 @@
+diff -ur dvd+rw-tools-7.1-orig/growisofs.c dvd+rw-tools-7.1/growisofs.c
+--- dvd+rw-tools-7.1-orig/growisofs.c	2008-03-04 10:15:03.000000000 +0100
++++ dvd+rw-tools-7.1/growisofs.c	2009-09-06 22:39:33.000000000 +0200
+@@ -535,7 +535,7 @@
+  */
+ int        get_mmc_profile	(void *fd);
+ int        plusminus_r_C_parm	(void *fd,char *C_parm);
+-pwrite64_t poor_mans_setup	(void *fd,off64_t leadout);
++pwrite64_t poor_mans_setup	(void *fd,off64_t leadout,unsigned int lbreak);
+ char      *plusminus_locale	();
+ int        __1x			();
+ /*
+@@ -2447,7 +2447,7 @@
+ 			    goto out;
+ 			}
+ 			if (!progress.final) progress.final = tracksize;
+-			tracksize = layer_break*CD_BLOCK*2;
++			//tracksize = layer_break*CD_BLOCK*2;
+ 		    }
+ 		}
+ 		else if (capacity > outoff)
+@@ -2648,7 +2648,7 @@
+ 	 * further details on poor_mans_setup
+ 	 */
+ 	pwrite64_method = poor_mans_setup (ioctl_handle,
+-					   outoff+tracksize);
++					   outoff+tracksize, (unsigned int)layer_break);
+     }
+ 
+     if (!progress.final)
+diff -ur dvd+rw-tools-7.1-orig/growisofs_mmc.cpp dvd+rw-tools-7.1/growisofs_mmc.cpp
+--- dvd+rw-tools-7.1-orig/growisofs_mmc.cpp	2008-03-04 18:47:49.000000000 +0100
++++ dvd+rw-tools-7.1/growisofs_mmc.cpp	2009-09-06 20:52:46.000000000 +0200
+@@ -1612,7 +1612,7 @@
+   return 0;
+ }
+ 
+-static void plus_r_dl_split (Scsi_Command &cmd,off64_t size)
++static void plus_r_dl_split (Scsi_Command &cmd,off64_t size,unsigned int lbreak)
+ { int           err;
+   unsigned int  blocks,split;
+   unsigned char dvd_20[4+8];
+@@ -1644,10 +1644,17 @@
+ 			"    use single layer media for this recording\n"),
+ 	exit (FATAL_START(EMEDIUMTYPE));
+ 
+-    blocks /= 16;
+-    blocks += 1;
+-    blocks /= 2;
+-    blocks *= 16;
++    if (lbreak)
++      {
++	blocks=lbreak;
++      }
++    else
++      {
++	blocks /= 16;
++	blocks += 1;
++	blocks /= 2;
++	blocks *= 16;
++      }
+ 
+     fprintf (stderr,"%s: splitting layers at %u blocks\n",
+ 		    ioctl_device,blocks);
+@@ -2010,7 +2017,7 @@
+ typedef ssize_t (*pwrite64_t)(int,const void *,size_t,off64_t);
+ 
+ extern "C"
+-pwrite64_t poor_mans_setup (void *fd,off64_t leadout)
++pwrite64_t poor_mans_setup (void *fd,off64_t leadout,unsigned int lbreak)
+ { Scsi_Command cmd(ioctl_handle=fd);
+   int err,profile=mmc_profile&0xFFFF;
+ 
+@@ -2059,7 +2066,7 @@
+ 	case 0x2B:	// DVD+R Double Layer
+ 	    plusminus_pages_setup(cmd,profile);
+ 	    if (profile==0x2B && next_track==1 && dvd_compat && leadout)
+-		plus_r_dl_split (cmd,leadout);
++	      plus_r_dl_split (cmd,leadout,lbreak);
+ 	    atexit (plus_r_finalize);
+ 	    if (next_wr_addr)
+ 	    {	atsignals (no_r_finalize);
+diff -ur dvd+rw-tools-7.1-orig/transport.hxx dvd+rw-tools-7.1/transport.hxx
+--- dvd+rw-tools-7.1-orig/transport.hxx	2008-03-01 11:34:43.000000000 +0100
++++ dvd+rw-tools-7.1/transport.hxx	2009-09-06 20:53:53.000000000 +0200
+@@ -9,6 +9,7 @@
+ #if defined(__unix) || defined(__unix__)
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <limits.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <sys/types.h>
diff --git a/pkgs/tools/cd-dvd/nrg2iso/default.nix b/pkgs/tools/cd-dvd/nrg2iso/default.nix
new file mode 100644
index 000000000000..35414f6e776a
--- /dev/null
+++ b/pkgs/tools/cd-dvd/nrg2iso/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "nrg2iso-${version}";
+  version = "0.4";
+
+  src = fetchurl {
+    url = "gregory.kokanosky.free.fr/v4/linux/${name}.tar.gz";
+    sha256 = "18sam7yy50rbfhjixwd7wx7kmfn1x1y5j80vwfxi5v408s39s115";
+  };
+
+  installPhase = ''
+    mkdir -pv $out/bin/
+    cp -v nrg2iso $out/bin/nrg2iso
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A linux utils for converting CD (or DVD) image generated by Nero Burning Rom to ISO format";
+    homepage = http://gregory.kokanosky.free.fr/v4/linux/nrg2iso.en.html;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix
index e3a01647afbd..083a71f6a756 100644
--- a/pkgs/tools/compression/lrzip/default.nix
+++ b/pkgs/tools/compression/lrzip/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, zlib, lzo, bzip2, nasm, perl}:
 
 stdenv.mkDerivation rec {
-  version = "0.630";
+  version = "0.631";
   name = "lrzip-${version}";
 
   src = fetchurl {
     url = "http://ck.kolivas.org/apps/lrzip/${name}.tar.bz2";
-    sha256 = "01ykxliqw4cavx9f2gawxfa9wf52cjy1qx28cnkrh6i3lfzzcq94";
+    sha256 = "0mb449vmmwpkalq732jdyginvql57nxyd31sszb108yps1lf448d";
   };
 
   buildInputs = [ zlib lzo bzip2 nasm perl ];
diff --git a/pkgs/tools/compression/pigz/default.nix b/pkgs/tools/compression/pigz/default.nix
index 1cadf393a8e5..193f1d5cb0bb 100644
--- a/pkgs/tools/compression/pigz/default.nix
+++ b/pkgs/tools/compression/pigz/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.zlib.net/pigz/";
     description = "A parallel implementation of gzip for multi-core machines";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/compression/pixz/default.nix b/pkgs/tools/compression/pixz/default.nix
index 8572221572c1..5ce79cbf4128 100644
--- a/pkgs/tools/compression/pixz/default.nix
+++ b/pkgs/tools/compression/pixz/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     description = ''A parallel compressor/decompressor for xz format'';
     license = stdenv.lib.licenses.bsd2;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix
index a5df46b6ba4c..d21d790dac81 100644
--- a/pkgs/tools/filesystems/ceph/generic.nix
+++ b/pkgs/tools/filesystems/ceph/generic.nix
@@ -285,6 +285,9 @@ stdenv.mkDerivation {
     license = licenses.lgpl21;
     maintainers = with maintainers; [ ak wkennington ];
     platforms = platforms.unix;
+    # Broken because of https://lwn.net/Vulnerabilities/709844/
+    # and our version is quite out of date.
+    broken = true;
   };
 
   passthru.version = version;
diff --git a/pkgs/tools/filesystems/disorderfs/default.nix b/pkgs/tools/filesystems/disorderfs/default.nix
index d36187aef293..ce44d7d6d4ed 100644
--- a/pkgs/tools/filesystems/disorderfs/default.nix
+++ b/pkgs/tools/filesystems/disorderfs/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "disorderfs-${version}";
-  version = "0.4.2";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "http://http.debian.net/debian/pool/main/d/disorderfs/disorderfs_${version}.orig.tar.gz";
-    sha256 = "1qr52lzynd5b5ancrn0g1ah95w7iikxgqsmixlacn2vlh8n9jym5";
+    sha256 = "0nnxk0qqww16ra52mi5giw50zpssvan62nkig5dcxvgcvv51akik";
   };
 
+  sourceRoot = ".";
+
   nativeBuildInputs = [ pkgconfig asciidoc ];
 
   buildInputs = [ fuse attr ];
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 32c87667ee36..5f56b52ea26f 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -1,21 +1,21 @@
 {stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python2, ncurses, readline,
  autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite
- , liburcu, attr
+ , liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which
 }:
 let 
   s = # Generated upstream information 
   rec {
     baseName="glusterfs";
-    version="3.8.4";
+    version="3.9.0";
     name="${baseName}-${version}";
-    hash="0f715r6bf12b37s1l3259qzfbz8l2g3mdsnnh2lflagzazn6jnap";
-    url="http://download.gluster.org/pub/gluster/glusterfs/3.8/3.8.4/glusterfs-3.8.4.tar.gz";
-    sha256="0f715r6bf12b37s1l3259qzfbz8l2g3mdsnnh2lflagzazn6jnap";
+    hash="057vq4f93f1g9sh1sfbqhccsprxrbhwwm898322x25sb8mscc5xl";
+    url="http://download.gluster.org/pub/gluster/glusterfs/3.9/3.9.0/glusterfs-3.9.0.tar.gz";
+    sha256="057vq4f93f1g9sh1sfbqhccsprxrbhwwm898322x25sb8mscc5xl";
   };
   buildInputs = [
     fuse bison flex_2_5_35 openssl python2 ncurses readline
     autoconf automake libtool pkgconfig zlib libaio libxml2
-    acl sqlite liburcu attr
+    acl sqlite liburcu attr makeWrapper
   ];
   # Some of the headers reference acl
   propagatedBuildInputs = [
@@ -32,7 +32,7 @@ rec {
     '';
 
   configureFlags = [
-    ''--with-mountutildir="$out/sbin" --localstatedir=/var''
+    ''--localstatedir=/var''
     ];
 
   makeFlags = "DESTDIR=$(out)";
@@ -48,6 +48,7 @@ rec {
   postInstall = ''
     cp -r $out/$out/* $out
     rm -r $out/nix
+    wrapProgram $out/sbin/mount.glusterfs --set PATH "${stdenv.lib.makeBinPath [ coreutils gnused attr gnugrep which]}"
     '';
 
   src = fetchurl {
diff --git a/pkgs/tools/graphics/graphviz/2.32.nix b/pkgs/tools/graphics/graphviz/2.32.nix
index a09d60f788c7..c4a0981dbb3c 100644
--- a/pkgs/tools/graphics/graphviz/2.32.nix
+++ b/pkgs/tools/graphics/graphviz/2.32.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw
 , yacc, libtool, fontconfig, pango, gd, xorg, gts, gettext, cairo
+, ApplicationServices
 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
     [ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig
       pango gd gts
     ] ++ stdenv.lib.optionals (xorg != null) [ xorg.xlibsWrapper xorg.libXrender ]
-    ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
+    ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices gettext ];
 
   CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo.dev}/include/cairo";
 
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index 1162b338ed75..b0ccc5428bb8 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -1,43 +1,40 @@
 { stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat
 , yacc, libtool, fontconfig, pango, gd, xorg, gts, libdevil, gettext, cairo
 , flex
+, ApplicationServices
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.38.0";
+  version = "2.40.1";
   name = "graphviz-${version}";
 
   src = fetchurl {
     url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
-    sha256 = "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1";
+    sha256 = "08d4ygkxz2f553bxj6087da56a23kx1khv0j8ycxa102vvx1hlna";
   };
 
   hardeningDisable = [ "fortify" ];
 
-  patches =
-    [ ./0001-vimdot-lookup-vim-in-PATH.patch
-
-      # NOTE: Once this patch is removed, flex can probably be removed from
-      # buildInputs.
-      ./cve-2014-9157.patch
-    ];
+  patches = [ ];
 
   buildInputs =
     [ pkgconfig libpng libjpeg expat yacc libtool fontconfig gd gts libdevil flex pango
     ] ++ stdenv.lib.optionals (xorg != null)
       (with xorg; [ xlibsWrapper libXrender libXaw libXpm ])
-    ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
+    ++ stdenv.lib.optionals (stdenv.isDarwin) [ ApplicationServices gettext ];
 
-  CPPFLAGS = stdenv.lib.optionalString (xorg != null && stdenv.system == "x86_64-darwin")
+  CPPFLAGS = stdenv.lib.optionalString (xorg != null && stdenv.isDarwin)
     "-I${cairo.dev}/include/cairo";
 
   configureFlags = stdenv.lib.optional (xorg == null) "--without-x";
 
-  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+  postPatch = (stdenv.lib.optionalString stdenv.isDarwin ''
     for foo in cmd/dot/Makefile.in cmd/edgepaint/Makefile.in \
                     cmd/mingle/Makefile.in plugin/gdiplus/Makefile.in; do
       substituteInPlace "$foo" --replace "-lstdc++" "-lc++"
     done
+  '') + ''
+      substituteInPlace "plugin/xlib/vimdot.sh" --replace "/usr/bin/vim" "\$(command -v vim)"
   '';
 
   preBuild = ''
diff --git a/pkgs/tools/graphics/icoutils/default.nix b/pkgs/tools/graphics/icoutils/default.nix
index 300e05023b1b..70f9e29d0f5d 100644
--- a/pkgs/tools/graphics/icoutils/default.nix
+++ b/pkgs/tools/graphics/icoutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, perl, perlPackages, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "icoutils-0.31.0";
+  name = "icoutils-0.31.1";
 
   src = fetchurl {
     url = "mirror://savannah/icoutils/${name}.tar.bz2";
-    sha256 = "0wdgyfb1clrn3maq84vi4vkwjydy72p5hzk6kb9nb3a19bbxk5d8";
+    sha256 = "14rhd7p7v0rvxsfnrgxf5l4rl6n52h2aq09583glqpgjg0y9vqi6";
   };
 
   buildInputs = [ makeWrapper libpng perl ];
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index d0381e912511..7fafc5218e9e 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -24,7 +24,9 @@ stdenv.mkDerivation rec {
     echo "STATICLIB_TOO = n" >> config.mk
     substituteInPlace "config.mk" \
         --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff.out}/lib/libtiff.so" \
-        --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff.dev}/include"
+        --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff.dev}/include" \
+        --replace "JPEGLIB = NONE" "JPEGLIB = ${libjpeg.out}/lib/libjpeg.so" \
+        --replace "JPEGHDR_DIR =" "JPEGHDR_DIR = ${libjpeg.dev}/include"
    '' + stdenv.lib.optionalString stdenv.isDarwin ''
     echo "LDSHLIB=-dynamiclib -install_name $out/lib/libnetpbm.\$(MAJ).dylib" >> config.mk
     echo "NETPBMLIBTYPE = dylib" >> config.mk
diff --git a/pkgs/tools/graphics/qrcode/default.nix b/pkgs/tools/graphics/qrcode/default.nix
index 606e546af293..44444e6148ab 100644
--- a/pkgs/tools/graphics/qrcode/default.nix
+++ b/pkgs/tools/graphics/qrcode/default.nix
@@ -1,24 +1,14 @@
-{ stdenv, fetchgit }:
-let
-  s =
-  rec {
-    baseName = "qrcode";
-    date = "2014-01-01";
-    version = "git-${date}";
-    name = "${baseName}-${version}";
-    url = "https://github.com/qsantos/qrcode";
-    rev = "2843cbada3b768f60ee1ae13c65160083558cc03";
-    sha256 = "1qli0b62yngqj66v6vdqqgcysy3q3fr5vwpf7yf0d9a0dg862x8a";
-  };
-  buildInputs = [
-  ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "qrcode-git-${version}";
+  version = "20160804";
 
-  src = fetchgit {
-    inherit (s) rev url sha256;
+  src = fetchFromGitHub {
+    owner  = "qsantos";
+    repo   = "qrcode";
+    rev    = "ad0fdb4aafd0d56b903f110f697abaeb27deee73";
+    sha256 = "0v81745nx5gny2g05946k8j553j18a29ikmlyh6c3syq6c15k8cf";
   };
 
   NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
@@ -29,11 +19,10 @@ stdenv.mkDerivation {
     cp DOCUMENTATION LICENCE "$out/share/doc/qrcode"
   '';
 
-  meta = {
-    inherit (s) version;
+  meta = with stdenv.lib; {
     description = ''A small QR-code tool'';
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ raskin ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/misc/bmon/default.nix b/pkgs/tools/misc/bmon/default.nix
index 30412016e507..9c7eafe351f7 100644
--- a/pkgs/tools/misc/bmon/default.nix
+++ b/pkgs/tools/misc/bmon/default.nix
@@ -1,23 +1,21 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, ncurses, confuse
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, ncurses, confuse
 , libnl }:
 
 stdenv.mkDerivation rec {
   name = "bmon-${version}";
-  version = "3.9";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "tgraf";
     repo = "bmon";
     rev = "v${version}";
-    sha256 = "1a4sj8pf02392zghr9wa1dc8x38fj093d4hg1fcakzrdjvrg1p2h";
+    sha256 = "1ilba872c09mnlvylslv4hqv6c9cz36l76q74rr99jvis1dg69gf";
   };
 
-  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   buildInputs = [ ncurses confuse libnl ];
 
-  preConfigure = "sh ./autogen.sh";
-
   meta = with stdenv.lib; {
     description = "Network bandwidth monitor";
     homepage = https://github.com/tgraf/bmon;
diff --git a/pkgs/tools/misc/clipster/default.nix b/pkgs/tools/misc/clipster/default.nix
index 27df38c566bf..1425c7252069 100644
--- a/pkgs/tools/misc/clipster/default.nix
+++ b/pkgs/tools/misc/clipster/default.nix
@@ -1,21 +1,22 @@
-{fetchFromGitHub , stdenv, makeWrapper, python, gtk3,  libwnck3 }:
+{fetchFromGitHub , stdenv, makeWrapper, python3, gtk3, libwnck3 }:
 
 stdenv.mkDerivation  rec {
   name = "clipster-unstable-${version}";
-  version = "2016-09-12";
+  version = "2016-12-08";
 
   src = fetchFromGitHub {
     owner = "mrichar1";
     repo = "clipster";
-    rev = "6526a849a0af4c392f4e8e5b18aacdda9c1a8e80";
-    sha256 = "0illdajp5z50h7lvglv0p72cpv4c592xmpamrg8kkjpg693bp873";
+    rev = "7a3511d89dbbb4157118eec15f1e9e6fd0ad1a6b";
+    sha256 = "005akgk1wn3z5vxfjii202zzwz85zydimfgm69ml68imj5vbhkg1";
   };
 
-  pythonEnv = python.withPackages(ps: with ps; [ dbus-python pygtk pygobject3 ]);
+  pythonEnv = python3.withPackages(ps: with ps; [ pygobject3 ]);
 
   buildInputs =  [ pythonEnv gtk3 libwnck3 makeWrapper ];
 
   installPhase = ''
+    sed -i 's/python/python3/g' clipster
     mkdir -p $out/bin/
     cp clipster $out/bin/
     wrapProgram "$out/bin/clipster" \
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 8f09a677b8e9..9e66c6ba9181 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, fetchurl, perl, xz, gmp ? null
 , aclSupport ? false, acl ? null
+, attrSupport ? false, attr ? null
 , selinuxSupport? false, libselinux ? null, libsepol ? null
 , autoconf, automake114x, texinfo
 , withPrefix ? false
@@ -13,11 +14,11 @@ with lib;
 
 let
   self = stdenv.mkDerivation rec {
-    name = "coreutils-8.25";
+    name = "coreutils-8.26";
 
     src = fetchurl {
       url = "mirror://gnu/coreutils/${name}.tar.xz";
-      sha256 = "11yfrnb94xzmvi4lhclkcmkqsbhww64wf234ya1aacjvg82prrii";
+      sha256 = "13lspazc7xkviy93qz7ks9jv4sldvgmwpq36ghrbrqpq93br8phm";
     };
 
     # FIXME needs gcc 4.9 in bootstrap tools
@@ -44,23 +45,25 @@ let
 
     buildInputs = [ gmp ]
       ++ optional aclSupport acl
+      ++ optional attrSupport attr
       ++ optionals stdenv.isCygwin [ autoconf automake114x texinfo ]   # due to patch
       ++ optionals selinuxSupport [ libselinux libsepol ];
 
     crossAttrs = {
       buildInputs = [ gmp.crossDrv ]
         ++ optional aclSupport acl.crossDrv
+        ++ optional attrSupport attr.crossDrv
         ++ optionals selinuxSupport [ libselinux.crossDrv libsepol.crossDrv ]
         ++ optional (stdenv.ccCross.libc ? libiconv)
           stdenv.ccCross.libc.libiconv.crossDrv;
 
-      buildPhase = ''
-        make || (
-          pushd man
-          for a in *.x; do
-            touch `basename $a .x`.1
-          done
-          popd; make )
+      # Prevents attempts of running 'help2man' on cross-built binaries.
+      PERL = "missing";
+
+      # Works around a bug with 8.26:
+      # Makefile:3440: *** Recursive variable 'INSTALL' references itself (eventually).  Stop.
+      preInstall = ''
+        sed -i Makefile -e 's|^INSTALL =.*|INSTALL = ${self}/bin/install -c|'
       '';
 
       postInstall = ''
@@ -90,8 +93,6 @@ let
 
     makeFlags = optionalString stdenv.isDarwin "CFLAGS=-D_FORTIFY_SOURCE=0";
 
-    postFixup = ""; # FIXME: remove on next mass rebuild
-
     meta = {
       homepage = http://www.gnu.org/software/coreutils/;
       description = "The basic file, shell and text manipulation utilities of the GNU operating system";
diff --git a/pkgs/tools/misc/debianutils/default.nix b/pkgs/tools/misc/debianutils/default.nix
new file mode 100644
index 000000000000..e22539827886
--- /dev/null
+++ b/pkgs/tools/misc/debianutils/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+
+let
+  checksums = {
+    "4.8.1" = "09phylg8ih1crgxjadkdb8idbpj9ap62a7cbh8qdx2gyvh5mqf9c";
+  };
+in stdenv.mkDerivation rec {
+  version = "4.8.1";
+  name = "debianutils-${version}";
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/d/debianutils/debianutils_${version}.tar.xz";
+    sha256 = checksums."${version}";
+  };
+
+  meta = {
+    description = "Miscellaneous utilities specific to Debian";
+    longDescription = ''
+       This package provides a number of small utilities which are used primarily by the installation scripts of Debian packages, although you may use them directly.
+
+       The specific utilities included are: add-shell installkernel ischroot remove-shell run-parts savelog tempfile which 
+    '';
+    downloadPage = https://packages.debian.org/sid/debianutils;
+    license = with stdenv.lib.licenses; [ gpl2Plus publicDomain smail ];
+    maintainers = [];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/ding-libs/default.nix b/pkgs/tools/misc/ding-libs/default.nix
new file mode 100644
index 000000000000..547e3fb49eb7
--- /dev/null
+++ b/pkgs/tools/misc/ding-libs/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, glibc, doxygen, check }:
+
+let
+  name = "ding-libs";
+  version = "0.6.0";
+in stdenv.mkDerivation {
+  inherit name;
+  inherit version;
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/released/${name}/${name}-${version}.tar.gz";
+    sha1 = "c8ec86cb93a26e013a13b12a7b0b3fbc1bca16c1";
+  };
+
+  enableParallelBuilding = true;
+  buildInputs = [ glibc doxygen check ];
+
+  buildFlags = "docs";
+  doCheck = true;
+
+  meta = {
+    description = "'D is not GLib' utility libraries";
+    homepage = https://fedorahosted.org/sssd/;
+    maintainers = with stdenv.lib.maintainers; [ e-user ];
+    license = [ stdenv.lib.licenses.gpl3 stdenv.lib.licenses.lgpl3 ];
+  };
+}
diff --git a/pkgs/tools/misc/entr/default.nix b/pkgs/tools/misc/entr/default.nix
index 0cc30fe45e38..8ba92990b536 100644
--- a/pkgs/tools/misc/entr/default.nix
+++ b/pkgs/tools/misc/entr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "entr-${version}";
-  version = "3.5";
+  version = "3.6";
 
   src = fetchurl {
     url = "http://entrproject.org/code/${name}.tar.gz";
-    sha256 = "05k4jyjna0pr2dalwc1l1dhrcyk6pw7hbss7jl4ykwfadcs5br73";
+    sha256 = "1sy81np6kgmq04kfn2ckf4fp7jcf5d1963shgmapx3al3kc4c9x4";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 24c10c241f22..da5817c8850a 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -14,6 +14,8 @@ buildGoPackage rec {
     sha256 = "0r099mk9r6f52qqhx0ifb1xa8f2isqvyza80z9mcpi5zkd96174l";
   };
 
+  outputs = [ "bin" "out" "man" ];
+
   buildInputs = [ ncurses ];
 
   goDeps = ./deps.nix;
@@ -25,6 +27,8 @@ buildGoPackage rec {
 
   postInstall = ''
     cp $src/bin/fzf-tmux $bin/bin
+    mkdir -p $man/share/man
+    cp -r $src/man/man1 $man/share/man
     mkdir -p $out/share/vim-plugins
     ln -s $out/share/go/src/github.com/junegunn/fzf $out/share/vim-plugins/${name}
   '';
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 4b352f512082..424a84637a53 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, geoipWithDatabase, ncurses, glib }:
 
 stdenv.mkDerivation rec {
-  version = "1.0";
+  version = "1.1.1";
   name = "goaccess-${version}";
 
   src = fetchurl {
     url = "http://tar.goaccess.io/goaccess-${version}.tar.gz";
-    sha256 = "1zma9p0gwxwl9kgq47i487fy1q8567fqnpik0zacjhgmpnzry3h0";
+    sha256 = "1lxnhvh4xhkgzdv0l2fiza2099phn9zs04p9cqfhhl5k6xq18wsc";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index 15b1740638e2..eef1ac472280 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -54,6 +54,9 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "all" ];
 
+  # Work around a bug in the generated flex lexer (upstream flex bug?)
+  NIX_CFLAGS_COMPILE = "-Wno-error";
+
   preConfigure =
     '' for i in "tests/util/"*.in
        do
diff --git a/pkgs/tools/misc/hhpc/default.nix b/pkgs/tools/misc/hhpc/default.nix
new file mode 100644
index 000000000000..b4ee1f2f5c0d
--- /dev/null
+++ b/pkgs/tools/misc/hhpc/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchFromGitHub, xorg, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  name = "hhpc-${version}";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "aktau";
+    repo = "hhpc";
+    rev = "v${version}";
+    sha256 = "1djsw1r38mh6zx0rbyn2cfa931hyddib4fl3i27c4z7xinl709ss";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ xorg.libX11 ];
+
+  installPhase = ''
+      mkdir -p $out/bin
+      cp hhpc $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Hides the mouse pointer in X11";
+    maintainers = with maintainers; [ nico202 ];
+    platforms = platforms.unix;
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/tools/misc/kdecoration-viewer/default.nix b/pkgs/tools/misc/kdecoration-viewer/default.nix
new file mode 100644
index 000000000000..c32a814f2328
--- /dev/null
+++ b/pkgs/tools/misc/kdecoration-viewer/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub
+, cmake, ecm, qtquickcontrols, kconfigwidgets, kdeclarative, kdecoration }:
+
+stdenv.mkDerivation rec {
+  name = "kdecoration-viewer-2015-08-20";
+
+  src = fetchFromGitHub {
+    owner = "KDE";
+    repo = "kdecoration-viewer";
+    rev = "d7174acee01475fbdb71cfd48ca49d487a141701";
+    sha256 = "1cc4xxv72a82p1w9r76090xba7g069r41bi4zx32k4gz3vyl1am6";
+  };
+
+  buildInputs = [ cmake ecm qtquickcontrols kconfigwidgets kdeclarative kdecoration ];
+
+  meta = with stdenv.lib; {
+    description = "Allows to preview a KDecoration plugin";
+    longDescription = ''
+      kdecoration-viewer allows to preview a KDecoration plugin. Put your plugins under
+      $QT_PLUGIN_PATH/org.kde.kdecoration2 to preview.
+    '';
+    homepage = https://blog.martin-graesslin.com/blog/2014/07/kdecoration2-the-road-ahead/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.gnidorah ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/kronometer/default.nix b/pkgs/tools/misc/kronometer/default.nix
index 5a3da3788d58..37399a1a4184 100644
--- a/pkgs/tools/misc/kronometer/default.nix
+++ b/pkgs/tools/misc/kronometer/default.nix
@@ -23,6 +23,7 @@ let
     propagatedBuildInputs = [ kconfig kinit ];
   };
 in
-kdeWrapper unwrapped {
+kdeWrapper {
+  inherit unwrapped;
   targets = [ "bin/kronometer" ];
 }
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
new file mode 100644
index 000000000000..1f45626855f5
--- /dev/null
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchurl, pkgconfig, autoreconfHook
+, boost, libsodium, czmqpp, libbitcoin }:
+
+let
+  pname = "libbitcoin-client";
+  version = "2.2.0";
+
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/libbitcoin/libbitcoin-client/archive/v${version}.tar.gz";
+    sha256 = "1g79hl6jmf5dam7vq19h4dgdj7gcn19fa7q78vn573mg2rdyal53";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig ];
+
+  propagatedBuildInputs = [ libsodium czmqpp libbitcoin ];
+
+  configureFlags = [
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.out}/lib"
+    "--with-bash-completiondir=$out/share/bash-completion/completions"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Bitcoin client query library";
+    homepage = https://github.com/libbitcoin/libbitcoin-client;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ chris-martin ];
+
+    # https://wiki.unsystem.net/en/index.php/Libbitcoin/License
+    # AGPL with an additional clause
+    license = licenses.agpl3;
+  };
+}
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
new file mode 100644
index 000000000000..fbfa385fc7fc
--- /dev/null
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchurl, pkgconfig, autoreconfHook
+, boost, libbitcoin-client }:
+
+let
+  pname = "libbitcoin-explorer";
+  version = "2.2.0";
+
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/libbitcoin/libbitcoin-explorer/archive/v${version}.tar.gz";
+    sha256 = "00123vw7rxk0ypdfzk0xwk8q55ll31000mkjqdzl915krsbkbfvp";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig ];
+
+  propagatedBuildInputs = [ libbitcoin-client ];
+
+  configureFlags = [
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.out}/lib"
+    "--with-bash-completiondir=$out/share/bash-completion/completions"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Bitcoin command line tool";
+    homepage = https://github.com/libbitcoin/libbitcoin-explorer;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ chris-martin ];
+
+    # https://wiki.unsystem.net/en/index.php/Libbitcoin/License
+    # AGPL with an additional clause
+    license = licenses.agpl3;
+  };
+}
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin.nix b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
new file mode 100644
index 000000000000..61c462f7853f
--- /dev/null
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchurl, pkgconfig, autoreconfHook
+, boost, libsodium, czmqpp, secp256k1 }:
+
+let
+  pname = "libbitcoin";
+  version = "2.11.0";
+
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/libbitcoin/libbitcoin/archive/v${version}.tar.gz";
+    sha256 = "1lpdjm13kgs4fbp579bwfvws8yf9mnr5dw3ph8zxg2gf110h85sy";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig ];
+
+  propagatedBuildInputs = [ secp256k1 ];
+
+  configureFlags = [
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.out}/lib"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "C++ library for building bitcoin applications";
+    homepage = https://libbitcoin.org/;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ chris-martin ];
+
+    # https://wiki.unsystem.net/en/index.php/Libbitcoin/License
+    # AGPL with an additional clause
+    license = licenses.agpl3;
+  };
+}
diff --git a/pkgs/tools/misc/lnav/default.nix b/pkgs/tools/misc/lnav/default.nix
index a3b40edb46ca..23e823eb9632 100644
--- a/pkgs/tools/misc/lnav/default.nix
+++ b/pkgs/tools/misc/lnav/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "tstack";
     repo = "lnav";
     rev = "v${meta.version}";
-    sha256 = "06h0hy8k0w692df2490dshxf2x8qcnw5myyp0k5jkc63ai2ra6aq";
+    sha256 = "0pag2rl7b6s2xfl80c629vhwsdvvlhcdy6732yvpgfv94w0zyjp9";
     inherit name;
   };
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/tstack/lnav/releases";
     license = licenses.bsd2;
-    version = "0.8.0";
+    version = "0.8.1";
     maintainers = [ maintainers.dochang ];
   };
 
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index 9c1dabc75844..8685b89d6d08 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -29,8 +29,11 @@ stdenv.mkDerivation rec {
   ];
 
   postInstall = ''
-    for i in "$out/bin/"*; do
-      wrapProgram "$i" --prefix PATH : "${groff}/bin"
+    # apropos/whatis uses program name to decide whether to act like apropos or whatis
+    # (multi-call binary). `apropos` is actually just a symlink to whatis. So we need to
+    # make sure that we don't wrap symlinks (since that changes argv[0] to the -wrapped name)
+    find "$out/bin" -type f | while read file; do
+      wrapProgram "$file" --prefix PATH : "${groff}/bin"
     done
   '';
 
diff --git a/pkgs/tools/misc/mlocate/default.nix b/pkgs/tools/misc/mlocate/default.nix
new file mode 100644
index 000000000000..6dbd0bcc439a
--- /dev/null
+++ b/pkgs/tools/misc/mlocate/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mlocate-${version}";
+  version = "0.26";
+
+  src = fetchurl {
+    url = "http://fedorahosted.org/releases/m/l/mlocate/${name}.tar.xz";
+    sha256 = "0gi6y52gkakhhlnzy0p6izc36nqhyfx5830qirhvk3qrzrwxyqrh";
+  };
+
+  buildInputs = [ ];
+
+  meta = with stdenv.lib; {
+    description = "Merging locate is an utility to index and quickly search for files";
+    homepage = https://fedorahosted.org/mlocate/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/tools/misc/os-prober/default.nix b/pkgs/tools/misc/os-prober/default.nix
new file mode 100644
index 000000000000..8d2f15734c54
--- /dev/null
+++ b/pkgs/tools/misc/os-prober/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, fetchurl, makeWrapper, 
+systemd, # udevadm
+busybox, 
+coreutils, # os-prober desn't seem to work with pure busybox
+devicemapper, # lvs
+# optional dependencies
+cryptsetup ? null,
+libuuid ? null, # blkid and blockdev
+dmraid ? null,
+ntfs3g ? null
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.65";
+  name = "os-prober-${version}";
+  src = fetchurl {
+    url = "mirror://debian/pool/main/o/os-prober/os-prober_${version}.tar.xz";
+    sha256 = "c4a7661a52edae722f7e6bacb3f107cf7086cbe768275fadf5398d04360bfc84";
+  };
+
+  buildInputs = [ makeWrapper ];
+  installPhase = ''
+    # executables
+    mkdir -p $out/bin
+    mkdir -p $out/lib
+    mkdir -p $out/share
+    cp os-prober linux-boot-prober $out/bin
+    cp newns $out/lib
+    cp common.sh $out/share
+
+    # probes
+    case "${stdenv.system}" in
+        i686*|x86_64*) ARCH=x86;;
+        powerpc*) ARCH=powerpc;;
+        arm*) ARCH=arm;;
+        *) ARCH=other;;
+    esac;
+    for probes in os-probes os-probes/mounted os-probes/init linux-boot-probes linux-boot-probes/mounted; do
+      mkdir -p $out/lib/$probes;
+      cp $probes/common/* $out/lib/$probes;
+      if [ -e "$probes/$ARCH" ]; then
+        mkdir -p $out/lib/$probes
+        cp -r $probes/$ARCH/* $out/lib/$probes;
+      fi;
+    done
+    if [ $ARCH = "x86" ]; then
+        cp -r os-probes/mounted/powerpc/20macosx $out/lib/os-probes/mounted;
+    fi;
+  '';
+  postFixup = ''
+    for file in $(find $out  -type f ! -name newns) ; do
+      substituteInPlace $file \
+        --replace /usr/share/os-prober/ $out/share/ \
+        --replace /usr/lib/os-probes/ $out/lib/os-probes/ \
+        --replace /usr/lib/linux-boot-probes/ $out/lib/linux-boot-probes/ \
+        --replace /usr/lib/os-prober/ $out/lib/
+    done;
+    for file in $out/bin/*; do
+      wrapProgram $file \
+        --set LVM_SYSTEM_DIR ${devicemapper} \
+        --suffix PATH : "$out/bin${builtins.foldl' (x: y: x + ":" + y) "" (
+          map (x: (toString x) + "/bin") (
+            builtins.filter (x: x!=null)
+              [ devicemapper systemd coreutils cryptsetup libuuid dmraid ntfs3g busybox ]
+            )
+          )
+        }" \
+        --run "[ -d /var/lib/os-prober ] || mkdir /var/lib/os-prober"
+    done;
+  '';
+
+  meta = {
+    description = "Utility to detect other OSs on a set of drives";
+    homepage = http://packages.debian.org/source/sid/os-prober;
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 4bc346d41f8b..99a933b32435 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20161122";
+  name = "parallel-20161222";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0z5c4r35d926ac04ilaivx67cmflr1rsvmjb2ci7hmab948m0ng2";
+    sha256 = "1chgr3csyc7hbq2wq4jnwnbsr3ix8rzsk2lf4vdnvkjpd6dvw517";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index cfce018a2361..68240210e746 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional (devicemapper == null) "--disable-device-mapper"
     ++ stdenv.lib.optional enableStatic "--enable-static";
 
+  # Tests were previously failing due to Hydra running builds as uid 0.
+  # That should hopefully be fixed now.
   doCheck = true;
 
   preCheck =
diff --git a/pkgs/tools/misc/peruse/default.nix b/pkgs/tools/misc/peruse/default.nix
index 865c6b1e842a..61e9fae906b5 100644
--- a/pkgs/tools/misc/peruse/default.nix
+++ b/pkgs/tools/misc/peruse/default.nix
@@ -1,12 +1,12 @@
 {
   kdeDerivation, kdeWrapper, fetchFromGitHub, fetchurl, lib,
   ecm, kdoctools,
-  baloo, kconfig, kfilemetadata, kinit, kirigami, plasma-framework
+  baloo, kconfig, kfilemetadata, kinit, kirigami, knewstuff, plasma-framework
 }:
 
 let
   pname = "peruse";
-  version = "1.1";
+  version = "1.2";
   unarr = fetchFromGitHub {
     owner  = "zeniko";
     repo   = "unarr";
@@ -18,15 +18,17 @@ let
 
     src = fetchurl {
       url = "mirror://kde/stable/${pname}/${name}.tar.xz";
-      sha256 = "1akk9hg12y6iis0rb5kdkznm3xk7hk04r9ccqyz8lr6y073n5f9j";
+      sha256 = "1ik2627xynkichsq9x28rkczqn3l3p06q6vw5jdafdh3hisccmjq";
     };
 
     nativeBuildInputs = [ ecm kdoctools ];
 
-    propagatedBuildInputs = [ baloo kconfig kfilemetadata kinit kirigami plasma-framework ];
+    propagatedBuildInputs = [ baloo kconfig kfilemetadata kinit kirigami knewstuff plasma-framework ];
+
+    pathsToLink = [ "/etc/xdg/peruse.knsrc"];
 
     preConfigure = ''
-      rmdir src/qtquick/karchive-rar/external/unarr
+      rm -rf src/qtquick/karchive-rar/external/unarr
       ln -s ${unarr} src/qtquick/karchive-rar/external/unarr
     '';
 
@@ -37,6 +39,7 @@ let
 
   };
 
-in kdeWrapper unwrapped {
-  targets = [ "bin/peruse" ];
+in kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/peruse" "bin/perusecreator" ];
 }
diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix
index a55485953a81..4ee33df716b6 100644
--- a/pkgs/tools/misc/profile-cleaner/default.nix
+++ b/pkgs/tools/misc/profile-cleaner/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, makeWrapper, parallel, sqlite }:
+{ stdenv, fetchFromGitHub, makeWrapper, parallel, sqlite, bc }:
 
 stdenv.mkDerivation rec {
-  version = "2.35";
+  version = "2.36";
   name = "profile-cleaner-${version}";
 
   src = fetchFromGitHub {
     owner = "graysky2";
     repo = "profile-cleaner";
     rev = "v${version}";
-    sha256 = "0gashrzhpgcy98zsyc6b3awfp15j1x0nq82h60kvfjbs6xxzvszh";
+    sha256 = "0vm4ca99dyr6i0sfjsr0w06i0rbmqf40kp37h04bk4c8yassq1zq";
   };
 
   buildInputs = [ makeWrapper ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     PREFIX=\"\" DESTDIR=$out make install
     wrapProgram $out/bin/profile-cleaner \
-      --prefix PATH : "${stdenv.lib.makeBinPath [ parallel sqlite ]}"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ parallel sqlite bc ]}"
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/unclutter/default.nix b/pkgs/tools/misc/unclutter/default.nix
index a8468f8387f2..84546985f72e 100644
--- a/pkgs/tools/misc/unclutter/default.nix
+++ b/pkgs/tools/misc/unclutter/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation {
     '';
     maintainers = with maintainers; [ domenkozar ];
     platforms = platforms.unix;
+    license = stdenv.lib.licenses.publicDomain;
   };
 }
diff --git a/pkgs/tools/misc/yank/default.nix b/pkgs/tools/misc/yank/default.nix
index 5186ec2121bf..6cae19473402 100644
--- a/pkgs/tools/misc/yank/default.nix
+++ b/pkgs/tools/misc/yank/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "mptre";
     repo = "yank";
     rev = "v${meta.version}";
-    sha256 = "0iv3ilyjcq6cd429qkg8mfpwagkb30617z0kdjlhk2s74chyaghm";
+    sha256 = "1m8pnarm8n5x6ylbzxv8j9amylrllw166arrj4cx9f2jp2zbzcic";
     inherit name;
   };
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/mptre/yank/releases";
     license = licenses.mit;
-    version = "0.7.0";
+    version = "0.7.1";
     maintainers = [ maintainers.dochang ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index db11875afa08..6822f79baf17 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -15,11 +15,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2016.12.12";
+  version = "2017.01.10";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "643efa7755ac4aa03a241f106d8923dfd5dbaf8d3c14e56b696048c4f2fab430";
+    sha256 = "6493d1400c5735221d65688548ada4d45875f25562f7c49c73263d9ae4369932";
   };
 
   buildInputs = [ makeWrapper zip ] ++ optional generateManPage pandoc;
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index af5d8309507d..8c23e11017cb 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "axel-${version}";
-  version = "2.11";
+  version = "2.12";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/a/axel/axel_${version}.orig.tar.gz";
-    sha256 = "05askz9pi8kvjyn66rszjfg9arwdzl72jwd38q9h9n5s37vqslky";
+    sha256 = "12sa5whd5mjn1idd83hbhm0rmsh5bvhhgvv03fk5cgxynwkbprr8";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 5dd523d6fa6b..9ed56ee1ec56 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -18,11 +18,11 @@ assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.51.0";
+  name = "curl-7.52.1";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "1pldg1d8606p4q83k8fcp61kfcsbphln22mycw7h7r87i42410kz";
+    sha256 = "16rqhyzlpnivifin8n7l2fr9ihay9v2nw2drsniinb6bcykqaqfi";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -42,8 +42,6 @@ stdenv.mkDerivation rec {
     optional sslSupport openssl ++
     optional scpSupport libssh2;
 
-  patches = stdenv.lib.optional http2Support ./fix-http2-window-size.patch;
-
   # for the second line see http://curl.haxx.se/mail/tracker-2014-03/0087.html
   preConfigure = ''
     sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
diff --git a/pkgs/tools/networking/curl/fix-http2-window-size.patch b/pkgs/tools/networking/curl/fix-http2-window-size.patch
deleted file mode 100644
index 6fac3e1b42ac..000000000000
--- a/pkgs/tools/networking/curl/fix-http2-window-size.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From a4d888857ede39a8e2aa5f961048c6362d3a5377 Mon Sep 17 00:00:00 2001
-From: Jay Satiro <raysatiro@yahoo.com>
-Date: Wed, 16 Nov 2016 02:55:30 -0500
-Subject: [PATCH] http2: Use huge HTTP/2 windows
-
-- Improve performance by using a huge HTTP/2 window size.
-
-Bug: https://github.com/curl/curl/issues/1102
-Reported-by: afrind@users.noreply.github.com
-Assisted-by: Tatsuhiro Tsujikawa
----
- docs/TODO   |  8 --------
- lib/http2.c | 15 +++++++++++++--
- 2 files changed, 13 insertions(+), 10 deletions(-)
-
-diff --git a/docs/TODO b/docs/TODO
-index c3bc4eb..99c610f 100644
---- a/docs/TODO
-+++ b/docs/TODO
-@@ -63,7 +63,6 @@
-  5.1 Better persistency for HTTP 1.0
-  5.2 support FF3 sqlite cookie files
-  5.3 Rearrange request header order
-- 5.4 Use huge HTTP/2 windows
-  5.5 auth= in URLs
-  5.6 Refuse "downgrade" redirects
-  5.7 Brotli compression
-@@ -528,13 +527,6 @@ This is not detailed in any FTP specification.
-  headers use a default value so only headers that need to be moved have to be
-  specified.
- 
--5.4 Use huge HTTP/2 windows
--
-- We're currently using nghttp2's default window size which is terribly small
-- (64K). This becomes a bottle neck over high bandwidth networks. We should
-- instead make the window size to be very big (512MB?) as we really don't do
-- much flow control anyway.
--
- 5.5 auth= in URLs
- 
-  Add the ability to specify the preferred authentication mechanism to use by
-diff --git a/lib/http2.c b/lib/http2.c
-index 6720984..202ab1b 100644
---- a/lib/http2.c
-+++ b/lib/http2.c
-@@ -59,6 +59,8 @@
- #define nghttp2_session_callbacks_set_error_callback(x,y)
- #endif
- 
-+#define HTTP2_HUGE_WINDOW_SIZE (1 << 30)
-+
- /*
-  * Curl_http2_init_state() is called when the easy handle is created and
-  * allows for HTTP/2 specific init of state.
-@@ -965,7 +967,7 @@ static ssize_t data_source_read_callback(nghttp2_session *session,
-  */
- static nghttp2_settings_entry settings[] = {
-   { NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS, 100 },
--  { NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE, NGHTTP2_INITIAL_WINDOW_SIZE },
-+  { NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE, HTTP2_HUGE_WINDOW_SIZE },
- };
- 
- #define H2_BUFSIZE 32768
-@@ -2031,7 +2033,8 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
-   else {
-     /* stream ID is unknown at this point */
-     stream->stream_id = -1;
--    rv = nghttp2_submit_settings(httpc->h2, NGHTTP2_FLAG_NONE, NULL, 0);
-+    rv = nghttp2_submit_settings(httpc->h2, NGHTTP2_FLAG_NONE, settings,
-+                                 sizeof(settings) / sizeof(settings[0]));
-     if(rv != 0) {
-       failf(data, "nghttp2_submit_settings() failed: %s(%d)",
-             nghttp2_strerror(rv), rv);
-@@ -2039,6 +2042,14 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
-     }
-   }
- 
-+  rv = nghttp2_session_set_local_window_size(httpc->h2, NGHTTP2_FLAG_NONE, 0,
-+                                             HTTP2_HUGE_WINDOW_SIZE);
-+  if(rv != 0) {
-+    failf(data, "nghttp2_session_set_local_window_size() failed: %s(%d)",
-+          nghttp2_strerror(rv), rv);
-+    return CURLE_HTTP2;
-+  }
-+
-   /* we are going to copy mem to httpc->inbuf.  This is required since
-      mem is part of buffer pointed by stream->mem, and callbacks
-      called by nghttp2_session_mem_recv() will write stream specific
diff --git a/pkgs/tools/networking/dnscrypt-proxy/default.nix b/pkgs/tools/networking/dnscrypt-proxy/default.nix
index 1eac3cf6c027..baa295c0b001 100644
--- a/pkgs/tools/networking/dnscrypt-proxy/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libsodium, pkgconfig, systemd }:
+{ stdenv, fetchurl, pkgconfig, libsodium, systemd }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "dnscrypt-proxy-${version}";
-  version = "1.7.0";
+  version = "1.9.1";
 
   src = fetchurl {
     url = "https://download.dnscrypt.org/dnscrypt-proxy/${name}.tar.bz2";
-    sha256 = "1qw2nib0d5ia8581lbdnjxgn9c7pf2qw8vhpnnh1wjcjj3gpgbqx";
+    sha256 = "0aa1qw59b72wl922lfhg24xq2gkv95v1s0daiiqv9b4zpap3ynag";
   };
 
   configureFlags = optional stdenv.isLinux "--with-systemd";
@@ -17,7 +17,19 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libsodium ] ++ optional stdenv.isLinux systemd;
 
-  outputs = [ "out" "man" ];
+  postInstall = ''
+    # Previous versions required libtool files to load plugins; they are
+    # now strictly optional.
+    rm $out/lib/dnscrypt-proxy/*.la
+
+    # The installation ends up copying the same sample configuration
+    # into $out/etc twice, with the expectation that one of them will be
+    # edited by the user.  Since we can't modify the file, it makes more
+    # sense to move only a single copy to the doc directory.
+    mkdir -p $out/share/doc/dnscrypt-proxy
+    mv $out/etc/dnscrypt-proxy.conf.example $out/share/doc/dnscrypt-proxy/
+    rm -rf $out/etc
+  '';
 
   meta = {
     description = "A tool for securing communications between a client and a DNS resolver";
diff --git a/pkgs/tools/networking/ferm/default.nix b/pkgs/tools/networking/ferm/default.nix
index f4cf387ecc52..454605893823 100644
--- a/pkgs/tools/networking/ferm/default.nix
+++ b/pkgs/tools/networking/ferm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables }:
 
 stdenv.mkDerivation rec {
-  version = "2.3";
+  version = "2.3.1";
   name = "ferm-${version}";
 
   src = fetchurl {
-    url = "http://ferm.foo-projects.org/download/${version}/ferm-${version}.tar.gz";
-    sha256 = "0jx63fhjw5y1ahgdbn4hgd7sq6clxl80dr8a2hkryibfbwz3vs4x";
+    url = "http://ferm.foo-projects.org/download/2.3/ferm-${version}.tar.gz";
+    sha256 = "1scdnd2jk4787jyr6fxav2598g0x7hjic5b8bj77j8s0hki48m4a";
   };
 
   buildInputs = [ perl ipset ebtables iptables makeWrapper ];
diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix
index ba9b8b2d7712..55ba6b9db558 100644
--- a/pkgs/tools/networking/http-prompt/default.nix
+++ b/pkgs/tools/networking/http-prompt/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, pythonPackages, httpie }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "0.2.0";
+  version = "0.8.0";
   name = "http-prompt";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     repo = "http-prompt";
     owner = "eliangcs";
-    sha256 = "0hgw3kx9rfdg394darms3vqcjm6xw6qrm8gnz54nahmyxnhrxnpp";
+    sha256 = "0zvkmdc6mhc5kk7cbrgzxsl8n2d02gnxy1sppm83mhwx6s1dkz30";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index fb2f43586946..d5b9ff665d4a 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -1,10 +1,10 @@
 { stdenv, procps, coreutils, fetchurl, jdk, jre, ant, gettext, which }:
 
 stdenv.mkDerivation rec {
-  name = "i2p-0.9.26";
+  name = "i2p-0.9.28";
   src = fetchurl {
     url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
-    sha256 = "0h672w69a5xzgcrls64bpss3ga9hgpnrq90dr5lb5912pwwq9pa1";
+    sha256 = "1xagyywnck2c5xalr7bc7cv5ikk4igf7avmc0n28nz9pkais1y1y";
   };
   buildInputs = [ jdk ant gettext which ];
   patches = [ ./i2p.patch ];
diff --git a/pkgs/tools/networking/i2p/i2p.patch b/pkgs/tools/networking/i2p/i2p.patch
index 2ae6446ed286..74031eb7aef7 100644
--- a/pkgs/tools/networking/i2p/i2p.patch
+++ b/pkgs/tools/networking/i2p/i2p.patch
@@ -1,6 +1,21 @@
+diff --git a/installer/resources/i2prouter b/installer/resources/i2prouter
+index 365737d89..2ea14db3e 100644
+--- a/installer/resources/i2prouter
++++ b/installer/resources/i2prouter
+@@ -49,7 +49,7 @@ APP_LONG_NAME="I2P Service"
+ 
+ # gettext - we look for it in the path
+ # fallback to echo is below, we can't set it to echo here.
+-GETTEXT=$(which gettext > /dev/null 2>&1)
++GETTEXT=%gettext%
+ 
+ # Where to install the systemd service
+ SYSTEMD_SERVICE="/etc/systemd/system/${APP_NAME}.service"
+diff --git a/installer/resources/runplain.sh b/installer/resources/runplain.sh
+index eb4995dfe..0186cede3 100644
 --- a/installer/resources/runplain.sh
 +++ b/installer/resources/runplain.sh
-@@ -21,7 +21,7 @@
+@@ -25,7 +25,7 @@ CP=
  
  # Try using the Java binary that I2P was installed with.
  # If it's not found, try looking in the system PATH.
@@ -9,10 +24,10 @@
  
  if [ -z $JAVA ] || [ ! -x $JAVA ]; then
      echo "Error: Cannot find java." >&2
-@@ -40,15 +40,4 @@
+@@ -44,15 +44,4 @@ if [ $(uname -s) = "Darwin" ]; then
      export JAVA_TOOL_OPTIONS="-Djava.awt.headless=true"
  fi
- JAVAOPTS="-Djava.net.preferIPv4Stack=${PREFERv4} -Djava.library.path=${I2P}:${I2P}/lib -Di2p.dir.base=${I2P} -DloggerFilenameOverride=logs/log-router-@.txt"
+ JAVAOPTS="${MAXMEMOPT} -Djava.net.preferIPv4Stack=${PREFERv4} -Djava.library.path=${I2P}:${I2P}/lib -Di2p.dir.base=${I2P} -DloggerFilenameOverride=logs/log-router-@.txt"
 -(
 -    nohup ${JAVA} -cp \"${CP}\" ${JAVAOPTS} net.i2p.router.RouterLaunch > /dev/null 2>&1
 -) &
@@ -25,15 +40,4 @@
 -    echo "I2P failed to start." >&2
 -    exit 1
 -fi
-+${JAVA} -cp \"${CP}\" ${JAVAOPTS} net.i2p.router.RouterLaunch
---- a/installer/resources/i2prouter
-+++ b/installer/resources/i2prouter
-@@ -49,7 +49,7 @@
- 
- # gettext - we look for it in the path
- # fallback to echo is below, we can't set it to echo here.
--GETTEXT=$(which gettext > /dev/null 2>&1)
-+GETTEXT=%gettext%
- 
- # Where to install the systemd service
- SYSTEMD_SERVICE="/etc/systemd/system/${APP_NAME}.service"
++exec ${JAVA} -cp \"${CP}\" ${JAVAOPTS} net.i2p.router.RouterLaunch
diff --git a/pkgs/tools/networking/miredo/default.nix b/pkgs/tools/networking/miredo/default.nix
new file mode 100644
index 000000000000..efe2847ae355
--- /dev/null
+++ b/pkgs/tools/networking/miredo/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, nettools, iproute, judy }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.6";
+  name = "miredo-${version}";
+
+  buildInputs = [ judy ];
+
+  src = fetchurl {
+    url = "http://www.remlab.net/files/miredo/miredo-${version}.tar.xz";
+    sha256 = "0j9ilig570snbmj48230hf7ms8kvcwi2wblycqrmhh85lksd49ps";
+  };
+
+  postPatch = ''
+    substituteInPlace misc/client-hook.bsd \
+      --replace '/sbin/route' '${nettools}/bin/route' \
+      --replace '/sbin/ifconfig' '${nettools}/bin/ifconfig'
+    substituteInPlace misc/client-hook.iproute --replace '/sbin/ip' '${iproute}/bin/ip'
+  '';
+
+  configureFlags = [ "--with-Judy" ];
+
+  postInstall = ''
+    rm -rf $out/lib/systemd $out/var $out/etc/miredo/miredo.conf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Teredo IPv6 Tunneling Daemon";
+    homepage = http://www.remlab.net/miredo/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.volth ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
new file mode 100644
index 000000000000..8e82023d50a2
--- /dev/null
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  baseName = "mitmproxy";
+  name = "${baseName}-${version}";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = baseName;
+    repo = baseName;
+    rev = "v${version}";
+    sha256 = "19nqg7s1034fal8sb2rjssgcpvxh50yidyjhnbfmmi8v3fbvpbwl";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    pyopenssl pyasn1 urwid pillow flask click pyperclip blinker
+    construct pyparsing html2text tornado brotlipy requests2
+    sortedcontainers passlib cssutils h2 ruamel_yaml jsbeautifier
+    watchdog editorconfig
+  ];
+
+  # Tests fail due to an error with a decorator
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Man-in-the-middle proxy";
+    homepage = "http://mitmproxy.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index 0cd3e15e7621..c82588559dfc 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -1,6 +1,7 @@
 { fetchurl, stdenv, sqlite, pkgconfig, autoreconfHook
 , xapian, glib, gmime, texinfo , emacs, guile
-, gtk3, webkitgtk24x, libsoup, icu }:
+, gtk3, webkitgtk24x, libsoup, icu
+, withMug ? stdenv.isLinux }:
 
 stdenv.mkDerivation rec {
   version = "0.9.18";
@@ -13,8 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     sqlite pkgconfig xapian glib gmime texinfo emacs guile libsoup icu
-    autoreconfHook
-    gtk3 webkitgtk24x ];
+    autoreconfHook ] ++ stdenv.lib.optionals withMug [ gtk3 webkitgtk24x ];
 
   preBuild = ''
     # Fix mu4e-builddir (set it to $out)
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   # Install mug and msg2pdf
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString withMug ''
     cp -v toys/msg2pdf/msg2pdf $out/bin/
     cp -v toys/mug/mug $out/bin/
   '';
diff --git a/pkgs/tools/networking/ndjbdns/default.nix b/pkgs/tools/networking/ndjbdns/default.nix
index 256f50e5c546..3269f92d7f42 100644
--- a/pkgs/tools/networking/ndjbdns/default.nix
+++ b/pkgs/tools/networking/ndjbdns/default.nix
@@ -1,17 +1,22 @@
-{ stdenv, fetchurl, systemd, pkgconfig }:
+{ stdenv, fetchFromGitHub, autoreconfHook, systemd, pkgconfig }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   version = "1.06";
   name = "ndjbdns-${version}";
 
-  src = fetchurl {
-    url = "http://pjp.dgplug.org/ndjbdns/${name}.tar.gz";
-    sha256 = "09qi5a9abqm08iqmxj74fzzq9x1w5lzr1jlbzj2hl8hz0g2sgraw";
+  src = fetchFromGitHub {
+    owner = "pjps";
+    repo = "ndjbdns";
+    rev = "64d371b6f887621de7bf8bd495be10442b2accd0";
+    sha256 = "0gjyvn8r66kp49gasd6sqfvg2pj0c6v67hnq7cqwl04kj69rfy86";
   };
 
-  buildInputs = [ pkgconfig systemd ];
+  buildInputs = [ autoreconfHook pkgconfig ]
+    ++ optional stdenv.isLinux systemd;
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "A brand new release of the Djbdns";
     longDescription = ''
       Djbdns is a fully‐fledged Domain Name System(DNS), originally written by the eminent author of qmail, Dr. D J Bernstein.
@@ -19,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = http://pjp.dgplug.org/ndjbdns/;
     license = licenses.gpl2;
     maintainers = [ maintainers.msackman ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 
 }
diff --git a/pkgs/tools/networking/openntpd/default.nix b/pkgs/tools/networking/openntpd/default.nix
index 47d1dbbcbe69..6f3aab3082f0 100644
--- a/pkgs/tools/networking/openntpd/default.nix
+++ b/pkgs/tools/networking/openntpd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl
+{ stdenv, fetchurl, libressl
 , privsepPath ? "/var/empty"
 , privsepUser ? "ntp"
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
   ];
 
-  buildInputs = [ openssl ];
+  buildInputs = [ libressl ];
 
   installFlags = [
     "sysconfdir=\${out}/etc"
diff --git a/pkgs/tools/networking/openssh/RH-1380296-NEWKEYS-null-pointer-deref.patch b/pkgs/tools/networking/openssh/RH-1380296-NEWKEYS-null-pointer-deref.patch
deleted file mode 100644
index 665eff864530..000000000000
--- a/pkgs/tools/networking/openssh/RH-1380296-NEWKEYS-null-pointer-deref.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/kex.c b/kex.c
-index 50c7a0f..823668b 100644
---- a/kex.c
-+++ b/kex.c
-@@ -419,6 +419,8 @@ kex_input_newkeys(int type, u_int32_t seq, void *ctxt)
- 	ssh_dispatch_set(ssh, SSH2_MSG_NEWKEYS, &kex_protocol_error);
- 	if ((r = sshpkt_get_end(ssh)) != 0)
- 		return r;
-+        if ((r = ssh_set_newkeys(ssh, MODE_IN)) != 0)
-+          return r;
- 	kex->done = 1;
- 	sshbuf_reset(kex->peer);
- 	/* sshbuf_reset(kex->my); */
-diff --git a/packet.c b/packet.c
-index d6dad2d..f96566b 100644
---- a/packet.c
-+++ b/packet.c
-@@ -38,7 +38,7 @@
-  */
- 
- #include "includes.h"
-- 
-+
- #include <sys/param.h>	/* MIN roundup */
- #include <sys/types.h>
- #include "openbsd-compat/sys-queue.h"
-@@ -1907,9 +1907,7 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p)
- 			return r;
- 		return SSH_ERR_PROTOCOL_ERROR;
- 	}
--	if (*typep == SSH2_MSG_NEWKEYS)
--		r = ssh_set_newkeys(ssh, MODE_IN);
--	else if (*typep == SSH2_MSG_USERAUTH_SUCCESS && !state->server_side)
-+	if (*typep == SSH2_MSG_USERAUTH_SUCCESS && !state->server_side)
- 		r = ssh_packet_enable_delayed_compress(ssh);
- 	else
- 		r = 0;
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 064f68947b80..1c66900c06b7 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -19,8 +19,10 @@ let
 
   # **please** update this patch when you update to a new openssh release.
   gssapiSrc = fetchpatch {
-    url = "https://anonscm.debian.org/cgit/pkg-ssh/openssh.git/plain/debian/patches/gssapi.patch?id=477bb7636238c106f8cd7c868a8c0c5eabcfb3db";
-    sha256 = "1kcx2rw6z7y591vr60ww2m2civ0cx6f6awdpi66p1sric9b65si3";
+    name = "openssh-gssapi.patch";
+    url = "https://anonscm.debian.org/cgit/pkg-ssh/openssh.git/plain/debian"
+        + "/patches/gssapi.patch?id=255b8554a50b5c75fca63f76b1ac837c0d4fb7aa";
+    sha256 = "0yg9iq7vb2fkvy36ar0jxk29pkw0h3dhv5vn8qncc3pgwx3617n2";
   };
 
 in
@@ -29,11 +31,11 @@ stdenv.mkDerivation rec {
   # Please ensure that openssh_with_kerberos still builds when
   # bumping the version here!
   name = "openssh-${version}";
-  version = "7.3p1";
+  version = "7.4p1";
 
   src = fetchurl {
     url = "mirror://openbsd/OpenSSH/portable/${name}.tar.gz";
-    sha256 = "1k5y1wi29d47cgizbryxrhc1fbjsba2x8l5mqfa9b9nadnd9iyrz";
+    sha256 = "1l8r3x4fr2kb6xm95s7kjdif1wp6f94d4kljh4qjj9109shw87qv";
   };
 
   prePatch = optionalString hpnSupport
@@ -44,13 +46,11 @@ stdenv.mkDerivation rec {
 
   patches =
     [
-      ./RH-1380296-NEWKEYS-null-pointer-deref.patch
       ./locale_archive.patch
       ./fix-host-key-algorithms-plus.patch
 
       # See discussion in https://github.com/NixOS/nixpkgs/pull/16966
       ./dont_create_privsep_path.patch
-      ./fix-CVE-2016-8858.patch
     ]
     ++ optional withGssapiPatches gssapiSrc;
 
diff --git a/pkgs/tools/networking/openssh/fix-CVE-2016-8858.patch b/pkgs/tools/networking/openssh/fix-CVE-2016-8858.patch
deleted file mode 100644
index e526161083c0..000000000000
--- a/pkgs/tools/networking/openssh/fix-CVE-2016-8858.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -u -r1.126 -r1.127
---- ssh/kex.c	2016/09/28 21:44:52	1.126
-+++ ssh/kex.c	2016/10/10 19:28:48	1.127
-@@ -461,6 +461,7 @@
- 	if (kex == NULL)
- 		return SSH_ERR_INVALID_ARGUMENT;
- 
-+	ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL);
- 	ptr = sshpkt_ptr(ssh, &dlen);
- 	if ((r = sshbuf_put(kex->peer, ptr, dlen)) != 0)
- 		return r;
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index 13e1c68befda..f609c90ad504 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -7,11 +7,12 @@ assert pkcs11Support -> (pkcs11helper != null);
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "openvpn-2.3.12";
+  name = "openvpn-${version}";
+  version = "2.4.0";
 
   src = fetchurl {
-    url = "http://swupdate.openvpn.net/community/releases/${name}.tar.gz";
-    sha256 = "1zqwq19xg6yf90nv35yr8r0ljas5f42v4n9hjjmhlnzpan69plzm";
+    url = "http://swupdate.openvpn.net/community/releases/${name}.tar.xz";
+    sha256 = "0zpqnbhjaifdalyxwmvk5kcyd7cpxbcigbn7967nbsyvl54vl8vg";
   };
 
   patches = optional stdenv.isLinux ./systemd-notify.patch;
@@ -39,8 +40,10 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A robust and highly flexible tunneling application";
     homepage = http://openvpn.net/;
+    downloadPage = "https://openvpn.net/index.php/open-source/downloads.html";
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.unix;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/tools/networking/openvpn/systemd-notify.patch b/pkgs/tools/networking/openvpn/systemd-notify.patch
index 9291f7a46642..c0ac8ae89d3c 100644
--- a/pkgs/tools/networking/openvpn/systemd-notify.patch
+++ b/pkgs/tools/networking/openvpn/systemd-notify.patch
@@ -10,13 +10,13 @@ diff -ru -x '*~' openvpn-2.3.1-orig/src/openvpn/init.c openvpn-2.3.1/src/openvpn
  static struct context *static_context; /* GLOBAL */
  
  /*
-@@ -1241,6 +1243,9 @@
- {
-   static const char message[] = "Initialization Sequence Completed";
+@@ -1375,6 +1375,9 @@
+     /* Reset the unsuccessful connection counter on complete initialisation */
+     c->options.unsuccessful_attempts = 0;
  
-+  /* Tell systemd we're ready. */
-+  sd_notify(0, "READY=1");
++    /* Tell systemd we're ready. */
++    sd_notify(0, "READY=1");
 +
-   /* If we delayed UID/GID downgrade or chroot, do it now */
-   do_uid_gid_chroot (c, true);
+     /* If we delayed UID/GID downgrade or chroot, do it now */
+     do_uid_gid_chroot (c, true);
  
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index ed67909db675..7bcbb4fddb6b 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "strongswan-${version}";
-  version = "5.5.0";
+  version = "5.5.1";
 
   src = fetchurl {
     url = "http://download.strongswan.org/${name}.tar.bz2";
-    sha256 = "0m449i5s51ikqh36s1sp4rvw60wqyv0j12kyd31yl9b7mjc3jijq";
+    sha256 = "1drahhmwz1jg14rfh67cl231dlg2a9pra6jmipfxwyzpj4ck02vj";
   };
 
   dontPatchELF = true;
@@ -37,8 +37,9 @@ stdenv.mkDerivation rec {
       "--enable-eap-mschapv2" "--enable-xauth-eap" "--enable-ext-auth"
       "--enable-forecast" "--enable-connmark" "--enable-acert"
       "--enable-pkcs11" "--enable-eap-sim-pcsc" "--enable-dnscert" "--enable-unbound"
-      "--enable-aesni" "--enable-af-alg" "--enable-rdrand" ]
-    ++ stdenv.lib.optional (stdenv.system == "i686-linux") "--enable-padlock" 
+      "--enable-af-alg" ]
+    ++ stdenv.lib.optional stdenv.isx86_64 [ "--enable-aesni" "--enable-rdrand" ]
+    ++ stdenv.lib.optional (stdenv.system == "i686-linux") "--enable-padlock"
     ++ stdenv.lib.optionals enableTNC [
          "--disable-gmp" "--disable-aes" "--disable-md5" "--disable-sha1" "--disable-sha2" "--disable-fips-prf"
          "--enable-curl" "--enable-openssl"
diff --git a/pkgs/tools/networking/stun/default.nix b/pkgs/tools/networking/stun/default.nix
index 3eade48a614c..8f9636041fff 100644
--- a/pkgs/tools/networking/stun/default.nix
+++ b/pkgs/tools/networking/stun/default.nix
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
 
   preBuild = ''
     tar Jxvf ${srcManpages} debian/manpages
-    gzip -9 debian/manpages/stun.1
-    gzip -9 debian/manpages/stund.8
+    gzip -9n debian/manpages/stun.1
+    gzip -9n debian/manpages/stund.8
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 4362dc57e682..83d3d88729df 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.5.10";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "11lli8jgq4n917gcx6nw728g1hqc2lszwlxa5mdb78m2ri7qp6x3";
+    sha256 = "1dzsxyp34ianp08wk4vf13qzl5ss5rr9v1p8zr1aggfywrsbhzbb";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/networking/unbound/python.nix b/pkgs/tools/networking/unbound/python.nix
index 5d7096ab168f..911afdd18bb0 100644
--- a/pkgs/tools/networking/unbound/python.nix
+++ b/pkgs/tools/networking/unbound/python.nix
@@ -5,11 +5,11 @@ let
 in stdenv.mkDerivation rec {
   pname = "pyunbound";
   name = "${pname}-${version}";
-  version = "1.5.9";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/unbound-${version}.tar.gz";
-    sha256 = "01328cfac99ab5b8c47115151896a244979e442e284eb962c0ea84b7782b6990";
+    sha256 = "1dzsxyp34ianp08wk4vf13qzl5ss5rr9v1p8zr1aggfywrsbhzbb";
   };
 
   buildInputs = [ openssl expat libevent swig python ];
diff --git a/pkgs/tools/networking/wakelan/default.nix b/pkgs/tools/networking/wakelan/default.nix
index 4f8717e9a11e..ff96509e15c5 100644
--- a/pkgs/tools/networking/wakelan/default.nix
+++ b/pkgs/tools/networking/wakelan/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index ba41fcdd687a..76385312385b 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, openssl, lzo, zlib, iproute, which, ronn }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.12";
+  version = "1.1.14";
   name = "zerotierone";
 
   src = fetchurl {
     url = "https://github.com/zerotier/ZeroTierOne/archive/${version}.tar.gz";
-    sha256 = "0mji6bmxjvxy2mhvzfz4vpdz62n1wv6a02rapzbiad8zr2c869cm";
+    sha256 = "1brlyqk2p5h9sws15nbkmm4qhx911aib1v7crmcm2rhwsad0c1nj";
   };
 
   preConfigure = ''
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
     mkdir -p $man/share/man/man8
     for cmd in zerotier-one.8 zerotier-cli.1 zerotier-idtool.1; do
-      cat doc/$cmd | gzip -9 > $man/share/man/man8/$cmd.gz
+      cat doc/$cmd | gzip -9n > $man/share/man/man8/$cmd.gz
     done
   '';
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "Create flat virtual Ethernet networks of almost unlimited size";
     homepage = https://www.zerotier.com;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ sjmackenzie ];
+    maintainers = with maintainers; [ sjmackenzie zimbatm ];
     platforms = platforms.allBut [ "i686-linux" ];
   };
 }
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 30c5fc6c4fdc..5bfb0b45c1ba 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -103,10 +103,10 @@ in rec {
   nix = nixStable;
 
   nixStable = common rec {
-    name = "nix-1.11.4";
+    name = "nix-1.11.5";
     src = fetchurl {
       url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-      sha256 = "937779ed2efaa3dec210250635401980acb99a6fea6d7374fbaea78231b36d34";
+      sha256 = "272361d091c735b0e80627fa23fb7c600957472301dd7e54d237069452f3addb";
     };
   };
 
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index 2dffcef48fbe..1184c0194bc7 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -2,12 +2,12 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "nox-${version}";
-  version = "0.0.4";
+  version = "0.0.5";
   namePrefix = "";
 
   src = fetchurl {
     url = "mirror://pypi/n/nix-nox/nix-nox-${version}.tar.gz";
-    sha256 = "11f6css8rnh7qz55z7i81cnb5h9ys98fqxq3fps3hsh64zlydj52";
+    sha256 = "1kwrkp7njxn2sqmmzy5d33d07gawbw2ab2bmfjz0y1r23z9iadf2";
   };
 
   buildInputs = [ pythonPackages.pbr git ];
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index 68d13f7f17fa..180395571b22 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchFromGitHub, lib
 , intltool, glib, pkgconfig, polkit, python, sqlite, systemd
 , gobjectIntrospection, vala_0_23, gtk_doc, autoreconfHook, autoconf-archive
-, nix, boost
+# TODO: set enableNixBackend to true, as soon as it builds
+, nix, enableNixBackend ? false, boost
 , enableCommandNotFound ? false
 , enableBashCompletion ? false, bash-completion ? null }:
 
@@ -28,7 +29,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--enable-systemd"
-    "--enable-nix"
     "--disable-dummy"
     "--disable-cron"
     "--disable-introspection"
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
     "--with-dbus-sys=$(out)/etc/dbus-1/system.d"
     "--with-systemdsystemunitdir=$(out)/lib/systemd/system/"
   ]
+  ++ lib.optional enableNixBackend "--enable-nix"
   ++ lib.optional (!enableBashCompletion) "--disable-bash-completion"
   ++ lib.optional (!enableCommandNotFound) "--disable-command-not-found";
 
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index 88df4d78d26b..da469771c6ec 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--sysconfdir=/etc/clamav"
     "--with-zlib=${zlib.dev}"
+    "--disable-zlib-vcheck" # it fails to recognize that 1.2.10 >= 1.2.2
     "--with-libbz2-prefix=${bzip2.dev}"
     "--with-iconv-dir=${libiconv}"
     "--with-xml=${libxml2.dev}"
diff --git a/pkgs/tools/security/enpass/data.json b/pkgs/tools/security/enpass/data.json
index 4e245d1c80fc..b3625d928b5f 100644
--- a/pkgs/tools/security/enpass/data.json
+++ b/pkgs/tools/security/enpass/data.json
@@ -1,12 +1,12 @@
 {
   "amd64": {
-    "path": "pool/main/e/enpass/enpass_5.3.0_amd64.deb", 
-    "sha256": "d9da061c6456281da836bdd78bdb7baeced4b7f1805bb2495e4f1d15038cf86b", 
-    "version": "5.3.0"
+    "path": "pool/main/e/enpass/enpass_5.4.0-4_amd64.deb", 
+    "sha256": "6b460fed2d7d8473e2b5d069dbe60263195b916c8b79a8fc7c2e8cb953134579", 
+    "version": "5.4.0.post4"
   }, 
   "i386": {
-    "path": "pool/main/e/enpass/enpass_5.3.0_i386.deb", 
-    "sha256": "58d9f3b83c2da477c13976e1826d112236eabd46a389de7e8767ee99ac41f469", 
-    "version": "5.3.0"
+    "path": "pool/main/e/enpass/enpass_5.4.0-4_i386.deb", 
+    "sha256": "1ec8088d5c3b2906d6820f96e1868c473e78dbe882f04e74a7816d19d43e3692", 
+    "version": "5.4.0.post4"
   }
 }
\ No newline at end of file
diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix
index b7f7282d2929..257af4645f68 100644
--- a/pkgs/tools/security/enpass/default.nix
+++ b/pkgs/tools/security/enpass/default.nix
@@ -1,7 +1,8 @@
 {stdenv, system, fetchurl, dpkg, openssl, xorg
 , glib, mesa, libpulseaudio, zlib, dbus, fontconfig, freetype
 , gtk2, pango, atk, cairo, gdk_pixbuf, jasper, xkeyboardconfig
-, makeWrapper , makeDesktopItem, python, pythonPackages, lib}:
+, makeWrapper , makeDesktopItem, python, pythonPackages, lib
+, libredirect, lsof}:
 assert system == "i686-linux" || system == "x86_64-linux";
 let
   all_data = (with builtins; fromJSON (readFile ./data.json));
@@ -13,7 +14,7 @@ let
   data = (with builtins; getAttr (getAttr system system_map) all_data);
 
   baseUrl = http://repo.sinew.in;
-  
+
   # used of both wrappers and libpath
   libPath = lib.makeLibraryPath (with xorg; [
     openssl
@@ -44,16 +45,6 @@ let
     inherit (data) version;
     name = "enpass-${version}";
 
-    desktopItem = makeDesktopItem {
-      name = "Enpass";
-      exec = "$out/bin/Enpass";
-      #icon = "Enpass";
-      desktopName = "Enpass";
-      genericName = "Password manager";
-      categories = "Application;Security;";
-    };
-
-
     src = fetchurl {
       inherit (data) sha256;
       url = "${baseUrl}/${data.path}";
@@ -74,28 +65,36 @@ let
     installPhase=''
       mkdir $out
       cp -r opt/Enpass/*  $out
+      cp -r usr/* $out
+      rm $out/bin/runenpass.sh
+      cp $out/bin/EnpassHelper/EnpassHelper{,.untampered}
 
-      # Make desktop item
-      mkdir -p "$out"/share/applications
-      cp "$desktopItem"/share/applications/* "$out"/share/applications/
-      mkdir -p "$out"/share/icons
+      sed \
+      	-i s@/opt/Enpass/bin/runenpass.sh@$out/bin/Enpass@ \
+      	$out/share/applications/enpass.desktop
 
-      patchelf  \
-        --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-        $out/bin/Enpass
+      for i in $out/bin/{Enpass,EnpassHelper/EnpassHelper}; do
+        patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $i
+      done
 
+      # The helper's sha256 sum must match, hence the use of libredirect.
+      # Also, lsof must be in the path for proper operation.
       wrapProgram $out/bin/Enpass \
         --set LD_LIBRARY_PATH "${libPath}:$out/lib:$out/plugins/sqldrivers" \
         --set QT_PLUGIN_PATH "$out/plugins" \
         --set QT_QPA_PLATFORM_PLUGIN_PATH "$out/plugins/platforms" \
-        --set QT_XKB_CONFIG_ROOT "${xkeyboardconfig}/share/X11/xkb"
+        --set QT_XKB_CONFIG_ROOT "${xkeyboardconfig}/share/X11/xkb" \
+        --set HIDE_TOOLBAR_LINE 0 \
+        --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
+        --set NIX_REDIRECTS "$out/bin/EnpassHelper/EnpassHelper=$out/bin/EnpassHelper/EnpassHelper.untampered" \
+        --prefix PATH : ${lsof}/bin
     '';
   };
   updater = {
     update = stdenv.mkDerivation rec {
       name = "enpass-update-script";
       SCRIPT =./update_script.py;
-      
+
       buildInputs = with pythonPackages; [python requests pathlib2 six attrs ];
       shellHook = ''
       exec python $SCRIPT --target pkgs/tools/security/enpass/data.json --repo ${baseUrl}
@@ -103,4 +102,4 @@ let
 
     };
   };
-in (package // {refresh = updater;}) 
+in (package // {refresh = updater;})
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
index 871ba1d8b854..fbd32cdc22df 100644
--- a/pkgs/tools/security/gencfsm/default.nix
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -1,19 +1,18 @@
 { stdenv, fetchurl, autoconf, automake, intltool, libtool, pkgconfig, encfs
-, glib , gnome3, gtk3, libgnome_keyring, vala_0_23, wrapGAppsHook, xorg
-, libgee_0_6
+, glib , gnome3, gtk3, libgnome_keyring, vala, wrapGAppsHook, xorg
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.8.16";
+  version = "1.8.18";
   name = "gnome-encfs-manager-${version}";
 
   src = fetchurl {
-    url = "https://launchpad.net/gencfsm/trunk/1.8/+download/gnome-encfs-manager_${version}.tar.gz";
-    sha256 = "06sz6zcmvxkqww5gx4brcqs4hlpy9d8sal9nmw0pdsvh8k5vmpgn";
+    url = "https://launchpad.net/gencfsm/trunk/1.8/+download/gnome-encfs-manager_${version}.tar.xz";
+    sha256 = "1rpf683lxa78fmxxb0hnq7vdh3yn7qid2gqq67q9mk65sp9vdhdj";
   };
 
-  buildInputs = [ autoconf automake intltool libtool pkgconfig vala_0_23 glib encfs
-    gtk3 libgnome_keyring libgee_0_6 xorg.libSM xorg.libICE
+  buildInputs = [ autoconf automake intltool libtool pkgconfig vala glib encfs
+    gtk3 libgnome_keyring gnome3.libgee xorg.libSM xorg.libICE
     wrapGAppsHook ];
 
   patches = [ ./makefile-mkdir.patch ];
@@ -28,10 +27,10 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://www.libertyzero.com/GEncfsM/;
+    downloadPage = https://launchpad.net/gencfsm/;
     description = "EncFS manager and mounter with GNOME3 integration";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.spacefrogg ];
-    broken = true;
   };
 }
diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix
index a4b47843583f..b96226d5c3f8 100644
--- a/pkgs/tools/security/gnupg/21.nix
+++ b/pkgs/tools/security/gnupg/21.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, libgcrypt, libassuan, libksba, libiconv, npth
-, gettext, texinfo, pcsclite
+, gettext, texinfo, pcsclite, sqlite
 
 # Each of the dependencies below are optional.
 # Gnupg can be built without them at the cost of reduced functionality.
@@ -15,16 +15,16 @@ assert guiSupport -> pinentry != null;
 stdenv.mkDerivation rec {
   name = "gnupg-${version}";
 
-  version = "2.1.16";
+  version = "2.1.17";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "0i483m9q032a0s50f1izb213g4h5i7pcgn395m6hvl3sg2kadfa9";
+    sha256 = "1js308b46ifx1gim0c9nivr5yxhans7iq1yvkf7zl2928gdm9p65";
   };
 
   buildInputs = [
     pkgconfig libgcrypt libassuan libksba libiconv npth gettext texinfo
-    readline libusb gnutls adns openldap zlib bzip2
+    readline libusb gnutls adns openldap zlib bzip2 sqlite
   ];
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
diff --git a/pkgs/tools/security/gorilla-bin/default.nix b/pkgs/tools/security/gorilla-bin/default.nix
new file mode 100644
index 000000000000..cbd260455d8e
--- /dev/null
+++ b/pkgs/tools/security/gorilla-bin/default.nix
@@ -0,0 +1,41 @@
+{ fetchurl, makeWrapper, patchelf, pkgs, stdenv, libXft, libX11, freetype, fontconfig, libXrender, libXScrnSaver, libXext }:
+
+stdenv.mkDerivation rec {
+  name = "gorilla-bin-${version}";
+  version = "1.5.3.7";
+
+  src = fetchurl {
+    name = "gorilla1537_64.bin";
+    url = "http://gorilla.dp100.com/downloads/gorilla1537_64.bin";
+    sha256 = "19ir6x4c01825hpx2wbbcxkk70ymwbw4j03v8b2xc13ayylwzx0r";
+  };
+
+  buildInputs = [ patchelf makeWrapper ];
+  phases = [ "unpackPhase" "installPhase" ];
+
+  unpackCmd = ''
+    mkdir gorilla;
+    cp $curSrc gorilla/gorilla-${version};
+  '';
+
+  installPhase = let
+    interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")";
+    libPath = stdenv.lib.makeLibraryPath [ libXft libX11 freetype fontconfig libXrender libXScrnSaver libXext ];
+  in ''
+    mkdir -p $out/opt/password-gorilla
+    mkdir -p $out/bin
+    cp gorilla-${version} $out/opt/password-gorilla
+    chmod ugo+x $out/opt/password-gorilla/gorilla-${version}
+    patchelf --set-interpreter "${interpreter}" "$out/opt/password-gorilla/gorilla-${version}"
+    makeWrapper "$out/opt/password-gorilla/gorilla-${version}" "$out/bin/gorilla" \
+      --prefix LD_LIBRARY_PATH : "${libPath}"
+  '';
+
+  meta = {
+    description = "Password Gorilla is a Tk based password manager";
+    homepage = https://github.com/zdia/gorilla/wiki;
+    maintainers = [ stdenv.lib.maintainers.namore ];
+    platforms = [ "x86_64-linux" ];
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/security/kpcli/default.nix b/pkgs/tools/security/kpcli/default.nix
index 7303db34649d..bc5b7c0e3f45 100644
--- a/pkgs/tools/security/kpcli/default.nix
+++ b/pkgs/tools/security/kpcli/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, perl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  version = "3.0";
+  version = "3.1";
   name = "kpcli-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/kpcli/${name}.pl";
-    sha256 = "1704b412f8h9cls85xcpqm9k4n5vga26r4xq9ghp4pr1hl27nywl";
+    sha256 = "06m276if13w6gd54wi8nqd1yvk2csbhdmm8pcw9aw3hdlc27gw7i";
   };
 
   buildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/security/lastpass-cli/default.nix b/pkgs/tools/security/lastpass-cli/default.nix
index 88b7316e9d85..7b6720a2139b 100644
--- a/pkgs/tools/security/lastpass-cli/default.nix
+++ b/pkgs/tools/security/lastpass-cli/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "Stores, retrieves, generates, and synchronizes passwords securely";
     homepage    = "https://github.com/lastpass/lastpass-cli";
     license     = licenses.gpl2Plus;
-    platforms   = platforms.linux;
+    platforms   = stdenv.lib.platforms.unix;
     maintainers = with maintainers; [ cstrahan ];
   };
 }
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index b430fd8aad09..f2fede456d12 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.18p1";
+  name = "sudo-1.8.19p1";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "0d4l6y03khmzdd8vhfnq8lrb8gcxplzf7gav0a9sd08jf8f4g875";
+    sha256 = "14pwdwl03kdbbyjkvxrfx409x3c1fjqz8aqz2wgwddinhz7v3bxq";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 46b85aefca5f..da52bde56bd6 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.2.8.10";
+  name = "tor-0.2.8.12";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz";
-    sha256 = "0kcw9hq4xz8p91xwyhjfry5p1dmn7vvnhpfz66vl9gsfndbqr2y8";
+    sha256 = "1bsagy4gcf6hgq04q949hv45ljb36j3ylxxn22cwxy4whgr4hmxk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 85c3625ad468..96bb4cd482e9 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -1,6 +1,13 @@
 { stdenv, lib, buildGoPackage, fetchFromGitHub }:
 
-buildGoPackage rec {
+let
+  vaultBashCompletions = fetchFromGitHub {
+    owner = "iljaweis";
+    repo = "vault-bash-completion";
+    rev = "62c142e20929f930c893ebe3366350d735e81fbd";
+    sha256 = "0nfv10ykjq9751ijdyq728gjlgldm1lxvrar8kf6nz6rdfnnl2n5";
+  };
+in buildGoPackage rec {
   name = "vault-${version}";
   version = "0.6.3";
 
@@ -18,6 +25,11 @@ buildGoPackage rec {
       -X github.com/hashicorp/vault/version.GitCommit=${version}
   '';
 
+  postInstall = ''
+    mkdir -p $bin/share/bash-completion/completions/ 
+    cp ${vaultBashCompletions}/vault-bash-completion.sh $bin/share/bash-completion/completions/vault
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://www.vaultproject.io;
     description = "A tool for managing secrets";
diff --git a/pkgs/tools/system/chase/default.nix b/pkgs/tools/system/chase/default.nix
new file mode 100644
index 000000000000..ebad69339366
--- /dev/null
+++ b/pkgs/tools/system/chase/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl ,pkgconfig, libatomic_ops , boehmgc }:
+
+stdenv.mkDerivation rec {
+  name = "chase-${version}";
+  version = "0.5.2";
+
+  buildInputs = [ pkgconfig libatomic_ops boehmgc ] ;
+  src = fetchurl {
+    url = "mirror://debian/pool/main/c/chase/chase_${version}.orig.tar.gz";
+    sha256 = "68d95c2d4dc45553b75790fcea4413b7204a2618dff148116ca9bdb0310d737f";
+  };
+
+  doCheck = true;
+  makeFlags = [ "-e" ];
+  makeFlagsArray="LIBS=-lgc";
+
+  meta = with stdenv.lib ; {
+    description = "Follow a symlink and print out its target file";
+    longDescription = ''
+    A commandline program that chases symbolic filesystems links to the original file
+    '';
+    homepage = "https://qa.debian.org/developer.php?login=rotty%40debian.org";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.polyrod ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix
index d98ceb84bc39..69cd8da4aefe 100644
--- a/pkgs/tools/system/dd_rescue/default.nix
+++ b/pkgs/tools/system/dd_rescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoconf }:
 
 stdenv.mkDerivation rec {
-  version = "1.99";
+  version = "1.99.5";
   name = "dd_rescue-${version}";
 
   src = fetchurl {
-    sha256 = "0gkbwssn134fjyyvjvylyvassw4fwv5mbis9gcb969xdc64dfhg1";
+    sha256 = "0db94piwcdyqhnlhgfs0bfp0gp2mqyrcr2l5nljapgni31qk4p8j";
     url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.bz2";
   };
 
diff --git a/pkgs/tools/system/iops/default.nix b/pkgs/tools/system/iops/default.nix
index 243325168706..34a48bd30539 100644
--- a/pkgs/tools/system/iops/default.nix
+++ b/pkgs/tools/system/iops/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.vanheusden.com/iops/;
     license = licenses.gpl2;
-    maintainers = with maintainers; davidak;
+    maintainers = with maintainers; [ davidak ];
     platforms = platforms.linux; # build problems on Darwin
   };
 }
diff --git a/pkgs/tools/system/ior/default.nix b/pkgs/tools/system/ior/default.nix
new file mode 100644
index 000000000000..6b294931851d
--- /dev/null
+++ b/pkgs/tools/system/ior/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, openmpi, automake, autoconf, perl }:
+
+let
+  version = "3.0.1";
+  sha256 = "039rh4z3lsj4vqjsqgakk0b7dkrdrkkzj0p1cjikpc9gn36zpghc";
+in
+
+stdenv.mkDerivation rec {
+  name = "ior-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/LLNL/ior/archive/${version}.tar.gz";
+    inherit sha256;
+  };
+
+  buildInputs = [ openmpi automake autoconf perl ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = "./bootstrap";
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.nersc.gov/users/computational-systems/cori/nersc-8-procurement/trinity-nersc-8-rfp/nersc-8-trinity-benchmarks/ior/";
+    description = "Parallel file system I/O performance test";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ bzizou ];
+  };
+}
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index 37f5131a0370..059a5d9e416c 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "3.0.0";
+  version = "3.0.1";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "0r986mvh6q1f7369qry2vq4rqc6kc4kq957s2g5qsl8m1pyw2mvx";
+    sha256 = "179hvarw0mk3j1z4102q4692q4mx06y259llr891by0pri0bsb3n";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/text/codesearch/default.nix b/pkgs/tools/text/codesearch/default.nix
new file mode 100644
index 000000000000..ccb3f1d9ed98
--- /dev/null
+++ b/pkgs/tools/text/codesearch/default.nix
@@ -0,0 +1,26 @@
+# This file was generated by go2nix.
+{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+
+buildGoPackage rec {
+  name = "codesearch-${version}";
+  version = "20150617-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "a45d81b686e85d01f2838439deaf72126ccd5a96";
+
+  goPackagePath = "github.com/google/codesearch";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/google/codesearch";
+    sha256 = "12bv3yz0l3bmsxbasfgv7scm9j719ch6pmlspv4bd4ix7wjpyhny";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = {
+    description = "Fast, indexed regexp search over large file trees";
+    homepage = "https://github.com/google/codesearch";
+    license = [ stdenv.lib.licenses.bsd3 ];
+    maintainers = [ stdenv.lib.maintainers.bennofs ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/text/codesearch/deps.nix b/pkgs/tools/text/codesearch/deps.nix
new file mode 100644
index 000000000000..2d1dad706340
--- /dev/null
+++ b/pkgs/tools/text/codesearch/deps.nix
@@ -0,0 +1,3 @@
+# This file was generated by go2nix.
+[
+]
diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index 3e714871827d..b9dca2e8709a 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pcre, libiconv, perl }:
 
-let version = "2.25"; in
+let version = "2.27"; in
 
 stdenv.mkDerivation {
   name = "gnugrep-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/grep/grep-${version}.tar.xz";
-    sha256 = "0c38b67cnwchwzv4wq2gpz6smkhdxrac2hhssv8f0l04qnx867p2";
+    sha256 = "1syadppgpxpfhpwhhqcsibrn131azypzps5aicx1qjh74d6w8k5d";
   };
 
   # Perl is needed for testing
diff --git a/pkgs/tools/text/gnused/422.nix b/pkgs/tools/text/gnused/422.nix
new file mode 100644
index 000000000000..037c2f17a63b
--- /dev/null
+++ b/pkgs/tools/text/gnused/422.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "gnused-4.2.2";
+
+  src = fetchurl {
+    url = mirror://gnu/sed/sed-4.2.2.tar.bz2;
+    sha256 = "f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7";
+  };
+
+  outputs = [ "out" "info" ];
+
+  meta = {
+    homepage = http://www.gnu.org/software/sed/;
+    description = "GNU sed, a batch stream editor";
+
+    longDescription = ''
+      Sed (stream editor) isn't really a true text editor or text
+      processor.  Instead, it is used to filter text, i.e., it takes
+      text input and performs some operation (or set of operations) on
+      it and outputs the modified text.  Sed is typically used for
+      extracting part of a file using pattern matching or substituting
+      multiple occurrences of a string within a file.
+    '';
+
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix
index 037c2f17a63b..aa25101636e0 100644
--- a/pkgs/tools/text/gnused/default.nix
+++ b/pkgs/tools/text/gnused/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, perl }:
 
-stdenv.mkDerivation {
-  name = "gnused-4.2.2";
+stdenv.mkDerivation rec {
+  name = "gnused-${version}";
+  version = "4.3";
 
   src = fetchurl {
-    url = mirror://gnu/sed/sed-4.2.2.tar.bz2;
-    sha256 = "f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7";
+    url = "mirror://gnu/sed/sed-${version}.tar.xz";
+    sha256 = "1anhdgah8h423hlmn9hwzxzr7hjbqjm6hxq3z1p7p7nf8640vhj7";
   };
 
   outputs = [ "out" "info" ];
 
+  nativeBuildInputs = [ perl ];
+  preConfigure = "patchShebangs ./build-aux/help2man";
+
   meta = {
     homepage = http://www.gnu.org/software/sed/;
     description = "GNU sed, a batch stream editor";
diff --git a/pkgs/tools/text/mir-qualia/default.nix b/pkgs/tools/text/mir-qualia/default.nix
new file mode 100644
index 000000000000..b22d58939151
--- /dev/null
+++ b/pkgs/tools/text/mir-qualia/default.nix
@@ -0,0 +1,21 @@
+{ lib, pythonPackages, fetchurl }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "mir.qualia-${version}";
+  version = "1.0.0";
+  doCheck = false; # 1.0.0-released pytests are broken
+
+  buildInputs = with pythonPackages; [ pytest ];
+
+  src = fetchurl {
+    url = "mirror://pypi/m/mir.qualia/mir.qualia-${version}.tar.gz";
+    sha256 = "1g0nwncwk4nq7b7zszqi1q4d2bdga1q50g9nkxigdaq647wqdf7x";
+  };
+
+  meta = {
+    description = "Dynamically enable sections of config files";
+    homepage = https://github.com/darkfeline/mir.qualia;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.srhb ] ;
+  };
+}
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index bcf9312e9515..8d7ffd3e4779 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -4,16 +4,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "ripgrep-${version}";
-  version = "0.2.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "BurntSushi";
     repo = "ripgrep";
     rev = "${version}";
-    sha256 = "0whw6hqjkf6sysrfv931jaia2hqhy8m9aa5rxax1kygm4snz4j85";
+    sha256 = "15j68bkkxpbh9c05f8l7j0y33da01y28kpg781lc0234h45535f3";
   };
 
-  depsSha256 = "10f7pkgaxwizl7kzhkry7wx1rgm9wsybwkk92myc29s7sqir2mx4";
+  depsSha256 = "142h6pcf2mr4i7dg7di4299c18aqn0yvk9nr1mxnkb7wjcmrvcfg";
 
   meta = with stdenv.lib; {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
diff --git a/pkgs/tools/text/sgml/jade/default.nix b/pkgs/tools/text/sgml/jade/default.nix
new file mode 100644
index 000000000000..ffbf9784f80f
--- /dev/null
+++ b/pkgs/tools/text/sgml/jade/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgs, gcc, gzip, gnum4 }:
+
+stdenv.mkDerivation (rec {
+  name = "jade";
+  version = "1.2.1";
+  debpatch = "47.3";
+
+  src = fetchurl {
+    url = "ftp://ftp.jclark.com/pub/${name}/${name}-${version}.tar.gz";
+    sha256 = "84e2f8a2a87aab44f86a46b71405d4f919b219e4c73e03a83ab6c746a674b187";
+  };
+
+  patchsrc =  fetchurl {
+    url = "http://ftp.debian.org/debian/pool/main/j/jade/jade_${version}-${debpatch}.diff.gz";
+    sha256 = "8e94486898e3503308805f856a65ba5b499a6f21994151270aa743de48305464";
+  };
+
+  patches = [ patchsrc ];
+
+  buildInputs = [ gcc gzip gnum4 ];
+
+  NIX_CFLAGS_COMPILE = [ "-Wno-deprecated" ];
+
+  preInstall = ''
+    install -d -m755 "$out"/lib
+  '';
+  
+  postInstall = ''
+    mv "$out/bin/sx" "$out/bin/sgml2xml"
+  '';
+
+  meta = {
+    description = "James Clark's DSSSL Engine";
+    license = "custom";
+    homepage = http://www.jclark.com/jade/;
+    maintainers = with stdenv.lib.maintainers; [ e-user ];
+  };
+})
diff --git a/pkgs/tools/text/shfmt/default.nix b/pkgs/tools/text/shfmt/default.nix
index cac9bbb168b8..7328cd3878a2 100644
--- a/pkgs/tools/text/shfmt/default.nix
+++ b/pkgs/tools/text/shfmt/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "shfmt-${version}";
-  version = "0.2.0";
+  version = "1.1.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/mvdan/sh";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "mvdan";
     repo = "sh";
     inherit rev;
-    sha256 = "07jf9v6583vvmk07fp7xdlnh7rvgl6f06ib2588g3xf1wk9vrq3d";
+    sha256 = "0h1qy27z6j1cgkk3hkvl7w3wjqc5flgn92r3j6frn8k2wzwj7zhz";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/zimreader/default.nix b/pkgs/tools/text/zimreader/default.nix
index 449b1e9c3398..1c508a9cf7ec 100644
--- a/pkgs/tools/text/zimreader/default.nix
+++ b/pkgs/tools/text/zimreader/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   buildInputs = [ automake autoconf libtool zimlib cxxtools tntnet ];
   setSourceRoot = "cd openzim-*/zimreader; export sourceRoot=`pwd`";
-  preConfigurePhases = [ "./autogen.sh" ];
+  preConfigure = "./autogen.sh";
 
   meta = {
     description = "A tool to serve ZIM files using HTTP";
diff --git a/pkgs/tools/text/zimwriterfs/default.nix b/pkgs/tools/text/zimwriterfs/default.nix
index 62f0ff991237..db604d862b88 100644
--- a/pkgs/tools/text/zimwriterfs/default.nix
+++ b/pkgs/tools/text/zimwriterfs/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ automake autoconf libtool lzma pkgconfig zimlib file zlib ];
   setSourceRoot = "cd openzim-*/zimwriterfs; export sourceRoot=`pwd`";
-  preConfigurePhases = [ "./autogen.sh" ];
+  preConfigure = "./autogen.sh";
 
   meta = {
     description = "A console tool to create ZIM files";
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index 5f344628e376..2318a146f62f 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -1,15 +1,21 @@
 { stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.4";
+  version = "0.9.5";
   name = "pdf2djvu-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/jwilk/pdf2djvu/downloads/${name}.tar.xz";
-    sha256 = "1a1gwr6yzbiximbpgg4rc69dq8g3jmxwcbcwqk0fhfbgzj1j4w65";
+    url = "https://github.com/jwilk/pdf2djvu/releases/download/${version}/${name}.tar.xz";
+    sha256 = "0fr8b44rsqll2m6qnh9id1lfc980k7rj3aq975mwba4y57rwnlnc";
   };
 
-  buildInputs = [ pkgconfig djvulibre poppler fontconfig libjpeg ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ djvulibre poppler fontconfig libjpeg ];
+
+  preConfigure = ''
+    sed -i 's#\$djvulibre_bin_path#${djvulibre.bin}/bin#g' configure
+  '';
 
   meta = with stdenv.lib; {
     description = "Creates djvu files from PDF files";
diff --git a/pkgs/tools/typesetting/rubber/default.nix b/pkgs/tools/typesetting/rubber/default.nix
index a9403020e41b..bbcda05dc801 100644
--- a/pkgs/tools/typesetting/rubber/default.nix
+++ b/pkgs/tools/typesetting/rubber/default.nix
@@ -1,23 +1,30 @@
 { fetchurl, stdenv, python2Packages, texinfo }:
 
-stdenv.mkDerivation rec {
-  name = "rubber-1.3";
+python2Packages.buildPythonApplication rec {
+  name = "rubber-${version}";
+  version = "1.4";
 
   src = fetchurl {
-    url = "https://launchpad.net/rubber/trunk/1.3/+download/rubber-1.3.tar.gz";
-    sha256 = "09715apfd6a0haz1mqsxgm8sj4rwzi38gcz2kz020zxk5rh0dksh";
+    url = "https://launchpad.net/rubber/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1d7hq19vpb3l31grldbxg8lx1qdd18f5f3gqw96q0lhf58agcjl2";
   };
 
-  buildInputs = [ python2Packages.python texinfo ];
-  nativeBuildInputs = [ python2Packages.wrapPython ];
+  propagatedBuildInputs = [ texinfo ];
 
-  patchPhase = ''
-    substituteInPlace configure --replace which "type -P"
+  # I couldn't figure out how to pass the proper parameter to disable pdf generation, so we
+  # use sed to change the default
+  preBuild = ''
+    sed -i -r 's/pdf\s+= True/pdf = False/g' setup.py
   '';
 
-  postInstall = "wrapPythonPrograms";
+  # the check scripts forces python2. If we need to use python3 at some point, we should use
+  # the correct python
+  checkPhase = ''
+    sed -i 's|python=python2|python=${python2Packages.python.interpreter}|' tests/run.sh
+    cd tests && ${stdenv.shell} run.sh
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Wrapper for LaTeX and friends";
     longDescription = ''
       Rubber is a program whose purpose is to handle all tasks related
@@ -28,9 +35,9 @@ stdenv.mkDerivation rec {
       produce PostScript documents is also included, as well as usage
       of pdfLaTeX to produce PDF documents.
     '';
-    license = stdenv.lib.licenses.gpl2Plus;
-    homepage = http://www.pps.jussieu.fr/~beffara/soft/rubber/;
-    maintainers = [ stdenv.lib.maintainers.ttuegel ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2Plus;
+    homepage = https://launchpad.net/rubber;
+    maintainers = with maintainers; [ ttuegel peterhoeg ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index b910be76b851..a0c6a66634b0 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, emacs, texlive, ghostscript }:
  
 let auctex = stdenv.mkDerivation ( rec {
-  version = "11.89";
+  version = "11.90";
   name = "${pname}-${version}";
 
   # Make this a valid tex(live-new) package;
@@ -14,7 +14,7 @@ let auctex = stdenv.mkDerivation ( rec {
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${name}.tar.gz";
-    sha256 = "1cf9fkkmzjxa4jvk6c01zgxdikr4zzb5pcx8i4r0hwdk0xljkbwq";
+    sha256 = "13zimbyar3159arrcklmnmjxjvibrjpkac6d53mfv03pwpc2y8rw";
   };
 
   buildInputs = [ emacs texlive.combined.scheme-basic ghostscript ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d9aa7940aaf4..0dc5b8151c63 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -161,17 +161,7 @@ in
 
   fetchMavenArtifact = callPackage ../build-support/fetchmavenartifact { };
 
-  packer = callPackage ../development/tools/packer {
-    # Go 1.7 changed the linker flag format
-    buildGoPackage = buildGo16Package;
-    gotools = self.gotools.override {
-      buildGoPackage = buildGo16Package;
-      go = self.go_1_6;
-    };
-    gox = self.gox.override {
-      buildGoPackage = buildGo16Package;
-    };
-  };
+  packer = callPackage ../development/tools/packer { };
 
   fetchpatch = callPackage ../build-support/fetchpatch { };
 
@@ -779,6 +769,8 @@ in
 
   cpulimit = callPackage ../tools/misc/cpulimit { };
 
+  codesearch = callPackage ../tools/text/codesearch { };
+
   contacts = callPackage ../tools/misc/contacts {
     inherit (darwin.apple_sdk.frameworks) Foundation AddressBook;
   };
@@ -865,6 +857,7 @@ in
   f3 = callPackage ../tools/filesystems/f3 { };
 
   facter = callPackage ../tools/system/facter {
+    boost = boost160;
     ruby = ruby_2_1;
   };
 
@@ -902,6 +895,8 @@ in
 
   goa = callPackage ../development/tools/goa { };
 
+  gorilla-bin = callPackage ../tools/security/gorilla-bin { };
+
   gringo = callPackage ../tools/misc/gringo { };
 
   gti = callPackage ../tools/misc/gti { };
@@ -1099,6 +1094,8 @@ in
 
   mdf2iso = callPackage ../tools/cd-dvd/mdf2iso { };
 
+  nrg2iso = callPackage ../tools/cd-dvd/nrg2iso { };
+
   libceph = ceph.lib;
   ceph = callPackage ../tools/filesystems/ceph { boost = boost159; };
   ceph-dev = ceph;
@@ -1280,6 +1277,7 @@ in
 
   coreutils = callPackage ../tools/misc/coreutils {
     aclSupport = stdenv.isLinux;
+    attrSupport = stdenv.isLinux;
   };
 
   coreutils-prefixed = coreutils.override { withPrefix = true; singleBinary = false; };
@@ -1371,6 +1369,8 @@ in
 
   dcfldd = callPackage ../tools/system/dcfldd { };
 
+  debianutils = callPackage ../tools/misc/debianutils { };
+
   debian-devscripts = callPackage ../tools/misc/debian-devscripts {
     inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry;
   };
@@ -1474,6 +1474,10 @@ in
 
   doomseeker = callPackage ../applications/misc/doomseeker { };
 
+  slade = callPackage ../applications/misc/slade {
+    wxGTK = wxGTK30;
+  };
+
   drive = callPackage ../applications/networking/drive { };
 
   driftnet = callPackage ../tools/networking/driftnet {};
@@ -1544,7 +1548,21 @@ in
 
   emscripten = callPackage ../development/compilers/emscripten { };
 
-  emscriptenfastcomp = callPackage ../development/compilers/emscripten-fastcomp { };
+  emscriptenfastcomp-unwrapped = callPackage ../development/compilers/emscripten-fastcomp { };
+  emscriptenfastcomp-wrapped = wrapCCWith ccWrapperFun stdenv.cc.libc ''
+    # hardening flags break WASM support
+    cat > $out/nix-support/add-hardening.sh
+  '' emscriptenfastcomp-unwrapped;
+  emscriptenfastcomp = symlinkJoin {
+    name = "emscriptenfastcomp";
+    paths = [ emscriptenfastcomp-wrapped emscriptenfastcomp-unwrapped ];
+    preferLocalBuild = false;
+    allowSubstitutes = true;
+    postBuild = ''
+      # replace unwrapped clang-3.9 binary by wrapper
+      ln -sf $out/bin/clang $out/bin/clang-[0-9]*
+    '';
+  };
 
   emscriptenPackages = recurseIntoAttrs (callPackage ./emscripten-packages.nix { });
 
@@ -1802,16 +1820,16 @@ in
 
   gawp = callPackage ../tools/misc/gawp { };
 
-  gazeboSimulator = recurseIntoAttrs {
+  gazeboSimulator = recurseIntoAttrs rec {
     sdformat = gazeboSimulator.sdformat4;
 
     sdformat3 = callPackage ../development/libraries/sdformat/3.nix { };
 
     sdformat4 = callPackage ../development/libraries/sdformat { };
 
-    gazebo6 = callPackage ../applications/science/robotics/gazebo/6.nix { };
+    gazebo6 = callPackage ../applications/science/robotics/gazebo/6.nix { boost = boost160; };
 
-    gazebo6-headless = callPackage ../applications/science/robotics/gazebo/6.nix { withHeadless = true;  };
+    gazebo6-headless = gazebo6.override { withHeadless = true;  };
 
     gazebo7 = callPackage ../applications/science/robotics/gazebo { };
 
@@ -1852,6 +1870,8 @@ in
 
   git-lfs = callPackage ../applications/version-management/git-lfs { };
 
+  git-up = callPackage ../applications/version-management/git-up { };
+
   gitfs = callPackage ../tools/filesystems/gitfs { };
 
   gitinspector = callPackage ../applications/version-management/gitinspector { };
@@ -1880,6 +1900,10 @@ in
     stdenv = overrideCC stdenv gcc49;
   };
 
+  gnome15 = callPackage ../applications/misc/gnome15 {
+    inherit (gnome2) gnome_python gnome_python_desktop;
+  };
+
   gnokii = callPackage ../tools/misc/gnokii { };
 
   gnuapl = callPackage ../development/interpreters/gnu-apl { };
@@ -1913,6 +1937,8 @@ in
   gnuplot_aquaterm = gnuplot.override { aquaterm = true; };
 
   gnused = callPackage ../tools/text/gnused { };
+  # This is an easy work-around for [:space:] problems.
+  gnused_422 = callPackage ../tools/text/gnused/422.nix { };
 
   gnutar = callPackage ../tools/archivers/gnutar { };
 
@@ -1922,6 +1948,8 @@ in
 
   gocryptfs = callPackage ../tools/filesystems/gocrypfs { };
 
+  godot = callPackage ../development/tools/godot {};
+
   go-mtpfs = callPackage ../tools/filesystems/go-mtpfs { };
 
   go-pup = callPackage ../development/tools/pup { };
@@ -1960,9 +1988,11 @@ in
     pythonPackages = pypyPackages;
   };
 
-  graphviz = callPackage ../tools/graphics/graphviz { };
+  graphviz = callPackage ../tools/graphics/graphviz {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
+  };
 
-  graphviz-nox = callPackage ../tools/graphics/graphviz {
+  graphviz-nox = graphviz.override {
     xorg = null;
     libdevil = libdevil-nox;
   };
@@ -1977,7 +2007,9 @@ in
    * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for
    * objections before removal. The feature is libgraph.
    */
-  graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix { };
+  graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
+  };
 
   grin = callPackage ../tools/text/grin { };
   ripgrep = callPackage ../tools/text/ripgrep { };
@@ -2042,7 +2074,8 @@ in
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest {};
-  gmock = callPackage ../development/libraries/gmock {};
+  gmock = gtest;
+  gbenchmark = callPackage ../development/libraries/gbenchmark {};
 
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
 
@@ -2139,6 +2172,8 @@ in
 
   hevea = callPackage ../tools/typesetting/hevea { };
 
+  hhpc = callPackage ../tools/misc/hhpc { };
+
   hiera-eyaml = callPackage ../tools/system/hiera-eyaml { };
 
   hfsprogs = callPackage ../tools/filesystems/hfsprogs { };
@@ -2247,6 +2282,8 @@ in
 
   iops = callPackage ../tools/system/iops { };
 
+  ior = callPackage ../tools/system/ior { };
+
   iodine = callPackage ../tools/networking/iodine { };
 
   ip2location = callPackage ../tools/networking/ip2location { };
@@ -2289,6 +2326,8 @@ in
 
   jaaa = callPackage ../applications/audio/jaaa { };
 
+  jade = callPackage ../tools/text/sgml/jade { };
+
   jd-gui = callPackage_i686 ../tools/security/jd-gui { };
 
   jdiskreport = callPackage ../tools/misc/jdiskreport { };
@@ -2494,7 +2533,7 @@ in
 
   ninka = callPackage ../development/tools/misc/ninka { };
 
-  nodejs = nodejs-6_x;
+  nodejs = hiPrio nodejs-6_x;
 
   nodejs-slim = nodejs-slim-6_x;
 
@@ -2546,11 +2585,15 @@ in
 
   ldapvi = callPackage ../tools/misc/ldapvi { };
 
-  ldns = callPackage ../development/libraries/ldns { };
+  ldns = callPackage ../development/libraries/ldns {
+    openssl = openssl_1_1_0;
+  };
 
   leafpad = callPackage ../applications/editors/leafpad { };
 
-  leatherman = callPackage ../development/libraries/leatherman {};
+  leatherman = callPackage ../development/libraries/leatherman {
+    boost = boost160;
+  };
 
   leela = callPackage ../tools/graphics/leela { };
 
@@ -2596,6 +2639,8 @@ in
 
   libmongo-client = callPackage ../development/libraries/libmongo-client { };
 
+  libmesode = callPackage ../development/libraries/libmesode { };
+
   libnabo = callPackage ../development/libraries/libnabo { };
 
   libpointmatcher = callPackage ../development/libraries/libpointmatcher { };
@@ -2634,6 +2679,8 @@ in
 
   logstalgia = callPackage ../tools/graphics/logstalgia {};
 
+  loki = callPackage ../development/libraries/loki { };
+
   longview = callPackage ../servers/monitoring/longview { };
 
   lout = callPackage ../tools/typesetting/lout { };
@@ -2690,6 +2737,8 @@ in
 
   makemkv = callPackage ../applications/video/makemkv { };
 
+  makerpm = callPackage ../development/tools/makerpm { };
+
   # See https://github.com/NixOS/nixpkgs/issues/15849. I'm switching on isLinux because
   # it looks like gnulib is broken on non-linux, so it seems likely that this would cause
   # trouble on bsd and/or cygwin as well.
@@ -2777,6 +2826,14 @@ in
 
   minixml = callPackage ../development/libraries/minixml { };
 
+  mir-qualia = callPackage ../tools/text/mir-qualia {
+    pythonPackages = python3Packages;
+  };
+
+  miredo = callPackage ../tools/networking/miredo { };
+
+  mitmproxy = callPackage ../tools/networking/mitmproxy { };
+
   mjpegtoolsFull = callPackage ../tools/video/mjpegtools { };
 
   mjpegtools = self.mjpegtoolsFull.override {
@@ -3116,6 +3173,8 @@ in
 
   olsrd = callPackage ../tools/networking/olsrd { };
 
+  os-prober = callPackage ../tools/misc/os-prober {};
+
   ossec = callPackage ../tools/security/ossec {};
 
   ostree = callPackage ../tools/misc/ostree { };
@@ -3163,6 +3222,8 @@ in
 
   paper-gtk-theme = callPackage ../misc/themes/paper { };
 
+  paperwork = callPackage ../applications/office/paperwork { };
+
   par2cmdline = callPackage ../tools/networking/par2cmdline { };
 
   parallel = callPackage ../tools/misc/parallel { };
@@ -3524,7 +3585,10 @@ in
 
   remind = callPackage ../tools/misc/remind { };
 
-  remmina = callPackage ../applications/networking/remote/remmina {};
+  remmina = callPackage ../applications/networking/remote/remmina {
+    adwaita-icon-theme = gnome3.adwaita-icon-theme;
+    gsettings_desktop_schemas = gnome3.gsettings_desktop_schemas;
+  };
 
   renameutils = callPackage ../tools/misc/renameutils { };
 
@@ -3789,10 +3853,9 @@ in
 
   su-exec = callPackage ../tools/security/su-exec {};
 
-  subsurface =
-    qt55.callPackage ../applications/misc/subsurface {
-        libgit2 = pkgs.libgit2_0_23;
-    };
+  subsurface = qt55.callPackage ../applications/misc/subsurface {
+    libdivecomputer = libdivecomputer_ssrf;
+  };
 
   sudo = callPackage ../tools/security/sudo { };
 
@@ -4129,6 +4192,13 @@ in
     openssl = null;
   };
 
+  ding-libs = callPackage ../tools/misc/ding-libs { };
+
+  sssd = callPackage ../os-specific/linux/sssd {
+    inherit (perlPackages) Po4a;
+    inherit (python27Packages) ldap;
+  };
+
   vtun = callPackage ../tools/networking/vtun { };
 
   wakatime = callPackage ../tools/misc/wakatime { };
@@ -4327,6 +4397,8 @@ in
 
   which = callPackage ../tools/system/which { };
 
+  chase = callPackage ../tools/system/chase { };
+
   wicd = callPackage ../tools/networking/wicd { };
 
   wipe = callPackage ../tools/security/wipe { };
@@ -4481,6 +4553,8 @@ in
 
   zsh-syntax-highlighting = callPackage ../shells/zsh-syntax-highlighting { };
 
+  zsh-autosuggestions = callPackage ../shells/zsh-autosuggestions { };
+
   zstd = callPackage ../tools/compression/zstd { };
 
   zsync = callPackage ../tools/compression/zsync { };
@@ -4490,7 +4564,7 @@ in
 
   ### SHELLS
 
-  bash = lowPrio (callPackage ../shells/bash/4.3.nix {
+  bash = lowPrio (callPackage ../shells/bash/4.4.nix {
     texinfo = null;
     interactive = stdenv.isCygwin; # patch for cygwin requires readline support
   });
@@ -4634,11 +4708,14 @@ in
     '';
   });
 
+  crystal = callPackage ../development/compilers/crystal { };
+
   devpi-client = callPackage ../development/tools/devpi-client {};
 
   drumstick = callPackage ../development/libraries/drumstick { };
 
   ecl = callPackage ../development/compilers/ecl { };
+  ecl_16_1_2 = callPackage ../development/compilers/ecl/16.1.2.nix { };
 
   eql = callPackage ../development/compilers/eql {};
 
@@ -4887,6 +4964,8 @@ in
     gmp = gmp4;
   };
 
+  gcl_2_6_13_pre = callPackage ../development/compilers/gcl/2.6.13-pre.nix { };
+
   gcc-arm-embedded-4_7 = callPackage_i686 ../development/compilers/gcc-arm-embedded {
     version = "4.7-2013q3-20130916";
     releaseType = "update";
@@ -4944,7 +5023,9 @@ in
 
   hxcpp = callPackage ../development/compilers/haxe/hxcpp.nix { };
 
-  hhvm = callPackage ../development/compilers/hhvm { };
+  hhvm = callPackage ../development/compilers/hhvm {
+    boost = boost160;
+  };
 
   hop = callPackage ../development/compilers/hop { };
 
@@ -5110,6 +5191,8 @@ in
 
   lizardfs = callPackage ../tools/filesystems/lizardfs { };
 
+  lldb = llvmPackages.lldb;
+
   llvm = llvmPackages.llvm;
 
   llvm_39 = llvmPackages_39.llvm;
@@ -5138,9 +5221,13 @@ in
     inherit (stdenvAdapters) overrideCC;
   };
 
-  llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 {
+  llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({
     inherit (stdenvAdapters) overrideCC;
-  };
+  } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+    cmake = cmake.override { isBootstrap = true; useSharedLibraries = false; };
+    libxml2 = libxml2.override { pythonSupport = false; };
+    python2 = callPackage ../development/interpreters/python/cpython/2.7/boot.nix { inherit (darwin) CF configd; };
+  });
 
   llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 {
     inherit (stdenvAdapters) overrideCC;
@@ -5193,6 +5280,7 @@ in
 
   nim = callPackage ../development/compilers/nim { };
   nimble = callPackage ../development/tools/nimble { };
+  nrpl = callPackage ../development/tools/nrpl { };
 
   neko = callPackage ../development/compilers/neko { };
 
@@ -5240,12 +5328,17 @@ in
   };
 
   rust = rustStable;
-  rustcNightlyBin = lowPrio (callPackage ../development/compilers/rust/nightlyBin.nix {});
   rustStable = callPackage ../development/compilers/rust {};
   rustBeta = callPackage ../development/compilers/rust/beta.nix {};
   rustNightly = callPackage ../development/compilers/rust/nightly.nix {
     rustPlatform = recurseIntoAttrs (makeRustPlatform rustBeta);
   };
+  rustNightlyBin = callPackage ../development/compilers/rust/nightlyBin.nix {
+     buildRustPackage = callPackage ../build-support/rust {
+       rust = rustNightlyBin;
+       rustRegistry = callPackage ./rust-packages.nix { };
+     };
+  };
 
   cargo = rust.cargo;
   rustc = rust.rustc;
@@ -5273,6 +5366,8 @@ in
 
   sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
   sbcl = callPackage ../development/compilers/sbcl {};
+  # For Maxima
+  sbcl_1_3_12 = callPackage ../development/compilers/sbcl/1.3.12.nix { };
   # For StumpWM
   sbcl_1_2_5 = callPackage ../development/compilers/sbcl/1.2.5.nix {
     clisp = clisp;
@@ -5319,7 +5414,9 @@ in
     lua = lua5_1;
   };
 
-  teyjus = callPackage ../development/compilers/teyjus { };
+  teyjus = callPackage ../development/compilers/teyjus {
+    omake = omake_rc1;
+  };
 
   thrust = callPackage ../development/tools/thrust {
     gconf = pkgs.gnome2.GConf;
@@ -5403,6 +5500,7 @@ in
   ceptre = callPackage ../development/interpreters/ceptre { };
 
   clisp = callPackage ../development/interpreters/clisp { };
+  clisp-tip = callPackage ../development/interpreters/clisp/hg.nix { };
 
   # compatibility issues in 2.47 - at list 2.44.1 is known good
   # for sbcl bootstrap.
@@ -5446,32 +5544,40 @@ in
   };
   erlangR18 = callPackage ../development/interpreters/erlang/R18.nix {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    wxGTK = wxGTK30;
   };
   erlangR18_odbc = callPackage ../development/interpreters/erlang/R18.nix {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    wxGTK = wxGTK30;
     odbcSupport = true;
   };
   erlangR18_javac = callPackage ../development/interpreters/erlang/R18.nix {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    wxGTK = wxGTK30;
     javacSupport = true;
   };
   erlangR18_odbc_javac = callPackage ../development/interpreters/erlang/R18.nix {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    wxGTK = wxGTK30;
     javacSupport = true; odbcSupport = true;
   };
   erlangR19 = callPackage ../development/interpreters/erlang/R19.nix {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    wxGTK = wxGTK30;
   };
   erlangR19_odbc = callPackage ../development/interpreters/erlang/R19.nix {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    wxGTK = wxGTK30;
     odbcSupport = true;
   };
   erlangR19_javac = callPackage ../development/interpreters/erlang/R19.nix {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-      javacSupport = true;
+    wxGTK = wxGTK30;
+    javacSupport = true;
   };
   erlangR19_odbc_javac = callPackage ../development/interpreters/erlang/R19.nix {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    wxGTK = wxGTK30;
     javacSupport = true; odbcSupport = true;
   };
   erlang = erlangR18;
@@ -5612,6 +5718,8 @@ in
 
   inherit (callPackages ../development/interpreters/perl {}) perl perl520 perl522;
 
+  pachyderm = callPackage ../applications/networking/cluster/pachyderm { };
+
   php = php70;
 
   phpPackages = php70Packages;
@@ -5743,7 +5851,8 @@ in
     ruby_2_0_0
     ruby_2_1_10
     ruby_2_2_5
-    ruby_2_3_3;
+    ruby_2_3_3
+    ruby_2_4_0;
 
   # Ruby aliases
   ruby = ruby_2_3;
@@ -5752,6 +5861,7 @@ in
   ruby_2_1 = ruby_2_1_10;
   ruby_2_2 = ruby_2_2_5;
   ruby_2_3 = ruby_2_3_3;
+  ruby_2_4 = ruby_2_4_0;
 
   scsh = callPackage ../development/interpreters/scsh { };
 
@@ -6049,7 +6159,6 @@ in
   };
 
   cmake = callPackage ../development/tools/build-managers/cmake {
-    wantPS = stdenv.isDarwin;
     inherit (darwin) ps;
   };
 
@@ -6185,6 +6294,7 @@ in
   jdepend = callPackage ../development/tools/analysis/jdepend { };
 
   flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { };
+  flex_2_6_1 = callPackage ../development/tools/parsing/flex/2.6.1.nix { };
   flex = callPackage ../development/tools/parsing/flex/default.nix { };
 
   flexcpp = callPackage ../development/tools/parsing/flexc++ { };
@@ -6369,6 +6479,8 @@ in
     inherit (ocamlPackages_4_02) ocaml;
   };
 
+  inherit (ocamlPackages) omake_rc1;
+
   omniorb = callPackage ../development/tools/omniorb { };
 
   opengrok = callPackage ../development/tools/misc/opengrok { };
@@ -6414,9 +6526,7 @@ in
 
   premake = premake4;
 
-  qtcreator = qt5.callPackage ../development/qtcreator {
-    withDocumentation = false; # 'true' is currently broken with qt>=5.5
-  };
+  qtcreator = qt5.callPackage ../development/qtcreator { };
 
   r10k = callPackage ../tools/system/r10k { };
 
@@ -6437,10 +6547,11 @@ in
     luaBindings = config.radare.luaBindings or false;
   };
 
+  ragel = ragelStable;
 
-  ragel = callPackage ../development/tools/parsing/ragel {
-    tex = texlive.combined.scheme-small;
-  };
+  inherit (callPackages ../development/tools/parsing/ragel {
+      tex = texlive.combined.scheme-small;
+    }) ragelStable ragelDev;
 
   hammer = callPackage ../development/tools/parsing/hammer { };
 
@@ -6477,6 +6588,8 @@ in
   sbt = callPackage ../development/tools/build-managers/sbt { };
   simpleBuildTool = sbt;
 
+  shards = callPackage ../development/tools/build-managers/shards { };
+
   shellcheck = self.haskellPackages.ShellCheck;
 
   shncpd = callPackage ../tools/networking/shncpd { };
@@ -6583,10 +6696,14 @@ in
 
   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
 
-  inherit (ocaml-ng.ocamlPackages_4_02) verasco;
+  verasco = ocaml-ng.ocamlPackages_4_02.verasco.override {
+    coq = coq_8_4;
+  };
 
   visualvm = callPackage ../development/tools/java/visualvm { };
 
+  vultr = callPackage ../development/tools/vultr { };
+
   xc3sprog = callPackage ../development/tools/misc/xc3sprog { };
 
   xcbuild  = callPackage ../development/tools/xcbuild/wrapper.nix {
@@ -6717,7 +6834,8 @@ in
   boost155 = callPackage ../development/libraries/boost/1.55.nix { };
   boost159 = callPackage ../development/libraries/boost/1.59.nix { };
   boost160 = callPackage ../development/libraries/boost/1.60.nix { };
-  boost = boost160;
+  boost162 = callPackage ../development/libraries/boost/1.62.nix { };
+  boost = boost162;
 
   boost_process = callPackage ../development/libraries/boost-process { };
 
@@ -6917,6 +7035,7 @@ in
   eclib = callPackage ../development/libraries/eclib {};
 
   eigen = callPackage ../development/libraries/eigen {};
+  eigen3_3 = callPackage ../development/libraries/eigen/3.3.nix {};
 
   eigen2 = callPackage ../development/libraries/eigen/2.0.nix {};
 
@@ -6978,6 +7097,9 @@ in
   ffmpeg_3_1 = callPackage ../development/libraries/ffmpeg/3.1.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia;
   };
+  ffmpeg_3_2 = callPackage ../development/libraries/ffmpeg/3.2.nix {
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia;
+  };
   # Aliases
   ffmpeg_0 = ffmpeg_0_10;
   ffmpeg_1 = ffmpeg_1_2;
@@ -7030,10 +7152,6 @@ in
   fltk13 = callPackage ../development/libraries/fltk { };
   fltk = self.fltk13;
 
-  fmod = callPackage ../development/libraries/fmod { };
-
-  fmod42416 = callPackage ../development/libraries/fmod/4.24.16.nix { };
-
   fplll = callPackage ../development/libraries/fplll {};
   fplll_20160331 = callPackage ../development/libraries/fplll/20160331.nix {};
 
@@ -7153,9 +7271,6 @@ in
     }
   );
 
-  libgit2_0_21 = callPackage ../development/libraries/git2/0.21.nix { };
-  libgit2_0_23 = callPackage ../development/libraries/git2/0.23.nix { };
-
   gle = callPackage ../development/libraries/gle { };
 
   glew = callPackage ../development/libraries/glew { };
@@ -7274,7 +7389,9 @@ in
     bison = bison2;
   };
 
-  gst_plugins_base = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-base {};
+  gst_plugins_base = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-base {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
+  };
 
   gst_plugins_good = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-good {};
 
@@ -7391,6 +7508,8 @@ in
 
   gtk2 = callPackage ../development/libraries/gtk+/2.x.nix {
     cupsSupport = config.gtk2.cups or stdenv.isLinux;
+    gdktarget = if stdenv.isDarwin then "quartz" else "x11";
+    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
   };
 
   gtk3 = callPackage ../development/libraries/gtk+/3.x.nix { };
@@ -7416,6 +7535,10 @@ in
 
   gtk-sharp-beans = callPackage ../development/libraries/gtk-sharp-beans { };
 
+  gtk-mac-integration = callPackage ../development/libraries/gtk-mac-integration {
+    gtk = gtk2;
+  };
+
   gtkspell2 = callPackage ../development/libraries/gtkspell { };
 
   gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { };
@@ -7485,7 +7608,7 @@ in
 
   hwloc = callPackage ../development/libraries/hwloc {};
 
-  hydra = callPackage ../development/tools/misc/hydra {};
+  hydra = callPackage ../development/tools/misc/hydra { stdenv = overrideCC stdenv gcc6; };
 
   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
 
@@ -7795,6 +7918,8 @@ in
 
   libdivecomputer = callPackage ../development/libraries/libdivecomputer { };
 
+  libdivecomputer_ssrf = callPackage ../development/libraries/libdivecomputer/subsurface.nix { };
+
   libdivsufsort = callPackage ../development/libraries/libdivsufsort { };
 
   libdmtx = callPackage ../development/libraries/libdmtx { };
@@ -8158,6 +8283,8 @@ in
 
   libmcs = callPackage ../development/libraries/libmcs { };
 
+  libmd = callPackage ../development/libraries/libmd { };
+
   libmemcached = callPackage ../development/libraries/libmemcached { };
 
   libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { };
@@ -8242,8 +8369,6 @@ in
 
   libopus = callPackage ../development/libraries/libopus { };
 
-  liborc = callPackage ../development/libraries/liborc { };
-
   libosinfo = callPackage ../development/libraries/libosinfo {
     inherit (gnome3) libsoup;
   };
@@ -8276,7 +8401,9 @@ in
 
   libpfm = callPackage ../development/libraries/libpfm { };
 
-  libpqxx = callPackage ../development/libraries/libpqxx { };
+  libpqxx = callPackage ../development/libraries/libpqxx {
+    gnused = gnused_422;
+  };
 
   libproxy = callPackage ../development/libraries/libproxy {
     stdenv = if stdenv.isDarwin
@@ -8888,6 +9015,8 @@ in
 
   pg_repack = callPackage ../servers/sql/postgresql/pg_repack {};
 
+  pg_similarity = callPackage ../servers/sql/postgresql/pg_similarity {};
+
   phonon = callPackage ../development/libraries/phonon {};
 
   phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix {};
@@ -8919,6 +9048,10 @@ in
 
   poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
 
+  poppler_gi = lowPrio (poppler.override {
+    introspectionSupport = true;
+  });
+
   poppler_min = poppler.override { # TODO: maybe reduce even more
     minimal = true;
     suffix = "min";
@@ -9040,7 +9173,14 @@ in
 
     grantlee = callPackage ../development/libraries/grantlee/5.x.nix { };
 
-    kirigami = callPackage ../development/libraries/kirigami { };
+    kirigami_1 = callPackage ../development/libraries/kirigami { };
+
+    kirigami_2 = callPackage ../development/libraries/kirigami/v2.nix {
+      # kirigami v2 requires qt 5.7 and above
+      inherit (qt57) qtbase qtquickcontrols2;
+    };
+
+    kirigami = kirigami_1;
 
     libcommuni = callPackage ../development/libraries/libcommuni { };
 
@@ -9076,10 +9216,16 @@ in
 
     qca-qt5 = callPackage ../development/libraries/qca-qt5 { };
 
+    qscintilla = callPackage ../development/libraries/qscintilla {
+      withQt5 = true;
+    };
+
     qtkeychain = callPackage ../development/libraries/qtkeychain {
       withQt5 = true;
     };
 
+    qtstyleplugins = callPackage ../development/libraries/qtstyleplugins { };
+
     quazip = callPackage ../development/libraries/quazip {
       qt = qtbase;
     };
@@ -9113,6 +9259,8 @@ in
 
   qwt = callPackage ../development/libraries/qwt {};
 
+  qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix { };
+
   qxt = callPackage ../development/libraries/qxt {};
 
   rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {};
@@ -9155,7 +9303,6 @@ in
   libsmf = callPackage ../development/libraries/audio/libsmf { };
 
   lilv = callPackage ../development/libraries/audio/lilv { };
-  lilv-svn = callPackage ../development/libraries/audio/lilv/lilv-svn.nix { };
 
   lv2 = callPackage ../development/libraries/audio/lv2 { };
   lv2Unstable = callPackage ../development/libraries/audio/lv2/unstable.nix { };
@@ -9285,7 +9432,6 @@ in
   soqt = callPackage ../development/libraries/soqt { };
 
   sord = callPackage ../development/libraries/sord {};
-  sord-svn = callPackage ../development/libraries/sord/sord-svn.nix {};
 
   soundtouch = callPackage ../development/libraries/soundtouch {};
 
@@ -9428,6 +9574,8 @@ in
 
   tivodecode = callPackage ../applications/video/tivodecode { };
 
+  tix = callPackage ../development/libraries/tix { };
+
   tk = tk-8_6;
 
   tk-8_6 = callPackage ../development/libraries/tk/8.6.nix { };
@@ -9581,7 +9729,7 @@ in
 
   wcslib = callPackage ../development/libraries/wcslib { };
 
-  webkitgtk = webkitgtk212x;
+  webkitgtk = webkitgtk214x;
 
   webkitgtk24x = callPackage ../development/libraries/webkitgtk/2.4.nix {
     harfbuzz = harfbuzz-icu;
@@ -9626,17 +9774,19 @@ in
   wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix {
     inherit (gnome2) GConf;
     inherit (darwin.stubs) setfile;
+    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime;
     withMesa = lib.elem system lib.platforms.mesaPlatforms;
   };
 
   wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix {
     inherit (gnome2) GConf;
     inherit (darwin.stubs) setfile;
+    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
     withMesa = lib.elem system lib.platforms.mesaPlatforms;
   };
 
   wxmac = callPackage ../development/libraries/wxmac {
-    inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel QuickTime;
+    inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel;
     inherit (darwin.stubs) setfile rez derez;
   };
 
@@ -9984,6 +10134,8 @@ in
 
     mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { };
 
+    mod_perl = callPackage ../servers/http/apache-modules/mod_perl { };
+
     mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { };
 
     mod_python = callPackage ../servers/http/apache-modules/mod_python { };
@@ -10274,11 +10426,11 @@ in
   mariadb = callPackage ../servers/sql/mariadb {
     inherit (darwin) cctools;
     inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
-    boost = boost159;
   };
 
   mongodb = callPackage ../servers/nosql/mongodb {
     sasl = cyrus_sasl;
+    boost = boost160;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
@@ -10287,10 +10439,12 @@ in
   riak = callPackage ../servers/nosql/riak/2.1.1.nix { };
 
   riak-cs = callPackage ../servers/nosql/riak-cs/2.1.1.nix {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
     erlang = erlang_basho_R16B02;
   };
 
   stanchion = callPackage ../servers/nosql/riak-cs/stanchion.nix {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
     erlang = erlang_basho_R16B02;
   };
 
@@ -10376,12 +10530,15 @@ in
   prometheus-cli = callPackage ../servers/monitoring/prometheus/cli.nix { };
   prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { };
   prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
+  prometheus-json-exporter = callPackage ../servers/monitoring/prometheus/json-exporter.nix { };
   prometheus-mesos-exporter = callPackage ../servers/monitoring/prometheus/mesos-exporter.nix { };
   prometheus-mysqld-exporter = callPackage ../servers/monitoring/prometheus/mysqld-exporter.nix { };
   prometheus-nginx-exporter = callPackage ../servers/monitoring/prometheus/nginx-exporter.nix { };
   prometheus-node-exporter = callPackage ../servers/monitoring/prometheus/node-exporter.nix { };
   prometheus-pushgateway = callPackage ../servers/monitoring/prometheus/pushgateway.nix { };
+  prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { };
   prometheus-statsd-bridge = callPackage ../servers/monitoring/prometheus/statsd-bridge.nix { };
+  prometheus-varnish-exporter = callPackage ../servers/monitoring/prometheus/varnish-exporter.nix { };
 
   psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { };
 
@@ -10979,8 +11136,6 @@ in
   linux_3_12 = callPackage ../os-specific/linux/kernel/linux-3.12.nix {
     kernelPatches = with kernelPatches;
       [ bridge_stp_helper
-        crc_regression
-        packet_fix_race_condition_CVE_2016_8655
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -11017,6 +11172,7 @@ in
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
         kernelPatches.cpu-cgroup-v2."4.4"
+        kernelPatches.p9_caching_4_4
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -11028,12 +11184,12 @@ in
   linux_4_8 = callPackage ../os-specific/linux/kernel/linux-4.8.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
-        kernelPatches.multithreaded_rsapubkey
         # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
         # when adding a new linux version
         # !!! 4.7 patch doesn't apply, 4.8 patch not up yet, will keep checking
         # kernelPatches.cpu-cgroup-v2."4.7"
         kernelPatches.modinst_arg_list_too_long
+        kernelPatches.panic_on_icmp6_frag_CVE_2016_9919
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -11125,6 +11281,8 @@ in
 
     odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { };
 
+    ofp = callPackage ../os-specific/linux/ofp { };
+
     e1000e = callPackage ../os-specific/linux/e1000e {};
 
     ixgbevf = callPackage ../os-specific/linux/ixgbevf {};
@@ -11181,10 +11339,12 @@ in
 
     seturgent = callPackage ../os-specific/linux/seturgent { };
 
-    spl = callPackage ../os-specific/linux/spl {
+    inherit (callPackage ../os-specific/linux/spl {
       configFile = "kernel";
       inherit kernel;
-    };
+    }) splStable splUnstable;
+
+    spl = splStable;
 
     sysdig = callPackage ../os-specific/linux/sysdig {};
 
@@ -11208,10 +11368,12 @@ in
 
     x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
 
-    zfs = callPackage ../os-specific/linux/zfs {
+    inherit (callPackage ../os-specific/linux/zfs {
       configFile = "kernel";
       inherit kernel spl;
-    };
+    }) zfsStable zfsUnstable;
+
+    zfs = zfsStable;
   });
 
   # The current default kernel / kernel modules.
@@ -11252,7 +11414,6 @@ in
     inherit (lib) overrideDerivation;
     kernel = callPackage ../os-specific/linux/kernel/linux-grsecurity.nix {
       kernelPatches = with self.kernelPatches; [
-        kernelPatches.multithreaded_rsapubkey
         bridge_stp_helper
         modinst_arg_list_too_long
       ] ++ lib.optionals ((platform.kernelArch or null) == "mips")
@@ -11339,11 +11500,10 @@ in
 
   lvm2 = callPackage ../os-specific/linux/lvm2 { };
 
-  thin_provisioning_tools = callPackage ../os-specific/linux/thin-provisioning-tools { };
-
   mbpfan = callPackage ../os-specific/linux/mbpfan { };
 
   mdadm = callPackage ../os-specific/linux/mdadm { };
+  mdadm4 = callPackage ../os-specific/linux/mdadm/4.nix { };
 
   mingetty = callPackage ../os-specific/linux/mingetty { };
 
@@ -11523,9 +11683,11 @@ in
 
   statifier = callPackage ../os-specific/linux/statifier { };
 
-  spl = callPackage ../os-specific/linux/spl {
+  inherit (callPackage ../os-specific/linux/spl {
     configFile = "user";
-  };
+  }) splStable splUnstable;
+
+  spl = splStable;
 
   sysdig = callPackage ../os-specific/linux/sysdig {
     kernel = null;
@@ -11620,8 +11782,7 @@ in
 
   eudev = callPackage ../os-specific/linux/eudev {};
 
-  # libudev.so.0
-  udev182 = callPackage ../os-specific/linux/udev/182.nix { };
+  libudev0-shim = callPackage ../os-specific/linux/libudev0-shim/default.nix { };
 
   udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { };
   udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { };
@@ -11730,9 +11891,11 @@ in
 
   zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { };
 
-  zfs = callPackage ../os-specific/linux/zfs {
+  inherit (callPackage ../os-specific/linux/zfs {
     configFile = "user";
-  };
+  }) zfsStable zfsUnstable;
+
+  zfs = zfsStable;
 
   ### DATA
 
@@ -12196,19 +12359,10 @@ in
 
   amsn = callPackage ../applications/networking/instant-messengers/amsn { };
 
-  # Oracle JDK is recommended upstream, but unfree and requires a manual
-  # download. OpenJDK is straightforward, but may suffer from compatibility
-  # problems e.g. https://code.google.com/p/android/issues/detail?id=174496.
-  # To use Oracle JDK add an override to ~/.nixpkgs/config.nix:
-  # {
-  #   packageOverrides = pkgs: {
-  #     android-studio = pkgs.android-studio.override {
-  #       jdk = pkgs.oraclejdk8;
-  #     };
-  #   };
-  # }
   android-studio = callPackage ../applications/editors/android-studio {
-      inherit (xorg) libX11 libXext libXi libXrandr libXrender libXtst;
+    fontsConf = makeFontsConf {
+      fontDirectories = [];
+    };
   };
 
   antimony = qt5.callPackage ../applications/graphics/antimony {};
@@ -12250,7 +12404,10 @@ in
     giflib = giflib_4_1;
   };
 
+  astroid = callPackage ../applications/networking/mailreaders/astroid { };
+
   audacious = callPackage ../applications/audio/audacious { };
+  audaciousQt5 = qt5.callPackage ../applications/audio/audacious/qt-5.nix { };
 
   audacity = callPackage ../applications/audio/audacity { };
 
@@ -12266,9 +12423,19 @@ in
   bitcoin = altcoins.bitcoin;
   bitcoin-xt = altcoins.bitcoin-xt;
 
+  libbitcoin = callPackage ../tools/misc/libbitcoin/libbitcoin.nix {
+    secp256k1 = secp256k1.override { enableECDH = true; };
+  };
+
+  libbitcoin-client = callPackage ../tools/misc/libbitcoin/libbitcoin-client.nix { };
+
+  libbitcoin-explorer = callPackage ../tools/misc/libbitcoin/libbitcoin-explorer.nix { };
+
   go-ethereum = self.altcoins.go-ethereum;
   ethabi = self.altcoins.ethabi;
 
+  stellar-core = self.altcoins.stellar-core;
+
   aumix = callPackage ../applications/audio/aumix {
     gtkGUI = false;
   };
@@ -12292,15 +12459,15 @@ in
     ffmpeg = ffmpeg_2;
   };
 
-  awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix {
+  awesome-3-5 = callPackage ../applications/window-managers/awesome/3.5.nix {
     cairo = cairo.override { xcbSupport = true; };
-    lua = lua5_1;
+    luaPackages = luaPackages.override { inherit lua; };
   };
-  awesome-3-5 = callPackage ../applications/window-managers/awesome {
+  awesome-4-0 = callPackage ../applications/window-managers/awesome {
     cairo = cairo.override { xcbSupport = true; };
     luaPackages = luaPackages.override { inherit lua; };
   };
-  awesome = awesome-3-5;
+  awesome = awesome-4-0;
 
   awesomebump = qt5.callPackage ../applications/graphics/awesomebump { };
 
@@ -12497,6 +12664,8 @@ in
     inherit (gnome2) GConf ORBit2 metacity;
   };
 
+  confclerk = callPackage ../applications/misc/confclerk { };
+
   copyq = callPackage ../applications/misc/copyq { };
 
   coriander = callPackage ../applications/video/coriander {
@@ -12952,6 +13121,8 @@ in
 
   flacon = callPackage ../applications/audio/flacon { };
 
+  flexget = callPackage ../applications/networking/flexget { };
+
   fldigi = callPackage ../applications/audio/fldigi { };
 
   fluidsynth = callPackage ../applications/audio/fluidsynth {
@@ -12970,6 +13141,8 @@ in
 
   fossil = callPackage ../applications/version-management/fossil { };
 
+  freebayes = callPackage ../applications/science/biology/freebayes { };
+
   freewheeling = callPackage ../applications/audio/freewheeling { };
 
   fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { };
@@ -13077,6 +13250,7 @@ in
     libpng = libpng_apng;
     enableGTK3 = false;
     python = python2;
+    gnused = gnused_422;
   }) firefox-unwrapped firefox-esr-unwrapped;
 
   firefox = wrapFirefox firefox-unwrapped { };
@@ -13115,13 +13289,17 @@ in
 
   flac = callPackage ../applications/audio/flac { };
 
-  flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 {
-    debug = config.flashplayer.debug or false;
+  flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer {
+      debug = config.flashplayer.debug or false;
   };
 
-  flashplayer-standalone = pkgsi686Linux.flashplayer.sa;
+  flashplayer-standalone = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix {
+      debug = config.flashplayer.debug or false;
+  };
 
-  flashplayer-standalone-debugger = (pkgsi686Linux.flashplayer.override { debug = true; }).sa;
+  flashplayer-standalone-debugger = flashplayer-standalone.override {
+      debug = true;
+  };
 
   fluxbox = callPackage ../applications/window-managers/fluxbox { };
 
@@ -13158,6 +13336,8 @@ in
     boost = boost155;
   };
 
+  fte = callPackage ../applications/editors/fte { };
+
   game-music-emu = callPackage ../applications/audio/game-music-emu { };
 
   gcolor2 = callPackage ../applications/graphics/gcolor2 { };
@@ -13511,7 +13691,37 @@ in
     ghostscript = null;
   };
 
-  imagemagickBig = callPackage ../applications/graphics/ImageMagick { };
+  imagemagickBig = callPackage ../applications/graphics/ImageMagick {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
+  };
+
+  imagemagick7_light = lowPrio (imagemagick7.override {
+    bzip2 = null;
+    zlib = null;
+    libX11 = null;
+    libXext = null;
+    libXt = null;
+    fontconfig = null;
+    freetype = null;
+    ghostscript = null;
+    libjpeg = null;
+    lcms2 = null;
+    openexr = null;
+    libpng = null;
+    librsvg = null;
+    libtiff = null;
+    libxml2 = null;
+    openjpeg = null;
+    libwebp = null;
+  });
+
+  imagemagick7 = lowPrio (imagemagick7Big.override {
+    ghostscript = null;
+  });
+
+  imagemagick7Big = lowPrio (callPackage ../applications/graphics/ImageMagick/7.0.nix {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
+  });
 
   # Impressive, formerly known as "KeyJNote".
   impressive = callPackage ../applications/office/impressive { };
@@ -13598,6 +13808,8 @@ in
 
   kdeconnect = qt5.callPackage ../applications/misc/kdeconnect { };
 
+  kdecoration-viewer = kde5.callPackage ../tools/misc/kdecoration-viewer {};
+
   kdevelop-pg-qt = kde5.callPackage ../applications/editors/kdevelop5/kdevelop-pg-qt.nix {};
 
   kdevelop = kde5.callPackage ../applications/editors/kdevelop5/kdevelop.nix {
@@ -13961,6 +14173,8 @@ in
 
   normalize = callPackage ../applications/audio/normalize { };
 
+  mm = callPackage ../applications/networking/instant-messengers/mm { };
+
   mplayer = callPackage ../applications/video/mplayer ({
     pulseSupport = config.pulseaudio or false;
     libdvdnav = libdvdnav_4_2_1;
@@ -14025,10 +14239,10 @@ in
     withSidebar = true;
   };
 
-  mutt-kz = callPackage ../applications/networking/mailreaders/mutt-kz { };
-
   neomutt = callPackage ../applications/networking/mailreaders/neomutt { };
 
+  natron = callPackage ../applications/video/natron { };
+
   notion = callPackage ../applications/window-managers/notion { };
 
   openshift = callPackage ../applications/networking/cluster/openshift { };
@@ -14113,6 +14327,8 @@ in
 
   diffpdf = callPackage ../applications/misc/diffpdf { };
 
+  mlocate = callPackage ../tools/misc/mlocate { };
+
   mypaint = callPackage ../applications/graphics/mypaint { };
 
   mythtv = callPackage ../applications/video/mythtv { };
@@ -14343,6 +14559,8 @@ in
 
   pommed = callPackage ../os-specific/linux/pommed {};
 
+  pommed_light = callPackage ../os-specific/linux/pommed-light {};
+
   pond = callPackage ../applications/networking/instant-messengers/pond { };
 
   ponymix = callPackage ../applications/audio/ponymix { };
@@ -14351,6 +14569,8 @@ in
 
   posterazor = callPackage ../applications/misc/posterazor { };
 
+  ppl-address-book = callPackage ../applications/office/ppl-address-book { };
+
   pqiv = callPackage ../applications/graphics/pqiv { };
 
   qiv = callPackage ../applications/graphics/qiv { };
@@ -14368,6 +14588,8 @@ in
     autoAwaySupport = config.profanity.autoAwaySupport or true;
   };
 
+  psol = callPackage ../development/libraries/psol/default.nix { };
+
   pstree = callPackage ../applications/misc/pstree { };
 
   pulseview = callPackage ../applications/science/electronics/pulseview { };
@@ -14393,6 +14615,11 @@ in
     inherit (darwin.stubs) rez setfile;
   };
 
+  qemu_28 = callPackage ../applications/virtualization/qemu/2.8.nix {
+    inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa;
+    inherit (darwin.stubs) rez setfile;
+  };
+
   qgis = callPackage ../applications/gis/qgis {};
 
   qgroundcontrol = qt55.callPackage ../applications/science/robotics/qgroundcontrol { };
@@ -14415,6 +14642,8 @@ in
     qt = qt4;
   };
 
+  qsyncthingtray = qt5.callPackage ../applications/misc/qsyncthingtray { };
+
   qsynth = callPackage ../applications/audio/qsynth { };
 
   qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
@@ -14711,6 +14940,8 @@ in
 
   dropbox-cli = callPackage ../applications/networking/dropbox-cli { };
 
+  insync = callPackage ../applications/networking/insync { };
+
   lightdm = qt5.callPackage ../applications/display-managers/lightdm {
     qt4 = null;
     withQt5 = false;
@@ -14792,6 +15023,8 @@ in
 
   ssr = callPackage ../applications/audio/soundscape-renderer {};
 
+  ssrc = callPackage ../applications/audio/ssrc { };
+
   stalonetray = callPackage ../applications/window-managers/stalonetray {};
 
   stp = callPackage ../applications/science/logic/stp {};
@@ -15013,7 +15246,9 @@ in
 
   tuxguitar = callPackage ../applications/editors/music/tuxguitar { };
 
-  twister = callPackage ../applications/networking/p2p/twister { };
+  twister = callPackage ../applications/networking/p2p/twister {
+    boost = boost160;
+  };
 
   twmn = qt5.callPackage ../applications/misc/twmn { };
 
@@ -15374,7 +15609,7 @@ in
   };
   xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers;
 
-  xca = callPackage ../applications/misc/xca { };
+  xca = qt5.callPackage ../applications/misc/xca { };
 
   xcalib = callPackage ../tools/X11/xcalib { };
 
@@ -15418,6 +15653,8 @@ in
 
   xfig = callPackage ../applications/graphics/xfig { };
 
+  xfractint = callPackage ../applications/graphics/xfractint {};
+
   xineUI = callPackage ../applications/video/xine-ui { };
 
   xmind = callPackage ../applications/misc/xmind { };
@@ -15488,6 +15725,8 @@ in
   #TODO: 'pil' is not available for python3, yet
   xpraGtk3 = callPackage ../tools/X11/xpra/gtk3.nix { inherit (texFunctions) fontsConf; inherit (python3Packages) buildPythonApplication python cython pygobject3 pycairo; };
 
+  xrectsel = callPackage ../tools/X11/xrectsel { };
+
   xrestop = callPackage ../tools/X11/xrestop { };
 
   xsd = callPackage ../development/libraries/xsd { };
@@ -15688,7 +15927,9 @@ in
 
   dhewm3 = callPackage ../games/dhewm3 {};
 
-  digikam5 = kde5.callPackage ../applications/graphics/digikam/5.nix {};
+  digikam5 = kde5.callPackage ../applications/graphics/digikam/5.nix {
+    boost = boost160;
+  };
 
   drumkv1 = callPackage ../applications/audio/drumkv1 { };
 
@@ -15747,7 +15988,9 @@ in
 
   freedink = callPackage ../games/freedink { };
 
-  freeorion = callPackage ../games/freeorion { };
+  freeorion = callPackage ../games/freeorion {
+    boost = boost160;
+  };
 
   frotz = callPackage ../games/frotz { };
 
@@ -16131,7 +16374,7 @@ in
     libjpeg = libjpeg62;
   };
 
-  warzone2100 = callPackage ../games/warzone2100 { };
+  warzone2100 = qt5.callPackage ../games/warzone2100 { };
 
   wesnoth = callPackage ../games/wesnoth { };
 
@@ -16171,10 +16414,11 @@ in
 
   xsnow = callPackage ../games/xsnow { };
 
+  xsok = callPackage ../games/xsok { };
+
   xsokoban = callPackage ../games/xsokoban { };
 
   zandronum = callPackage ../games/zandronum {
-    fmod = fmod42416;
     cmake = cmake_2_8;
   };
 
@@ -16673,6 +16917,8 @@ in
 
   sacrifice = callPackage ../applications/science/physics/sacrifice {};
 
+  sherpa = callPackage ../applications/science/physics/sherpa {};
+
   ### SCIENCE/PROGRAMMING
 
   plm = callPackage ../applications/science/programming/plm { };
@@ -16687,38 +16933,34 @@ in
 
   aspino = callPackage ../applications/science/logic/aspino {};
 
-  coq = callPackage ../applications/science/logic/coq {
+  coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
+    make = pkgs.gnumake3;
+    inherit (ocamlPackages_3_12_1) ocaml findlib;
+    camlp5 = ocamlPackages_3_12_1.camlp5_transitional;
+    lablgtk = ocamlPackages_3_12_1.lablgtk_2_14;
+  };
+  coq_8_4 = callPackage ../applications/science/logic/coq/8.4.nix {
     inherit (ocamlPackages_4_01_0) ocaml findlib lablgtk;
     camlp5 = ocamlPackages_4_01_0.camlp5_transitional;
   };
-
-  coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {
+  coq_8_5 = callPackage ../applications/science/logic/coq/8.5.nix {
     inherit (ocamlPackages) ocaml findlib lablgtk;
     camlp5 = ocamlPackages.camlp5_transitional;
   };
-
   coq_8_6 = callPackage ../applications/science/logic/coq/8.6.nix {
     inherit (ocamlPackages) ocaml findlib lablgtk;
     camlp5 = ocamlPackages.camlp5_transitional;
   };
-
-  coq_8_5 = callPackage ../applications/science/logic/coq/8.5.nix {
+  coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {
     inherit (ocamlPackages) ocaml findlib lablgtk;
     camlp5 = ocamlPackages.camlp5_transitional;
   };
-
-  coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
-    make = pkgs.gnumake3;
-    inherit (ocamlPackages_3_12_1) ocaml findlib;
-    camlp5 = ocamlPackages_3_12_1.camlp5_transitional;
-    lablgtk = ocamlPackages_3_12_1.lablgtk_2_14;
-  };
+  coq = coq_8_4;
 
   mkCoqPackages_8_4 = self: let callPackage = newScope self; in {
-
     inherit callPackage;
-
-    bedrock = callPackage ../development/coq-modules/bedrock {};
+    coq = coq_8_4;
+    coqPackages = coqPackages_8_4;
 
     contribs =
       let contribs =
@@ -16728,86 +16970,59 @@ in
       in
         recurseIntoAttrs contribs;
 
+    bedrock = callPackage ../development/coq-modules/bedrock {};
     coqExtLib = callPackage ../development/coq-modules/coq-ext-lib {};
-
     coqeal = callPackage ../development/coq-modules/coqeal {};
-
     coquelicot = callPackage ../development/coq-modules/coquelicot {};
-
     domains = callPackage ../development/coq-modules/domains {};
-
     fiat = callPackage ../development/coq-modules/fiat {};
     fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {};
-
     flocq = callPackage ../development/coq-modules/flocq {};
-
     heq = callPackage ../development/coq-modules/heq {};
-
     interval = callPackage ../development/coq-modules/interval {};
-
     mathcomp = callPackage ../development/coq-modules/mathcomp {};
-
     paco = callPackage ../development/coq-modules/paco {};
-
     QuickChick = callPackage ../development/coq-modules/QuickChick {};
-
     ssreflect = callPackage ../development/coq-modules/ssreflect {};
-
     tlc = callPackage ../development/coq-modules/tlc {};
-
     unimath = callPackage ../development/coq-modules/unimath {};
-
     ynot = callPackage ../development/coq-modules/ynot {};
-
   };
 
   mkCoqPackages_8_5 = self: let callPackage = newScope self; in rec {
-
     inherit callPackage;
-
     coq = coq_8_5;
+    coqPackages = coqPackages_8_5;
 
     coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {};
-
     coquelicot = callPackage ../development/coq-modules/coquelicot {};
-
     dpdgraph = callPackage ../development/coq-modules/dpdgraph {};
-
     flocq = callPackage ../development/coq-modules/flocq {};
-
     interval = callPackage ../development/coq-modules/interval {};
-
     mathcomp = callPackage ../development/coq-modules/mathcomp { };
-
     ssreflect = callPackage ../development/coq-modules/ssreflect { };
-
     fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {};
-
   };
 
   mkCoqPackages_8_6 = self: let callPackage = newScope self; in rec {
-
     inherit callPackage;
-
     coq = coq_8_6;
+    coqPackages = coqPackages_8_6;
 
     coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {};
-
     coquelicot = callPackage ../development/coq-modules/coquelicot {};
-
     dpdgraph = callPackage ../development/coq-modules/dpdgraph {};
-
     flocq = callPackage ../development/coq-modules/flocq {};
-
     interval = callPackage ../development/coq-modules/interval {};
-
+    mathcomp = callPackage ../development/coq-modules/mathcomp { };
+    ssreflect = callPackage ../development/coq-modules/ssreflect { };
     fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {};
-
   };
 
-  coqPackages = mkCoqPackages_8_4 coqPackages;
+  coqPackages_8_4 = mkCoqPackages_8_4 coqPackages_8_4;
   coqPackages_8_5 = mkCoqPackages_8_5 coqPackages_8_5;
   coqPackages_8_6 = mkCoqPackages_8_6 coqPackages_8_6;
+  coqPackages = coqPackages_8_4;
 
   cryptoverif = callPackage ../applications/science/logic/cryptoverif { };
 
@@ -16932,6 +17147,7 @@ in
 
   kicad = callPackage ../applications/science/electronics/kicad {
     wxGTK = wxGTK30;
+    boost = boost160;
   };
 
   ngspice = callPackage ../applications/science/electronics/ngspice { };
@@ -16962,8 +17178,14 @@ in
 
   geogebra = callPackage ../applications/science/math/geogebra { };
 
-  maxima = callPackage ../applications/science/math/maxima { ecl = null; };
-  maxima-ecl = callPackage ../applications/science/math/maxima { sbcl = null; };
+  maxima = callPackage ../applications/science/math/maxima {
+    sbcl = sbcl_1_3_12;
+    ecl = null;
+  };
+  maxima-ecl = callPackage ../applications/science/math/maxima {
+    ecl = ecl_16_1_2;
+    sbcl = null;
+  };
 
   wxmaxima = callPackage ../applications/science/math/wxmaxima { wxGTK = wxGTK30; };
 
@@ -17025,6 +17247,8 @@ in
 
   fityk = callPackage ../applications/science/misc/fityk { };
 
+  gplates = callPackage ../applications/science/misc/gplates { };
+
   gravit = callPackage ../applications/science/astronomy/gravit { };
 
   golly = callPackage ../applications/science/misc/golly { };
@@ -17053,6 +17277,8 @@ in
 
   fastjet = callPackage ../development/libraries/physics/fastjet { };
 
+  fastnlo = callPackage ../development/libraries/physics/fastnlo { };
+
   geant4 = callPackage ../development/libraries/physics/geant4 {
     enableMultiThreading = true;
     enableG3toG4         = false;
@@ -17085,6 +17311,8 @@ in
 
   lhapdf = callPackage ../development/libraries/physics/lhapdf { };
 
+  mcgrid = callPackage ../development/libraries/physics/mcgrid { };
+
   nlojet = callPackage ../development/libraries/physics/nlojet { };
 
   pythia = callPackage ../development/libraries/physics/pythia { };
@@ -17488,6 +17716,8 @@ in
 
   terraform = callPackage ../applications/networking/cluster/terraform {};
 
+  terragrunt = callPackage ../applications/networking/cluster/terragrunt {};
+
   tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; };
 
   tewi-font = callPackage ../data/fonts/tewi  {};
@@ -17744,6 +17974,8 @@ in
 
   zoom-us = qt55.callPackage ../applications/networking/instant-messengers/zoom-us {};
 
+  tora = qt5.callPackage ../development/tools/tora {};
+
   xulrunner = firefox-unwrapped;
 
   nitrokey-app = callPackage ../tools/security/nitrokey-app { };
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix
index 658f149908c7..db3abb531f19 100644
--- a/pkgs/top-level/default.nix
+++ b/pkgs/top-level/default.nix
@@ -49,8 +49,8 @@ in let
   # reasonable default.
   platform =
     args.platform
-    or (config.platform
-    or (import ./platforms.nix).selectPlatformBySystem system);
+    or ( config.platform
+      or ((import ./platforms.nix).selectPlatformBySystem system) );
 
   # A few packages make a new package set to draw their dependencies from.
   # (Currently to get a cross tool chain, or forced-i686 package.) Rather than
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 430da89fc22b..092f352ec5b9 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -238,6 +238,22 @@ let
     };
   };
 
+  haskell-unicode-input-method = melpaBuild rec {
+    pname = "emacs-haskell-unicode-input-method";
+    version = "20110905.2307";
+    src = fetchFromGitHub {
+      owner = "roelvandijk";
+      repo = "emacs-haskell-unicode-input-method";
+      rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
+      sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
+    };
+    packageRequires = [];
+    meta = {
+      homepage = "https://melpa.org/#haskell-unicode-input-method/";
+      license = lib.licenses.free;
+    };
+  };
+
   hindent = melpaBuild rec {
     pname = "hindent";
     version = external.hindent.version;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 4cdc70fed4fa..5b14af145e9f 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -45,10 +45,12 @@ rec {
     ghc801 = callPackage ../development/compilers/ghc/8.0.1.nix rec {
       bootPkgs = packages.ghc7103;
       inherit (bootPkgs) hscolour;
+      sphinx = pkgs.python27Packages.sphinx;
     };
     ghc802 = callPackage ../development/compilers/ghc/8.0.2.nix rec {
       bootPkgs = packages.ghc7103;
       inherit (bootPkgs) hscolour;
+      sphinx = pkgs.python27Packages.sphinx;
     };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
       bootPkgs = packages.ghc7103;
@@ -56,11 +58,6 @@ rec {
       inherit crossSystem;
       selfPkgs = packages.ghcHEAD;
     };
-    ghcNokinds = callPackage ../development/compilers/ghc/nokinds.nix rec {
-      bootPkgs = packages.ghc784;
-      inherit (bootPkgs) alex happy;
-    };
-
     ghcjs = packages.ghc7103.callPackage ../development/compilers/ghcjs {
       bootPkgs = packages.ghc7103;
     };
@@ -136,10 +133,6 @@ rec {
       ghc = compiler.ghcHEAD.crossCompiler;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };
     };
-    ghcNokinds = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcNokinds;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-nokinds.nix { };
-    };
     ghcjs = callPackage ../development/haskell-modules {
       ghc = compiler.ghcjs;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 4087edd21273..839db36ca7a4 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -382,18 +382,20 @@ let
 
   lgi = stdenv.mkDerivation rec {
     name = "lgi-${version}";
-    version = "0.7.2";
+    version = "0.9.1";
 
-    src = fetchzip {
-      url    = "https://github.com/pavouk/lgi/archive/${version}.tar.gz";
-      sha256 = "10i2ssfs01d49fdmmriqzxc8pshys4rixhx30wzd9p1m1q47a5pn";
+    src = fetchFromGitHub {
+      owner = "pavouk";
+      repo = "lgi";
+      rev = version;
+      sha256 = "09pbapjhyc3sn0jgx747shqr9286wqfzw02h43p4pk8fv2b766b9";
     };
 
     meta = with stdenv.lib; {
       description = "GObject-introspection based dynamic Lua binding to GObject based libraries";
       homepage    = https://github.com/pavouk/lgi;
       license     = "custom";
-      maintainers = with maintainers; [ lovek323 ];
+      maintainers = with maintainers; [ lovek323 rasendubi ];
       platforms   = platforms.unix;
     };
 
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index dc497b125e61..6e3f98c7ba2e 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -649,6 +649,8 @@ let
 
     trv = callPackage ../development/tools/misc/trv { };
 
+    omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { };
+
     verasco = callPackage ../development/tools/analysis/verasco (
       if system == "x86_64-linux"
       then { tools = pkgs.pkgsi686Linux.stdenv.cc; }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 9843253c4438..1587cee7430c 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -649,10 +649,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   bignum = buildPerlPackage rec {
-    name = "bignum-0.44";
+    name = "bignum-0.47";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
-      sha256 = "e32048bfc77788f1407e0b2bf54e0aba44d9e5e2743d2013b3afd6a630bed06f";
+      sha256 = "b084eac6d676d2acc4d60deed58e6e31b2f572b7b0be1aec9b93be92bad8261a";
     };
     buildInputs = [ MathBigInt MathBigRat ];
     meta = {
@@ -6568,11 +6568,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  IOCompress = buildPerlPackage {
-    name = "IO-Compress-2.063";
+  IOCompress = buildPerlPackage rec {
+    name = "IO-Compress-2.070";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.063.tar.gz;
-      sha256 = "1198jqsfyshc8pc74dvn04gmqa0x6nwngkbf731zgd4chrjlylhd";
+      url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
+      sha256 = "3e761b833c8e55eb811a5eeab07831bb380dcdce256cc45cfe8816602a3574ff";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
     meta = {
@@ -6581,7 +6581,8 @@ let self = _self // overrides; _self = with self; {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
-    doCheck = !stdenv.isDarwin;
+    # Same as CompressRawZlib
+    doCheck = false && !stdenv.isDarwin;
   };
 
   IODigest = buildPerlPackage {
@@ -7792,15 +7793,14 @@ let self = _self // overrides; _self = with self; {
   };
 
   MathBigInt = buildPerlPackage rec {
-    name = "Math-BigInt-1.999802";
+    name = "Math-BigInt-1.999806";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
-      sha256 = "a44ceb255a76b7f455ef41f4f12e8923fe3662255853c4d0f3ad1f77b9eaa491";
+      sha256 = "9b62b2fcfeed5ef42d375778e4ec3b469cab0002b5dc247906dc99f5786fa1fc";
     };
     meta = {
       description = "Arbitrary size integer/float math package";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -7817,16 +7817,15 @@ let self = _self // overrides; _self = with self; {
   };
 
   MathBigRat = buildPerlPackage rec {
-    name = "Math-BigRat-0.260805";
+    name = "Math-BigRat-0.2611";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
-      sha256 = "9e41be24272e262fadc1921c7f51ff218384c92e5628cb53bf62b3026710fd41";
+      sha256 = "a8a033d0ccac9ac641c73867d71f2455ecb2339984cd964b1e3cfb2859e9fd81";
     };
     propagatedBuildInputs = [ MathBigInt ];
     meta = {
       description = "Arbitrary big rational numbers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -8445,7 +8444,7 @@ let self = _self // overrides; _self = with self; {
   mod_perl2 = buildPerlPackage {
     name = "mod_perl-2.0.9";
     src = fetchurl {
-      url = http://apache.mirror.iphh.net/perl/mod_perl-2.0.9.tar.gz;
+      url = mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.9.tar.gz;
       sha256 = "0azmir4hbb825mfmcxwa1frhnhhf82rl8xf6mmgwkhbinxmg4q02";
     };
     makeMakerFlags = "MP_AP_DESTDIR=$out";
@@ -8453,6 +8452,7 @@ let self = _self // overrides; _self = with self; {
     doCheck = false; # would try to start Apache HTTP server
     meta = {
       description = "Embed a Perl interpreter in the Apache HTTP server";
+      license = stdenv.lib.licenses.asl20;
     };
   };
   Mojolicious = buildPerlPackage rec {
@@ -9557,17 +9557,17 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  NetHTTP = buildPerlPackage {
-    name = "Net-HTTP-6.09";
+  NetHTTP = buildPerlPackage rec {
+    name = "Net-HTTP-6.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Net-HTTP-6.09.tar.gz;
-      sha256 = "52762b939d84806908ba544581c5708375f7938c3c0e496c128ca3fbc425e58d";
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/${name}.tar.gz";
+      sha256 = "8565aff76b3d09084642f3a83c654fb4ced8220e8e19d35c78b661519b4c1be6";
     };
     propagatedBuildInputs = [ URI ];
     meta = {
+      homepage = https://github.com/libwww-perl/Net-HTTP;
       description = "Low-level HTTP connection (client)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -10396,6 +10396,34 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Po4a = buildPerlPackage rec {
+    name = "po4a-0.47";
+    src = fetchurl {
+      url = "https://alioth.debian.org/frs/download.php/file/4142/po4a-0.47.tar.gz";
+      sha256 = "5010e1b7df1115cbd475f46587fc05fefc97301f9bba0c2f15106005ca017507";
+    };
+    propagatedBuildInputs = [ pkgs.docbook_xml_xslt TextWrapI18N LocaleGettext TermReadKey SGMLSpm ModuleBuild UnicodeLineBreak ModuleBuild ];
+    buildInputs = [ pkgs.gettext pkgs.libxslt pkgs.glibcLocales pkgs.docbook_xml_dtd_412 pkgs.docbook_sgml_dtd_41 pkgs.texlive.combined.scheme-basic pkgs.jade ];
+    LC_ALL="en_US.UTF-8";
+    SGML_CATALOG_FILES = "${pkgs.docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml";
+    preConfigure = ''
+      touch Makefile.PL
+      export PERL_MB_OPT="--install_base=$out --prefix=$out"
+      substituteInPlace Po4aBuilder.pm --replace "\$self->install_sets(\$self->installdirs)->{'bindoc'}" "'$out/share/man/man1'"
+    '';
+    buildPhase = "perl Build.PL --install_base=$out; ./Build build";
+    installPhase = "./Build install";
+    checkPhase = ''
+      export SGML_CATALOG_FILES=${pkgs.docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat
+      ./Build test
+    '';
+    meta = {
+      homepage = https://po4a.alioth.debian.org/;
+      description = "tools for helping translation of documentation";
+      license = with stdenv.lib.licenses; [ gpl2 ];
+    };
+  };
+
   PPI = buildPerlPackage {
     name = "PPI-1.220";
     src = fetchurl {
@@ -13724,6 +13752,22 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TextWrapI18N = buildPerlPackage {
+    name = "Text-WrapI18N-0.06";
+    src = fetchurl {
+      url = http://search.cpan.org/CPAN/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz;
+      sha256 = "4bd29a17f0c2c792d12c1005b3c276f2ab0fae39c00859ae1741d7941846a488";
+    };
+    propagatedBuildInputs = [ pkgs.glibc TextCharWidth ];
+    preConfigure = ''
+      substituteInPlace WrapI18N.pm --replace '/usr/bin/locale' '${pkgs.glibc}/bin/locale'
+    '';
+    meta = {
+      description = "Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words";
+      license = with stdenv.lib.licenses; [ artistic1 gpl2 ];
+    };
+  };
+
   TextWrapper = buildPerlPackage {
     name = "Text-Wrapper-1.05";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 6401f931fd73..e58cc0f63feb 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -729,6 +729,27 @@ in {
     };
   };
 
+  python-uinput = buildPythonPackage rec {
+    name = "python-uinput-${version}";
+    version = "0.11.2";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/p/python-uinput/${name}.tar.gz";
+      sha256 = "033zqiypjz0nigav6vz0s57pbzikvds55mxphrdpkdbpdikjnfcr";
+    };
+
+    buildInputs = [ pkgs.udev ];
+
+    NIX_CFLAGS_LINK = [ "-ludev" ];
+
+    meta = with stdenv.lib; {
+      description = "Pythonic API to Linux uinput kernel module";
+      homepage = "http://tjjr.fi/sw/python-uinput/";
+      license = licenses.gpl3Plus;
+      maintainers = with maintainers; [ abbradar ];
+    };
+  };
+
   almir = buildPythonPackage rec {
     name = "almir-0.1.8";
 
@@ -1488,13 +1509,11 @@ in {
 
   awscli = buildPythonPackage rec {
     name = "awscli-${version}";
-    version = "1.11.10";
-
-    namePrefix = "";
-
-    src = pkgs.fetchurl {
+    version = "1.11.35";
+      namePrefix = "";
+      src = pkgs.fetchurl {
       url = "mirror://pypi/a/awscli/${name}.tar.gz";
-      sha256 = "174lfpai5cga1ml2bwswjil6h544m57js9ki7hqkr9gdbpa8pyrk";
+      sha256 = "0k6y8cg311bqak5x9pilg80w6f76dcbzm6xcdrw6rjnk6v4xwy70";
     };
 
     # No tests included
@@ -1508,6 +1527,7 @@ in {
       colorama_3_3
       docutils
       rsa
+      pyyaml
       pkgs.groff
       pkgs.less
     ];
@@ -2207,6 +2227,9 @@ in {
       url = "mirror://pypi/b/buttersink/${name}.tar.gz";
     };
 
+    # Python 2 syntax
+    disabled = isPy3k;
+
     meta = {
       description = "Synchronise btrfs snapshots";
       longDescription = ''
@@ -2783,17 +2806,39 @@ in {
     };
   };
 
+  # Needed for bleach 1.5.0 and calibre 2.76.0
+  html5lib_0_9999999 = self.html5lib.override rec {
+    name = "html5lib-${version}";
+    buildInputs = with self; [ nose flake8 ];
+    propagatedBuildInputs = with self; [ six ];
+    checkPhase = ''
+      nosetests
+    '';
+
+    version = "0.9999999";
+    src = pkgs.fetchurl {
+      url = "https://github.com/html5lib/html5lib-python/archive/0.9999999.tar.gz";
+      sha256 = "1s6wdbrjzw5jhyfbskf4nj1i5bjpjqq9f89a7r1rl59rhpwmfhhq";
+    };
+  };
+
   bleach = buildPythonPackage rec {
-    version = "v1.4.3";
-    name = "bleach-${version}";
+    pname = "bleach";
+    version = "1.5.0";
+    name = "${pname}-${version}";
 
     src = pkgs.fetchurl {
-      url = "http://github.com/jsocol/bleach/archive/${version}.tar.gz";
-      sha256 = "0mk8780ilip0m890rapbckngw8k42gca3551kri297pyylr06l5m";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "978e758599b54cd3caa2e160d74102879b230ea8dc93871d0783721eef58bc65";
     };
 
-    buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [ six html5lib ];
+    buildInputs = with self; [ pytest pytestrunner ];
+    propagatedBuildInputs = with self; [ six html5lib_0_9999999 ];
+
+    postPatch = ''
+      substituteInPlace setup.py --replace "==3.0.3" ""
+      substituteInPlace setup.py --replace ">=0.999,!=0.9999,!=0.99999,<0.99999999" ""
+    '';
 
     meta = {
       description = "An easy, HTML5, whitelisting HTML sanitizer";
@@ -2818,11 +2863,11 @@ in {
 
   blinker = buildPythonPackage rec {
     name = "blinker-${version}";
-    version = "1.3";
+    version = "1.4";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/b/blinker/${name}.tar.gz";
-      sha256 = "6811010809262261e41ab7b92f3f6d23f35cf816fbec2bc05077992eebec6e2f";
+      sha256 = "1dpq0vb01p36jjwbhhd08ylvrnyvcc82yxx3mwjx6awrycjyw6j7";
     };
 
     meta = {
@@ -2990,13 +3035,13 @@ in {
 
   boto3 = buildPythonPackage rec {
     name = "boto3-${version}";
-    version = "1.4.1";
+    version = "1.4.2";
 
     src = pkgs.fetchFromGitHub {
       owner = "boto";
       repo  = "boto3";
       rev   = version;
-      sha256 = "19ij6cs2n3p5fgipbrq1dybq2sjjvlhg9n5a5sv9wi95x9wqi5wb";
+      sha256 = "19hzxqr7ba07b3zg2wsrz6ic3g7pq50rrcp4616flfgny5vw42j3";
     };
 
     propagatedBuildInputs = [ self.botocore self.jmespath self.s3transfer ] ++
@@ -3027,12 +3072,11 @@ in {
   };
 
   botocore = buildPythonPackage rec {
-    version = "1.4.67"; # This version is required by awscli
+    version = "1.4.92"; # This version is required by awscli
     name = "botocore-${version}";
-
     src = pkgs.fetchurl {
       url = "mirror://pypi/b/botocore/${name}.tar.gz";
-      sha256 = "15fh3ng33mcbhm76pk9qqglf342qj471gfcqxv0nrl9f8sn3v60q";
+      sha256 = "08rpsfqd2g4iqvi1id8yhmyz2mc299dnr4aikkwjm24rih75p9aj";
     };
 
     propagatedBuildInputs =
@@ -3058,12 +3102,12 @@ in {
   };
 
   bottle = buildPythonPackage rec {
-    version = "0.12.9";
+    version = "0.12.11";
     name = "bottle-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/b/bottle/${name}.tar.gz";
-      sha256 = "0l80a1qkg7zbi8s077brfgm5w4ypwxgq9rvsvw16snc5jfsj82py";
+      sha256 = "0cd787lzggs933qfav6xicx5c78dz6npwgg3xc4rhah44nbqz5d1";
     };
 
     propagatedBuildInputs = with self; [ setuptools ];
@@ -3734,15 +3778,23 @@ in {
   };
 
   click-threading = buildPythonPackage rec {
-    version = "0.4.0";
+    version = "0.4.2";
     name = "click-threading-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/c/click-threading/${name}.tar.gz";
-      sha256 = "1lrn2inlzz5lr8ay36dz9gmlnqqvdnh14rcm2nmhaxvbbz0gl8qq";
+      sha256 = "400b0bb63d9096b6bf2806efaf742a1cc8b6c88e0484f0afe7d7a7f0e9870609";
     };
 
-    propagatedBuildInputs = with self; [ click ];
+    checkInputs = with self; [ pytest ];
+    propagatedBuildInputs = with self; [ click ] ++ optional (!isPy3k) futures;
+
+    checkPhase = ''
+      py.test
+    '';
+
+    # Tests are broken on 3.x
+    doCheck = !isPy3k;
 
     meta = {
       homepage = https://github.com/click-contrib/click-threading/;
@@ -4058,6 +4110,9 @@ in {
       urwid
     ];
 
+    # Fails on python 3 due to a None value where a string is expected
+    doCheck = !isPy3k;
+
     meta = {
       description = "A Python library for building configuration shells";
       homepage = "https://github.com/agrover/configshell-fb";
@@ -4067,15 +4122,22 @@ in {
 
 
   construct = buildPythonPackage rec {
-    name = "construct-2.5.2";
+    name = "construct-${version}";
+    version = "2.8.10";
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/construct/${name}.tar.gz";
-      sha256 = "084h02p0m8lhmlywlwjdg0kd0hd6sz481c96qwcm5wddxrqn4nv6";
+    src = pkgs.fetchFromGitHub {
+      owner = "construct";
+      repo = "construct";
+      rev = "v${version}";
+      sha256 = "1xfmmc5pihn3ql9f7blrciy06y2bwczqvkbcpvh96dmgqwc3wys3";
     };
 
     propagatedBuildInputs = with self; [ six ];
 
+    # Tests fail with the following error on Python 3.5+
+    # TypeError: not all arguments converted during string formatting
+    doCheck = pythonOlder "3.5";
+
     meta = {
       description = "Powerful declarative parser (and builder) for binary data";
       homepage = http://construct.readthedocs.org/;
@@ -4214,26 +4276,45 @@ in {
   };
 
   credstash = buildPythonPackage rec {
-    name    = "credstash-${version}";
-    version = "1.11.0";
+    pname    = "credstash";
+    version = "1.13.2";
+    name = "${pname}-${version}";
 
     src = pkgs.fetchurl {
-      url    = "https://pypi.python.org/packages/e2/64/6abae87b8da07c262d50b51eed540096ed1f6e01539bf2f2d4c3f718c8c6/credstash-1.11.0.tar.gz";
-      sha256 = "03qm8bjfskzkkmgcy5dr70x9pxabjb3fi0v0nxicg1kryy64k0dz";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "b6283e565e3e441e8f74efcca54ece9697db16ce2e930fb5b6f7c0ab929c377e";
     };
 
-    propagatedBuildInputs = with self; [ pycrypto boto3 docutils ];
+    propagatedBuildInputs = with self; [ cryptography boto3 pyyaml docutils ];
+
+    # No tests in archive
+    doCheck = false;
+
+    meta = {
+      description = "A utility for managing secrets in the cloud using AWS KMS and DynamoDB";
+      homepage = https://github.com/LuminalOSS/credstash;
+      license = licenses.asl20;
+    };
   };
 
   cython = buildPythonPackage rec {
     name = "Cython-${version}";
-    version = "0.25.1";
+    version = "0.25.2";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/C/Cython/${name}.tar.gz";
-      sha256 = "e0941455769335ec5afb17dee36dc3833b7edc2ae20a8ed5806c58215e4b6669";
+      sha256 = "01h3lrf6d98j07iakifi81qjszh6faa37ibx7ylva1vsqbwx2hgi";
     };
 
+    # On i686-linux and Python 2.x this test fails because the result is "3L"
+    # instead of "3", so let's fix it in-place.
+    #
+    # Upstream issue: https://github.com/cython/cython/issues/1548
+    postPatch = optionalString (stdenv.isi686 && !isPy3k) ''
+      sed -i -e 's/\(>>> *\)\(verify_resolution_GH1533()\)/\1int(\2)/' \
+        tests/run/cpdef_enums.pyx
+    '';
+
     buildInputs = with self; [ pkgs.glibcLocales pkgs.pkgconfig pkgs.gdb ];
     # For testing
     nativeBuildInputs = with self; [ numpy pkgs.ncurses ];
@@ -4847,6 +4928,9 @@ in {
       sha256 = "1z4yi986f9n0p8qmzmn21m21m8j1x78hk3505f89baqm6pdw7afm";
     };
 
+    # Disabled temporarily because of Hydra issue with namespaces
+    doCheck = false;
+
     preCheck = ''
       # don't test bash builtins
       rm testing/test_argcomplete.py
@@ -5045,6 +5129,13 @@ in {
     buildInputs = with self; [ pytest ];
     propagatedBuildInputs = with self; [ pytestcache pep8 ];
 
+    checkPhase = ''
+      py.test
+    '';
+
+    # Fails
+    doCheck = false;
+
     meta = {
       license = licenses.mit;
       website = "https://pypi.python.org/pypi/pytest-pep8";
@@ -5206,6 +5297,8 @@ in {
     };
   });
 
+  pytest-expect = callPackage ../development/python-modules/pytest-expect { };
+
   pytest-virtualenv = buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "pytest-virtualenv";
@@ -5327,11 +5420,11 @@ in {
   };
 
   cssutils = buildPythonPackage (rec {
-    name = "cssutils-0.9.9";
+    name = "cssutils-1.0.1";
 
     src = pkgs.fetchurl {
-      url = mirror://pypi/c/cssutils/cssutils-0.9.9.zip;
-      sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp";
+      url = mirror://pypi/c/cssutils/cssutils-1.0.1.tar.gz;
+      sha256 = "0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq";
     };
 
     buildInputs = with self; [ self.mock ];
@@ -5411,6 +5504,8 @@ in {
       url = "mirror://pypi/d/datrie/datrie-${version}.tar.gz";
       sha256 = "08r0if7dry2q7p34gf7ffyrlnf4bdvnprxgydlfxgfnvq8f3f4bs";
     };
+
+    buildInputs = with self; [ pytest pytestrunner hypothesis ];
     meta = {
       description = "Super-fast, efficiently stored Trie for Python";
       homepage = "https://github.com/kmike/datrie";
@@ -7256,35 +7351,6 @@ in {
 
   };
 
-  git-up = buildPythonPackage rec {
-    version = "1.4.2";
-    name = "git-up-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/git-up/${name}.zip";
-      sha256 = "121ia5gyjy7js6fbsx9z98j2qpq7rzwpsj8gnfvsbz2d69g0vl7q";
-    };
-
-    buildInputs = with self; [ pkgs.git nose ];
-    propagatedBuildInputs = with self; [ click colorama docopt GitPython six termcolor ];
-
-    # git fails to run as it cannot detect the email address, so we set it
-    # $HOME is by default not a valid dir, so we have to set that too
-    # https://github.com/NixOS/nixpkgs/issues/12591
-    preCheck = ''
-      export HOME=$TMPDIR
-      git config --global user.email "nobody@example.com"
-      git config --global user.name "Nobody"
-    '';
-
-    meta = {
-      homepage = http://github.com/msiemens/PyGitUp;
-      description = "A git pull replacement that rebases all local branches when pulling.";
-      license = licenses.mit;
-      maintainers = with maintainers; [ peterhoeg ];
-    };
-  };
-
   GitPython = buildPythonPackage rec {
     version = "2.0.8";
     name = "GitPython-${version}";
@@ -7653,6 +7719,27 @@ in {
     };
   };
 
+  ipfsapi = buildPythonPackage rec {
+    name = "ipfsapi-${version}";
+    version = "0.4.0";
+    disabled = isPy26 || isPy27;
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/i/ipfsapi/${name}.tar.gz";
+      sha256 = "0mqqsihannxzaqi8zcj9nca7fxwg1c85bp7xxic3xqa5zslcdcc3";
+    };
+
+    buildInputs = with self; [ pkgs.pandoc ];
+    propagatedBuildInputs = with self; [ six requests2 ];
+
+    meta = {
+      description = "A python client library for the IPFS API";
+      license = licenses.mit;
+      maintainers = with maintainers; [ mguentner ];
+      homepage = "https://pypi.python.org/pypi/ipfsapi";
+    };
+  };
+
   itsdangerous = buildPythonPackage rec {
     name = "itsdangerous-0.24";
 
@@ -8253,9 +8340,11 @@ in {
         pytestcov
         pytestflakes
         pytestpep8
+        pytest
         mock
-        pathlib
-      ];
+      ]
+      # pathlib was made part of standard library in 3.5:
+      ++ (optionals (pythonOlder "3.4") [ pathlib ]);
 
     meta = {
       description = "Natural sorting for python";
@@ -8414,7 +8503,42 @@ in {
       license = licenses.mit;
     };
   };
- 
+
+  paperwork-backend = buildPythonPackage rec {
+    name = "paperwork-backend-${version}";
+    version = "1.0.6";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "jflesch";
+      repo = "paperwork-backend";
+      rev = version;
+      sha256 = "11jbhv9xcpimp9iq2b1hlpljzij73s86rb5lpgzhslqc7zmm5bxn";
+    };
+
+    # Python 2.x is not supported.
+    disabled = !isPy3k && !isPyPy;
+
+    # Make sure that chkdeps exits with status 1 if a dependency is not found.
+    postPatch = ''
+      sed -i -e '/print.*Missing dependencies/,/^ *$/ {
+        /^ *$/ a \    sys.exit(1)
+      }' scripts/paperwork-shell
+    '';
+
+    preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
+
+    propagatedBuildInputs = with self; [
+      pyenchant simplebayes pillow pycountry whoosh termcolor
+      python-Levenshtein pyinsane2 pygobject3 pyocr pkgs.poppler_gi
+    ];
+
+    meta = {
+      description = "Backend part of Paperwork (Python API, no UI)";
+      homepage = "https://github.com/jflesch/paperwork-backend";
+      license = licenses.gpl3Plus;
+    };
+  };
+
   pathtools = buildPythonPackage rec {
     name = "pathtools-${version}";
     version = "0.1.2";
@@ -8681,14 +8805,17 @@ in {
   };
 
   pudb = buildPythonPackage rec {
-    name = "pudb-2013.3.6";
+    name = "pudb-2016.2";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pudb/${name}.tar.gz";
-      sha256 = "81b20a995803c4be513e6d36c8ec9a531d3ccb24670b2416abc20f3933ddb8be";
+      sha256 = "0njhi49d9fxbwh5p8yjx8m3jlfyzfm00b5aff6bz473pn7vxfn79";
     };
 
-    propagatedBuildInputs = with self; [ self.pygments self.urwid ];
+    propagatedBuildInputs = with self; [ pygments urwid ];
+
+    # Tests fail on python 3 due to writes to the read-only home directory
+    doCheck = !isPy3k;
 
     meta = {
       description = "A full-screen, console-based Python debugger";
@@ -8802,6 +8929,36 @@ in {
     };
   };
 
+  pypillowfight = buildPythonPackage rec {
+    name = "pypillowfight-${version}";
+    version = "0.2.1";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "jflesch";
+      repo = "libpillowfight";
+      rev = version;
+      sha256 = "1rwmajsy9qhl3qhhy5mw0xmr3n8abxcq8baidpn0sxv6yjg2369z";
+    };
+
+    # Disable tests because they're designed to only work on Debian:
+    # https://github.com/jflesch/libpillowfight/issues/2#issuecomment-268259174
+    doCheck = false;
+
+    # Python 2.x is not supported, see:
+    # https://github.com/jflesch/libpillowfight/issues/1
+    disabled = !isPy3k && !isPyPy;
+
+    # This is needed by setup.py regardless of whether tests are enabled.
+    buildInputs = [ self.nose ];
+    propagatedBuildInputs = [ self.pillow ];
+
+    meta = {
+      description = "Library containing various image processing algorithms";
+      homepage = "https://github.com/jflesch/libpillowfight";
+      license = licenses.gpl3Plus;
+    };
+  };
+
   python-axolotl = buildPythonPackage rec {
     name = "python-axolotl-${version}";
     version = "0.1.35";
@@ -9181,27 +9338,48 @@ in {
 
 
   librosa = buildPythonPackage rec {
-    name = "librosa-${version}";
-    version = "0.4.0";
+    pname = "librosa";
+    name = "${pname}-${version}";
+    version = "0.4.3";
     src = pkgs.fetchurl {
-      url = "mirror://pypi/l/librosa/librosa-0.4.0.tar.gz";
-      sha256 = "cc11dcc41f51c08e442292e8a2fc7d7ee77e0d47ff771259eb63f57fcee6f6e7";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "209626c53556ca3922e52d2fae767bf5b398948c867fcc8898f948695dacb247";
     };
 
-    propagatedBuildInputs = with self;
-      [ joblib matplotlib six scikitlearn decorator audioread samplerate ];
+    propagatedBuildInputs = with self; [ joblib matplotlib six scikitlearn
+      decorator audioread resampy ];
+
+    # No tests
+    doCheck = false;
+
+    meta = {
+      description = "Python module for audio and music processing";
+      homepage = http://librosa.github.io/;
+      license = licenses.isc;
+    };
   };
 
   joblib = buildPythonPackage rec {
-    name = "joblib-${version}";
-    version = "0.9.4";
+    pname = "joblib";
+    name = "${pname}-${version}";
+    version = "0.10.3";
     src = pkgs.fetchurl {
-      url = "mirror://pypi/j/joblib/${name}.tar.gz";
-      sha256 = "e5faacf0da7b3035dbca9d56210962b86564aafca71a25f4ea376a405455cd60";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "29b2965a9efbc90a5fe66a389ae35ac5b5b0c1feabfc7cab7fd5d19f429a071d";
     };
 
-    buildInputs = with self; [ nose ];
+    buildInputs = with self; [ nose sphinx numpydoc ];
+
+    # Failing test on Python 3.x
+    postPatch = '''' + optionalString isPy3k ''
+      sed -i -e '70,84d' joblib/test/test_format_stack.py
+    '';
 
+    meta = {
+      description = "Lightweight pipelining: using Python functions as pipeline jobs";
+      homepage = http://pythonhosted.org/joblib/;
+      license = licenses.bsd3;
+    };
   };
 
   samplerate = buildPythonPackage rec {
@@ -9846,15 +10024,16 @@ in {
   };
 
   deluge = buildPythonPackage rec {
-    name = "deluge-1.3.12";
+    name = "deluge-${version}";
+    version = "1.3.13";
 
     src = pkgs.fetchurl {
       url = "http://download.deluge-torrent.org/source/${name}.tar.bz2";
-      sha256 = "14rwc5k7q0d36b4jxnmxgnyvx9lnmaifxpyv0z07ymphlfr4amsn";
+      sha256 = "1ig8kv22009f0ny6n77a4lcfddhdsxrdklpmhdqvis1wx8na5crp";
     };
 
     propagatedBuildInputs = with self; [
-      pyGtkGlade pkgs.libtorrentRasterbar_1_0 twisted Mako chardet pyxdg self.pyopenssl service-identity
+      pyGtkGlade pkgs.libtorrentRasterbar twisted Mako chardet pyxdg self.pyopenssl service-identity
     ];
 
     nativeBuildInputs = [ pkgs.intltool ];
@@ -9914,12 +10093,12 @@ in {
 
   django_1_10 = buildPythonPackage rec {
     name = "Django-${version}";
-    version = "1.10.4";
+    version = "1.10.5";
     disabled = pythonOlder "2.7";
 
     src = pkgs.fetchurl {
       url = "http://www.djangoproject.com/m/releases/1.10/${name}.tar.gz";
-      sha256 = "0asw60i4r5cdxb2jp6r09pdrwxxp8mvwbkz7vnx15n0hwmig1xzz";
+      sha256 = "12szjsmnfhh2yr54sfynyjr8vl0q9gb6qak3ayqcifcinrs97f0d";
     };
 
     patches = [
@@ -10640,11 +10819,12 @@ in {
 
 
   docutils = buildPythonPackage rec {
-    name = "docutils-0.12";
+    name = "docutils-${version}";
+    version = "0.13.1";
 
     src = pkgs.fetchurl {
       url = "mirror://sourceforge/docutils/${name}.tar.gz";
-      sha256 = "c7db717810ab6965f66c8cf0398a98c9d8df982da39b4cd7f162911eb89596fa";
+      sha256 = "1gkma47i609jfs7dssxn4y9vsz06qi0l5q41nws0zgkpnrghz33i";
     };
 
     # error: invalid command 'test'
@@ -10653,7 +10833,7 @@ in {
     meta = {
       description = "An open-source text processing system for processing plaintext documentation into useful formats, such as HTML or LaTeX";
       homepage = http://docutils.sourceforge.net/;
-      maintainers = with maintainers; [ garbas ];
+      maintainers = with maintainers; [ garbas AndersonTorres ];
     };
   };
 
@@ -10936,13 +11116,13 @@ in {
   };
 
   docker_compose = buildPythonPackage rec {
-    version = "1.8.0";
+    version = "1.9.0";
     name = "docker-compose-${version}";
     namePrefix = "";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/d/docker-compose/${name}.tar.gz";
-      sha256 = "1ad28x3marfmyrbibbkzy46bpbgc29k20ik661l8r49nr0m6px35";
+      sha256 = "0zz2jqpxz69q34bp97pbwxda1ik3m8zbhh15mxvhfsn0g566dywq";
     };
 
     # lots of networking and other fails
@@ -10957,10 +11137,19 @@ in {
       sed -i "s/'requests >= 2.6.1, < 2.8'/'requests'/" setup.py
     '';
 
+    postInstall = ''
+      mkdir -p $out/share/bash-completion/completions/
+      cp contrib/completion/bash/docker-compose $out/share/bash-completion/completions/docker-compose
+    '';
+
     meta = {
       homepage = "https://docs.docker.com/compose/";
       description = "Multi-container orchestration for Docker";
       license = licenses.asl20;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [
+        jgeerds
+      ];
     };
   };
 
@@ -11055,15 +11244,17 @@ in {
 
   flake8 = buildPythonPackage rec {
     name = "flake8-${version}";
-    version = "2.6.2";
+    version = "3.2.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/f/flake8/${name}.tar.gz";
-      sha256 = "0y57hzal0j84dh9i1g1g6dc4aywvrnhy2fjmmbglpv5ajihxh713";
+      sha256 = "c7c460b5aff3a2063c798a77af18ec70af3941d35a22e2e76965e3c0e0b36055";
     };
 
-    buildInputs = with self; [ nose mock ];
-    propagatedBuildInputs = with self; [ pyflakes pycodestyle mccabe ];
+    buildInputs = with self; [ pytest mock pytestrunner ];
+    propagatedBuildInputs = with self; [ pyflakes pycodestyle mccabe ]
+      ++ optionals (pythonOlder "3.4") [ enum34 ]
+      ++ optionals (pythonOlder "3.2") [ configparser ];
 
     meta = {
       description = "Code checking using pep8 and pyflakes";
@@ -11073,35 +11264,6 @@ in {
     };
   };
 
-  flake8_3 = buildPythonPackage rec {
-    name = "flake8-${version}";
-    version = "3.0.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/flake8/${name}.tar.gz";
-      sha256 = "03cpdrjxh0fyi2qpdxbbrmxw7whiq3xr3p958gr6yzghk34i1hml";
-    };
-
-    buildInputs = with self; [ nose mock pytestrunner pytest ];
-    propagatedBuildInputs = with self; [ pyflakes mccabe_0_5 enum34 configparser pycodestyle ];
-
-    patches = [
-      ../development/python-modules/flake8/move-pytest-config-to-pytest-ini.patch
-    ];
-
-    # Tests fail due to missing ini file.
-    preCheck = ''
-      touch tox.ini
-    '';
-
-    meta = {
-      description = "Code checking using pep8 and pyflakes";
-      homepage = http://pypi.python.org/pypi/flake8;
-      license = licenses.mit;
-      maintainers = with maintainers; [ ];
-    };
-  };
-
   flaky = buildPythonPackage rec {
     name = "flaky-${version}";
     version = "3.1.0";
@@ -11124,11 +11286,11 @@ in {
   };
 
   flask = buildPythonPackage {
-    name = "flask-0.10.1";
+    name = "flask-0.11.1";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/F/Flask/Flask-0.10.1.tar.gz";
-      sha256 = "4c83829ff83d408b5e1d4995472265411d2c414112298f2eb4b359d9e4563373";
+      url = "mirror://pypi/F/Flask/Flask-0.11.1.tar.gz";
+      sha256 = "03kbfll4sj3v5z7r31c7bhfpi11r1np076d4p1k2kg4yzcmkywdl";
     };
 
     propagatedBuildInputs = with self; [ itsdangerous click werkzeug jinja2 ];
@@ -11342,38 +11504,6 @@ in {
     };
   };
 
-  flexget = buildPythonPackage rec {
-    version = "1.2.337";
-    name = "FlexGet-${version}";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/F/FlexGet/${name}.tar.gz";
-      sha256 = "0f7aaf0bf37860f0c5adfb0ba59ca228aa3f5c582131445623a4c3bc82d45346";
-    };
-
-    doCheck = false;
-
-    buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [
-      paver feedparser sqlalchemy pyyaml rpyc
-      beautifulsoup_4_1_3 html5lib pyrss2gen pynzb progressbar jinja2 flask
-      cherrypy requests dateutil_2_1 jsonschema python_tvrage tmdb3
-      guessit pathpy apscheduler ]
-    # enable deluge and transmission plugin support, if they're installed
-    ++ stdenv.lib.optional (pkgs.config.pythonPackages.deluge or false)
-      pythonpackages.deluge
-    ++ stdenv.lib.optional (pkgs.transmission != null)
-      self.transmissionrpc;
-
-    meta = {
-      homepage = http://flexget.com/;
-      description = "Multipurpose automation tool for content like torrents";
-      license = licenses.mit;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
-
   # py3k disabled, see https://travis-ci.org/NixOS/nixpkgs/builds/48759067
   graph-tool = if isPy3k then throw "graph-tool in Nix doesn't support py3k yet"
     else callPackage ../development/python-modules/graph-tool/2.x.x.nix { boost = pkgs.boost159; };
@@ -12282,6 +12412,10 @@ in {
       sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz";
     };
 
+    prePatch = optionals pkgs.stdenv.isDarwin ''
+      sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' pylib/gyp/xcode_emulation.py
+    '';
+
     patches = optionals pkgs.stdenv.isDarwin [
       ../development/python-modules/gyp/no-darwin-cflags.patch
     ];
@@ -12373,13 +12507,13 @@ in {
 
   hetzner = buildPythonPackage rec {
     name = "hetzner-${version}";
-    version = "0.7.4";
+    version = "0.7.5";
 
     src = pkgs.fetchFromGitHub {
       repo = "hetzner";
       owner = "RedMoonStudios";
       rev = "v${version}";
-      sha256 = "04dlixczzvpimk48p87ix7j9q54jy46cwn4f05n2dlzsyc5vvxin";
+      sha256 = "1fw7i1z4a39i1ljd9qd4f5p1p3a4257jfglkdpw90xjwl7fdpq42";
     };
 
     # not there yet, but coming soon.
@@ -12417,20 +12551,22 @@ in {
 
 
   html5lib = buildPythonPackage (rec {
-    version = "0.999";
+    version = "0.999999999";
     name = "html5lib-${version}";
 
     src = pkgs.fetchurl {
       url = "http://github.com/html5lib/html5lib-python/archive/${version}.tar.gz";
-      sha256 = "1kxl36p0csssaf37zbbc9p4h8l1s7yb1qnfv3d4nixplvrxqkybp";
+      sha256 = "09j6194f5mlnd5xwbavwvnndwl1x91jw74shxl6hcxjp4fxg3h05";
     };
 
-    buildInputs = with self; [ nose flake8 ];
+    buildInputs = with self; [ flake8 pytest pytest-expect mock ];
     propagatedBuildInputs = with self; [
-      six
+      six webencodings
     ] ++ optionals isPy26 [ ordereddict ];
 
-    checkPhase = "nosetests";
+    checkPhase = ''
+      py.test
+    '';
 
     meta = {
       homepage = https://github.com/html5lib/html5lib-python;
@@ -12561,12 +12697,13 @@ in {
 
   xdis = buildPythonPackage rec {
     name = "xdis-${version}";
-    version = "2.3.1";
+    version = "3.2.4";
     src = pkgs.fetchurl {
       url = "mirror://pypi/x/xdis/${name}.tar.gz";
-      sha256 = "1bi53n9fifjz2ja5inm546vzhjpgwx6n0qrhp106fss7bdm44a4v";
+      sha256 = "0g2lh70837vigcbc1i58349wp2xzrhlsg2ahc92sn8d3jwxja4dk";
     };
-    propagatedBuildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ nose six ];
+
     meta = {
       description = "Python cross-version byte-code disassembler and marshal routines";
       homepage = https://github.com/rocky/python-xdis/;
@@ -13811,16 +13948,16 @@ in {
   llvmlite = callPackage ../development/python-modules/llvmlite {llvm=pkgs.llvm_38;};
 
   lockfile = buildPythonPackage rec {
-    name = "lockfile-${version}";
-    version = "0.10.2";
+    pname = "lockfile";
+    version = "0.12.2";
+    name = "${pname}-${version}";
     src = pkgs.fetchurl {
-      sha256 = "0zi7amj3y55lp6339w217zksn1a0ssfvscmv059g2wvnyjqi6f95";
-      url = "https://github.com/openstack/pylockfile/archive/${version}.tar.gz";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799";
     };
 
-    OSLO_PACKAGE_VERSION = "${version}";
     buildInputs = with self; [
-      pbr nose sphinx_1_2
+      pbr nose
     ];
 
     checkPhase = ''
@@ -13866,11 +14003,11 @@ in {
 
 
   lxml = buildPythonPackage ( rec {
-    name = "lxml-3.4.4";
+    name = "lxml-3.7.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/l/lxml/${name}.tar.gz";
-      sha256 = "16a0fa97hym9ysdk3rmqz32xdjqmy4w34ld3rm3jf5viqjx65lxk";
+      sha256 = "9c62eb2a1862e1ae285d7e7e3b7dc8772d387b19258086afcec143c6b7b8a5c9";
     };
 
     buildInputs = with self; [ pkgs.libxml2 pkgs.libxslt ];
@@ -13968,6 +14105,7 @@ in {
     meta = {
       description = "A Python wrapper around libmagic";
       homepage = http://www.darwinsys.com/file/;
+      broken = true;
     };
   };
 
@@ -14053,12 +14191,12 @@ in {
   };
 
   markdown = buildPythonPackage rec {
-    version = "2.6.4";
+    version = "2.6.7";
     name = "markdown-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/M/Markdown/Markdown-${version}.tar.gz";
-      sha256 = "1kll5b35wqkhvniwm2kh6rqc43wakv9ls0qm6g5318pjmbkywdp4";
+      sha256 = "1h055llfd0ps0ig7qb3v1j9068xv90dc9s7xkhkgz9zg8r4g5sys";
     };
 
     # error: invalid command 'test'
@@ -14154,22 +14292,13 @@ in {
 
 
   mccabe = buildPythonPackage (rec {
-    name = "mccabe-0.4.0";
+    name = "mccabe-0.5.3";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/m/mccabe/${name}.tar.gz";
-      sha256 = "0yr08a36h8lqlif10l4xcikbbig7q8f41gqywir7rrvnv3mi4aws";
+      sha256 = "16293af41e7242031afd73896fef6458f4cad38201d21e28f344fff50ae1c25e";
     };
 
-    # See https://github.com/flintwork/mccabe/issues/31
-    postPatch = ''
-      cp "${pkgs.fetchurl {
-        url = "https://raw.githubusercontent.com/flintwork/mccabe/"
-            + "e8aea16d28e92bd3c62601275762fc9c16808f6c/test_mccabe.py";
-        sha256 = "0xhjxpnaxvbpi4myj9byrban7a5nrw931br9sgvfk42ayg4sn6lm";
-      }}" test_mccabe.py
-    '';
-
     buildInputs = with self; [ pytestrunner pytest ];
 
     meta = {
@@ -14277,13 +14406,16 @@ in {
 
   memory_profiler = buildPythonPackage rec {
     name = "memory_profiler-${version}";
-    version = "0.39";
+    version = "0.41";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/m/memory_profiler/${name}.tar.gz";
-      sha256 = "61021f2dade7edd6cc09d7924bfdccc453bd1949608412a3e021d44a410d3a23";
+      sha256 = "dce6e931c281662a500b142595517d095267216472c2926e5ec8edab89898d10";
     };
 
+    # Tests don't import profile
+    doCheck = false;
+
     meta = {
       description = "A module for monitoring memory usage of a python program";
       homepage = http://pypi.python.org/pypi/memory_profiler;
@@ -14516,31 +14648,91 @@ in {
     };
   };
 
+  brotlipy = buildPythonPackage rec {
+    name = "brotlipy-${version}";
+    version = "0.6.0";
 
-  mitmproxy = buildPythonPackage rec {
-    baseName = "mitmproxy";
-    name = "${baseName}-${version}";
-    version = "0.17.1";
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/b/brotlipy/${name}.tar.gz";
+      sha256 = "10s2y19zywfkf3sksrw81czhva759aki0clld2pnnlgf64sz7016";
+    };
 
-    src = pkgs.fetchFromGitHub {
-      owner = "mitmproxy";
-      repo = "mitmproxy";
-      rev = "v${version}";
-      sha256 = "0a50mkvm3zf9cbs0pf6bwy00bhmy4d1l9as8c9m0bgrk6hq7h53p";
+    propagatedBuildInputs = with self; [ cffi enum34 construct ];
+
+    meta = {
+      description = "Python bindings for the reference Brotli encoder/decoder";
+      homepage = "https://github.com/python-hyper/brotlipy/";
+      license = licenses.mit;
     };
+  };
 
-    propagatedBuildInputs = with self; [
-      pyopenssl pyasn1 urwid pillow lxml flask protobuf click
-      ConfigArgParse pyperclip blinker construct pyparsing html2text tornado
-    ];
+  sortedcontainers = buildPythonPackage rec {
+    name = "sortedcontainers-${version}";
+    version = "1.5.7";
 
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/s/sortedcontainers/${name}.tar.gz";
+      sha256 = "1sjh8lccbmvwna91mlhl5m3z4320p07h063b8x8br4p4cll49w0g";
+    };
+
+    # tries to run tests for all python versions and uses virtualenv weirdly
     doCheck = false;
+    #buildInputs = with self; [ tox nose ];
+
+    meta = {
+      description = "Python Sorted Container Types: SortedList, SortedDict, and SortedSet";
+      homepage = "http://www.grantjenks.com/docs/sortedcontainers/";
+      license = licenses.asl20;
+    };
+  };
+
+  hyperframe = buildPythonPackage rec {
+    name = "hyperframe-${version}";
+    version = "4.0.1";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/h/hyperframe/${name}.tar.gz";
+      sha256 = "0hsfq0jigwa0i58z7vbnp62l7za49gmlg75vnygq2ijhkidkcmwa";
+    };
 
     meta = {
-      description = ''Man-in-the-middle proxy'';
-      homepage = "http://mitmproxy.org/";
+      description = "HTTP/2 framing layer for Python";
+      homepage = "http://hyper.rtfd.org/";
       license = licenses.mit;
-      broken = true;
+    };
+  };
+
+  h2 = buildPythonPackage rec {
+    name = "h2-${version}";
+    version = "2.5.1";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/h/h2/${name}.tar.gz";
+      sha256 = "0xhzm5vcfhdq3mihynwh4ljwi0r06lvzk3ypr0gmmbcp1x43ffb7";
+    };
+
+    propagatedBuildInputs = with self; [ enum34 hpack hyperframe ];
+
+    meta = {
+      description = "HTTP/2 State-Machine based protocol implementation";
+      homepage = "http://hyper.rtfd.org/";
+      license = licenses.mit;
+    };
+  };
+
+  editorconfig = buildPythonPackage rec {
+    name = "EditorConfig-${version}";
+    version = "0.12.1";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/e/editorconfig/${name}.tar.gz";
+      sha256 = "1qxqy9wfrpb2ldrk5nzidkpymc55lpf9lg3m8c8a5531jmbwhlwb";
+    };
+
+    meta = {
+      description = "EditorConfig File Locator and Interpreter for Python";
+      homepage = "http://editorconfig.org/";
+      license = licenses.psfl;
     };
   };
 
@@ -14917,16 +15109,16 @@ in {
   };
 
   mutagen = buildPythonPackage (rec {
-    name = "mutagen-1.34";
+    name = "mutagen-1.36";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/m/mutagen/${name}.tar.gz";
-      sha256 = "06anfzpjajwwh25n3afavwafrix3abahgwfr2zinrhqh2w98kw5s";
+      sha256 = "1kabb9b81hgvpd3wcznww549vss12b1xlvpnxg1r6n4c7gikgvnp";
     };
 
     # Needed for tests only
-    buildInputs = [ pkgs.faad2 pkgs.flac pkgs.vorbis-tools pkgs.liboggz
-      pkgs.glibcLocales
+    buildInputs = with self; [ pkgs.faad2 pkgs.flac pkgs.vorbis-tools pkgs.liboggz
+      pkgs.glibcLocales pytest
     ];
     LC_ALL = "en_US.UTF-8";
 
@@ -14996,18 +15188,20 @@ in {
   };
 
   mwclient = buildPythonPackage rec {
-    version = "0.8.1";
-    basename = "mwclient";
-    name = "${basename}-${version}";
+    version = "0.8.3";
+    pname = "mwclient";
+    name = "${pname}-${version}";
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/${basename}/${name}.tar.gz";
-      sha256 = "1r322v6i6xps9xh861rbr4ggshydcgp8cycbdlmgy8qbrh8jg2az";
+    src = pkgs.fetchFromGitHub {
+      owner = "mwclient";
+      repo = "mwclient";
+      rev = "v${version}";
+      sha256 = "0kl1yp9z5f1wl6lkm0vix87zkrbl9wcmkrrj1x5c35xvf95laf53";
     };
 
     buildInputs = with self; [ mock responses pytestcov pytest pytestcache pytestpep8 coverage ];
 
-    propagatedBuildInputs = with self; [ six requests2 ];
+    propagatedBuildInputs = with self; [ six requests2 requests_oauthlib ];
 
     checkPhase = ''
       py.test
@@ -15017,6 +15211,7 @@ in {
       description = "Python client library to the MediaWiki API";
       maintainers = with maintainers; [ DamienCassou ];
       license = licenses.mit;
+      homepage = https://github.com/mwclient/mwclient;
     };
   };
 
@@ -15083,14 +15278,15 @@ in {
   };
 
   pygraphviz = buildPythonPackage rec {
-    name = "pygraphviz-1.3.1";
+    name = "pygraphviz-${version}";
+    version = "1.4rc1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pygraphviz/${name}.tar.gz";
-      sha256 = "7c294cbc9d88946be671cc0d8602aac176d8c56695c0a7d871eadea75a958408";
+      sha256 = "00ck696rddjnrwfnh1zw87b9xzqfm6sqjy6kqf6kmn1xwsi6f19a";
     };
 
-    buildInputs = with self; [ doctest-ignore-unicode ];
+    buildInputs = with self; [ doctest-ignore-unicode mock nose ];
     propagatedBuildInputs = [ pkgs.graphviz pkgs.pkgconfig ];
 
     meta = {
@@ -15419,20 +15615,13 @@ in {
 
   hpack = buildPythonPackage rec {
     name = "hpack-${version}";
-    version = "2.0.1";
+    version = "2.3.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/h/hpack/hpack-${version}.tar.gz";
-      sha256 = "1k4wa8c52bd6x109bn6hc945595w6aqgzj6ipy6c2q7vxkzalzhd";
+      sha256 = "1ad0fx4d7a52zf441qzhjc7vwy9v3qdrk1zyf06ikz8y2nl9mgai";
     };
 
-    propagatedBuildInputs = with self; [
-
-    ];
-    buildInputs = with self; [
-
-    ];
-
     meta = with stdenv.lib; {
       description = "========================================";
       homepage = "http://hyper.rtfd.org";
@@ -15742,12 +15931,12 @@ in {
   };
 
   nose-cprof = buildPythonPackage rec {
-    name = "nose-cprof-0.1-0";
-    disabled = isPy3k;
+    name = "nose-cprof-${version}";
+    version = "0.1.4";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/nose-cprof/${name}.tar.gz";
-      sha256 = "d1edd5cb3139e897752294d2968bfb066abdd754743fa416e024e5c688893344";
+      sha256 = "0ayy5mbjly9aa9dkgpz0l06flspnxmnj6wxdl6zr59byrrr8fqhw";
     };
 
     meta = {
@@ -15995,20 +16184,21 @@ in {
   };
 
   numpy_1_11 = self.buildNumpyPackage rec {
-    version = "1.11.2";
+    version = "1.11.3";
     src = pkgs.fetchurl {
-      url = "mirror://pypi/n/numpy/numpy-${version}.tar.gz";
-      sha256 = "04db2fbd64e2e7c68e740b14402b25af51418fc43a59d9e54172b38b906b0f69";
+      url = "mirror://pypi/n/numpy/numpy-${version}.zip";
+      sha256 = "2e0fc5248246a64628656fe14fcab0a959741a2820e003bd15538226501b82f7";
     };
   };
 
   numpydoc = buildPythonPackage rec {
-    name = "numpydoc-${version}";
-    version = "0.5";
+    pname = "numpydoc";
+    name = "${pname}-${version}";
+    version = "0.6.0";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/n/numpydoc/${name}.tar.gz";
-      sha256 = "0d4dnifaxkll50jx6czj05y8cb4ny60njd2wz299sj2jxfy51w4k";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "1ec573e91f6d868a9940d90a6599f3e834a2d6c064030fbe078d922ee21dcfa1";
     };
 
     buildInputs = [ self.nose ];
@@ -17801,77 +17991,7 @@ in {
     };
   };
 
-  pandas = let
-    inherit (pkgs.stdenv.lib) optional optionalString;
-    inherit (pkgs.stdenv) isDarwin;
-  in buildPythonPackage rec {
-    name = "pandas-${version}";
-    version = "0.19.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pandas/${name}.tar.gz";
-      sha256 = "2509feaeda72fce03675e2eccd2284bb1cadb6a0737008a5e741fe2431d47421";
-    };
-
-    LC_ALL = "en_US.UTF-8";
-    buildInputs = with self; [ nose pkgs.glibcLocales ] ++ optional isDarwin pkgs.libcxx;
-    propagatedBuildInputs = with self; [
-      cython
-      dateutil
-      scipy
-      numexpr
-      pytz
-      xlrd
-      bottleneck
-      sqlalchemy
-      lxml
-      html5lib
-      beautifulsoup4
-      openpyxl
-      tables
-      xlwt
-    ] ++ optional isDarwin pkgs.darwin.locale; # provides the locale command
-
-    # For OSX, we need to add a dependency on libcxx, which provides
-    # `complex.h` and other libraries that pandas depends on to build.
-    patchPhase = optionalString isDarwin ''
-      cpp_sdk="${pkgs.libcxx}/include/c++/v1";
-      echo "Adding $cpp_sdk to the setup.py common_include variable"
-      substituteInPlace setup.py \
-        --replace "['pandas/src/klib', 'pandas/src']" \
-                  "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
-
-      # disable clipboard tests since pbcopy/pbpaste are not open source
-      substituteInPlace pandas/io/tests/test_clipboard.py \
-        --replace pandas.util.clipboard no_such_module \
-        --replace OSError ImportError
-    '';
-
-    # The flag `-A 'not network'` will disable tests that use internet.
-    # The `-e` flag disables a few problematic tests.
-
-    # Disable two tests that are broken since numpy 1.11. Fixed upstream.
-
-    checkPhase = let
-      testsToSkip = [ "test_range_slice_day" "test_range_slice_seconds" ];
-    in ''
-      runHook preCheck
-      # The flag `-A 'not network'` will disable tests that use internet.
-      # The `-e` flag disables a few problematic tests.
-      ${python.executable} setup.py nosetests -A 'not slow and not network' --stop \
-        -e '${concatStringsSep "|" testsToSkip}' --verbosity=3
-
-      runHook postCheck
-    '';
-
-    meta = {
-      homepage = "http://pandas.pydata.org/";
-      description = "Python Data Analysis Library";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ raskin fridh ];
-      platforms = platforms.unix;
-    };
-  };
+  pandas = callPackage ../development/python-modules/pandas { };
 
   xlrd = buildPythonPackage rec {
     name = "xlrd-${version}";
@@ -17943,11 +18063,19 @@ in {
 
   parsedatetime = buildPythonPackage rec {
     name = "parsedatetime-${version}";
-    version = "1.5";
+    version = "2.1";
+
+    meta = {
+      description = "Parse human-readable date/time text";
+      homepage = "https://github.com/bear/parsedatetime";
+      license = licenses.asl20;
+    };
+
+    buildInputs = with self; [ PyICU nose ];
 
     src = pkgs.fetchurl {
         url = "mirror://pypi/p/parsedatetime/${name}.tar.gz";
-        sha256 = "1as0mm4ql3z0324nc9bys2s1ngh507i317p16b79rx86wlmvx9ix";
+        sha256 = "0bdgyw6y3v7bcxlx0p50s8drxsh5bb5cy2afccqr3j90amvpii8p";
     };
   };
 
@@ -18812,7 +18940,7 @@ in {
       sha256 = "0ee9975c05602e755ff5000232e0335ba30d507f6261922a658ee11b1cec36d1";
     };
 
-    doCheck = !isPyPy;
+    doCheck = !stdenv.isDarwin && !isPyPy;
 
     # Disable imagefont tests, because they don't work well with infinality:
     # https://github.com/python-pillow/Pillow/issues/1259
@@ -19936,10 +20064,14 @@ in {
 
     buildInputs = [ pkgs.libev ];
 
+    libEvSharedLibrary = 
+      if !stdenv.isDarwin  
+      then "${pkgs.libev}/lib/libev.so.4"
+      else "${pkgs.libev}/lib/libev.4.dylib";
+
     postPatch = ''
-      libev_so=${pkgs.libev}/lib/libev.so.4
-      test -f "$libev_so" || { echo "ERROR: File $libev_so does not exist, please fix nix expression for pyev"; exit 1; }
-      sed -i -e "s|libev_dll_name = find_library(\"ev\")|libev_dll_name = \"$libev_so\"|" setup.py
+      test -f "${libEvSharedLibrary}" || { echo "ERROR: File ${libEvSharedLibrary} does not exist, please fix nix expression for pyev"; exit 1; }
+      sed -i -e "s|libev_dll_name = find_library(\"ev\")|libev_dll_name = \"${libEvSharedLibrary}\"|" setup.py
     '';
 
     meta = {
@@ -20060,17 +20192,19 @@ in {
   };
 
   pyflakes = buildPythonPackage rec {
-    name = "pyflakes-${version}";
-    version = "1.0.0";
+    pname = "pyflakes";
+    version = "1.3.0";
+    name = "${pname}-${version}";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyflakes/${name}.tar.gz";
-      sha256 = "f39e33a4c03beead8774f005bd3ecf0c3f2f264fa0201de965fce0aff1d34263";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "a4f93317c97a9d9ed71d6ecfe08b68e3de9fea3f4d94dcd1d9d83ccbf929bc31";
     };
 
     buildInputs = with self; [ unittest2 ];
 
     doCheck = !isPyPy;
+    force-rebuild = 1;  # fix transient test suite error at http://hydra.nixos.org/build/45083762
 
     meta = {
       homepage = https://launchpad.net/pyflakes;
@@ -20410,12 +20544,30 @@ in {
     };
   };
 
+  pyinputevent = buildPythonPackage rec {
+    name = "pyinputevent-2016-10-18";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "ntzrmtthihu777";
+      repo = "pyinputevent";
+      rev = "d2075fa5db5d8a402735fe788bb33cf9fe272a5b";
+      sha256 = "0rkis0xp8f9jc00x7jb9kbvhdla24z1vl30djqa6wy6fx0cr6sib";
+    };
+
+    meta = {
+      homepage = "https://github.com/ntzrmtthihu777/pyinputevent";
+      description = "Python interface to the Input Subsystem's input_event and uinput";
+      license = licenses.bsd3;
+      platforms = platforms.linux;
+    };
+  };
+
   pyinotify = buildPythonPackage rec {
-    name = "pyinotify";
+    name = "pyinotify-${version}";
     version = "0.9.6";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/p/${name}/${name}-${version}.tar.gz";
+      url = "mirror://pypi/p/${name}/${name}.tar.gz";
       sha256 = "1x3i9wmzw33fpkis203alygfnrkcmq9w1aydcm887jh6frfqm6cw";
     };
 
@@ -20430,6 +20582,44 @@ in {
     };
   };
 
+  pyinsane2 = buildPythonPackage rec {
+    name = "pyinsane2-${version}";
+    version = "2.0.9";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/p/pyinsane2/${name}.tar.gz";
+      sha256 = "1g4a1zhrrs7smmnsm7x8j5lvsz0r6rr2jgjykc9c1jlscz3yr747";
+    };
+
+    postPatch = ''
+      # pyinsane2 forks itself, so we need to re-inject the PYTHONPATH.
+      sed -i -e '/os.putenv.*PYINSANE_DAEMON/ {
+        a \        os.putenv("PYTHONPATH", ":".join(sys.path))
+      }' src/pyinsane2/sane/abstract_proc.py
+
+      sed -i -e 's,"libsane.so.1","${pkgs.sane-backends}/lib/libsane.so",' \
+        src/pyinsane2/sane/rawapi.py
+    '';
+
+    # Tests require a scanner to be physically connected, so let's just do a
+    # quick check whether initialization works.
+    checkPhase = ''
+      python -c 'import pyinsane2; pyinsane2.init()'
+    '';
+
+    # This is needed by setup.py regardless of whether tests are enabled.
+    buildInputs = [ self.nose ];
+
+    propagatedBuildInputs = [ self.pillow ];
+
+    meta = {
+      homepage = "https://github.com/jflesch/pyinsane";
+      description = "Access and use image scanners";
+      license = licenses.gpl3Plus;
+      platforms = platforms.linux;
+    };
+  };
+
   pyjwt = buildPythonPackage rec {
     version = "1.4.2";
     name = "pyjwt-${version}";
@@ -20440,7 +20630,7 @@ in {
     };
 
     buildInputs = with self; [ pytestrunner pytestcov pytest coverage ];
-    propagatedBuildInputs = with self; [ pycrypto ecdsa ];
+    propagatedBuildInputs = with self; [ cryptography ecdsa ];
 
     # We don't need this specific version
     postPatch = ''
@@ -20508,6 +20698,64 @@ in {
     };
   };
 
+  pyocr = buildPythonPackage rec {
+    name = "pyocr-${version}";
+    version = "0.4.4";
+
+    # Don't fetch from PYPI because it doesn't contain tests.
+    src = pkgs.fetchFromGitHub {
+      owner = "jflesch";
+      repo = "pyocr";
+      rev = version;
+      sha256 = "09s7dxin8ams0f3xab60f45l3nn236a8win9yfyq9aqy9mm946ak";
+    };
+
+    postPatch = ''
+      sed -i \
+        -e 's,^\(TESSERACT_CMD *= *\).*,\1"${pkgs.tesseract}/bin/tesseract",' \
+        -e 's,^\(CUNEIFORM_CMD *= *\).*,\1"${pkgs.cuneiform}/bin/cuneiform",' \
+        -e '/^CUNIFORM_POSSIBLE_PATHS *= *\[/,/^\]$/ {
+          c CUNIFORM_POSSIBLE_PATHS = ["${pkgs.cuneiform}/share/cuneiform"]
+        }' src/pyocr/{tesseract,cuneiform}.py
+
+      sed -i -r \
+        -e 's,"libtesseract\.so\.3","${pkgs.tesseract}/lib/libtesseract.so",' \
+        -e 's,^(TESSDATA_PREFIX *=).*,\1 "${pkgs.tesseract}/share/tessdata",' \
+        src/pyocr/libtesseract/tesseract_raw.py
+
+      # Disable specific tests that are probably failing because of this issue:
+      # https://github.com/jflesch/pyocr/issues/52
+      for test in $disabledTests; do
+        file="''${test%%:*}"
+        fun="''${test#*:}"
+        echo "$fun = unittest.expectedFailure($fun)" >> "tests/tests_$file.py"
+      done
+    '';
+
+    disabledTests = [
+      "cuneiform:TestTxt.test_basic"
+      "cuneiform:TestTxt.test_european"
+      "cuneiform:TestTxt.test_french"
+      "cuneiform:TestWordBox.test_basic"
+      "cuneiform:TestWordBox.test_european"
+      "cuneiform:TestWordBox.test_french"
+      "libtesseract:TestBasicDoc.test_basic"
+      "libtesseract:TestDigitLineBox.test_digits"
+      "libtesseract:TestLineBox.test_japanese"
+      "libtesseract:TestTxt.test_japanese"
+      "libtesseract:TestWordBox.test_japanese"
+      "tesseract:TestDigitLineBox.test_digits"
+      "tesseract:TestTxt.test_japanese"
+    ];
+
+    propagatedBuildInputs = [ self.pillow self.six ];
+
+    meta = {
+      homepage = "https://github.com/jflesch/pyocr";
+      description = "A Python wrapper for Tesseract and Cuneiform";
+      license = licenses.gpl3Plus;
+    };
+  };
 
   pyparsing = buildPythonPackage rec {
     name = "pyparsing-${version}";
@@ -21333,12 +21581,12 @@ in {
   };
 
   pyperclip = buildPythonPackage rec {
-    version = "1.5.11";
+    version = "1.5.27";
     name = "pyperclip-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pyperclip/${name}.zip";
-      sha256 = "07q8krmi7phizzp192x3j7xbk1gzhc1kc3jp4mxrm32dn84sp1vh";
+      sha256 = "1i9zxm7qc49n9yxfb41c0jbmmp2hpzx98kaizjl7qmgiv3snvjx3";
     };
 
     doCheck = false;
@@ -22345,6 +22593,28 @@ in {
     };
   };
 
+  resampy = buildPythonPackage rec {
+    pname = "resampy";
+    version = "0.1.4";
+    name = "${pname}-${version}";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "cf4f149d8699af70a1b4b0769fa16fab21835d936ea7ff25e98446aa49e743d4";
+    };
+
+    checkInputs = with self; [ pytest pytestcov ];
+    # No tests included
+    doCheck = false;
+    propagatedBuildInputs = with self; [ numpy scipy cython six ];
+
+    meta = {
+      homepage = https://github.com/bmcfee/resampy;
+      description = "Efficient signal resampling";
+      license = licenses.isc;
+    };
+  };
+
   robomachine = buildPythonPackage rec {
     name = "robomachine-0.6";
 
@@ -22724,16 +22994,38 @@ in {
     };
   };
 
+  typing = buildPythonPackage rec {
+    name = "typing-${version}";
+    version = "3.5.3.0";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/t/typing/${name}.tar.gz";
+      sha256 = "08gz3grrh3vph5ib1w5x1ssnpzvj077x030lx63fxs4kwg3slbfa";
+    };
+
+    meta = {
+      description = "Backport of typing module to Python versions older than 3.5";
+      homepage = "https://docs.python.org/3.5/library/typing.html";
+      license = licenses.psfl;
+    };
+  };
+
   ruamel_yaml = buildPythonPackage rec {
     name = "ruamel.yaml-${version}";
-    version = "0.10.13";
+    version = "0.13.7";
+
+    # needs ruamel_ordereddict for python2 support
+    disabled = !isPy3k;
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/r/ruamel.yaml/${name}.tar.gz";
-      sha256 = "0r9mn5lm9dcxpy0wpn18cp7i5hkvjvknv3dxg8d9ca6km39m4asn";
+      sha256 = "1vca2552k0kmhr9msg1bbfdvp3p9im17x1a6npaw221vlgg15z7h";
     };
 
-    propagatedBuildInputs = with self; [ ruamel_base ruamel_ordereddict ];
+    # Tests cannot load the module to test
+    doCheck = false;
+
+    propagatedBuildInputs = with self; [ ruamel_base typing ];
 
     meta = {
       description = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order";
@@ -23143,6 +23435,35 @@ in {
     };
   };
 
+  simplebayes = buildPythonPackage rec {
+    name = "simplebayes-${version}";
+    version = "1.5.8";
+
+    # Use GitHub instead of pypi, because it contains tests.
+    src = pkgs.fetchFromGitHub {
+      repo = "simplebayes";
+      owner = "hickeroar";
+      # NOTE: This is actually 1.5.8 but the tag is wrong!
+      rev = "1.5.7";
+      sha256 = "0mp7rvfdmpfxnka4czw3lv5kkh6gdxh6dm4r6hcln1zzfg9lxp4h";
+    };
+
+    checkInputs = [ self.nose self.mock ];
+
+    postPatch = optionalString isPy3k ''
+      sed -i -e 's/open *(\([^)]*\))/open(\1, encoding="utf-8")/' setup.py
+    '';
+
+    checkPhase = "nosetests tests/test.py";
+
+    meta = {
+      description = "Memory-based naive bayesian text classifier";
+      homepage = "https://github.com/hickeroar/simplebayes";
+      license = licenses.mit;
+      platforms = platforms.all;
+    };
+  };
+
   simplegeneric = buildPythonPackage rec {
     version = "0.8.1";
     name = "simplegeneric-${version}";
@@ -23525,11 +23846,11 @@ in {
 
   sounddevice = buildPythonPackage rec {
     name = "sounddevice-${version}";
-    version = "0.3.4";
+    version = "0.3.6";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/sounddevice/${name}.tar.gz";
-      sha256 = "f6c4120357c1458b23bd0d466c66808efdefad397bf97b1162600d079d4665ae";
+      sha256 = "4ef39be2d13069fbad8c69ac259e018d96ce55c23b529a7e0be9bd9a76e2e8da";
     };
 
     propagatedBuildInputs = with self; [ cffi numpy pkgs.portaudio ];
@@ -23699,6 +24020,8 @@ in {
     };
 
     propagatedBuildInputs = with self; [ click configobj contexter jinja2 pytest ];
+
+    meta.broken = true;
   };
 
   pychef = buildPythonPackage rec {
@@ -24086,7 +24409,7 @@ in {
       # but that url does not work. This following web page points to the
       # download link and has some information about the package.
       homepage = http://pypi.python.org/pypi/Skype4Py/1.0.32.0;
-
+      broken = true;
       license = "BSD";
     };
   });
@@ -24211,20 +24534,21 @@ in {
   sphinx = buildPythonPackage (rec {
     name = "${pname}-${version}";
     pname = "Sphinx";
-    version = "1.4.6";
+    version = "1.5.1";
     src = pkgs.fetchurl {
-      url = "mirror://pypi/S/${pname}/${name}.tar.gz";
-      sha256 = "1lvr39ab5sjp894jshk39xidlxw9vc735882cgcfr4dlm4546hwy";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "8e6a77a20b2df950de322fc32f3b508697d9d654fe984e3cc88f446a5b4c17c5";
     };
     LC_ALL = "en_US.UTF-8";
-    buildInputs = with self; [ nose simplejson mock pkgs.glibcLocales ];
-    patchPhase = '' sed -i '$ d' tests/test_setup_command.py '';
-    checkPhase = '' PYTHON=${python.executable} make test '';
+    buildInputs = with self; [ nose simplejson mock pkgs.glibcLocales html5lib ] ++ optional (pythonOlder "3.4") self.enum34;
+    # Disable two tests that require network access.
+    checkPhase = ''
+      NOSE_EXCLUDE=test_defaults,test_anchors_ignored make test
+    '';
     propagatedBuildInputs = with self; [
       docutils
       jinja2
       pygments
-      sphinx_rtd_theme
       alabaster
       Babel
       snowballstemmer
@@ -24232,6 +24556,7 @@ in {
       sqlalchemy
       whoosh
       imagesize
+      requests2
     ];
     meta = {
       description = "A tool that makes it easy to create intelligent and beautiful documentation for Python projects";
@@ -24248,7 +24573,7 @@ in {
       url = "mirror://pypi/s/sphinx/sphinx-1.2.3.tar.gz";
       sha256 = "94933b64e2fe0807da0612c574a021c0dac28c7bd3c4a23723ae5a39ea8f3d04";
     };
-    patches = [];
+    postPatch = '''';
     # Tests requires Pygments >=2.0.2 which isn't worth keeping around for this:
     doCheck = false;
   };
@@ -24347,6 +24672,22 @@ in {
     };
   });
 
+  sphinxcontrib_newsfeed = buildPythonPackage (rec {
+    name = "sphinxcontrib-newsfeed-${version}";
+    version = "0.1.4";
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/s/sphinxcontrib-newsfeed/${name}.tar.gz";
+      sha256 = "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p";
+    };
+
+    propagatedBuildInputs = with self; [sphinx];
+
+    meta = {
+      description = "Extension for adding a simple Blog, News or Announcements section to a Sphinx website";
+      homepage = http://bitbucket.org/prometheus/sphinxcontrib-newsfeed;
+      license = licenses.bsd2;
+    };
+  });
 
   sphinxcontrib_plantuml = buildPythonPackage (rec {
     name = "sphinxcontrib-plantuml-0.7";
@@ -24520,7 +24861,7 @@ in {
     };
 
     buildInputs = with self; [ pytest webob pkgs.imagemagick nose ];
-    propagatedBuildInputs = with self; [ sqlalchemy8 wand ];
+    propagatedBuildInputs = with self; [ sqlalchemy8 Wand ];
 
     checkPhase = ''
       cd tests
@@ -24823,19 +25164,28 @@ in {
   };
 
   syncthing-gtk = buildPythonPackage rec {
-    version = "0.6.3";
+    version = "0.9.2.3";
     name = "syncthing-gtk-${version}";
     src = pkgs.fetchFromGitHub {
       owner = "syncthing";
       repo = "syncthing-gtk";
       rev = "v${version}";
-      sha256 = "1qa5bw2qizjiqvkms8i31wsjf8cw9p0ciamxgfgq6n37wcalv6ms";
+      sha256 = "0chl0f0kp6z0z00d1f3xjlicjfr9rzabw39wmjr66fwb5w5hcc42";
     };
 
     disabled = isPy3k;
 
-    propagatedBuildInputs = with self; [ pkgs.syncthing dateutil pyinotify pkgs.libnotify pkgs.psmisc
-      pygobject3 pkgs.gtk3 ];
+    propagatedBuildInputs = with self; [ pkgs.syncthing dateutil pyinotify
+      pkgs.libnotify
+      (pkgs.librsvg.override { withGTK = true; })
+      pkgs.psmisc pygobject3 pkgs.gtk3
+    ];
+
+    preFixup = ''
+      wrapProgram $out/bin/syncthing-gtk \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
+    '';
 
     patchPhase = ''
       substituteInPlace "scripts/syncthing-gtk" \
@@ -25270,9 +25620,13 @@ in {
     disabled = isPy26 || isPyPy;
 
     installPhase = ''
+      # Move the tkinter module
       mkdir -p $out/${py.sitePackages}
-      ls -Al lib/${py.libPrefix}/lib-dynload/ | grep tkinter
       mv lib/${py.libPrefix}/lib-dynload/_tkinter* $out/${py.sitePackages}/
+      # Update the rpath to point to python without x11Support
+      old_rpath=$(patchelf --print-rpath $out/${py.sitePackages}/_tkinter*)
+      new_rpath=$(sed "s#${py}#${python}#g" <<< "$old_rpath" )
+      patchelf --set-rpath $new_rpath $out/${py.sitePackages}/_tkinter*
     '';
 
     inherit (py) meta;
@@ -25706,6 +26060,8 @@ in {
     };
   };
 
+  u-msgpack-python = callPackage ../development/python-modules/u-msgpack-python { };
+
   umalqurra = buildPythonPackage rec {
     name = "umalqurra-${version}";
     version = "0.2";
@@ -25934,14 +26290,14 @@ in {
 
 
   urwid = buildPythonPackage (rec {
-    name = "urwid-1.3.0";
+    name = "urwid-1.3.1";
 
     # multiple:  NameError: name 'evl' is not defined
     doCheck = false;
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/u/urwid/${name}.tar.gz";
-      sha256 = "29f04fad3bf0a79c5491f7ebec2d50fa086e9d16359896c9204c6a92bc07aba2";
+      sha256 = "18cnd1wdjcas08x5qwa5ayw6jsfcn33w4d9f7q3s29fy6qzc1kng";
     };
 
     meta = {
@@ -25994,6 +26350,32 @@ in {
     };
   };
 
+  virtkey = buildPythonPackage rec {
+    name = "virtkey-${version}";
+    majorVersion = "0.63";
+    version = "${majorVersion}.0";
+
+    src = pkgs.fetchurl {
+      url = "https://launchpad.net/virtkey/${majorVersion}/${version}/+download/virtkey-${version}.tar.gz";
+      sha256 = "0hd99hrxn6bh3rxcrdnad5cqjsphrn1s6fzx91q07d44k6cg6qcr";
+    };
+
+    nativeBuildInputs = [ pkgs.pkgconfig ];
+
+    buildInputs =
+         [ pkgs.gtk2 ]
+      ++ (with pkgs.xorg; [ libX11 libXtst libXi libxkbfile xextproto xproto ]);
+
+    meta = {
+      description = "Extension to emulate keypresses and to get the layout information from the X server";
+      homepage = "https://launchpad.net/virtkey";
+      license = licenses.gpl3;
+      maintainers = with maintainers; [ abbradar ];
+    };
+  };
+
+
+
   virtual-display = buildPythonPackage rec {
     name = "PyVirtualDisplay-0.1.5";
 
@@ -26234,18 +26616,24 @@ EOF
     };
   };
 
+  webencodings = callPackage ../development/python-modules/webencodings { };
+
   websockets = callPackage ../development/python-modules/websockets { };
 
-  wand = buildPythonPackage rec {
-    name = "Wand-0.3.5";
+  Wand = buildPythonPackage rec {
+    pname = "Wand";
+    version = "0.4.4";
+    name = "${pname}-${version}";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/W/Wand/${name}.tar.gz";
-      sha256 = "31e2186ce8d1da0d2ea84d1428fc4d441c2e9d0e25156cc746b35b781026bcff";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "28e0454c9d16d69c5d5034918d96320d8f9f1377b4fdaf4944eec2f938c74704";
     };
 
     buildInputs = with self; [ pkgs.imagemagick pytest psutil memory_profiler pytest_xdist ];
 
+    # No tests
+    doCheck = false;
     meta = {
       description = "Ctypes-based simple MagickWand API binding for Python";
       homepage = http://wand-py.org/;
@@ -26609,26 +26997,7 @@ EOF
     };
   };
 
-  xlwt = buildPythonPackage rec {
-    name = "xlwt-${version}";
-    version = "1.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/x/xlwt/${name}.tar.gz";
-      sha256 = "1y8w5imsicp01gn749qhw6j0grh9y19zz57ribwaknn8xqwjjhxc";
-    };
-
-    buildInputs = with self; [ nose ];
-    checkPhase = ''
-      nosetests -v
-    '';
-
-    meta = {
-      description = "Library to create spreadsheet files compatible with MS";
-      homepage = https://github.com/python-excel/xlwt;
-      license = with licenses; [ bsdOriginal bsd3 lgpl21 ];
-    };
-  };
+  xlwt = callPackage ../development/python-modules/xlwt { };
 
   youtube-dl = callPackage ../tools/misc/youtube-dl {};
 
@@ -27271,11 +27640,11 @@ EOF
 
   zope_testing = buildPythonPackage rec {
     name = "zope.testing-${version}";
-    version = "4.5.0";
+    version = "4.6.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/z/zope.testing/${name}.tar.gz";
-      sha256 = "1yvglxhzvhl45mndvn9gskx2ph30zz1bz7rrlyfs62fv2pvih90s";
+      sha256 = "1vvxhjmzl7vw2i1akfj1xbggwn36270ym7f2ic9xwbaswfw1ap56";
     };
 
     doCheck = !isPyPy;
@@ -28111,14 +28480,14 @@ EOF
   };
 
   graphite_beacon = buildPythonPackage rec {
-    name = "graphite_beacon-0.22.1";
+    name = "graphite_beacon-0.27.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/g/graphite_beacon/${name}.tar.gz";
-      sha256 = "ebde1aba8030c8aeffaeea39f9d44a2be464b198583ad4a390a2bff5f4172543";
+      sha256 = "03bp4wyfn3xhcqyvs5hnk1n87m4smsmm1p7qp459m7j8hwpbq2ks";
     };
 
-    propagatedBuildInputs = [ self.tornado ];
+    propagatedBuildInputs = [ self.tornado self.pyyaml self.funcparserlib ];
 
     preBuild = "> requirements.txt";
 
@@ -28332,13 +28701,13 @@ EOF
   };
 
   libvirt = let
-    version = "2.2.0";
+    version = "2.5.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 = "0xpamw9gjmahvrbfkxjlplgdbhjr35vpp3a942bmw9qqy2rjwsxs";
+      sha256 = "1lanyrk4invs5j4jrd7yvy7g8kilihjbcrgs5arx8k3bs9x7izgl";
     };
 
     buildInputs = with self; [ python pkgs.pkgconfig pkgs.libvirt lxml ];
@@ -29410,12 +29779,12 @@ EOF
   };
 
   neovim = buildPythonPackage rec {
-    version = "0.1.10";
+    version = "0.1.12";
     name = "neovim-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/neovim/${name}.tar.gz";
-      sha256 = "1n6xxh0n250qbvrdl0cw114d890nfv6d0wjk5wpr505sg2bg9jx4";
+      sha256 = "1pll4jjqdq54d867hgqnnpiiz4pz4bbjrnh6binbp7djcbgrb8zq";
     };
 
     buildInputs = with self; [ nose ];
@@ -29790,6 +30159,24 @@ EOF
     };
   };
 
+  mailcap-fix = buildPythonPackage rec {
+    name = "mailcap-fix-${version}";
+    version = "1.0.1";
+
+    disabled = isPy36; # this fix is merged into python 3.6
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/m/mailcap-fix/${name}.tar.gz";
+      sha256 = "02lijkq6v379r8zkqg9q2srin3i80m4wvwik3hcbih0s14v0ng0i";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A patched mailcap module that conforms to RFC 1524";
+      homepage = "https://github.com/michael-lazar/mailcap_fix";
+      license = licenses.unlicense;
+    };
+  };
+
   maildir-deduplicate = buildPythonPackage rec {
     name = "maildir-deduplicate-${version}";
     version = "1.0.2";
@@ -29961,6 +30348,9 @@ EOF
     propagatedBuildInputs = with self; [ scipy ];
     buildInputs = with self; [ nose ];
 
+    # Cannot be installed with Python 2.x, most likely due to the patch below.
+    disabled = !isPy3k;
+
     postPatch = ''
       cd python-package
 
@@ -31043,14 +31433,15 @@ EOF
 
   more-itertools = buildPythonPackage rec {
     name = "more-itertools-${version}";
-    version = "2.2";
+    version = "2.4.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/m/more-itertools/${name}.tar.gz";
-      sha256 = "1q3wqsg44z01g7i5z6j1wc0nf5c5h8g77xny6fia2gddqw2jxrlk";
+      sha256 = "95a222d01df60c888d56d86f91219bfbd47106a534e89ca7f80fb555cfbe08c1";
     };
 
-    propagatedBuildInputs = with self; [ nose ];
+    buildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ six ];
 
     meta = {
       homepage = https://more-itertools.readthedocs.org;
@@ -31202,7 +31593,7 @@ EOF
   txaio = buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "txaio";
-    version = "2.5.1";
+    version = "2.5.2";
 
     meta = {
       description = "Utilities to support code that runs unmodified on Twisted and asyncio.";
@@ -31221,7 +31612,7 @@ EOF
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/t/${pname}/${name}.tar.gz";
-      sha256 = "1pni1m66mlmbybmaf3py4h7cpkmkssqb5l3rigkxvql2f53pcl32";
+      sha256 = "321d441b336447b72dbe81a4d73470414454baf0543ec701fcfecbf4dcbda0fe";
     };
   };
 
@@ -31381,6 +31772,28 @@ EOF
     };
   };
 
+  pytoml = buildPythonPackage rec {
+    name = "pytoml-${version}";
+    version = "0.1.11";
+
+    checkPhase = "${python.interpreter} test/test.py";
+
+    # fetchgit used to ensure test submodule is available
+    src = pkgs.fetchgit {
+      url = "${meta.homepage}.git";
+      rev = "refs/tags/v${version}";
+      sha256 = "1jiw04zk9ccynr8kb1vqh9r1p2kh0al7g7b1f94911iazg7dgs9j";
+    };
+
+    meta = {
+      description = "A TOML parser/writer for Python";
+      homepage    = https://github.com/avakar/pytoml;
+      license     = licenses.mit;
+      maintainers = with maintainers; [ peterhoeg ];
+    };
+
+  };
+
   ROPGadget = buildPythonPackage rec {
     name = "ROPGadget-5.4";
     src = pkgs.fetchurl {
@@ -31475,6 +31888,8 @@ EOF
     };
   };
 
+  urlscan = callPackage ../applications/misc/urlscan { };
+
   wp_export_parser = buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "wp_export_parser";
@@ -31487,6 +31902,9 @@ EOF
     };
   };
 
+  yenc = callPackage ../development/python-modules/yenc {
+  };
+
   zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else
     (pkgs.zeitgeist.override{python2Packages=self;}).py;
 
@@ -31504,6 +31922,10 @@ EOF
       ${python.interpreter} -m unittest test_zipfile.py
     '';
 
+    # Only works with Python 3.x.
+    # Not supposed to be used with 3.6 and up.
+    disabled = !(isPy3k && (pythonOlder "3.6"));
+
     meta = {
       description = "Read and write ZIP files - backport of the zipfile module from Python 3.6";
       homepage = https://gitlab.com/takluyver/zipfile36;
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index f670eaea98a7..de64c2b3cc7d 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -1,5 +1,7 @@
-with import ./release-lib.nix { supportedSystems = []; };
+with import ./release-lib.nix { supportedSystems = [ builtins.currentSystem ]; };
 let
+  lib = import ../../lib;
+
   nativePlatforms = linux;
 
   /* Basic list of packages to cross-build */
@@ -20,39 +22,68 @@ let
   basic = basicCrossDrv // basicNativeDrv;
 
 in
-(
 
-/* Test some cross builds to the Sheevaplug */
-let
-  crossSystem = {
-    config = "armv5tel-unknown-linux-gnueabi";
-    bigEndian = false;
-    arch = "arm";
-    float = "soft";
-    withTLS = true;
-    platform = pkgs.platforms.sheevaplug;
-    libc = "glibc";
-    openssl.system = "linux-generic32";
+{
+  # These `nativeDrv`s should be identical to their vanilla ones --- cross
+  # compiling should not affect the native derivation.
+  ensureUnaffected = let
+    # Absurd values are fine here, as we are not building anything. In fact,
+    # there probably a good idea to try to be "more parametric" --- i.e. avoid
+    # any special casing.
+    crossSystem = {
+      config = "foosys";
+      libc = "foolibc";
+    };
+
+    # Converting to a string (drv path) before checking equality is probably a
+    # good idea lest there be some irrelevant pass-through debug attrs that
+    # cause false negatives.
+    testEqualOne = path: system: let
+      f = attrs: builtins.toString (lib.getAttrFromPath path (allPackages attrs));
+    in assert f { inherit system; } == f { inherit system crossSystem; }; true;
+
+    testEqual = path: systems: forAllSupportedSystems systems (testEqualOne path);
+
+    mapTestEqual = lib.mapAttrsRecursive testEqual;
+
+  in mapTestEqual {
+    boehmgc = nativePlatforms;
+    libffi = nativePlatforms;
+    libiconv = nativePlatforms;
+    libtool = nativePlatforms;
+    zlib = nativePlatforms;
+    readline = nativePlatforms;
+    libxml2 = nativePlatforms;
+    guile = nativePlatforms;
   };
 
-in {
-  crossSheevaplugLinux = mapTestOnCross crossSystem (
-    basic //
-    {
-      ubootSheevaplug.crossDrv = nativePlatforms;
-    });
-}) // (
 
-/* Test some cross builds on 32 bit mingw-w64 */
-let
-  crossSystem = {
+  /* Test some cross builds to the Sheevaplug */
+  crossSheevaplugLinux = let
+    crossSystem = {
+      config = "armv5tel-unknown-linux-gnueabi";
+      bigEndian = false;
+      arch = "arm";
+      float = "soft";
+      withTLS = true;
+      platform = pkgs.platforms.sheevaplug;
+      libc = "glibc";
+      openssl.system = "linux-generic32";
+    };
+  in mapTestOnCross crossSystem (basic // {
+    ubootSheevaplug.crossDrv = nativePlatforms;
+  });
+
+
+  /* Test some cross builds on 32 bit mingw-w64 */
+  crossMingw32 = let
+    crossSystem = {
       config = "i686-w64-mingw32";
       arch = "x86"; # Irrelevant
       libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
       platform = {};
-  };
-in {
-  crossMingw32 = mapTestOnCross crossSystem {
+    };
+  in mapTestOnCross crossSystem {
     coreutils.crossDrv = nativePlatforms;
     boehmgc.crossDrv = nativePlatforms;
     gmp.crossDrv = nativePlatforms;
@@ -62,19 +93,18 @@ in {
     libunistring.crossDrv = nativePlatforms;
     windows.wxMSW.crossDrv = nativePlatforms;
   };
-}) // (
 
-/* Test some cross builds on 64 bit mingw-w64 */
-let
-  crossSystem = {
+
+  /* Test some cross builds on 64 bit mingw-w64 */
+  crossMingwW64 = let
+    crossSystem = {
       # That's the triplet they use in the mingw-w64 docs.
       config = "x86_64-w64-mingw32";
       arch = "x86_64"; # Irrelevant
       libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
       platform = {};
-  };
-in {
-  crossMingwW64 = mapTestOnCross crossSystem {
+    };
+  in mapTestOnCross crossSystem {
     coreutils.crossDrv = nativePlatforms;
     boehmgc.crossDrv = nativePlatforms;
     gmp.crossDrv = nativePlatforms;
@@ -84,63 +114,60 @@ in {
     libunistring.crossDrv = nativePlatforms;
     windows.wxMSW.crossDrv = nativePlatforms;
   };
-}) // (
 
-/* Linux on the fuloong */
-let
-  crossSystem = {
-    config = "mips64el-unknown-linux";
-    bigEndian = false;
-    arch = "mips";
-    float = "hard";
-    withTLS = true;
-    libc = "glibc";
-    platform = {
-      name = "fuloong-minipc";
-      kernelMajor = "2.6";
-      kernelBaseConfig = "lemote2f_defconfig";
-      kernelHeadersBaseConfig = "fuloong2e_defconfig";
-      uboot = null;
-      kernelArch = "mips";
-      kernelAutoModules = false;
-      kernelTarget = "vmlinux";
-    };
-    openssl.system = "linux-generic32";
-    gcc = {
-      arch = "loongson2f";
-      abi = "n32";
-    };
-  };
-in {
-  fuloongminipc = mapTestOnCross crossSystem {
 
+  /* Linux on the fuloong */
+  fuloongminipc = let
+    crossSystem = {
+      config = "mips64el-unknown-linux";
+      bigEndian = false;
+      arch = "mips";
+      float = "hard";
+      withTLS = true;
+      libc = "glibc";
+      platform = {
+        name = "fuloong-minipc";
+        kernelMajor = "2.6";
+        kernelBaseConfig = "lemote2f_defconfig";
+        kernelHeadersBaseConfig = "fuloong2e_defconfig";
+        uboot = null;
+        kernelArch = "mips";
+        kernelAutoModules = false;
+        kernelTarget = "vmlinux";
+      };
+      openssl.system = "linux-generic32";
+      gcc = {
+        arch = "loongson2f";
+        abi = "n32";
+      };
+    };
+  in mapTestOnCross crossSystem {
     coreutils.crossDrv = nativePlatforms;
     ed.crossDrv = nativePlatforms;
     patch.crossDrv = nativePlatforms;
   };
-}) // (
 
-/* Linux on Raspberrypi */
-let
-  crossSystem = {
-    config = "armv6l-unknown-linux-gnueabi";
-    bigEndian = false;
-    arch = "arm";
-    float = "hard";
-    fpu = "vfp";
-    withTLS = true;
-    libc = "glibc";
-    platform = pkgs.platforms.raspberrypi;
-    openssl.system = "linux-generic32";
-    gcc = {
-      arch = "armv6";
+
+  /* Linux on Raspberrypi */
+  rpi = let
+    crossSystem = {
+      config = "armv6l-unknown-linux-gnueabi";
+      bigEndian = false;
+      arch = "arm";
+      float = "hard";
       fpu = "vfp";
-      float = "softfp";
-      abi = "aapcs-linux";
+      withTLS = true;
+      libc = "glibc";
+      platform = pkgs.platforms.raspberrypi;
+      openssl.system = "linux-generic32";
+      gcc = {
+        arch = "armv6";
+        fpu = "vfp";
+        float = "softfp";
+        abi = "aapcs-linux";
+      };
     };
-  };
-in {
-  rpi = mapTestOnCross crossSystem {
+  in mapTestOnCross crossSystem {
     coreutils.crossDrv = nativePlatforms;
     ed.crossDrv = nativePlatforms;
     patch.crossDrv = nativePlatforms;
@@ -152,13 +179,12 @@ in {
     binutils.crossDrv = nativePlatforms;
     mpg123.crossDrv = nativePlatforms;
   };
-}) // (
 
-/* Cross-built bootstrap tools for every supported platform */
-let
-  tools = import ../stdenv/linux/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; };
-  maintainers = [ pkgs.lib.maintainers.dezgeg ];
-  mkBootstrapToolsJob = bt: hydraJob' (pkgs.lib.addMetaAttrs { inherit maintainers; } bt.dist);
-in {
-  bootstrapTools = pkgs.lib.mapAttrs (name: mkBootstrapToolsJob) tools;
-})
+
+  /* Cross-built bootstrap tools for every supported platform */
+  bootstrapTools = let
+    tools = import ../stdenv/linux/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; };
+    maintainers = [ pkgs.lib.maintainers.dezgeg ];
+    mkBootstrapToolsJob = bt: hydraJob' (pkgs.lib.addMetaAttrs { inherit maintainers; } bt.dist);
+  in pkgs.lib.mapAttrs (name: mkBootstrapToolsJob) tools;
+}
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index 5f6dd49d6ecc..5fe87711c016 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -46,23 +46,23 @@ rec {
      interested in the result of cross building a package. */
   crossMaintainers = [ maintainers.viric ];
 
+  forAllSupportedSystems = systems: f:
+    genAttrs (filter (x: elem x supportedSystems) systems) f;
 
   /* Build a package on the given set of platforms.  The function `f'
      is called for each supported platform with Nixpkgs for that
      platform as an argument .  We return an attribute set containing
      a derivation for each supported platform, i.e. ‘{ x86_64-linux =
      f pkgs_x86_64_linux; i686-linux = f pkgs_i686_linux; ... }’. */
-  testOn = systems: f: genAttrs
-    (filter (x: elem x supportedSystems) systems) (system: hydraJob' (f (pkgsFor system)));
+  testOn = systems: f: forAllSupportedSystems systems
+    (system: hydraJob' (f (pkgsFor system)));
 
 
   /* Similar to the testOn function, but with an additional
      'crossSystem' parameter for allPackages, defining the target
      platform for cross builds. */
-  testOnCross = crossSystem: systems: f: {system ? builtins.currentSystem}:
-    if elem system systems
-    then f (allPackages { inherit system crossSystem; })
-    else {};
+  testOnCross = crossSystem: systems: f: forAllSupportedSystems systems
+    (system: hydraJob' (f (allPackages { inherit system crossSystem; })));
 
 
   /* Given a nested set where the leaf nodes are lists of platforms,
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index ef6dee3e3f7d..ea827651b2f9 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,9 +7,9 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2016-12-03";
-  rev = "94e482dd6667aa239e5b3b8590fc9bfa0c1fd376";
-  sha256 = "0k300vhc0m8a0165pikl6rvyz0w20dnlacpb9b4jjl7gfixynlmz";
+  version = "2017-01-08";
+  rev = "5ca2f329d51b9466d9bda79172e0135edaf15f30";
+  sha256 = "19h3zyx83va00ssagqsk9h0c83ir9wqhn192xvk5k44m9648jvsh";
 
   src = fetchFromGitHub {
       inherit rev;