summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml5
-rw-r--r--default.nix12
-rw-r--r--doc/languages-frameworks/haskell.md9
-rw-r--r--lib/composable-derivation.nix6
-rw-r--r--lib/debug.nix14
-rw-r--r--lib/deprecated.nix179
-rw-r--r--lib/maintainers.nix8
-rw-r--r--lib/modules.nix8
-rw-r--r--lib/strings.nix8
-rw-r--r--lib/tests.nix38
-rw-r--r--lib/types.nix2
-rw-r--r--maintainers/docker/.dockerignore14
-rw-r--r--maintainers/docker/Dockerfile12
-rwxr-xr-xmaintainers/scripts/hydra-eval-failures.py4
-rwxr-xr-xmaintainers/scripts/nix-diff.sh277
-rw-r--r--nixos/modules/config/fonts/fontconfig-ultimate.nix100
-rw-r--r--nixos/modules/config/fonts/fontconfig.nix120
-rw-r--r--nixos/modules/config/update-users-groups.pl2
-rw-r--r--nixos/modules/hardware/sensor/iio.nix30
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix1
-rw-r--r--nixos/modules/module-list.nix4
-rw-r--r--nixos/modules/programs/adb.nix1
-rw-r--r--nixos/modules/programs/gphoto2.nix1
-rw-r--r--nixos/modules/programs/mosh.nix1
-rw-r--r--nixos/modules/programs/ssmtp.nix3
-rw-r--r--nixos/modules/programs/tmux.nix5
-rw-r--r--nixos/modules/programs/vim.nix1
-rw-r--r--nixos/modules/rename.nix10
-rw-r--r--nixos/modules/security/dhparams.nix113
-rw-r--r--nixos/modules/security/grsecurity.nix3
-rw-r--r--nixos/modules/security/grsecurity.xml2
-rw-r--r--nixos/modules/services/backup/rsnapshot.nix1
-rw-r--r--nixos/modules/services/computing/boinc/client.nix2
-rw-r--r--nixos/modules/services/continuous-integration/buildbot/master.nix4
-rw-r--r--nixos/modules/services/continuous-integration/buildbot/worker.nix4
-rw-r--r--nixos/modules/services/databases/cassandra.nix1
-rw-r--r--nixos/modules/services/databases/couchdb.nix30
-rw-r--r--nixos/modules/services/databases/neo4j.nix6
-rw-r--r--nixos/modules/services/databases/openldap.nix1
-rw-r--r--nixos/modules/services/editors/emacs.nix3
-rw-r--r--nixos/modules/services/editors/emacs.xml5
-rw-r--r--nixos/modules/services/mail/mlmmj.nix2
-rw-r--r--nixos/modules/services/mail/offlineimap.nix1
-rw-r--r--nixos/modules/services/misc/ihaskell.nix1
-rw-r--r--nixos/modules/services/misc/irkerd.nix67
-rw-r--r--nixos/modules/services/misc/nixos-manual.nix14
-rw-r--r--nixos/modules/services/misc/taskserver/default.nix1
-rw-r--r--nixos/modules/services/monitoring/arbtt.nix1
-rw-r--r--nixos/modules/services/monitoring/prometheus/fritzbox-exporter.nix76
-rw-r--r--nixos/modules/services/monitoring/prometheus/unifi-exporter.nix104
-rw-r--r--nixos/modules/services/networking/aiccu.nix9
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.nix157
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.xml12
-rw-r--r--nixos/modules/services/networking/ferm.nix1
-rw-r--r--nixos/modules/services/networking/firefox/sync-server.nix2
-rw-r--r--nixos/modules/services/networking/mosquitto.nix1
-rw-r--r--nixos/modules/services/networking/quagga.nix1
-rw-r--r--nixos/modules/services/networking/vsftpd.nix3
-rw-r--r--nixos/modules/services/networking/znc.nix3
-rw-r--r--nixos/modules/services/scheduling/cron.nix2
-rw-r--r--nixos/modules/services/security/haka.nix1
-rw-r--r--nixos/modules/services/security/physlock.nix14
-rw-r--r--nixos/modules/services/security/tor.nix16
-rw-r--r--nixos/modules/services/security/torify.nix16
-rw-r--r--nixos/modules/services/torrent/deluge.nix2
-rw-r--r--nixos/modules/services/web-apps/atlassian/crowd.nix1
-rw-r--r--nixos/modules/services/web-apps/atlassian/jira.nix1
-rw-r--r--nixos/modules/services/web-apps/pump.io-configure.js23
-rw-r--r--nixos/modules/services/web-apps/pump.io.nix220
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/wordpress.nix20
-rw-r--r--nixos/modules/services/web-servers/caddy.nix1
-rw-r--r--nixos/modules/services/web-servers/jboss/default.nix2
-rw-r--r--nixos/modules/services/web-servers/phpfpm/default.nix7
-rw-r--r--nixos/modules/services/x11/compton.nix3
-rw-r--r--nixos/modules/services/x11/desktop-managers/enlightenment.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/kodi.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix15
-rw-r--r--nixos/modules/services/x11/desktop-managers/xterm.nix1
-rw-r--r--nixos/modules/services/x11/hardware/libinput.nix8
-rw-r--r--nixos/modules/services/x11/hardware/multitouch.nix4
-rw-r--r--nixos/modules/services/x11/hardware/synaptics.nix4
-rw-r--r--nixos/modules/services/x11/redshift.nix1
-rw-r--r--nixos/modules/services/x11/unclutter-xfixes.nix1
-rw-r--r--nixos/modules/services/x11/unclutter.nix1
-rw-r--r--nixos/modules/services/x11/urxvtd.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/exwm.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/xmonad.nix1
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix1
-rw-r--r--nixos/modules/system/boot/luksroot.nix4
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix2
-rw-r--r--nixos/modules/tasks/network-interfaces.nix1
-rw-r--r--nixos/modules/virtualisation/containers.nix1
-rw-r--r--nixos/modules/virtualisation/lxc.nix1
-rw-r--r--nixos/modules/virtualisation/xen-dom0.nix2
-rw-r--r--nixos/release-combined.nix2
-rw-r--r--nixos/release.nix3
-rw-r--r--nixos/tests/firefox.nix10
-rw-r--r--nixos/tests/pump.io.nix19
-rw-r--r--nixos/tests/wordpress.nix12
-rw-r--r--pkgs/applications/altcoins/dashpay.nix36
-rw-r--r--pkgs/applications/altcoins/litecoin.nix21
-rw-r--r--pkgs/applications/audio/bitwig-studio/default.nix8
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix15
-rw-r--r--pkgs/applications/audio/clementine/default.nix16
-rw-r--r--pkgs/applications/audio/csound/default.nix26
-rw-r--r--pkgs/applications/audio/spotify/default.nix2
-rw-r--r--pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations25
-rw-r--r--pkgs/applications/audio/yasr/20_maxpathlen11
-rw-r--r--pkgs/applications/audio/yasr/30_conf18
-rw-r--r--pkgs/applications/audio/yasr/40_dectalk_extended_chars14
-rw-r--r--pkgs/applications/audio/yasr/default.nix28
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix4
-rw-r--r--pkgs/applications/editors/atom/default.nix13
-rw-r--r--pkgs/applications/editors/atom/env.nix2
-rw-r--r--pkgs/applications/editors/bluefish/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/build-eclipse.nix10
-rw-r--r--pkgs/applications/editors/eclipse/default.nix5
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-generated.nix1453
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix356
-rw-r--r--pkgs/applications/editors/emacs/default.nix9
-rw-r--r--pkgs/applications/editors/emacs/macport-24.5.nix91
-rw-r--r--pkgs/applications/editors/emacs/macport.nix (renamed from pkgs/applications/editors/emacs/macport-25.1.nix)2
-rw-r--r--pkgs/applications/editors/geany/default.nix17
-rw-r--r--pkgs/applications/editors/idea/default.nix4
-rw-r--r--pkgs/applications/editors/joe/default.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop.nix6
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch55
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevplatform.nix8
-rw-r--r--pkgs/applications/editors/kodestudio/default.nix133
-rw-r--r--pkgs/applications/editors/mg/configure.patch35
-rw-r--r--pkgs/applications/editors/mg/default.nix29
-rw-r--r--pkgs/applications/editors/nano/default.nix11
-rw-r--r--pkgs/applications/editors/nedit/default.nix10
-rw-r--r--pkgs/applications/editors/neovim/default.nix10
-rw-r--r--pkgs/applications/editors/scite/default.nix22
-rw-r--r--pkgs/applications/editors/sigil/default.nix19
-rw-r--r--pkgs/applications/editors/sublime3/default.nix24
-rw-r--r--pkgs/applications/editors/tiled/default.nix15
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/gis/qgis/default.nix11
-rw-r--r--pkgs/applications/graphics/PythonMagick/default.nix12
-rw-r--r--pkgs/applications/graphics/ahoviewer/default.nix24
-rw-r--r--pkgs/applications/graphics/alchemy/default.nix18
-rw-r--r--pkgs/applications/graphics/c3d/default.nix24
-rw-r--r--pkgs/applications/graphics/djview/default.nix17
-rw-r--r--pkgs/applications/graphics/feh/default.nix24
-rw-r--r--pkgs/applications/graphics/fontmatrix/default.nix22
-rw-r--r--pkgs/applications/graphics/glabels/default.nix22
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix6
-rw-r--r--pkgs/applications/graphics/jpegoptim/default.nix12
-rw-r--r--pkgs/applications/graphics/leocad/default.nix18
-rw-r--r--pkgs/applications/graphics/meh/default.nix27
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix16
-rw-r--r--pkgs/applications/graphics/pbrt/default.nix25
-rw-r--r--pkgs/applications/graphics/potrace/default.nix12
-rw-r--r--pkgs/applications/graphics/pqiv/default.nix30
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix24
-rw-r--r--pkgs/applications/graphics/sane/backends/brscan4/default.nix22
-rw-r--r--pkgs/applications/graphics/seg3d/default.nix4
-rw-r--r--pkgs/applications/kde/default.nix2
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/kcachegrind.nix27
-rw-r--r--pkgs/applications/kde/kdelibs/default.nix5
-rw-r--r--pkgs/applications/kde/krfb.nix22
-rw-r--r--pkgs/applications/kde/srcs.nix2224
-rw-r--r--pkgs/applications/misc/albert/default.nix5
-rw-r--r--pkgs/applications/misc/calcurse/default.nix25
-rw-r--r--pkgs/applications/misc/chirp/default.nix17
-rw-r--r--pkgs/applications/misc/colort/default.nix22
-rw-r--r--pkgs/applications/misc/copyq/default.nix24
-rw-r--r--pkgs/applications/misc/devilspie2/default.nix15
-rw-r--r--pkgs/applications/misc/electrum/default.nix21
-rw-r--r--pkgs/applications/misc/emem/default.nix11
-rw-r--r--pkgs/applications/misc/htmldoc/default.nix16
-rw-r--r--pkgs/applications/misc/hyper/default.nix11
-rw-r--r--pkgs/applications/misc/inspectrum/default.nix29
-rw-r--r--pkgs/applications/misc/kanboard/default.nix25
-rw-r--r--pkgs/applications/misc/keepass-plugins/keeagent/default.nix31
-rw-r--r--pkgs/applications/misc/kiwix/default.nix1
-rw-r--r--pkgs/applications/misc/mpvc/default.nix29
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix8
-rw-r--r--pkgs/applications/misc/ptask/default.nix29
-rw-r--r--pkgs/applications/misc/ptask/tw-version.patch11
-rw-r--r--pkgs/applications/misc/pwsafe/default.nix6
-rw-r--r--pkgs/applications/misc/qmetro/default.nix32
-rw-r--r--pkgs/applications/misc/qsyncthingtray/default.nix3
-rw-r--r--pkgs/applications/misc/robomongo/default.nix1
-rw-r--r--pkgs/applications/misc/sc-im/default.nix14
-rw-r--r--pkgs/applications/misc/taskjuggler/Gemfile2
-rw-r--r--pkgs/applications/misc/taskjuggler/Gemfile.lock21
-rw-r--r--pkgs/applications/misc/taskjuggler/default.nix15
-rw-r--r--pkgs/applications/misc/taskjuggler/gemset.nix47
-rw-r--r--pkgs/applications/misc/timewarrior/default.nix6
-rw-r--r--pkgs/applications/misc/timewarrior/install-all-themes.patch27
-rw-r--r--pkgs/applications/misc/xastir/default.nix37
-rw-r--r--pkgs/applications/misc/xca/default.nix1
-rw-r--r--pkgs/applications/misc/xrq/default.nix27
-rw-r--r--pkgs/applications/misc/ykpers/default.nix24
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix738
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/firefox/fix-debug.patch77
-rw-r--r--pkgs/applications/networking/browsers/links2/default.nix11
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix10
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/surf/webkit2.nix42
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix19
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix88
-rw-r--r--pkgs/applications/networking/cluster/nomad/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform/0.8.5.nix34
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix75
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/0.9.8.nix35
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/esniper/default.nix8
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix47
-rw-r--r--pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix76
-rw-r--r--pkgs/applications/networking/instant-messengers/scudcloud/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix4
-rw-r--r--pkgs/applications/networking/irc/shout/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix3
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix466
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/mpop/default.nix19
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix21
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix25
-rw-r--r--pkgs/applications/networking/remote/citrix-receiver/default.nix4
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix14
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix13
-rw-r--r--pkgs/applications/networking/znc/default.nix10
-rw-r--r--pkgs/applications/office/libreoffice/default-primary-src.nix6
-rw-r--r--pkgs/applications/office/libreoffice/default.nix4
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix20
-rw-r--r--pkgs/applications/office/libreoffice/still.nix7
-rw-r--r--pkgs/applications/office/mmex/default.nix4
-rw-r--r--pkgs/applications/science/biology/ants/default.nix30
-rw-r--r--pkgs/applications/science/biology/emboss/default.nix16
-rw-r--r--pkgs/applications/science/logic/hol/default.nix1
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-octopus/default.nix34
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch7
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix6
-rw-r--r--pkgs/applications/version-management/peru/default.nix27
-rw-r--r--pkgs/applications/version-management/rapidsvn/default.nix15
-rw-r--r--pkgs/applications/version-management/rapidsvn/fix-build.patch122
-rw-r--r--pkgs/applications/version-management/src/default.nix21
-rw-r--r--pkgs/applications/video/gnome-mplayer/default.nix6
-rw-r--r--pkgs/applications/video/handbrake/default.nix88
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix20
-rw-r--r--pkgs/applications/video/obs-studio/default.nix6
-rw-r--r--pkgs/applications/video/obs-studio/segfault-patch-systray.patch40
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix9
-rw-r--r--pkgs/applications/virtualization/docker/default.nix27
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix96
-rw-r--r--pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch70
-rw-r--r--pkgs/applications/virtualization/runc/default.nix9
-rw-r--r--pkgs/applications/virtualization/virt-manager/qt.nix47
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix11
-rw-r--r--pkgs/applications/virtualization/xhyve/default.nix20
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix17
-rw-r--r--pkgs/applications/window-managers/bevelbar/default.nix25
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix2
-rw-r--r--pkgs/applications/window-managers/windowmaker/default.nix6
-rw-r--r--pkgs/applications/window-managers/wtftw/default.nix37
-rw-r--r--pkgs/build-support/fetchsvn/builder.sh3
-rw-r--r--pkgs/build-support/fetchsvn/default.nix11
-rw-r--r--pkgs/build-support/remove-references-to/default.nix34
-rw-r--r--pkgs/build-support/setup-hooks/fix-darwin-frameworks.sh31
-rw-r--r--pkgs/build-support/setup-hooks/make-wrapper.sh75
-rw-r--r--pkgs/data/fonts/iosevka/default.nix16
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/libgee/default.nix2
-rw-r--r--pkgs/desktops/lxqt/default.nix2
-rwxr-xr-xpkgs/desktops/plasma-5/startkde/startkde.sh23
-rw-r--r--pkgs/development/compilers/closure/default.nix8
-rw-r--r--pkgs/development/compilers/coreclr/default.nix1
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix6
-rw-r--r--pkgs/development/compilers/emscripten/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/5/libcxx38-and-above.patch46
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix552
-rw-r--r--pkgs/development/compilers/ghc/7.10.3.nix1
-rw-r--r--pkgs/development/compilers/ghcjs/shims.nix4
-rw-r--r--pkgs/development/compilers/go/1.4.nix9
-rw-r--r--pkgs/development/compilers/go/1.6.nix7
-rw-r--r--pkgs/development/compilers/go/1.7.nix7
-rw-r--r--pkgs/development/compilers/go/1.8.nix12
-rw-r--r--pkgs/development/compilers/halvm/2.4.0.nix48
-rw-r--r--pkgs/development/compilers/ispc/default.nix4
-rw-r--r--pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.7/libc++abi.nix17
-rw-r--r--pkgs/development/compilers/llvm/3.9/clang/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/3.9/llvm.nix16
-rw-r--r--pkgs/development/compilers/llvm/4/clang/default.nix13
-rw-r--r--pkgs/development/compilers/llvm/4/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/4/libc++abi.nix2
-rw-r--r--pkgs/development/compilers/llvm/4/lld.nix2
-rw-r--r--pkgs/development/compilers/llvm/4/lldb.nix2
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix17
-rw-r--r--pkgs/development/compilers/nasm/default.nix4
-rw-r--r--pkgs/development/compilers/openjdk-darwin/8.nix11
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/ponyc/pony-stable.nix6
-rw-r--r--pkgs/development/compilers/rust/nightlyBin.nix9
-rw-r--r--pkgs/development/compilers/scala/default.nix4
-rw-r--r--pkgs/development/compilers/souper/cmake-fix.patch14
-rw-r--r--pkgs/development/compilers/souper/default.nix20
-rw-r--r--pkgs/development/compilers/tinycc/default.nix6
-rw-r--r--pkgs/development/go-modules/generic/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml3
-rw-r--r--pkgs/development/haskell-modules/configuration-halvm-2.4.0.nix59
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix36
-rw-r--r--pkgs/development/haskell-modules/default.nix9
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix20
-rw-r--r--pkgs/development/haskell-modules/with-packages-wrapper.nix9
-rw-r--r--pkgs/development/interpreters/clips/default.nix29
-rw-r--r--pkgs/development/interpreters/clisp/hg.nix10
-rw-r--r--pkgs/development/interpreters/erlang/R14.nix64
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix5
-rw-r--r--pkgs/development/interpreters/erlang/R16B02-8-basho.nix27
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix7
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix7
-rw-r--r--pkgs/development/interpreters/erlang/R19.nix9
-rw-r--r--pkgs/development/interpreters/guile/2.0.nix120
-rw-r--r--pkgs/development/interpreters/guile/default.nix33
-rw-r--r--pkgs/development/interpreters/guile/setup-hook-2.2.sh13
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.darwin.patch4
-rw-r--r--pkgs/development/interpreters/pure/default.nix4
-rw-r--r--pkgs/development/interpreters/renpy/default.nix23
-rw-r--r--pkgs/development/interpreters/ruby/rubygems-src.nix4
-rw-r--r--pkgs/development/libraries/CGAL/default.nix18
-rw-r--r--pkgs/development/libraries/CoinMP/default.nix4
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix5
-rw-r--r--pkgs/development/libraries/ace/default.nix22
-rw-r--r--pkgs/development/libraries/appstream/default.nix24
-rw-r--r--pkgs/development/libraries/aqbanking/sources.nix12
-rwxr-xr-xpkgs/development/libraries/aqbanking/update.sh2
-rw-r--r--pkgs/development/libraries/armadillo/default.nix13
-rw-r--r--pkgs/development/libraries/assimp/default.nix10
-rw-r--r--pkgs/development/libraries/aubio/default.nix17
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix4
-rw-r--r--pkgs/development/libraries/babl/default.nix10
-rw-r--r--pkgs/development/libraries/bobcat/default.nix7
-rw-r--r--pkgs/development/libraries/boost/generic.nix2
-rw-r--r--pkgs/development/libraries/caf/default.nix23
-rw-r--r--pkgs/development/libraries/cdk/default.nix17
-rw-r--r--pkgs/development/libraries/ceres-solver/default.nix16
-rw-r--r--pkgs/development/libraries/cfitsio/default.nix18
-rw-r--r--pkgs/development/libraries/chipmunk/default.nix7
-rw-r--r--pkgs/development/libraries/chromaprint/default.nix4
-rw-r--r--pkgs/development/libraries/cimg/default.nix6
-rw-r--r--pkgs/development/libraries/cl/default.nix22
-rw-r--r--pkgs/development/libraries/concurrencykit/default.nix19
-rw-r--r--pkgs/development/libraries/cre2/default.nix34
-rw-r--r--pkgs/development/libraries/dbus/make-session-conf.xsl3
-rw-r--r--pkgs/development/libraries/dlib/default.nix40
-rw-r--r--pkgs/development/libraries/drumstick/default.nix14
-rw-r--r--pkgs/development/libraries/eigen/default.nix2
-rw-r--r--pkgs/development/libraries/enginepkcs11/default.nix21
-rw-r--r--pkgs/development/libraries/exempi/default.nix4
-rw-r--r--pkgs/development/libraries/exosip/default.nix18
-rw-r--r--pkgs/development/libraries/fcppt/default.nix25
-rw-r--r--pkgs/development/libraries/ffmpegthumbnailer/default.nix15
-rw-r--r--pkgs/development/libraries/ffms/default.nix27
-rw-r--r--pkgs/development/libraries/filter-audio/default.nix14
-rw-r--r--pkgs/development/libraries/gdal/default.nix4
-rw-r--r--pkgs/development/libraries/gecode/default.nix5
-rw-r--r--pkgs/development/libraries/geis/default.nix4
-rw-r--r--pkgs/development/libraries/gloox/default.nix20
-rw-r--r--pkgs/development/libraries/gmm/default.nix15
-rw-r--r--pkgs/development/libraries/gnutls/3.5.nix4
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix6
-rw-r--r--pkgs/development/libraries/google-gflags/default.nix15
-rw-r--r--pkgs/development/libraries/granite/default.nix12
-rw-r--r--pkgs/development/libraries/gssdp/default.nix15
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix17
-rw-r--r--pkgs/development/libraries/htmlcxx/default.nix12
-rw-r--r--pkgs/development/libraries/hwloc/default.nix19
-rw-r--r--pkgs/development/libraries/icu/57.nix64
-rw-r--r--pkgs/development/libraries/icu/default.nix9
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix18
-rw-r--r--pkgs/development/libraries/itk/default.nix9
-rw-r--r--pkgs/development/libraries/jemalloc/default.nix7
-rw-r--r--pkgs/development/libraries/ldns/default.nix2
-rw-r--r--pkgs/development/libraries/libbluray/default.nix22
-rw-r--r--pkgs/development/libraries/libbson/default.nix18
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix27
-rw-r--r--pkgs/development/libraries/libdap/default.nix15
-rw-r--r--pkgs/development/libraries/libdc1394/default.nix18
-rw-r--r--pkgs/development/libraries/libdiscid/default.nix10
-rw-r--r--pkgs/development/libraries/libevdev/default.nix6
-rw-r--r--pkgs/development/libraries/libextractor/default.nix4
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfixposix/default.nix29
-rw-r--r--pkgs/development/libraries/libhttpseverywhere/default.nix7
-rw-r--r--pkgs/development/libraries/libibmad/default.nix4
-rw-r--r--pkgs/development/libraries/libircclient/default.nix2
-rw-r--r--pkgs/development/libraries/libmsgpack/generic.nix7
-rw-r--r--pkgs/development/libraries/libp11/default.nix14
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix18
-rw-r--r--pkgs/development/libraries/libsodium/default.nix4
-rw-r--r--pkgs/development/libraries/libzip/default.nix4
-rw-r--r--pkgs/development/libraries/liquid-dsp/default.nix23
-rw-r--r--pkgs/development/libraries/msilbc/default.nix13
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix16
-rw-r--r--pkgs/development/libraries/openssl/default.nix1
-rw-r--r--pkgs/development/libraries/openssl/nix-ssl-cert-file.patch14
-rw-r--r--pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch13
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix27
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.7/default.nix11
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch384
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/default.nix110
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.8/qtbase/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh5
-rw-r--r--pkgs/development/libraries/shapelib/default.nix19
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/umockdev/default.nix29
-rw-r--r--pkgs/development/libraries/urt/default.nix61
-rw-r--r--pkgs/development/libraries/urt/gentoo-config52
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch151
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch141
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-make.patch75
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch203
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-tempfile.patch19
-rw-r--r--pkgs/development/node-packages/node-env.nix2
-rw-r--r--pkgs/development/ocaml-modules/bos/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/cpuid/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/functoria/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/llvm/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix31
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix33
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/rresult/default.nix24
-rw-r--r--pkgs/development/pure-modules/octave/default.nix8
-rw-r--r--pkgs/development/python-modules/configparser/0001-namespace-fix.patch42
-rw-r--r--pkgs/development/python-modules/dateutil/default.nix18
-rw-r--r--pkgs/development/python-modules/django-raster/default.nix25
-rw-r--r--pkgs/development/python-modules/django_guardian.nix4
-rw-r--r--pkgs/development/python-modules/ds4drv.nix27
-rw-r--r--pkgs/development/python-modules/edward/default.nix27
-rw-r--r--pkgs/development/python-modules/first/default.nix22
-rw-r--r--pkgs/development/python-modules/hypothesis.nix12
-rw-r--r--pkgs/development/python-modules/libais/default.nix25
-rw-r--r--pkgs/development/python-modules/libnacl/default.nix31
-rw-r--r--pkgs/development/python-modules/mnemonic.nix21
-rw-r--r--pkgs/development/python-modules/pep257.nix2
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix29
-rw-r--r--pkgs/development/python-modules/pyGithub/default.nix28
-rw-r--r--pkgs/development/python-modules/pyaes.nix18
-rw-r--r--pkgs/development/python-modules/pycassa/default.nix26
-rw-r--r--pkgs/development/python-modules/pygame/default.nix15
-rw-r--r--pkgs/development/python-modules/pylibmc/default.nix21
-rw-r--r--pkgs/development/python-modules/pytest-django/default.nix33
-rw-r--r--pkgs/development/python-modules/python-jose/default.nix29
-rw-r--r--pkgs/development/python-modules/python-jose/pycryptodome.patch37
-rw-r--r--pkgs/development/python-modules/pyudev.nix26
-rw-r--r--pkgs/development/python-modules/trezor.nix26
-rw-r--r--pkgs/development/python-modules/typed-ast/default.nix17
-rw-r--r--pkgs/development/python-modules/zeep/default.nix91
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix10
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix27
-rw-r--r--pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch37
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/jam/default.nix37
-rw-r--r--pkgs/development/tools/build-managers/redo-sh/default.nix31
-rw-r--r--pkgs/development/tools/build-managers/sbt/0.12.4.nix29
-rw-r--r--pkgs/development/tools/clog-cli/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/github/cligh/default.nix32
-rw-r--r--pkgs/development/tools/go2nix/default.nix9
-rw-r--r--pkgs/development/tools/heroku/default.nix17
-rw-r--r--pkgs/development/tools/kube-aws/default.nix22
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix6
-rw-r--r--pkgs/development/tools/misc/gede/build.patch11
-rw-r--r--pkgs/development/tools/misc/gede/default.nix31
-rw-r--r--pkgs/development/tools/misc/global/default.nix2
-rw-r--r--pkgs/development/tools/misc/lit/default.nix22
-rw-r--r--pkgs/development/tools/misc/objconv/default.nix39
-rw-r--r--pkgs/development/tools/misc/sipp/default.nix33
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile.lock26
-rw-r--r--pkgs/development/tools/misc/travis/gemset.nix36
-rw-r--r--pkgs/development/tools/misc/xxdiff/tip.nix36
-rw-r--r--pkgs/development/tools/ocaml/jbuilder/default.nix23
-rw-r--r--pkgs/development/tools/ocaml/ocaml-top/default.nix17
-rw-r--r--pkgs/development/tools/parsing/jshon/default.nix15
-rw-r--r--pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--pkgs/development/tools/simavr/default.nix4
-rw-r--r--pkgs/development/tools/slimerjs/default.nix20
-rw-r--r--pkgs/development/tools/vndr/default.nix2
-rw-r--r--pkgs/development/web/nodejs/v7.nix4
-rw-r--r--pkgs/games/freecell-solver/default.nix17
-rw-r--r--pkgs/games/steam/runtime-wrapped.nix1
-rw-r--r--pkgs/misc/screensavers/vlock/eintr.patch18
-rw-r--r--pkgs/misc/vim-plugins/default.nix35
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix23
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix27
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/frameworks.nix3
-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/conky/default.nix4
-rw-r--r--pkgs/os-specific/linux/earlyoom/default.nix26
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix4
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix4
-rw-r--r--pkgs/os-specific/linux/iio-sensor-proxy/default.nix47
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix13
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-grsecurity.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix6
-rw-r--r--pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix19
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix5
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix20
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix7
-rw-r--r--pkgs/os-specific/linux/syslinux/default.nix13
-rw-r--r--pkgs/servers/atlassian/crowd.nix4
-rw-r--r--pkgs/servers/http/couchdb/2.0.0.nix53
-rw-r--r--pkgs/servers/http/couchdb/jsapi.patch60
-rw-r--r--pkgs/servers/http/jboss/default.nix3
-rw-r--r--pkgs/servers/http/pshs/default.nix21
-rw-r--r--pkgs/servers/irker/default.nix45
-rw-r--r--pkgs/servers/kwakd/default.nix28
-rw-r--r--pkgs/servers/mail/exim/default.nix6
-rw-r--r--pkgs/servers/mail/mlmmj/default.nix8
-rw-r--r--pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix24
-rw-r--r--pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix26
-rw-r--r--pkgs/servers/monitoring/prometheus/unifi-exporter/deps.nix75
-rw-r--r--pkgs/servers/mpd/default.nix6
-rw-r--r--pkgs/servers/mpd/i386.patch14
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix2
-rw-r--r--pkgs/servers/tvheadend/default.nix2
-rwxr-xr-xpkgs/servers/web-apps/pump.io/generate.sh14
-rw-r--r--pkgs/servers/web-apps/pump.io/node-packages.nix2069
-rw-r--r--pkgs/servers/web-apps/wordpress/default.nix12
-rw-r--r--pkgs/shells/bash/4.4.nix9
-rw-r--r--pkgs/shells/bash/bash-4.4-patches.nix7
-rw-r--r--pkgs/shells/oh-my-zsh/default.nix6
-rw-r--r--pkgs/stdenv/linux/bootstrap-files/aarch64.nix6
-rw-r--r--pkgs/tools/X11/wayv/default.nix33
-rw-r--r--pkgs/tools/X11/xannotate/default.nix24
-rw-r--r--pkgs/tools/backup/bup/default.nix4
-rw-r--r--pkgs/tools/backup/restic/default.nix32
-rw-r--r--pkgs/tools/backup/s3ql/default.nix22
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix1
-rw-r--r--pkgs/tools/compression/bsc/default.nix25
-rw-r--r--pkgs/tools/compression/lzham/default.nix28
-rw-r--r--pkgs/tools/compression/zstdmt/default.nix36
-rw-r--r--pkgs/tools/misc/crudini/default.nix28
-rw-r--r--pkgs/tools/misc/entr/default.nix4
-rw-r--r--pkgs/tools/misc/file/default.nix19
-rw-r--r--pkgs/tools/misc/hostsblock/default.nix73
-rw-r--r--pkgs/tools/misc/idutils/default.nix2
-rw-r--r--pkgs/tools/misc/latex2html/default.nix52
-rw-r--r--pkgs/tools/misc/nixbot/default.nix2
-rw-r--r--pkgs/tools/misc/phraseapp-client/default.nix24
-rw-r--r--pkgs/tools/misc/s6-portable-utils/default.nix31
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix42
-rw-r--r--pkgs/tools/misc/yubikey-personalization/default.nix2
-rw-r--r--pkgs/tools/networking/curl/default.nix2
-rw-r--r--pkgs/tools/networking/curl/nix-ssl-cert-file.patch14
-rw-r--r--pkgs/tools/networking/dd-agent/default.nix41
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/default.nix5
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix5
-rw-r--r--pkgs/tools/networking/gupnp-tools/default.nix4
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/mtr/default.nix17
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix2
-rw-r--r--pkgs/tools/networking/olsrd/default.nix7
-rw-r--r--pkgs/tools/networking/p2p/amule/default.nix6
-rw-r--r--pkgs/tools/networking/packetdrill/default.nix25
-rw-r--r--pkgs/tools/networking/packetdrill/nix.patch24
-rw-r--r--pkgs/tools/networking/pdnsd/default.nix13
-rw-r--r--pkgs/tools/networking/wget/default.nix9
-rw-r--r--pkgs/tools/package-management/createrepo_c/default.nix19
-rw-r--r--pkgs/tools/package-management/createrepo_c/fix-bash-completion-path.patch11
-rw-r--r--pkgs/tools/package-management/createrepo_c/fix-python-install-path.patch11
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/default.nix10
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix8
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix6
-rw-r--r--pkgs/tools/package-management/opkg/default.nix4
-rw-r--r--pkgs/tools/security/crunch/default.nix12
-rw-r--r--pkgs/tools/security/john/default.nix5
-rw-r--r--pkgs/tools/security/keybase/default.nix10
-rw-r--r--pkgs/tools/security/sops/default.nix21
-rw-r--r--pkgs/tools/text/highlight/default.nix19
-rw-r--r--pkgs/tools/text/kdiff3/default.nix6
-rw-r--r--pkgs/tools/text/proselint/default.nix20
-rw-r--r--pkgs/tools/text/ripgrep/default.nix11
-rw-r--r--pkgs/tools/typesetting/htmldoc/default.nix34
-rw-r--r--pkgs/tools/virtualization/marathonctl/default.nix25
-rw-r--r--pkgs/tools/virtualization/marathonctl/deps.nix12
-rw-r--r--pkgs/top-level/all-packages.nix248
-rw-r--r--pkgs/top-level/haskell-packages.nix9
-rw-r--r--pkgs/top-level/lua-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix18
-rw-r--r--pkgs/top-level/perl-packages.nix271
-rw-r--r--pkgs/top-level/python-packages.nix495
-rw-r--r--pkgs/top-level/release.nix6
-rw-r--r--pkgs/top-level/rust-packages.nix6
637 files changed, 13728 insertions, 7143 deletions
diff --git a/.travis.yml b/.travis.yml
index 802af69834d0..bed82810d469 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,3 +18,8 @@ matrix:
 env:
     global:
         - GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
+
+notifications:
+    email:
+        on_success: never
+        on_failure: change
diff --git a/default.nix b/default.nix
index 8171f4149d2f..a4896a9bbeec 100644
--- a/default.nix
+++ b/default.nix
@@ -2,7 +2,17 @@ let requiredVersion = import ./lib/minver.nix; in
 
 if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins.nixVersion == 1 then
 
-  abort "This version of Nixpkgs requires Nix >= ${requiredVersion}, please upgrade! See https://nixos.org/wiki/How_to_update_when_Nix_is_too_old_to_evaluate_Nixpkgs"
+  abort ''
+
+    This version of Nixpkgs requires Nix >= ${requiredVersion}, please upgrade:
+
+    - If you are running NixOS, use `nixos-rebuild' to upgrade your system.
+
+    - If you installed Nix using the install script (https://nixos.org/nix/install),
+      it is safe to upgrade by running it again:
+
+          curl https://nixos.org/nix/install | sh
+  ''
 
 else
 
diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md
index 6d8984821741..1cab3d1e4eed 100644
--- a/doc/languages-frameworks/haskell.md
+++ b/doc/languages-frameworks/haskell.md
@@ -823,10 +823,10 @@ alternative implemention for Integer called
 [integer-simple](http://hackage.haskell.org/package/integer-simple).
 
 To get a GHC compiler build with `integer-simple` instead of `integer-gmp` use
-the attribute: `pkgs.haskell.compiler.integer-simple."${ghcVersion}"`.
+the attribute: `haskell.compiler.integer-simple."${ghcVersion}"`.
 For example:
 
-    $ nix-build -E '(import <nixpkgs> {}).pkgs.haskell.compiler.integer-simple.ghc802'
+    $ nix-build -E '(import <nixpkgs> {}).haskell.compiler.integer-simple.ghc802'
     ...
     $ result/bin/ghc-pkg list | grep integer
         integer-simple-0.1.1.1
@@ -838,7 +838,6 @@ The following command displays the complete list of GHC compilers build with `in
     haskell.compiler.integer-simple.ghc7103  ghc-7.10.3
     haskell.compiler.integer-simple.ghc722   ghc-7.2.2
     haskell.compiler.integer-simple.ghc742   ghc-7.4.2
-    haskell.compiler.integer-simple.ghc763   ghc-7.6.3
     haskell.compiler.integer-simple.ghc783   ghc-7.8.3
     haskell.compiler.integer-simple.ghc784   ghc-7.8.4
     haskell.compiler.integer-simple.ghc801   ghc-8.0.1
@@ -846,10 +845,10 @@ The following command displays the complete list of GHC compilers build with `in
     haskell.compiler.integer-simple.ghcHEAD  ghc-8.1.20170106
 
 To get a package set supporting `integer-simple` use the attribute:
-`pkgs.haskell.packages.integer-simple."${ghcVersion}"`. For example
+`haskell.packages.integer-simple."${ghcVersion}"`. For example
 use the following to get the `scientific` package build with `integer-simple`:
 
-    $ nix-build -A pkgs.haskell.packages.integer-simple.ghc802.scientific
+    $ nix-build -A haskell.packages.integer-simple.ghc802.scientific
 
 
 ## Other resources
diff --git a/lib/composable-derivation.nix b/lib/composable-derivation.nix
index e3e017d982d3..5442dcedeabc 100644
--- a/lib/composable-derivation.nix
+++ b/lib/composable-derivation.nix
@@ -1,4 +1,4 @@
-{lib, pkgs} :
+{lib, pkgs}:
 let inherit (lib) nv nvs; in
 {
 
@@ -19,7 +19,7 @@ let inherit (lib) nv nvs; in
   # * vim_configurable
   #
   # A minimal example illustrating most features would look like this:
-  # let base = composableDerivation { (fixed : let inherit (fixed.fixed) name in {
+  # let base = composableDerivation { (fixed: let inherit (fixed.fixed) name in {
   #    src = fetchurl {
   #    }
   #    buildInputs = [A];
@@ -79,7 +79,7 @@ let inherit (lib) nv nvs; in
         # consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; };
         removeAttrs ? ["cfg" "flags"]
 
-      }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a) 
+      }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a)
          {
            inherit applyPreTidy removeAttrs;
          }).merge;
diff --git a/lib/debug.nix b/lib/debug.nix
index e2e895ab6202..5b3878554c5d 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -24,10 +24,10 @@ rec {
   traceValSeq = v: traceVal (builtins.deepSeq v v);
 
   # this can help debug your code as well - designed to not produce thousands of lines
-  traceShowVal = x : trace (showVal x) x;
+  traceShowVal = x: trace (showVal x) x;
   traceShowValMarked = str: x: trace (str + showVal x) x;
-  attrNamesToStr = a : lib.concatStringsSep "; " (map (x : "${x}=") (attrNames a));
-  showVal = x :
+  attrNamesToStr = a: lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a));
+  showVal = x:
       if isAttrs x then
           if x ? outPath then "x is a derivation, name ${if x ? name then x.name else "<no name>"}, { ${attrNamesToStr x} }"
           else "x is attr set { ${attrNamesToStr x} }"
@@ -43,9 +43,9 @@ rec {
 
   # trace the arguments passed to function and its result
   # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
-  traceCall  = n : f : a : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
-  traceCall2 = n : f : a : b : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
-  traceCall3 = n : f : a : b : c : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
+  traceCall  = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
+  traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
+  traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
 
   # FIXME: rename this?
   traceValIfNot = c: x:
@@ -71,7 +71,7 @@ rec {
 
   # create a test assuming that list elements are true
   # usage: { testX = allTrue [ true ]; }
-  testAllTrue = expr : { inherit expr; expected = map (x: true) expr; };
+  testAllTrue = expr: { inherit expr; expected = map (x: true) expr; };
 
   strict = v:
     trace "Warning: strict is deprecated and will be removed in the next release"
diff --git a/lib/deprecated.nix b/lib/deprecated.nix
index 3729197f48bc..45a3893fc22d 100644
--- a/lib/deprecated.nix
+++ b/lib/deprecated.nix
@@ -16,23 +16,23 @@ rec {
 
   defaultMergeArg = x : y: if builtins.isAttrs y then
     y
-  else 
+  else
     (y x);
   defaultMerge = x: y: x // (defaultMergeArg x y);
-  foldArgs = merger: f: init: x: 
-    let arg=(merger init (defaultMergeArg init x));
-      # now add the function with composed args already applied to the final attrs
-        base = (setAttrMerge "passthru" {} (f arg) 
-                        ( z : z // rec { 
-                          function = foldArgs merger f arg; 
-			  args = (lib.attrByPath ["passthru" "args"] {} z) // x;
+  foldArgs = merger: f: init: x:
+    let arg = (merger init (defaultMergeArg init x));
+        # now add the function with composed args already applied to the final attrs
+        base = (setAttrMerge "passthru" {} (f arg)
+                        ( z: z // rec {
+                            function = foldArgs merger f arg;
+                            args = (lib.attrByPath ["passthru" "args"] {} z) // x;
                           } ));
-	withStdOverrides = base // {
-	   override = base.passthru.function;
-	   } ;
+        withStdOverrides = base // {
+          override = base.passthru.function;
+        };
         in
-	withStdOverrides;
-    
+          withStdOverrides;
+
 
   # predecessors: proposed replacement for applyAndFun (which has a bug cause it merges twice)
   # the naming "overridableDelayableArgs" tries to express that you can
@@ -49,35 +49,35 @@ rec {
   #
   # examples: see test cases "res" below;
   overridableDelayableArgs =
-          f :        # the function applied to the arguments
-          initial :  # you pass attrs, the functions below are passing a function taking the fix argument
+          f:        # the function applied to the arguments
+          initial:  # you pass attrs, the functions below are passing a function taking the fix argument
     let
         takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
-        tidy = args : 
+        tidy = args:
             let # apply all functions given in "applyPreTidy" in sequence
-                applyPreTidyFun = fold ( n : a : x : n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
+                applyPreTidyFun = fold ( n: a: x: n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
             in removeAttrs (applyPreTidyFun args) ( ["applyPreTidy"] ++ (maybeAttr  "removeAttrs" [] args) ); # tidy up args before applying them
-        fun = n : x :
-             let newArgs = fixed :
-                     let args = takeFixed fixed; 
-                         mergeFun = args.${n};
-                     in if isAttrs x then (mergeFun args x)
-                        else assert isFunction x;
-                             mergeFun args (x ( args // { inherit fixed; }));
-             in overridableDelayableArgs f newArgs;
+        fun = n: x:
+            let newArgs = fixed:
+                    let args = takeFixed fixed;
+                        mergeFun = args.${n};
+                    in if isAttrs x then (mergeFun args x)
+                       else assert isFunction x;
+                            mergeFun args (x ( args // { inherit fixed; }));
+            in overridableDelayableArgs f newArgs;
     in
     (f (tidy (lib.fix takeFixed))) // {
       merge   = fun "mergeFun";
       replace = fun "keepFun";
     };
-  defaultOverridableDelayableArgs = f : 
+  defaultOverridableDelayableArgs = f:
       let defaults = {
             mergeFun = mergeAttrByFunc; # default merge function. merge strategie (concatenate lists, strings) is given by mergeAttrBy
-            keepFun = a : b : { inherit (a) removeAttrs mergeFun keepFun mergeAttrBy; } // b; # even when using replace preserve these values
+            keepFun = a: b: { inherit (a) removeAttrs mergeFun keepFun mergeAttrBy; } // b; # even when using replace preserve these values
             applyPreTidy = []; # list of functions applied to args before args are tidied up (usage case : prepareDerivationArgs)
             mergeAttrBy = mergeAttrBy // {
-              applyPreTidy = a : b : a ++ b;
-              removeAttrs = a : b: a ++ b;
+              applyPreTidy = a: b: a ++ b;
+              removeAttrs = a: b: a ++ b;
             };
             removeAttrs = ["mergeFun" "keepFun" "mergeAttrBy" "removeAttrs" "fixed" ]; # before applying the arguments to the function make sure these names are gone
           };
@@ -86,7 +86,7 @@ rec {
 
 
   # rec { # an example of how composedArgsAndFun can be used
-  #  a  = composedArgsAndFun (x : x) { a = ["2"]; meta = { d = "bar";}; };
+  #  a  = composedArgsAndFun (x: x) { a = ["2"]; meta = { d = "bar";}; };
   #  # meta.d will be lost ! It's your task to preserve it (eg using a merge function)
   #  b  = a.passthru.function { a = [ "3" ]; meta = { d2 = "bar2";}; };
   #  # instead of passing/ overriding values you can use a merge function:
@@ -119,7 +119,7 @@ rec {
     else if val == true || val == false then false
     else null;
 
-    
+
   # Return true only if there is an attribute and it is true.
   checkFlag = attrSet: name:
         if name == "true" then true else
@@ -134,29 +134,29 @@ rec {
   ( attrByPath [name] (if checkFlag attrSet name then true else
         if argList == [] then null else
         let x = builtins.head argList; in
-                if (head x) == name then 
+                if (head x) == name then
                         (head (tail x))
-                else (getValue attrSet 
+                else (getValue attrSet
                         (tail argList) name)) attrSet );
 
-                        
+
   # Input : attrSet, [[name default] ...], [ [flagname reqs..] ... ]
   # Output : are reqs satisfied? It's asserted.
-  checkReqs = attrSet : argList : condList :
+  checkReqs = attrSet: argList: condList:
   (
-    fold lib.and true 
-      (map (x: let name = (head x) ; in
-        
-        ((checkFlag attrSet name) -> 
+    fold lib.and true
+      (map (x: let name = (head x); in
+
+        ((checkFlag attrSet name) ->
         (fold lib.and true
         (map (y: let val=(getValue attrSet argList y); in
-                (val!=null) && (val!=false)) 
-        (tail x))))) condList)) ;
-        
+                (val!=null) && (val!=false))
+        (tail x))))) condList));
+
 
   # This function has O(n^2) performance.
-  uniqList = {inputList, acc ? []} :
-    let go = xs : acc :
+  uniqList = { inputList, acc ? [] }:
+    let go = xs: acc:
              if xs == []
              then []
              else let x = head xs;
@@ -164,26 +164,26 @@ rec {
                   in y ++ go (tail xs) (y ++ acc);
     in go inputList acc;
 
-  uniqListExt = {inputList, outputList ? [],
-    getter ? (x : x), compare ? (x: y: x==y)}:
+  uniqListExt = { inputList,
+                  outputList ? [],
+                  getter ? (x: x),
+                  compare ? (x: y: x==y) }:
         if inputList == [] then outputList else
-        let x=head inputList; 
-        isX = y: (compare (getter y) (getter x));
-        newOutputList = outputList ++
-         (if any isX outputList then [] else [x]);
-        in uniqListExt {outputList=newOutputList; 
-                inputList = (tail inputList);
-                inherit getter compare;
-                };
-
+        let x = head inputList;
+            isX = y: (compare (getter y) (getter x));
+            newOutputList = outputList ++
+                (if any isX outputList then [] else [x]);
+        in uniqListExt { outputList = newOutputList;
+                         inputList = (tail inputList);
+                         inherit getter compare;
+                       };
 
-                
   condConcat = name: list: checker:
         if list == [] then name else
-        if checker (head list) then 
-                condConcat 
-                        (name + (head (tail list))) 
-                        (tail (tail list)) 
+        if checker (head list) then
+                condConcat
+                        (name + (head (tail list)))
+                        (tail (tail list))
                         checker
         else condConcat
                 name (tail (tail list)) checker;
@@ -202,12 +202,12 @@ rec {
     in
       work startSet [] [];
 
-  innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else 
+  innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else
         innerModifySumArgs f x (a // b);
   modifySumArgs = f: x: innerModifySumArgs f x {};
 
 
-  innerClosePropagation = acc : xs :
+  innerClosePropagation = acc: xs:
     if xs == []
     then acc
     else let y  = head xs;
@@ -227,31 +227,31 @@ rec {
   closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);});
 
   # calls a function (f attr value ) for each record item. returns a list
-  mapAttrsFlatten = f : r : map (attr: f attr r.${attr}) (attrNames r);
+  mapAttrsFlatten = f: r: map (attr: f attr r.${attr}) (attrNames r);
 
   # attribute set containing one attribute
-  nvs = name : value : listToAttrs [ (nameValuePair name value) ];
+  nvs = name: value: listToAttrs [ (nameValuePair name value) ];
   # adds / replaces an attribute of an attribute set
-  setAttr = set : name : v : set // (nvs name v);
+  setAttr = set: name: v: set // (nvs name v);
 
   # setAttrMerge (similar to mergeAttrsWithFunc but only merges the values of a particular name)
-  # setAttrMerge "a" [] { a = [2];} (x : x ++ [3]) -> { a = [2 3]; } 
-  # setAttrMerge "a" [] {         } (x : x ++ [3]) -> { a = [  3]; }
-  setAttrMerge = name : default : attrs : f :
+  # setAttrMerge "a" [] { a = [2];} (x: x ++ [3]) -> { a = [2 3]; }
+  # setAttrMerge "a" [] {         } (x: x ++ [3]) -> { a = [  3]; }
+  setAttrMerge = name: default: attrs: f:
     setAttr attrs name (f (maybeAttr name default attrs));
 
-  # Using f = a : b = b the result is similar to //
+  # Using f = a: b = b the result is similar to //
   # merge attributes with custom function handling the case that the attribute
   # exists in both sets
-  mergeAttrsWithFunc = f : set1 : set2 :
-    fold (n: set : if set ? ${n}
+  mergeAttrsWithFunc = f: set1: set2:
+    fold (n: set: if set ? ${n}
                         then setAttr set n (f set.${n} set2.${n})
                         else set )
            (set2 // set1) (attrNames set2);
 
   # merging two attribute set concatenating the values of same attribute names
   # eg { a = 7; } {  a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; }
-  mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a : b : (toList a) ++ (toList b) );
+  mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a: b: (toList a) ++ (toList b) );
 
   # merges attributes using //, if a name exisits in both attributes
   # an error will be triggered unless its listed in mergeLists
@@ -262,10 +262,10 @@ rec {
   # ! deprecated, use mergeAttrByFunc instead
   mergeAttrsNoOverride = { mergeLists ? ["buildInputs" "propagatedBuildInputs"],
                            overrideSnd ? [ "buildPhase" ]
-                         } : attrs1 : attrs2 :
-    fold (n: set : 
+                         }: attrs1: attrs2:
+    fold (n: set:
         setAttr set n ( if set ? ${n}
-            then # merge 
+            then # merge
               if elem n mergeLists # attribute contains list, merge them by concatenating
                 then attrs2.${n} ++ attrs1.${n}
               else if elem n overrideSnd
@@ -286,14 +286,14 @@ rec {
   # { mergeAttrsBy = [...]; buildInputs = [ a b c d ]; }
   # is used by prepareDerivationArgs, defaultOverridableDelayableArgs and can be used when composing using
   # foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix
-  mergeAttrByFunc = x : y :
+  mergeAttrByFunc = x: y:
     let
-          mergeAttrBy2 = { mergeAttrBy=lib.mergeAttrs; }
+          mergeAttrBy2 = { mergeAttrBy = lib.mergeAttrs; }
                       // (maybeAttr "mergeAttrBy" {} x)
                       // (maybeAttr "mergeAttrBy" {} y); in
     fold lib.mergeAttrs {} [
       x y
-      (mapAttrs ( a : v : # merge special names using given functions
+      (mapAttrs ( a: v: # merge special names using given functions
           if x ? ${a}
              then if y ? ${a}
                then v x.${a} y.${a} # both have attr, use merge func
@@ -313,9 +313,9 @@ rec {
   #
   # This function is best explained by an example:
   #
-  #     {version ? "2.x"} :
+  #     {version ? "2.x"}:
   #
-  #     mkDerivation (mergeAttrsByVersion "package-name" version 
+  #     mkDerivation (mergeAttrsByVersion "package-name" version
   #       { # version specific settings
   #         "git" = { src = ..; preConfigre = "autogen.sh"; buildInputs = [automake autoconf libtool];  };
   #         "2.x" = { src = ..; };
@@ -346,21 +346,24 @@ rec {
   # See misc.nix -> versionedDerivation
   # discussion: nixpkgs: pull/310
   mergeAttrsByVersion = name: version: attrsByVersion: base:
-    mergeAttrsByFuncDefaultsClean [ { name = "${name}-${version}"; } base (maybeAttr version (throw "bad version ${version} for ${name}") attrsByVersion)];
+    mergeAttrsByFuncDefaultsClean [ { name = "${name}-${version}"; }
+                                    base
+                                    (maybeAttr version (throw "bad version ${version} for ${name}") attrsByVersion)
+                                  ];
 
   # sane defaults (same name as attr name so that inherit can be used)
   mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; }
-    listToAttrs (map (n : nameValuePair n lib.concat)
+    listToAttrs (map (n: nameValuePair n lib.concat)
       [ "nativeBuildInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" "patches" ])
-    // listToAttrs (map (n : nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
-    // listToAttrs (map (n : nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
+    // listToAttrs (map (n: nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
+    // listToAttrs (map (n: nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
   ;
 
   # prepareDerivationArgs tries to make writing configurable derivations easier
   # example:
   #  prepareDerivationArgs {
   #    mergeAttrBy = {
-  #       myScript = x : y : x ++ "\n" ++ y;
+  #       myScript = x: y: x ++ "\n" ++ y;
   #    };
   #    cfg = {
   #      readlineSupport = true;
@@ -392,10 +395,10 @@ rec {
   # TODO use args.mergeFun here as well?
   prepareDerivationArgs = args:
     let args2 = { cfg = {}; flags = {}; } // args;
-        flagName = name : "${name}Support";
-        cfgWithDefaults = (listToAttrs (map (n : nameValuePair (flagName n) false) (attrNames args2.flags)))
+        flagName = name: "${name}Support";
+        cfgWithDefaults = (listToAttrs (map (n: nameValuePair (flagName n) false) (attrNames args2.flags)))
                           // args2.cfg;
-        opts = attrValues (mapAttrs (a : v :
+        opts = attrValues (mapAttrs (a: v:
                 let v2 = if v ? set || v ? unset then v else { set = v; };
                     n = if cfgWithDefaults.${flagName a} then "set" else "unset";
                     attr = maybeAttr n {} v2; in
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 9b682da3e343..514e62bb916b 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -71,6 +71,7 @@
   bjg = "Brian Gough <bjg@gnu.org>";
   bjornfor = "Bjørn Forsman <bjorn.forsman@gmail.com>";
   bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
+  bobakker = "Bo Bakker <bobakk3r@gmail.com>";
   bobvanderlinden = "Bob van der Linden <bobvanderlinden@gmail.com>";
   bodil = "Bodil Stokke <nix@bodil.org>";
   boothead = "Ben Ford <ben@perurbis.com>";
@@ -81,6 +82,7 @@
   bzizou = "Bruno Bzeznik <Bruno@bzizou.net>";
   c0dehero = "CodeHero <codehero@nerdpol.ch>";
   calrama = "Moritz Maxeiner <moritz@ucworks.org>";
+  calvertvl = "Victor Calvert <calvertvl@gmail.com>";
   campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
   canndrew = "Andrew Cann <shum@canndrew.org>";
   carlsverre = "Carl Sverre <accounts@carlsverre.com>";
@@ -133,6 +135,7 @@
   dgonyeo = "Derek Gonyeo <derek@gonyeo.com>";
   dipinhora = "Dipin Hora <dipinhora+github@gmail.com>";
   dmalikov = "Dmitry Malikov <malikov.d.y@gmail.com>";
+  dmjio = "David Johnson <djohnson.m@gmail.com>";
   dochang = "Desmond O. Chang <dochang@gmail.com>";
   domenkozar = "Domen Kozar <domen@dev.si>";
   doublec = "Chris Double <chris.double@double.co.nz>";
@@ -202,6 +205,7 @@
   havvy = "Ryan Scheel <ryan.havvy@gmail.com>";
   hbunke = "Hendrik Bunke <bunke.hendrik@gmail.com>";
   hce = "Hans-Christian Esperer <hc@hcesperer.org>";
+  heel = "Sergii Paryzhskyi <parizhskiy@gmail.com>";
   henrytill = "Henry Till <henrytill@gmail.com>";
   hinton = "Tom Hinton <t@larkery.com>";
   hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
@@ -341,6 +345,7 @@
   nathan-gs = "Nathan Bijnens <nathan@nathan.gs>";
   nckx = "Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>";
   ndowens = "Nathan Owens <ndowens04@gmail.com>";
+  neeasade = "Nathan Isom <nathanisom27@gmail.com>";
   nequissimus = "Tim Steinbach <tim@nequissimus.com>";
   nfjinjing = "Jinjing Wang <nfjinjing@gmail.com>";
   nhooyr = "Anmol Sethi <anmol@aubble.com>";
@@ -373,6 +378,7 @@
   palo = "Ingolf Wanger <palipalo9@googlemail.com>";
   paperdigits = "Mica Semrick <mica@silentumbrella.com>";
   pashev = "Igor Pashev <pashev.igor@gmail.com>";
+  patternspandemic = "Brad Christensen <patternspandemic@live.com>";
   pawelpacana = "Paweł Pacana <pawel.pacana@gmail.com>";
   periklis = "theopompos@gmail.com";
   pesterhazy = "Paulus Esterhazy <pesterhazy@gmail.com>";
@@ -451,6 +457,7 @@
   scolobb = "Sergiu Ivanov <sivanov@colimite.fr>";
   sepi = "Raffael Mancini <raffael@mancini.lu>";
   seppeljordan = "Sebastian Jordan <sebastian.jordan.mail@googlemail.com>";
+  shanemikel = "Shane Pearlman <shanemikel1@gmail.com>";
   sheenobu = "Sheena Artrip <sheena.artrip@gmail.com>";
   sheganinans = "Aistis Raulinaitis <sheganinans@gmail.com>";
   shell = "Shell Turner <cam.turn@gmail.com>";
@@ -536,6 +543,7 @@
   wscott = "Wayne Scott <wsc9tt@gmail.com>";
   wyvie = "Elijah Rum <elijahrum@gmail.com>";
   xnwdd = "Guillermo NWDD <nwdd+nixos@no.team>";
+  xvapx = "Marti Serra <marti.serra.coscollano@gmail.com>";
   xwvvvvwx = "David Terry <davidterry@posteo.de>";
   yarr = "Dmitry V. <savraz@gmail.com>";
   yochai = "Yochai <yochai@titat.info>";
diff --git a/lib/modules.nix b/lib/modules.nix
index a7c397d2cf43..862488310d81 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -114,7 +114,7 @@ rec {
   /* Massage a module into canonical form, that is, a set consisting
      of ‘options’, ‘config’ and ‘imports’ attributes. */
   unifyModuleSyntax = file: key: m:
-    let metaSet = if m ? meta 
+    let metaSet = if m ? meta
       then { meta = m.meta; }
       else {};
     in
@@ -595,7 +595,7 @@ rec {
        functionality
 
      This show a warning if any a.b.c or d.e.f is set, and set the value of
-     x.y.z to the result of the merge function 
+     x.y.z to the result of the merge function
   */
   mkMergedOptionModule = from: to: mergeFn:
     { config, options, ... }:
@@ -611,12 +611,12 @@ rec {
           let val = getAttrFromPath f config;
               opt = getAttrFromPath f options;
           in
-          optionalString 
+          optionalString
             (val != "_mkMergedOptionModule")
             "The option `${showOption f}' defined in ${showFiles opt.files} has been changed to `${showOption to}' that has a different type. Please read `${showOption to}' documentation and update your configuration accordingly."
         ) from);
       } // setAttrByPath to (mkMerge
-             (optional 
+             (optional
                (any (f: (getAttrFromPath f config) != "_mkMergedOptionModule") from)
                (mergeFn config)));
     };
diff --git a/lib/strings.nix b/lib/strings.nix
index 86af4d438344..ffa93c8e454a 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -291,7 +291,7 @@ rec {
 
       recurse = index: startAt:
         let cutUntil = i: [(substring startAt (i - startAt) s)]; in
-        if index < lastSearch then
+        if index <= lastSearch then
           if startWithSep index then
             let restartAt = index + sepLen; in
             cutUntil index ++ recurse restartAt restartAt
@@ -476,10 +476,8 @@ rec {
   readPathsFromFile = rootPath: file:
     let
       root = toString rootPath;
-      lines =
-        builtins.map (lib.removeSuffix "\n")
-        (lib.splitString "\n" (builtins.readFile file));
-      removeComments = lib.filter (line: !(lib.hasPrefix "#" line));
+      lines = lib.splitString "\n" (builtins.readFile file);
+      removeComments = lib.filter (line: line != "" && !(lib.hasPrefix "#" line));
       relativePaths = removeComments lines;
       absolutePaths = builtins.map (path: builtins.toPath (root + "/" + path)) relativePaths;
     in
diff --git a/lib/tests.nix b/lib/tests.nix
index d33e3a824e34..bef9cdee696d 100644
--- a/lib/tests.nix
+++ b/lib/tests.nix
@@ -80,7 +80,7 @@ runTests {
                      y = x.merge {};
                 in (y.merge) { a = 10; };
 
-          resRem7 = res6.replace (a : removeAttrs a ["a"]);
+          resRem7 = res6.replace (a: removeAttrs a ["a"]);
 
           resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
                             x2 = x.merge { a = 20; }; # now we have 27
@@ -88,10 +88,10 @@ runTests {
 
           # fixed tests (delayed args): (when using them add some comments, please)
           resFixed1 =
-                let x = defaultOverridableDelayableArgs id ( x : { a = 7; c = x.fixed.b; });
-                    y = x.merge (x : { name = "name-${builtins.toString x.fixed.c}"; });
+                let x = defaultOverridableDelayableArgs id ( x: { a = 7; c = x.fixed.b; });
+                    y = x.merge (x: { name = "name-${builtins.toString x.fixed.c}"; });
                 in (y.merge) { b = 10; };
-          strip = attrs : removeAttrs attrs ["merge" "replace"];
+          strip = attrs: removeAttrs attrs ["merge" "replace"];
       in all id
         [ ((strip res1) == { })
           ((strip res2) == { a = 7; })
@@ -220,4 +220,34 @@ runTests {
       expected = builtins.toJSON val;
   };
 
+  testSplitStringsSimple = {
+    expr = strings.splitString "." "a.b.c.d";
+    expected = [ "a" "b" "c" "d" ];
+  };
+
+  testSplitStringsEmpty = {
+    expr = strings.splitString "." "a..b";
+    expected = [ "a" "" "b" ];
+  };
+
+  testSplitStringsOne = {
+    expr = strings.splitString ":" "a.b";
+    expected = [ "a.b" ];
+  };
+
+  testSplitStringsNone = {
+    expr = strings.splitString "." "";
+    expected = [ "" ];
+  };
+
+  testSplitStringsFirstEmpty = {
+    expr = strings.splitString "/" "/a/b/c";
+    expected = [ "" "a" "b" "c" ];
+  };
+
+  testSplitStringsLastEmpty = {
+    expr = strings.splitString ":" "2001:db8:0:0042::8a2e:370:";
+    expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ];
+  };
+
 }
diff --git a/lib/types.nix b/lib/types.nix
index 0d1a88a00f2d..175cb7472bf6 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -81,7 +81,7 @@ rec {
       #   name: name of the type
       #   type: type function.
       #   wrapped: the type wrapped in case of compound types.
-      #   payload: values of the type, two payloads of the same type must be 
+      #   payload: values of the type, two payloads of the same type must be
       #            combinable with the binOp binary operation.
       #   binOp: binary operation that merge two payloads of the same type.
       functor ? defaultFunctor name
diff --git a/maintainers/docker/.dockerignore b/maintainers/docker/.dockerignore
deleted file mode 100644
index eb4668233e6a..000000000000
--- a/maintainers/docker/.dockerignore
+++ /dev/null
@@ -1,14 +0,0 @@
-*~
-,*
-.*.swp
-.*.swo
-result
-result-*
-/doc/NEWS.html
-/doc/NEWS.txt
-/doc/manual.html
-/doc/manual.pdf
-.version-suffix
-
-.DS_Store
-.git
diff --git a/maintainers/docker/Dockerfile b/maintainers/docker/Dockerfile
deleted file mode 100644
index f02a9d653fd5..000000000000
--- a/maintainers/docker/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM busybox
-
-RUN dir=`mktemp -d` && trap 'rm -rf "$dir"' EXIT && \
-    wget -O- https://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2  | bzcat | tar x -C $dir && \
-    mkdir -m 0755 /nix && USER=root sh $dir/*/install && \
-    echo ". /root/.nix-profile/etc/profile.d/nix.sh" >> /etc/profile
-
-ADD . /root/nix/nixpkgs
-ONBUILD ENV NIX_PATH nixpkgs=/root/nix/nixpkgs:nixos=/root/nix/nixpkgs/nixos
-ONBUILD ENV PATH /root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin
-ONBUILD ENV ENV /etc/profile
-ENV ENV /etc/profile
diff --git a/maintainers/scripts/hydra-eval-failures.py b/maintainers/scripts/hydra-eval-failures.py
index b339f296056c..6122dabb1e85 100755
--- a/maintainers/scripts/hydra-eval-failures.py
+++ b/maintainers/scripts/hydra-eval-failures.py
@@ -74,13 +74,13 @@ def cli(jobset):
     # TODO: dependency failed without propagated builds
     for tr in d('img[alt="Failed"]').parents('tr'):
         a = pq(tr)('a')[1]
-        print "- [ ] [{}]({})".format(a.text, a.get('href'))
+        print("- [ ] [{}]({})".format(a.text, a.get('href')))
 
         sys.stdout.flush()
 
         maintainers = get_maintainers(a.text)
         if maintainers:
-            print "  - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers)))
+            print("  - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers))))
         # TODO: print last three persons that touched this file
         # TODO: pinpoint the diff that broke this build, or maybe it's transient or maybe it never worked?
 
diff --git a/maintainers/scripts/nix-diff.sh b/maintainers/scripts/nix-diff.sh
new file mode 100755
index 000000000000..0c65e29cf435
--- /dev/null
+++ b/maintainers/scripts/nix-diff.sh
@@ -0,0 +1,277 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p coreutils gnugrep gnused
+
+################################################################################
+# nix-diff.sh                                                                  #
+################################################################################
+# This script "diffs" Nix profile generations.                                 #
+#                                                                              #
+# Example:                                                                     #
+################################################################################
+# > nix-diff.sh 90 92                                                          #
+# + gnumake-4.2.1                                                              #
+# + gnumake-4.2.1-doc                                                          #
+# - htmldoc-1.8.29                                                             #
+################################################################################
+# The example shows that as of generation 92 and since generation 90,          #
+# gnumake-4.2.1 and gnumake-4.2.1-doc have been installed, while               #
+# htmldoc-1.8.29 has been removed.                                             #
+#                                                                              #
+# The example above shows the default, minimal output mode of this script.     #
+# For more features, run `nix-diff.sh -h` for usage instructions.              #
+################################################################################
+
+usage() {
+    cat <<EOF
+usage: nix-diff.sh [-h | [-p profile | -s] [-q] [-l] [range]]
+-h:         print this message before exiting
+-q:         list the derivations installed in the parent generation
+-l:         diff every available intermediate generation between parent and
+            child
+-p profile: specify the Nix profile to use
+            * defaults to ~/.nix-profile
+-s:         use the system profile
+            * equivalent to: -p /nix/var/nix/profiles/system
+profile:    * should be something like /nix/var/nix/profiles/default, not a
+              generation link like /nix/var/nix/profiles/default-2-link
+range:      the range of generations to diff
+            * the following patterns are allowed, where A, B, and N are positive
+              integers, and G is the currently active generation:
+                A..B => diffs from generation A to generation B
+                ~N   => diffs from the Nth newest generation (older than G) to G
+                A    => diffs from generation A to G
+            * defaults to ~1
+EOF
+}
+
+usage_tip() {
+    echo 'run `nix-diff.sh -h` for usage instructions' >&2
+    exit 1
+}
+
+while getopts :hqlp:s opt; do
+    case $opt in
+        h)
+            usage
+            exit
+            ;;
+        q)
+            opt_query=1
+            ;;
+        l)
+            opt_log=1
+            ;;
+        p)
+            opt_profile=$OPTARG
+            ;;
+        s)
+            opt_profile=/nix/var/nix/profiles/system
+            ;;
+        \?)
+            echo "error: invalid option -$OPTARG" >&2
+            usage_tip
+            ;;
+    esac
+done
+shift $((OPTIND-1))
+
+if [ -n "$opt_profile" ]; then
+    if ! [ -L "$opt_profile" ]; then
+        echo "error: expecting \`$opt_profile\` to be a symbolic link" >&2
+        usage_tip
+    fi
+else
+    opt_profile=$(readlink ~/.nix-profile)
+    if (( $? != 0 )); then
+        echo 'error: unable to dereference `~/.nix-profile`' >&2
+        echo 'specify the profile manually with the `-p` flag' >&2
+        usage_tip
+    fi
+fi
+
+list_gens() {
+    nix-env -p "$opt_profile" --list-generations \
+        | sed -r 's:^\s*::' \
+        | cut -d' ' -f1
+}
+
+current_gen() {
+    nix-env -p "$opt_profile" --list-generations \
+        | grep -E '\(current\)\s*$' \
+        | sed -r 's:^\s*::' \
+        | cut -d' ' -f1
+}
+
+neg_gen() {
+    local i=0 from=$1 n=$2 tmp
+    for gen in $(list_gens | sort -rn); do
+        if ((gen < from)); then
+            tmp=$gen
+            ((i++))
+            ((i == n)) && break
+        fi
+    done
+    if ((i < n)); then
+        echo -n "error: there aren't $n generation(s) older than" >&2
+        echo " generation $from" >&2
+        return 1
+    fi
+    echo $tmp
+}
+
+match() {
+    argv=("$@")
+    for i in $(seq $(($#-1))); do
+        if grep -E "^${argv[$i]}\$" <(echo "$1") >/dev/null; then
+            echo $i
+            return
+        fi
+    done
+    echo 0
+}
+
+case $(match "$1" '' '[0-9]+' '[0-9]+\.\.[0-9]+' '~[0-9]+') in
+    1)
+        diffTo=$(current_gen)
+        diffFrom=$(neg_gen $diffTo 1)
+        (($? == 1)) && usage_tip
+        ;;
+    2)
+        diffFrom=$1
+        diffTo=$(current_gen)
+        ;;
+    3)
+        diffFrom=${1%%.*}
+        diffTo=${1##*.}
+        ;;
+    4)
+        diffTo=$(current_gen)
+        diffFrom=$(neg_gen $diffTo ${1#*~})
+        (($? == 1)) && usage_tip
+        ;;
+    0)
+        echo 'error: invalid invocation' >&2
+        usage_tip
+        ;;
+esac
+
+dirA="${opt_profile}-${diffFrom}-link"
+dirB="${opt_profile}-${diffTo}-link"
+
+declare -a temp_files
+temp_length() {
+    echo -n ${#temp_files[@]}
+}
+temp_make() {
+    temp_files[$(temp_length)]=$(mktemp)
+}
+temp_clean() {
+    rm -f ${temp_files[@]}
+}
+temp_name() {
+    echo -n "${temp_files[$(($(temp_length)-1))]}"
+}
+trap 'temp_clean' EXIT
+
+temp_make
+versA=$(temp_name)
+refs=$(nix-store -q --references "$dirA")
+(( $? != 0 )) && exit 1
+echo "$refs" \
+    | grep -v env-manifest.nix \
+    | sort \
+          > "$versA"
+
+print_tag() {
+    local gen=$1
+    nix-env -p "$opt_profile" --list-generations \
+        | grep -E "^\s*${gen}" \
+        | sed -r 's:^\s*::' \
+        | sed -r 's:\s*$::'
+}
+
+if [ -n "$opt_query" ]; then
+    print_tag $diffFrom
+    cat "$versA" \
+        | sed -r 's:^[^-]+-(.*)$:    \1:'
+
+    print_line=1
+fi
+
+if [ -n "$opt_log" ]; then
+    gens=$(for gen in $(list_gens); do
+               ((diffFrom < gen && gen < diffTo)) && echo $gen
+           done)
+    # Force the $diffTo generation to be included in this list, instead of using
+    # `gen <= diffTo` in the preceding loop, so we encounter an error upon the
+    # event of its nonexistence.
+    gens=$(echo "$gens"
+           echo $diffTo)
+else
+    gens=$diffTo
+fi
+
+temp_make
+add=$(temp_name)
+temp_make
+rem=$(temp_name)
+temp_make
+out=$(temp_name)
+
+for gen in $gens; do
+
+    [ -n "$print_line" ] && echo
+
+    temp_make
+    versB=$(temp_name)
+
+    dirB="${opt_profile}-${gen}-link"
+    refs=$(nix-store -q --references "$dirB")
+    (( $? != 0 )) && exit 1
+    echo "$refs" \
+        | grep -v env-manifest.nix \
+        | sort \
+              > "$versB"
+
+    in=$(comm -3 -1 "$versA" "$versB")
+    sed -r 's:^[^-]*-(.*)$:\1+:' <(echo "$in") \
+        | sort -f \
+               > "$add"
+
+    un=$(comm -3 -2 "$versA" "$versB")
+    sed -r 's:^[^-]*-(.*)$:\1-:' <(echo "$un") \
+        | sort -f \
+               > "$rem"
+
+    cat "$rem" "$add" \
+        | sort -f \
+        | sed -r 's:(.*)-$:- \1:' \
+        | sed -r 's:(.*)\+$:\+ \1:' \
+        | grep -v '^$' \
+              > "$out"
+
+    if [ -n "$opt_query" -o -n "$opt_log" ]; then
+
+        lines=$(wc -l "$out" | cut -d' ' -f1)
+        tag=$(print_tag "$gen")
+        (( $? != 0 )) && exit 1
+        if [ $lines -eq 0 ]; then
+            echo "$tag   (no change)"
+        else
+            echo "$tag"
+        fi
+        cat "$out" \
+            | sed 's:^:    :'
+
+        print_line=1
+
+    else
+        echo "diffing from generation $diffFrom to $diffTo"
+        cat "$out"
+    fi
+
+    versA=$versB
+
+done
+
+exit 0
diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix
index acfdcbd26574..e412146a0394 100644
--- a/nixos/modules/config/fonts/fontconfig-ultimate.nix
+++ b/nixos/modules/config/fonts/fontconfig-ultimate.nix
@@ -8,61 +8,6 @@ let fcBool = x: if x then "<bool>true</bool>" else "<bool>false</bool>";
 
     latestVersion  = pkgs.fontconfig.configVersion;
 
-    # fontconfig ultimate main configuration file
-    # priority 52
-    fontconfigUltimateConf = pkgs.writeText "fc-52-fontconfig-ultimate.conf" ''
-      <?xml version="1.0"?>
-      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-      <fontconfig>
-
-        ${optionalString (!cfg.allowBitmaps) ''
-        <!-- Reject bitmap fonts -->
-        <selectfont>
-          <rejectfont>
-            <pattern>
-              <patelt name="scalable"><bool>false</bool></patelt>
-            </pattern>
-          </rejectfont>
-        </selectfont>
-        ''}
-
-        ${optionalString cfg.allowType1 ''
-        <!-- Reject Type 1 fonts -->
-        <selectfont>
-          <rejectfont>
-            <pattern>
-              <patelt name="fontformat">
-                <string>Type 1</string>
-              </patelt>
-            </pattern>
-          </rejectfont>
-        </selectfont>
-        ''}
-
-        <!-- Use embedded bitmaps in fonts like Calibri? -->
-        <match target="font">
-          <edit name="embeddedbitmap" mode="assign">
-            ${fcBool cfg.useEmbeddedBitmaps}
-          </edit>
-        </match>
-
-        <!-- Force autohint always -->
-        <match target="font">
-          <edit name="force_autohint" mode="assign">
-            ${fcBool cfg.forceAutohint}
-          </edit>
-        </match>
-
-        <!-- Render some monospace TTF fonts as bitmaps -->
-        <match target="pattern">
-          <edit name="bitmap_monospace" mode="assign">
-            ${fcBool cfg.renderMonoTTFAsBitmap}
-          </edit>
-        </match>
-
-      </fontconfig>
-    '';
-
     # The configuration to be included in /etc/font/
     confPkg = pkgs.runCommand "font-ultimate-conf" {} ''
       support_folder=$out/etc/fonts/conf.d
@@ -71,12 +16,6 @@ let fcBool = x: if x then "<bool>true</bool>" else "<bool>false</bool>";
       mkdir -p $support_folder
       mkdir -p $latest_folder
 
-      # 52-fontconfig-ultimate.conf
-      ln -s ${fontconfigUltimateConf} \
-            $support_folder/52-fontconfig-ultimate.conf
-      ln -s ${fontconfigUltimateConf} \
-            $latest_folder/52-fontconfig-ultimate.conf
-
       # fontconfig ultimate substitutions
       ${optionalString (cfg.substitutions != "none") ''
       ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/presets/${cfg.substitutions}/*.conf \
@@ -113,45 +52,6 @@ in
             '';
           };
 
-          allowBitmaps = mkOption {
-            type = types.bool;
-            default = true;
-            description = ''
-              Allow bitmap fonts. Set to <literal>false</literal> to ban all
-              bitmap fonts.
-            '';
-          };
-
-          allowType1 = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''
-              Allow Type-1 fonts. Default is <literal>false</literal> because of
-              poor rendering.
-            '';
-          };
-
-          useEmbeddedBitmaps = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''Use embedded bitmaps in fonts like Calibri.'';
-          };
-
-          forceAutohint = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''
-              Force use of the TrueType Autohinter. Useful for debugging or
-              free-software purists.
-            '';
-          };
-
-          renderMonoTTFAsBitmap = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''Render some monospace TTF fonts as bitmaps.'';
-          };
-
           substitutions = mkOption {
             type = types.nullOr (types.enum ["free" "combi" "ms"]);
             default = "free";
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index a137eab35344..4d3cc26365fc 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -41,11 +41,11 @@ let cfg = config.fonts.fontconfig;
     # priority 0
     cacheConfSupport = makeCacheConf { version = supportVersion; };
     cacheConfLatest  = makeCacheConf {};
-    
+
     # generate the font cache setting file for a fontconfig version
     # use latest when no version is passed
     makeCacheConf = { version ? null }:
-      let 
+      let
         fcPackage = if builtins.isNull version
                     then "fontconfig"
                     else "fontconfig_${version}";
@@ -104,6 +104,13 @@ let cfg = config.fonts.fontconfig;
         </match>
         ''}
 
+        <!-- Force autohint always -->
+        <match target="font">
+          <edit name="force_autohint" mode="assign">
+            ${fcBool cfg.forceAutohint}
+          </edit>
+        </match>
+
       </fontconfig>
     '';
 
@@ -113,7 +120,7 @@ let cfg = config.fonts.fontconfig;
 
     # default fonts configuration file
     # priority 52
-    defaultFontsConf = 
+    defaultFontsConf =
       let genDefault = fonts: name:
         optionalString (fonts != []) ''
           <alias>
@@ -142,7 +149,61 @@ let cfg = config.fonts.fontconfig;
       </fontconfig>
     '';
 
-    # fontconfig configuration package 
+    # bitmap font options
+    # priority 53
+    rejectBitmaps = pkgs.writeText "fc-53-nixos-bitmaps.conf" ''
+      <?xml version="1.0"?>
+      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+      <fontconfig>
+
+      ${optionalString (!cfg.allowBitmaps) ''
+      <!-- Reject bitmap fonts -->
+      <selectfont>
+        <rejectfont>
+          <pattern>
+            <patelt name="scalable"><bool>false</bool></patelt>
+          </pattern>
+        </rejectfont>
+      </selectfont>
+      ''}
+
+      <!-- Use embedded bitmaps in fonts like Calibri? -->
+      <match target="font">
+        <edit name="embeddedbitmap" mode="assign">
+          ${fcBool cfg.useEmbeddedBitmaps}
+        </edit>
+      </match>
+
+      <!-- Render some monospace TTF fonts as bitmaps -->
+      <match target="pattern">
+        <edit name="bitmap_monospace" mode="assign">
+          ${fcBool cfg.renderMonoTTFAsBitmap}
+        </edit>
+      </match>
+
+      </fontconfig>
+    '';
+
+    # reject Type 1 fonts
+    # priority 53
+    rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" ''
+      <?xml version="1.0"?>
+      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+      <fontconfig>
+
+      <!-- Reject Type 1 fonts -->
+      <selectfont>
+        <rejectfont>
+          <pattern>
+            <patelt name="fontformat"><string>Type 1</string></patelt>
+          </pattern>
+        </rejectfont>
+      </selectfont>
+
+      </fontconfig>
+    '';
+
+    # fontconfig configuration package
     confPkg = pkgs.runCommand "fontconfig-conf" {} ''
       support_folder=$out/etc/fonts
       latest_folder=$out/etc/fonts/${latestVersion}
@@ -166,7 +227,7 @@ let cfg = config.fonts.fontconfig;
 
       substitute ${latestPkg.out}/etc/fonts/conf.d/51-local.conf \
                  $latest_folder/conf.d/51-local.conf \
-                 --replace local.conf /etc/fonts/${latestVersion}/local.conf 
+                 --replace local.conf /etc/fonts/${latestVersion}/local.conf
 
       # 00-nixos-cache.conf
       ln -s ${cacheConfSupport} \
@@ -192,6 +253,16 @@ let cfg = config.fonts.fontconfig;
       # 52-nixos-default-fonts.conf
       ln -s ${defaultFontsConf} $support_folder/conf.d/52-nixos-default-fonts.conf
       ln -s ${defaultFontsConf} $latest_folder/conf.d/52-nixos-default-fonts.conf
+
+      # 53-nixos-bitmaps.conf
+      ln -s ${rejectBitmaps} $support_folder/conf.d/53-nixos-bitmaps.conf
+      ln -s ${rejectBitmaps} $latest_folder/conf.d/53-nixos-bitmaps.conf
+
+      ${optionalString (! cfg.allowType1) ''
+      # 53-nixos-reject-type1.conf
+      ln -s ${rejectType1} $support_folder/conf.d/53-nixos-reject-type1.conf
+      ln -s ${rejectType1} $latest_folder/conf.d/53-nixos-reject-type1.conf
+      ''}
     '';
 
     # Package with configuration files
@@ -358,6 +429,45 @@ in
           '';
         };
 
+        allowBitmaps = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Allow bitmap fonts. Set to <literal>false</literal> to ban all
+            bitmap fonts.
+          '';
+        };
+
+        allowType1 = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Allow Type-1 fonts. Default is <literal>false</literal> because of
+            poor rendering.
+          '';
+        };
+
+        useEmbeddedBitmaps = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''Use embedded bitmaps in fonts like Calibri.'';
+        };
+
+        forceAutohint = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Force use of the TrueType Autohinter. Useful for debugging or
+            free-software purists.
+          '';
+        };
+
+        renderMonoTTFAsBitmap = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''Render some monospace TTF fonts as bitmaps.'';
+        };
+
       };
 
     };
diff --git a/nixos/modules/config/update-users-groups.pl b/nixos/modules/config/update-users-groups.pl
index cbbe216e5a17..4ca8a83554ad 100644
--- a/nixos/modules/config/update-users-groups.pl
+++ b/nixos/modules/config/update-users-groups.pl
@@ -177,7 +177,7 @@ foreach my $u (@{$spec->{users}}) {
     }
 
     # Create a home directory.
-    if ($u->{createHome} && ! -e $u->{home}) {
+    if ($u->{createHome}) {
         make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
         chown $u->{uid}, $u->{gid}, $u->{home};
     }
diff --git a/nixos/modules/hardware/sensor/iio.nix b/nixos/modules/hardware/sensor/iio.nix
new file mode 100644
index 000000000000..a8bc18800021
--- /dev/null
+++ b/nixos/modules/hardware/sensor/iio.nix
@@ -0,0 +1,30 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  ###### interface
+
+  options = {
+    hardware.sensor.iio = {
+      enable = mkOption {
+        description = "Enable this option to support IIO sensors.";
+        type = types.bool;
+        default = false;
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf config.hardware.sensor.iio.enable {
+
+    boot.initrd.availableKernelModules = [ "hid-sensor-hub" ];
+
+    environment.systemPackages = with pkgs; [ iio-sensor-proxy ];
+
+    services.dbus.packages = with pkgs; [ iio-sensor-proxy ];
+    services.udev.packages = with pkgs; [ iio-sensor-proxy ];
+    systemd.packages = with pkgs; [ iio-sensor-proxy ];
+  };
+}
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 85163305c1ef..d42174003526 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -172,7 +172,6 @@ in
 
     isoImage.includeSystemBuildDependencies = mkOption {
       default = false;
-      example = true;
       description = ''
         Set this option to include all the needed sources etc in the
         image. It significantly increases image size. Use that when
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index a938ba6d0069..610c2a2b758a 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -30,6 +30,7 @@
   ./hardware/ckb.nix
   ./hardware/cpu/amd-microcode.nix
   ./hardware/cpu/intel-microcode.nix
+  ./hardware/sensor/iio.nix
   ./hardware/ksm.nix
   ./hardware/mcelog.nix
   ./hardware/network/b43.nix
@@ -273,6 +274,7 @@
   ./services/misc/gogs.nix
   ./services/misc/gpsd.nix
   #./services/misc/ihaskell.nix
+  ./services/misc/irkerd.nix
   ./services/misc/leaps.nix
   ./services/misc/mantisbt.nix
   ./services/misc/mathics.nix
@@ -329,10 +331,12 @@
   ./services/monitoring/prometheus/default.nix
   ./services/monitoring/prometheus/alertmanager.nix
   ./services/monitoring/prometheus/blackbox-exporter.nix
+  ./services/monitoring/prometheus/fritzbox-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/unifi-exporter.nix
   ./services/monitoring/prometheus/varnish-exporter.nix
   ./services/monitoring/riemann.nix
   ./services/monitoring/riemann-dash.nix
diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix
index 9ba81899e588..18290555b79d 100644
--- a/nixos/modules/programs/adb.nix
+++ b/nixos/modules/programs/adb.nix
@@ -10,7 +10,6 @@ with lib;
     programs.adb = {
       enable = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = ''
           Whether to configure system to use Android Debug Bridge (adb).
diff --git a/nixos/modules/programs/gphoto2.nix b/nixos/modules/programs/gphoto2.nix
index 47822562aee1..ca7c6fb28f52 100644
--- a/nixos/modules/programs/gphoto2.nix
+++ b/nixos/modules/programs/gphoto2.nix
@@ -10,7 +10,6 @@ with lib;
     programs.gphoto2 = {
       enable = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = ''
           Whether to configure system to use gphoto2.
diff --git a/nixos/modules/programs/mosh.nix b/nixos/modules/programs/mosh.nix
index 1c29eddf01d6..b3aa55e189a3 100644
--- a/nixos/modules/programs/mosh.nix
+++ b/nixos/modules/programs/mosh.nix
@@ -14,7 +14,6 @@ in
         Whether to enable mosh. Note, this will open ports in your firewall!
       '';
       default = false;
-      example = true;
       type = lib.types.bool;
     };
   };
diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix
index f5d1873cc5c8..7d0cb3320995 100644
--- a/nixos/modules/programs/ssmtp.nix
+++ b/nixos/modules/programs/ssmtp.nix
@@ -22,7 +22,6 @@ in
       directDelivery = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           Use the trivial Mail Transfer Agent (MTA)
           <command>ssmtp</command> package to allow programs to send
@@ -65,7 +64,6 @@ in
       useTLS = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           Whether TLS should be used to connect to the default mail
           server.
@@ -75,7 +73,6 @@ in
       useSTARTTLS = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           Whether the STARTTLS should be used to connect to the default
           mail server.  (This is needed for TLS-capable mail servers
diff --git a/nixos/modules/programs/tmux.nix b/nixos/modules/programs/tmux.nix
index f0f8d03505ac..ed1d88a420a2 100644
--- a/nixos/modules/programs/tmux.nix
+++ b/nixos/modules/programs/tmux.nix
@@ -65,7 +65,6 @@ in {
 
       aggressiveResize = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = ''
           Resize the window to the size of the smallest session for which it is the current window.
@@ -81,14 +80,12 @@ in {
 
       clock24 = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = "Use 24 hour clock.";
       };
 
       customPaneNavigationAndResize = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = "Override the hjkl and HJKL bindings for pane navigation and resizing in VI mode.";
       };
@@ -124,14 +121,12 @@ in {
 
       newSession = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = "Automatically spawn a session if trying to attach and none are running.";
       };
 
       reverseSplit = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = "Reverse the window split shortcuts.";
       };
diff --git a/nixos/modules/programs/vim.nix b/nixos/modules/programs/vim.nix
index 8476c1accd31..fe0e7f2c6d6b 100644
--- a/nixos/modules/programs/vim.nix
+++ b/nixos/modules/programs/vim.nix
@@ -9,7 +9,6 @@ in {
     defaultEditor = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         When enabled, installs vim and configures vim to be the default editor
         using the EDITOR environment variable.
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 02d875b26748..3e66679d6fa0 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -103,9 +103,6 @@ with lib;
     (mkRenamedOptionModule [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ])
     (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ])
 
-    # DNSCrypt-proxy
-    (mkRenamedOptionModule [ "services" "dnscrypt-proxy" "port" ] [ "services" "dnscrypt-proxy" "localPort" ])
-
     (mkRenamedOptionModule [ "services" "hostapd" "extraCfg" ] [ "services" "hostapd" "extraConfig" ])
 
     # Enlightenment
@@ -178,6 +175,13 @@ with lib;
     # KDE Plasma 5
     (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
 
+    # Fontconfig
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "config" "fonts" "fontconfig" "allowBitmaps" ])
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "allowType1" ] [ "config" "fonts" "fontconfig" "allowType1" ])
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "config" "fonts" "fontconfig" "useEmbeddedBitmaps" ])
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "config" "fonts" "fontconfig" "forceAutohint" ])
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "config" "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
+
     # Options that are obsolete and have no replacement.
     (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
     (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
diff --git a/nixos/modules/security/dhparams.nix b/nixos/modules/security/dhparams.nix
index c16cd2fafef4..55c75713101d 100644
--- a/nixos/modules/security/dhparams.nix
+++ b/nixos/modules/security/dhparams.nix
@@ -19,6 +19,12 @@ in
             Note: The name of the DH params is taken as being the name of the
             service it serves: the params will be generated before the said
             service is started.
+
+            Warning: If you are removing all dhparams from this list, you have
+            to leave security.dhparams.enable for at least one activation in
+            order to have them be cleaned up. This also means if you rollback to
+            a version without any dhparams the existing ones won't be cleaned
+            up.
           '';
         type = with types; attrsOf int;
         default = {};
@@ -34,57 +40,68 @@ in
         type = types.str;
         default = "/var/lib/dhparams";
       };
+
+      enable = mkOption {
+        description =
+          ''
+            Whether to generate new DH params and clean up old DH params.
+          '';
+        default = false;
+        type = types.bool;
+      };
     };
   };
 
-  config.systemd.services = {
-    dhparams-init = {
-      description = "Cleanup old Diffie-Hellman parameters";
-      wantedBy = [ "multi-user.target" ]; # Clean up even when no DH params is set
-      serviceConfig.Type = "oneshot";
-      script =
-        # Create directory
-        ''
-          if [ ! -d ${cfg.path} ]; then
-            mkdir -p ${cfg.path}
-          fi
-        '' +
-        # Remove old dhparams
-        ''
-          for file in ${cfg.path}/*; do
-            if [ ! -f "$file" ]; then
-              continue
-            fi
-        '' + concatStrings (mapAttrsToList (name: value:
-        ''
-            if [ "$file" == "${cfg.path}/${name}.pem" ] && \
-                ${pkgs.openssl}/bin/openssl dhparam -in "$file" -text | head -n 1 | grep "(${toString value} bit)" > /dev/null; then
-              continue
+  config = mkIf cfg.enable {
+    systemd.services = {
+      dhparams-init = {
+        description = "Cleanup old Diffie-Hellman parameters";
+        wantedBy = [ "multi-user.target" ]; # Clean up even when no DH params is set
+        serviceConfig.Type = "oneshot";
+        script =
+          # Create directory
+          ''
+            if [ ! -d ${cfg.path} ]; then
+              mkdir -p ${cfg.path}
             fi
-        ''
-        ) cfg.params) +
-        ''
-            rm $file
-          done
+          '' +
+          # Remove old dhparams
+          ''
+            for file in ${cfg.path}/*; do
+              if [ ! -f "$file" ]; then
+                continue
+              fi
+          '' + concatStrings (mapAttrsToList (name: value:
+          ''
+              if [ "$file" == "${cfg.path}/${name}.pem" ] && \
+                  ${pkgs.openssl}/bin/openssl dhparam -in "$file" -text | head -n 1 | grep "(${toString value} bit)" > /dev/null; then
+                continue
+              fi
+          ''
+          ) cfg.params) +
+          ''
+              rm $file
+            done
 
-          # TODO: Ideally this would be removing the *former* cfg.path, though this
-          # does not seem really important
-          rmdir -p --ignore-fail-on-non-empty ${cfg.path}
-        '';
-    };
-  } //
-    mapAttrs' (name: value: nameValuePair "dhparams-gen-${name}" {
-      description = "Generate Diffie-Hellman parameters for ${name} if they don't exist yet";
-      after = [ "dhparams-init.service" ];
-      before = [ "${name}.service" ];
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig.Type = "oneshot";
-      script =
-        ''
-          mkdir -p ${cfg.path}
-          if [ ! -f ${cfg.path}/${name}.pem ]; then
-            ${pkgs.openssl}/bin/openssl dhparam -out ${cfg.path}/${name}.pem ${toString value}
-          fi
-        '';
-    }) cfg.params;
+            # TODO: Ideally this would be removing the *former* cfg.path, though this
+            # does not seem really important as changes to it are quite unlikely
+            rmdir --ignore-fail-on-non-empty ${cfg.path}
+          '';
+      };
+    } //
+      mapAttrs' (name: value: nameValuePair "dhparams-gen-${name}" {
+        description = "Generate Diffie-Hellman parameters for ${name} if they don't exist yet";
+        after = [ "dhparams-init.service" ];
+        before = [ "${name}.service" ];
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig.Type = "oneshot";
+        script =
+          ''
+            mkdir -p ${cfg.path}
+            if [ ! -f ${cfg.path}/${name}.pem ]; then
+              ${pkgs.openssl}/bin/openssl dhparam -out ${cfg.path}/${name}.pem ${toString value}
+            fi
+          '';
+      }) cfg.params;
+  };
 }
diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix
index 3726b6c78185..657b059faf2e 100644
--- a/nixos/modules/security/grsecurity.nix
+++ b/nixos/modules/security/grsecurity.nix
@@ -21,7 +21,6 @@ in
 
     enable = mkOption {
       type = types.bool;
-      example = true;
       default = false;
       description = ''
         Enable grsecurity/PaX.
@@ -30,7 +29,6 @@ in
 
     lockTunables = mkOption {
       type = types.bool;
-      example = false;
       default = true;
       description = ''
         Whether to automatically lock grsecurity tunables
@@ -43,7 +41,6 @@ in
 
     disableEfiRuntimeServices = mkOption {
       type = types.bool;
-      example = false;
       default = true;
       description = ''
         Whether to disable access to EFI runtime services.  Enabling EFI runtime
diff --git a/nixos/modules/security/grsecurity.xml b/nixos/modules/security/grsecurity.xml
index 07a61919ab42..620e8f653f99 100644
--- a/nixos/modules/security/grsecurity.xml
+++ b/nixos/modules/security/grsecurity.xml
@@ -312,7 +312,7 @@
       Overflows in boot critical code (e.g., the root filesystem module) can
       render the system unbootable.  Work around by setting
       <programlisting>
-        boot.kernel.kernelParams = [ "pax_size_overflow_report_only" ];
+        boot.kernelParams = [ "pax_size_overflow_report_only" ];
       </programlisting>
     </para></listitem>
 
diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix
index 16815bcc8605..bb5dcab1dcf2 100644
--- a/nixos/modules/services/backup/rsnapshot.nix
+++ b/nixos/modules/services/backup/rsnapshot.nix
@@ -26,7 +26,6 @@ in
       enableManualRsnapshot = mkOption {
         description = "Whether to enable manual usage of the rsnapshot command with this module.";
         default = true;
-        example = false;
         type = types.bool;
       };
 
diff --git a/nixos/modules/services/computing/boinc/client.nix b/nixos/modules/services/computing/boinc/client.nix
index 91bd463732de..e43b6bbb2536 100644
--- a/nixos/modules/services/computing/boinc/client.nix
+++ b/nixos/modules/services/computing/boinc/client.nix
@@ -12,7 +12,6 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           Whether to enable the BOINC distributed computing client. If this
           option is set to true, the boinc_client daemon will be run as a
@@ -41,7 +40,6 @@ in
       allowRemoteGuiRpc = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           If set to true, any remote host can connect to and control this BOINC
           client (subject to password authentication). If instead set to false,
diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix
index 0ff6dbac39c7..533751734fa5 100644
--- a/nixos/modules/services/continuous-integration/buildbot/master.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/master.nix
@@ -217,11 +217,11 @@ in {
       path = cfg.packages;
 
       serviceConfig = {
-        Type = "forking";
+        Type = "simple";
         User = cfg.user;
         Group = cfg.group;
         WorkingDirectory = cfg.home;
-        ExecStart = "${cfg.package}/bin/buildbot start ${cfg.buildbotDir}";
+        ExecStart = "${cfg.package}/bin/buildbot start --nodaemon ${cfg.buildbotDir}";
       };
 
       preStart = ''
diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix
index 00423bd33865..e4ee4dd861ef 100644
--- a/nixos/modules/services/continuous-integration/buildbot/worker.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix
@@ -111,11 +111,11 @@ in {
       '';
 
       serviceConfig = {
-        Type = "forking";
+        Type = "simple";
         User = cfg.user;
         Group = cfg.group;
         WorkingDirectory = cfg.home;
-        ExecStart = "${cfg.package}/bin/buildbot-worker start ${cfg.buildbotDir}";
+        ExecStart = "${cfg.package}/bin/buildbot-worker start --nodaemon ${cfg.buildbotDir}";
       };
 
     };
diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix
index b43b448ed7e1..5df4ae57f809 100644
--- a/nixos/modules/services/databases/cassandra.nix
+++ b/nixos/modules/services/databases/cassandra.nix
@@ -310,7 +310,6 @@ in {
     autoBootstrap = mkOption {
       description = "It makes new (non-seed) nodes automatically migrate the right data to themselves.";
       default = true;
-      example = true;
       type = types.bool;
     };
     streamingSocketTimoutInMS = mkOption {
diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix
index d4d231456c52..52247bfb983e 100644
--- a/nixos/modules/services/databases/couchdb.nix
+++ b/nixos/modules/services/databases/couchdb.nix
@@ -4,20 +4,29 @@ with lib;
 
 let
   cfg = config.services.couchdb;
-  configFile = pkgs.writeText "couchdb.ini"
+  useVersion2 = strings.versionAtLeast (strings.getVersion cfg.package) "2.0";
+  configFile = pkgs.writeText "couchdb.ini" (
     ''
       [couchdb]
       database_dir = ${cfg.databaseDir}
       uri_file = ${cfg.uriFile}
       view_index_dir = ${cfg.viewIndexDir}
-
+    '' + (if useVersion2 then
+    ''
+      [chttpd]
+    '' else
+    ''
       [httpd]
+    '') +
+    ''
       port = ${toString cfg.port}
       bind_address = ${cfg.bindAddress}
 
       [log]
       file = ${cfg.logFile}
-    '';
+    '');
+  executable = if useVersion2 then "${cfg.package}/bin/couchdb"
+    else ''${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} -a ${cfg.configFile}'';
 
 in {
 
@@ -130,7 +139,6 @@ in {
 
       configFile = mkOption {
         type = types.string;
-        default = "/var/lib/couchdb/couchdb.ini";
         description = ''
           Configuration file for persisting runtime changes. File
           needs to be readable and writable from couchdb user/group.
@@ -147,6 +155,9 @@ in {
 
     environment.systemPackages = [ cfg.package ];
 
+    services.couchdb.configFile = mkDefault
+      (if useVersion2 then "/var/lib/couchdb/local.ini" else "/var/lib/couchdb/couchdb.ini");
+
     systemd.services.couchdb = {
       description = "CouchDB Server";
       wantedBy = [ "multi-user.target" ];
@@ -170,11 +181,20 @@ in {
         fi
         '';
 
+      environment = mkIf useVersion2 {
+        # we are actually specifying 4 configuration files:
+        # 1. the preinstalled default.ini
+        # 2. the module configuration
+        # 3. the extraConfig from the module options
+        # 4. the locally writable config file, which couchdb itself writes to
+        ERL_FLAGS= ''-couch_ini ${cfg.package}/etc/default.ini ${configFile} ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} ${cfg.configFile}'';
+      };
+
       serviceConfig = {
         PermissionsStartOnly = true;
         User = cfg.user;
         Group = cfg.group;
-        ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} -a ${cfg.configFile}";
+        ExecStart = executable;
       };
     };
 
diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix
index cbba9c2a691c..424e08a6ee34 100644
--- a/nixos/modules/services/databases/neo4j.nix
+++ b/nixos/modules/services/databases/neo4j.nix
@@ -27,9 +27,7 @@ let
     ''}
     dbms.shell.enabled=true
     ${cfg.extraServerConfig}
-  '';
 
-  wrapperConfig = pkgs.writeText "neo4j-wrapper.conf" ''
     # Default JVM parameters from neo4j.conf
     dbms.jvm.additional=-XX:+UseG1GC
     dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow
@@ -130,16 +128,16 @@ in {
         ExecStart = "${cfg.package}/bin/neo4j console";
         User = "neo4j";
         PermissionsStartOnly = true;
+        LimitNOFILE = 40000;
       };
       preStart = ''
         mkdir -m 0700 -p ${cfg.dataDir}/{data/graph.db,conf,logs}
         ln -fs ${serverConfig} ${cfg.dataDir}/conf/neo4j.conf
-        ln -fs ${wrapperConfig} ${cfg.dataDir}/conf/neo4j-wrapper.conf
         if [ "$(id -u)" = 0 ]; then chown -R neo4j ${cfg.dataDir}; fi
       '';
     };
 
-    environment.systemPackages = [ pkgs.neo4j ];
+    environment.systemPackages = [ cfg.package ];
 
     users.extraUsers = singleton {
       name = "neo4j";
diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix
index d76859bf3eb6..e884098cb08d 100644
--- a/nixos/modules/services/databases/openldap.nix
+++ b/nixos/modules/services/databases/openldap.nix
@@ -25,7 +25,6 @@ in
         description = "
           Whether to enable the ldap server.
         ";
-        example = true;
       };
 
       user = mkOption {
diff --git a/nixos/modules/services/editors/emacs.nix b/nixos/modules/services/editors/emacs.nix
index 08fa6de6374c..2c5a0c4849ef 100644
--- a/nixos/modules/services/editors/emacs.nix
+++ b/nixos/modules/services/editors/emacs.nix
@@ -21,7 +21,6 @@ in {
     enable = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         Whether to enable a user service for the Emacs daemon. Use <literal>emacsclient</literal> to connect to the
         daemon. If <literal>true</literal>, <varname>services.emacs.install</varname> is
@@ -32,7 +31,6 @@ in {
     install = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         Whether to install a user service for the Emacs daemon. Once
         the service is started, use emacsclient to connect to the
@@ -57,7 +55,6 @@ in {
     defaultEditor = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         When enabled, configures emacsclient to be the default editor
         using the EDITOR environment variable.
diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml
index 89f09ed08449..9d6395ebd74c 100644
--- a/nixos/modules/services/editors/emacs.xml
+++ b/nixos/modules/services/editors/emacs.xml
@@ -79,10 +79,11 @@
             </listitem>
           </varlistentry>
           <varlistentry>
-            <term><varname>emacs24Macport</varname></term>
+            <term><varname>emacsMacport</varname></term>
+            <term><varname>emacs25Macport</varname></term>
             <listitem>
               <para>
-                Emacs 24 with the "Mac port" patches, providing a more
+                Emacs 25 with the "Mac port" patches, providing a more
                 native look and feel under OS X.
               </para>
             </listitem>
diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix
index e2b37522cb16..4a01745eb8b6 100644
--- a/nixos/modules/services/mail/mlmmj.nix
+++ b/nixos/modules/services/mail/mlmmj.nix
@@ -18,7 +18,7 @@ let
   footer = domain: list: "To unsubscribe send a mail to ${list}+unsubscribe@${domain}";
   createList = d: l: ''
     ${pkgs.coreutils}/bin/mkdir -p ${listCtl d l}
-    echo ${listAddress d l} > ${listCtl d l}/listadress
+    echo ${listAddress d l} > ${listCtl d l}/listaddress
     echo "${lib.concatStringsSep "\n" (customHeaders d l)}" > ${listCtl d l}/customheaders
     echo ${footer d l} > ${listCtl d l}/footer
     echo ${subjectPrefix l} > ${listCtl d l}/prefix
diff --git a/nixos/modules/services/mail/offlineimap.nix b/nixos/modules/services/mail/offlineimap.nix
index 85ece020905b..4b24bd8d0813 100644
--- a/nixos/modules/services/mail/offlineimap.nix
+++ b/nixos/modules/services/mail/offlineimap.nix
@@ -12,7 +12,6 @@ in {
     install = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         Whether to install a user service for Offlineimap. Once
         the service is started, emails will be fetched automatically.
diff --git a/nixos/modules/services/misc/ihaskell.nix b/nixos/modules/services/misc/ihaskell.nix
index df7b9be0db50..e07a4a44613a 100644
--- a/nixos/modules/services/misc/ihaskell.nix
+++ b/nixos/modules/services/misc/ihaskell.nix
@@ -16,7 +16,6 @@ in
     services.ihaskell = {
       enable = mkOption {
         default = false;
-        example = true;
         description = "Autostart an IHaskell notebook service.";
       };
 
diff --git a/nixos/modules/services/misc/irkerd.nix b/nixos/modules/services/misc/irkerd.nix
new file mode 100644
index 000000000000..993d77ba424c
--- /dev/null
+++ b/nixos/modules/services/misc/irkerd.nix
@@ -0,0 +1,67 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.irkerd;
+  ports = [ 6659 ];
+in
+{
+  options.services.irkerd = {
+    enable = mkOption {
+      description = "Whether to enable irker, an IRC notification daemon.";
+      default = false;
+      type = types.bool;
+    };
+
+    openPorts = mkOption {
+      description = "Open ports in the firewall for irkerd";
+      default = false;
+      type = types.bool;
+    };
+
+    listenAddress = mkOption {
+      default = "localhost";
+      example = "0.0.0.0";
+      type = types.str;
+      description = ''
+        Specifies the bind address on which the irker daemon listens.
+        The default is localhost.
+
+        Irker authors strongly warn about the risks of running this on
+        a publicly accessible interface, so change this with caution.
+      '';
+    };
+
+    nick = mkOption {
+      default = "irker";
+      type = types.str;
+      description = "Nick to use for irker";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.irkerd = {
+      description = "Internet Relay Chat (IRC) notification daemon";
+      documentation = [ "man:irkerd(8)" "man:irkerhook(1)" "man:irk(1)" ];
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.irker}/bin/irkerd -H ${cfg.listenAddress} -n ${cfg.nick}";
+        User = "irkerd";
+      };
+    };
+
+    environment.systemPackages = [ pkgs.irker ];
+
+    users.users.irkerd = {
+      description = "Irker daemon user";
+      isSystemUser = true;
+      group = "irkerd";
+    };
+    users.groups.irkerd = {};
+
+    networking.firewall.allowedTCPPorts = mkIf cfg.openPorts ports;
+    networking.firewall.allowedUDPPorts = mkIf cfg.openPorts ports;
+  };
+}
diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index 306ee346523d..622607f3b32d 100644
--- a/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixos/modules/services/misc/nixos-manual.nix
@@ -41,7 +41,7 @@ let
 
   entry = "${manual.manual}/share/doc/nixos/index.html";
 
-  help = pkgs.writeScriptBin "nixos-help"
+  helpScript = pkgs.writeScriptBin "nixos-help"
     ''
       #! ${pkgs.stdenv.shell} -e
       browser="$BROWSER"
@@ -58,6 +58,15 @@ let
       exec "$browser" ${entry}
     '';
 
+  desktopItem = pkgs.makeDesktopItem {
+    name = "nixos-manual";
+    desktopName = "NixOS Manual";
+    genericName = "View NixOS documentation in a web browser";
+    # TODO: find a better icon (Nix logo + help overlay?)
+    icon = "system-help";
+    exec = "${helpScript}/bin/nixos-help";
+    categories = "System";
+  };
 in
 
 {
@@ -105,7 +114,8 @@ in
     system.build.manual = manual;
 
     environment.systemPackages =
-      [ manual.manual help ]
+      [ manual.manual helpScript ]
+      ++ optional config.services.xserver.enable desktopItem
       ++ optional config.programs.man.enable manual.manpages;
 
     boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix
index 826f463bbd75..ba9f52f1904b 100644
--- a/nixos/modules/services/misc/taskserver/default.nix
+++ b/nixos/modules/services/misc/taskserver/default.nix
@@ -148,7 +148,6 @@ in {
       enable = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           Whether to enable the Taskwarrior server.
 
diff --git a/nixos/modules/services/monitoring/arbtt.nix b/nixos/modules/services/monitoring/arbtt.nix
index 1135c2c441cb..a8d5e3b7fa07 100644
--- a/nixos/modules/services/monitoring/arbtt.nix
+++ b/nixos/modules/services/monitoring/arbtt.nix
@@ -10,7 +10,6 @@ in {
       enable = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           Enable the arbtt statistics capture service.
         '';
diff --git a/nixos/modules/services/monitoring/prometheus/fritzbox-exporter.nix b/nixos/modules/services/monitoring/prometheus/fritzbox-exporter.nix
new file mode 100644
index 000000000000..6da39b6519cb
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/fritzbox-exporter.nix
@@ -0,0 +1,76 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.fritzboxExporter;
+in {
+  options = {
+    services.prometheus.fritzboxExporter = {
+      enable = mkEnableOption "prometheus fritzbox exporter";
+
+      port = mkOption {
+        type = types.int;
+        default = 9133;
+        description = ''
+          Port to listen on.
+        '';
+      };
+
+      gatewayAddress = mkOption {
+        type = types.str;
+        default = "fritz.box";
+        description = ''
+          The hostname or IP of the FRITZ!Box.
+        '';
+      };
+
+      gatewayPort = mkOption {
+        type = types.int;
+        default = 49000;
+        description = ''
+          The port of the FRITZ!Box UPnP service.
+        '';
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Extra commandline options when launching the fritzbox 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-fritzbox-exporter = {
+      description = "Prometheus exporter for FRITZ!Box via UPnP";
+      unitConfig.Documentation = "https://github.com/ndecker/fritzbox_exporter";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "nobody";
+        Restart = "always";
+        PrivateTmp = true;
+        WorkingDirectory = /tmp;
+        ExecStart = ''
+          ${pkgs.prometheus-fritzbox-exporter}/bin/fritzbox_exporter \
+            -listen-address :${toString cfg.port} \
+            -gateway-address ${cfg.gatewayAddress} \
+            -gateway-port ${toString cfg.gatewayPort} \
+            ${concatStringsSep " \\\n  " cfg.extraFlags}
+        '';
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/unifi-exporter.nix b/nixos/modules/services/monitoring/prometheus/unifi-exporter.nix
new file mode 100644
index 000000000000..e3059e485098
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/unifi-exporter.nix
@@ -0,0 +1,104 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.unifiExporter;
+in {
+  options = {
+    services.prometheus.unifiExporter = {
+      enable = mkEnableOption "prometheus unifi exporter";
+
+      port = mkOption {
+        type = types.int;
+        default = 9130;
+        description = ''
+          Port to listen on.
+        '';
+      };
+
+      unifiAddress = mkOption {
+        type = types.str;
+        example = "https://10.0.0.1:8443";
+        description = ''
+          URL of the UniFi Controller API.
+        '';
+      };
+
+      unifiInsecure = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          If enabled skip the verification of the TLS certificate of the UniFi Controller API.
+          Use with caution.
+        '';
+      };
+      
+      unifiUsername = mkOption {
+        type = types.str;
+        example = "ReadOnlyUser";
+        description = ''
+          username for authentication against UniFi Controller API.
+        '';
+      };
+      
+      unifiPassword = mkOption {
+        type = types.str;
+        description = ''
+          Password for authentication against UniFi Controller API.
+        '';
+      };
+      
+      unifiTimeout = mkOption {
+        type = types.str;
+        default = "5s";
+        example = "2m";
+        description = ''
+          Timeout including unit for UniFi Controller API requests.
+        '';
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Extra commandline options when launching the unifi 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-unifi-exporter = {
+      description = "Prometheus exporter for UniFi Controller metrics";
+      unitConfig.Documentation = "https://github.com/mdlayher/unifi_exporter";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "nobody";
+        Restart = "always";
+        PrivateTmp = true;
+        WorkingDirectory = /tmp;
+        ExecStart = ''
+          ${pkgs.prometheus-unifi-exporter}/bin/unifi_exporter \
+            -telemetry.addr :${toString cfg.port} \
+            -unifi.addr ${cfg.unifiAddress} \
+            -unifi.username ${cfg.unifiUsername} \
+            -unifi.password ${cfg.unifiPassword} \
+            -unifi.timeout ${cfg.unifiTimeout} \
+            ${optionalString cfg.unifiInsecure "-unifi.insecure" } \
+            ${concatStringsSep " \\\n  " cfg.extraFlags}
+        '';
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/aiccu.nix b/nixos/modules/services/networking/aiccu.nix
index 4301da288814..aeb0910d6246 100644
--- a/nixos/modules/services/networking/aiccu.nix
+++ b/nixos/modules/services/networking/aiccu.nix
@@ -35,7 +35,6 @@ in {
       enable = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = "Enable aiccu IPv6 over IPv4 SiXXs tunnel";
       };
 
@@ -88,21 +87,18 @@ in {
       verbose = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = "Be verbose?";
       };
 
       automatic = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = "Automatic Login and Tunnel activation";
       };
 
       requireTLS = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           When set to true, if TLS is not supported on the server
           the TIC transaction will fail.
@@ -124,7 +120,6 @@ in {
       defaultRoute = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = "Add a default route";
       };
 
@@ -138,7 +133,6 @@ in {
       makeHeartBeats = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = ''
           In general you don't want to turn this off
           Of course only applies to AYIYA and heartbeat tunnels not to static ones
@@ -148,21 +142,18 @@ in {
       noConfigure = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = "Don't configure anything";
       };
 
       behindNAT = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = "Notify the user that a NAT-kind network is detected";
       };
 
       localIPv4Override = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           Overrides the IPv4 parameter received from TIC
           This allows one to configure a NAT into "DMZ" mode and then
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.nix b/nixos/modules/services/networking/dnscrypt-proxy.nix
index 8e9747b29667..d382fa8c9cb2 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.nix
+++ b/nixos/modules/services/networking/dnscrypt-proxy.nix
@@ -2,12 +2,9 @@
 with lib;
 
 let
-  apparmorEnabled = config.security.apparmor.enable;
-  dnscrypt-proxy = pkgs.dnscrypt-proxy;
   cfg = config.services.dnscrypt-proxy;
-  stateDirectory = "/var/lib/dnscrypt-proxy";
 
-  localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
+  stateDirectory = "/var/lib/dnscrypt-proxy";
 
   # The minisign public key used to sign the upstream resolver list.
   # This is somewhat more flexible than preloading the key as an
@@ -17,31 +14,33 @@ let
     sha256 = "18lnp8qr6ghfc2sd46nn1rhcpr324fqlvgsp4zaigw396cd7vnnh";
   };
 
-  # Internal flag indicating whether the upstream resolver list is used
-  useUpstreamResolverList = cfg.resolverList == null && cfg.customResolver == null;
-
-  resolverList =
-    if (cfg.resolverList != null)
-      then cfg.resolverList
-      else "${stateDirectory}/dnscrypt-resolvers.csv";
-
-  resolverArgs = if (cfg.customResolver != null)
-    then
-      [ "--resolver-address=${cfg.customResolver.address}:${toString cfg.customResolver.port}"
-        "--provider-name=${cfg.customResolver.name}"
-        "--provider-key=${cfg.customResolver.key}"
-      ]
-    else
-      [ "--resolvers-list=${resolverList}"
-        "--resolver-name=${cfg.resolverName}"
-      ];
-
-  # The final command line arguments passed to the daemon
+  # Internal flag indicating whether the upstream resolver list is used.
+  useUpstreamResolverList = cfg.customResolver == null;
+
+  # The final local address.
+  localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
+
+  # The final resolvers list path.
+  resolverList = "${stateDirectory}/dnscrypt-resolvers.csv";
+
+  # Build daemon command line
+
+  resolverArgs =
+    if (cfg.customResolver == null)
+      then
+        [ "-L ${resolverList}"
+          "-R ${cfg.resolverName}"
+        ]
+      else with cfg.customResolver;
+        [ "-N ${name}"
+          "-k ${key}"
+          "-r ${address}:${toString port}"
+        ];
+
   daemonArgs =
-    [ "--local-address=${localAddress}" ]
-    ++ optional cfg.tcpOnly "--tcp-only"
-    ++ optional cfg.ephemeralKeys "-E"
-    ++ resolverArgs;
+       [ "-a ${localAddress}" ]
+    ++ resolverArgs
+    ++ cfg.extraArgs;
 in
 
 {
@@ -51,6 +50,9 @@ in
   };
 
   options = {
+    # Before adding another option, consider whether it could
+    # equally well be passed via extraArgs.
+
     services.dnscrypt-proxy = {
       enable = mkOption {
         default = false;
@@ -83,19 +85,11 @@ in
         default = "dnscrypt.eu-nl";
         type = types.nullOr types.str;
         description = ''
-          The name of the upstream DNSCrypt resolver to use, taken from
-          <filename>${resolverList}</filename>.  The default resolver is
-          located in Holland, supports DNS security extensions, and
-          <emphasis>claims</emphasis> to not keep logs.
-        '';
-      };
-
-      resolverList = mkOption {
-        default = null;
-        type = types.nullOr types.path;
-        description = ''
-          List of DNSCrypt resolvers.  The default is to use the list of
-          public resolvers provided by upstream.
+          The name of the DNSCrypt resolver to use, taken from
+          <filename>${resolverList}</filename>.  The default
+          resolver is located in Holland, supports DNS security
+          extensions, and <emphasis>claims</emphasis> to not
+          keep logs.
         '';
       };
 
@@ -121,7 +115,7 @@ in
           name = mkOption {
             type = types.str;
             description = "Fully qualified domain name";
-            example = "2.dnscrypt-cert.opendns.com";
+            example = "2.dnscrypt-cert.example.com";
           };
 
           key = mkOption {
@@ -132,25 +126,15 @@ in
         }; }));
       };
 
-      tcpOnly = mkOption {
-        default = false;
-        type = types.bool;
-        description = ''
-          Force sending encrypted DNS queries to the upstream resolver over
-          TCP instead of UDP (on port 443). Use only if the UDP port is blocked.
-        '';
-      };
-
-      ephemeralKeys = mkOption {
-        default = false;
-        type = types.bool;
+      extraArgs = mkOption {
+        default = [];
+        type = types.listOf types.str;
         description = ''
-          Compute a new key pair for every query.  Enabling this option
-          increases CPU usage, but makes it more difficult for the upstream
-          resolver to track your usage of their service across IP addresses.
-          The default is to re-use the public key pair for all queries, making
-          tracking trivial.
+          Additional command-line arguments passed verbatim to the daemon.
+          See <citerefentry><refentrytitle>dnscrypt-proxy</refentrytitle>
+          <manvolnum>8</manvolnum></citerefentry> for details.
         '';
+        example = [ "-X libdcplugin_example_cache.so,--min-ttl=60" ];
       };
     };
   };
@@ -186,16 +170,13 @@ in
       documentation = [ "man:dnscrypt-proxy(8)" ];
 
       before = [ "nss-lookup.target" ];
-
-      after = [ "network.target" ]
-        ++ optional apparmorEnabled "apparmor.service";
-
-      requires = [ "dnscrypt-proxy.socket "]
-        ++ optional apparmorEnabled "apparmor.service";
+      after = [ "network.target" ];
+      requires = [ "dnscrypt-proxy.socket "];
 
       serviceConfig = {
         NonBlocking = "true";
-        ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
+        ExecStart = "${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
 
         User = "dnscrypt-proxy";
 
@@ -206,9 +187,11 @@ in
     };
     }
 
-    (mkIf apparmorEnabled {
+    (mkIf config.security.apparmor.enable {
+    systemd.services.dnscrypt-proxy.after = [ "apparmor.service" ];
+
     security.apparmor.profiles = singleton (pkgs.writeText "apparmor-dnscrypt-proxy" ''
-      ${dnscrypt-proxy}/bin/dnscrypt-proxy {
+      ${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy {
         /dev/null rw,
         /dev/urandom r,
 
@@ -224,6 +207,8 @@ in
         network inet dgram,
         network inet6 dgram,
 
+        ${getLib pkgs.dnscrypt-proxy}/lib/dnscrypt-proxy/libdcplugin*.so mr,
+
         ${getLib pkgs.gcc.cc}/lib/libssp.so.* mr,
         ${getLib pkgs.libsodium}/lib/libsodium.so.* mr,
         ${getLib pkgs.systemd}/lib/libsystemd.so.* mr,
@@ -269,15 +254,18 @@ in
       path = with pkgs; [ curl diffutils dnscrypt-proxy minisign ];
       script = ''
         cd ${stateDirectory}
-        domain=download.dnscrypt.org
+        domain=raw.githubusercontent.com
         get="curl -fSs --resolve $domain:443:$(hostip -r 8.8.8.8 $domain | head -1)"
         $get -o dnscrypt-resolvers.csv.tmp \
-          https://$domain/dnscrypt-proxy/dnscrypt-resolvers.csv
+          https://$domain/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv
         $get -o dnscrypt-resolvers.csv.minisig.tmp \
-          https://$domain/dnscrypt-proxy/dnscrypt-resolvers.csv.minisig
+          https://$domain/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv.minisig
         mv dnscrypt-resolvers.csv.minisig{.tmp,}
-        minisign -q -V -p ${upstreamResolverListPubKey} \
-          -m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig
+        if ! minisign -q -V -p ${upstreamResolverListPubKey} \
+          -m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig ; then
+          echo "failed to verify resolver list!" >&2
+          exit 1
+        fi
         [[ -f dnscrypt-resolvers.csv ]] && mv dnscrypt-resolvers.csv{,.old}
         mv dnscrypt-resolvers.csv{.tmp,}
         if cmp dnscrypt-resolvers.csv{,.old} ; then
@@ -306,4 +294,27 @@ in
     };
     })
     ]);
+
+  imports = [
+    (mkRenamedOptionModule [ "services" "dnscrypt-proxy" "port" ] [ "services" "dnscrypt-proxy" "localPort" ])
+
+    (mkChangedOptionModule
+      [ "services" "dnscrypt-proxy" "tcpOnly" ]
+      [ "services" "dnscrypt-proxy" "extraArgs" ]
+      (config:
+        let val = getAttrFromPath [ "services" "dnscrypt-proxy" "tcpOnly" ] config; in
+        optional val "-T"))
+
+    (mkChangedOptionModule
+      [ "services" "dnscrypt-proxy" "ephemeralKeys" ]
+      [ "services" "dnscrypt-proxy" "extraArgs" ]
+      (config:
+        let val = getAttrFromPath [ "services" "dnscrypt-proxy" "ephemeralKeys" ] config; in
+        optional val "-E"))
+
+    (mkRemovedOptionModule [ "services" "dnscrypt-proxy" "resolverList" ] ''
+      The current resolver listing from upstream is always used
+      unless a custom resolver is specified.
+    '')
+  ];
 }
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.xml b/nixos/modules/services/networking/dnscrypt-proxy.xml
index 982961833ad2..555c6df4d551 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.xml
+++ b/nixos/modules/services/networking/dnscrypt-proxy.xml
@@ -31,15 +31,12 @@
 
   </sect1>
 
-  <sect1><title>As a forwarder for a caching DNS client</title>
+  <sect1><title>As a forwarder for another DNS client</title>
 
   <para>
-    By default, DNSCrypt proxy acts as a transparent proxy for the
-    system stub resolver. Because the client does not cache lookups, this
-    setup can significantly slow down e.g., web browsing. The recommended
-    configuration is to run DNSCrypt proxy as a forwarder for a caching DNS
-    client. To achieve this, change the default proxy listening port to
-    a non-standard value and point the caching client to it:
+    To run the DNSCrypt proxy client as a forwarder for another
+    DNS client, change the default proxy listening port to a
+    non-standard value and point the other client to it:
     <programlisting>
       services.dnscrypt-proxy.localPort = 43;
     </programlisting>
@@ -60,7 +57,6 @@
   <para>
     <programlisting>
       {
-        networking.nameservers = [ "127.0.0.1" ];
         services.unbound.enable = true;
         services.unbound.forwardAddresses = [ "127.0.0.1@43" ];
       }
diff --git a/nixos/modules/services/networking/ferm.nix b/nixos/modules/services/networking/ferm.nix
index 8933e166f59f..07338ccf4d9c 100644
--- a/nixos/modules/services/networking/ferm.nix
+++ b/nixos/modules/services/networking/ferm.nix
@@ -19,7 +19,6 @@ in {
     services.ferm = {
       enable = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = ''
           Whether to enable Ferm Firewall.
diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix
index 70d2d72ca8b7..5c14ceff6a0d 100644
--- a/nixos/modules/services/networking/firefox/sync-server.nix
+++ b/nixos/modules/services/networking/firefox/sync-server.nix
@@ -33,7 +33,6 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = ''
           Whether to enable a Firefox Sync Server, this give the opportunity to
           Firefox users to store all synchronized data on their own server. To use this
@@ -78,7 +77,6 @@ in
       allowNewUsers = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = ''
           Whether to allow new-user signups on the server. Only request by
           existing accounts will be honored.
diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix
index f926cd710c8d..2325424ff3c5 100644
--- a/nixos/modules/services/networking/mosquitto.nix
+++ b/nixos/modules/services/networking/mosquitto.nix
@@ -147,7 +147,6 @@ in
 
       allowAnonymous = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = ''
           Allow clients to connect without authentication.
diff --git a/nixos/modules/services/networking/quagga.nix b/nixos/modules/services/networking/quagga.nix
index ac83da920638..aab58cc77b90 100644
--- a/nixos/modules/services/networking/quagga.nix
+++ b/nixos/modules/services/networking/quagga.nix
@@ -104,7 +104,6 @@ in
         enable = mkOption {
           type = types.bool;
           default = any isEnabled services;
-          example = true;
           description = ''
             Whether to enable the Zebra routing manager.
 
diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix
index deff645d9bfd..6b3d658bd852 100644
--- a/nixos/modules/services/networking/vsftpd.nix
+++ b/nixos/modules/services/networking/vsftpd.nix
@@ -37,6 +37,9 @@ let
     (yesNoOption "anonymousUser" "anonymous_enable" false ''
       Whether to enable the anonymous FTP user.
     '')
+    (yesNoOption "anonymousUserNoPassword" "no_anon_password" false ''
+      Whether to disable the password for the anonymous FTP user.
+    '')
     (yesNoOption "localUsers" "local_enable" false ''
       Whether to enable FTP for local users.
     '')
diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix
index 0d41e3ea92ce..6d68b790e869 100644
--- a/nixos/modules/services/networking/znc.nix
+++ b/nixos/modules/services/networking/znc.nix
@@ -132,7 +132,6 @@ in
     services.znc = {
       enable = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = ''
           Enable a ZNC service for a user.
@@ -251,7 +250,6 @@ in
 
         useSSL = mkOption {
           default = true;
-          example = true;
           type = types.bool;
           description = ''
             Indicates whether the ZNC server should use SSL when listening on the specified port. A self-signed certificate will be generated.
@@ -278,7 +276,6 @@ in
  
       mutable = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = ''
           Indicates whether to allow the contents of the `dataDir` directory to be changed
diff --git a/nixos/modules/services/scheduling/cron.nix b/nixos/modules/services/scheduling/cron.nix
index 6eb277d0a2f2..7b1a1599e141 100644
--- a/nixos/modules/services/scheduling/cron.nix
+++ b/nixos/modules/services/scheduling/cron.nix
@@ -39,7 +39,7 @@ in
 
       enable = mkOption {
         type = types.bool;
-        example = true;
+        default = false;
         description = "Whether to enable the Vixie cron daemon.";
       };
 
diff --git a/nixos/modules/services/security/haka.nix b/nixos/modules/services/security/haka.nix
index f48a79b1f7f1..b64a1b4d03e0 100644
--- a/nixos/modules/services/security/haka.nix
+++ b/nixos/modules/services/security/haka.nix
@@ -99,7 +99,6 @@ in
 
       pcap = mkOption {
         default = true;
-        example = false;
         type = types.bool;
         description = "Whether to enable pcap";
       };
diff --git a/nixos/modules/services/security/physlock.nix b/nixos/modules/services/security/physlock.nix
index 34d0be3b1beb..0881483967c6 100644
--- a/nixos/modules/services/security/physlock.nix
+++ b/nixos/modules/services/security/physlock.nix
@@ -26,17 +26,7 @@ in
           This will switch to a new virtual terminal, turn off console
           switching and disable SysRq mechanism (when
           <option>services.physlock.disableSysRq</option> is set)
-          until the root or <option>services.physlock.user</option>
-          password is given.
-        '';
-      };
-
-      user = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          User whose password will be used to unlock the screen on par
-          with the root password.
+          until the root or user password is given.
         '';
       };
 
@@ -105,7 +95,7 @@ in
               ++ cfg.lockOn.extraTargets;
       serviceConfig.Type = "forking";
       script = ''
-        ${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}${optionalString (cfg.user != null) " -u ${cfg.user}"}
+        ${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}
       '';
     };
 
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index 47f863b96df2..3b4d77a6f7b1 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -12,6 +12,10 @@ let
   torRc = ''
     User tor
     DataDirectory ${torDirectory}
+    ${optionalString cfg.enableGeoIP ''
+      GeoIPFile ${pkgs.tor.geoip}/share/tor/geoip
+      GeoIPv6File ${pkgs.tor.geoip}/share/tor/geoip6
+    ''}
 
     ${optint "ControlPort" cfg.controlPort}
   ''
@@ -58,6 +62,18 @@ in
         '';
       };
 
+      enableGeoIP = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whenever to configure Tor daemon to use GeoIP databases.
+
+          Disabling this will disable by-country statistics for
+          bridges and relays and some client and third-party software
+          functionality.
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.lines;
         default = "";
diff --git a/nixos/modules/services/security/torify.nix b/nixos/modules/services/security/torify.nix
index a81cdbbc172f..a29cb3f33dae 100644
--- a/nixos/modules/services/security/torify.nix
+++ b/nixos/modules/services/security/torify.nix
@@ -19,15 +19,23 @@ in
 {
 
   ###### interface
-  
+
   options = {
-  
+
     services.tor.tsocks = {
 
       enable = mkOption {
-        default = cfg.enable && cfg.client.enable;
+        default = false;
         description = ''
-          Whether to build tsocks wrapper script to relay application traffic via TOR.
+          Whether to build tsocks wrapper script to relay application traffic via Tor.
+
+          <important>
+            <para>You shouldn't use this unless you know what you're
+            doing because your installation of Tor already comes with
+            its own superior (doesn't leak DNS queries)
+            <literal>torsocks</literal> wrapper which does pretty much
+            exactly the same thing as this.</para>
+          </important>
         '';
       };
 
diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix
index a9c08b66eb82..2534f09b555a 100644
--- a/nixos/modules/services/torrent/deluge.nix
+++ b/nixos/modules/services/torrent/deluge.nix
@@ -13,7 +13,6 @@ in {
       deluge = {
         enable = mkOption {
           default = false;
-          example = true;
           description = "Start the Deluge daemon";
         };
 
@@ -29,7 +28,6 @@ in {
       deluge.web = {
         enable = mkOption {
           default = false;
-          example = true;
           description = ''
             Start Deluge Web daemon.
           '';
diff --git a/nixos/modules/services/web-apps/atlassian/crowd.nix b/nixos/modules/services/web-apps/atlassian/crowd.nix
index ada26f8057ba..7ff7dc4e5748 100644
--- a/nixos/modules/services/web-apps/atlassian/crowd.nix
+++ b/nixos/modules/services/web-apps/atlassian/crowd.nix
@@ -88,7 +88,6 @@ in
         secure = mkOption {
           type = types.bool;
           default = true;
-          example = false;
           description = "Whether the connections to the proxy should be considered secure.";
         };
       };
diff --git a/nixos/modules/services/web-apps/atlassian/jira.nix b/nixos/modules/services/web-apps/atlassian/jira.nix
index 6e31d20d0681..0ab94d95eee8 100644
--- a/nixos/modules/services/web-apps/atlassian/jira.nix
+++ b/nixos/modules/services/web-apps/atlassian/jira.nix
@@ -78,7 +78,6 @@ in
         secure = mkOption {
           type = types.bool;
           default = true;
-          example = false;
           description = "Whether the connections to the proxy should be considered secure.";
         };
       };
diff --git a/nixos/modules/services/web-apps/pump.io-configure.js b/nixos/modules/services/web-apps/pump.io-configure.js
new file mode 100644
index 000000000000..1fbf346a34c4
--- /dev/null
+++ b/nixos/modules/services/web-apps/pump.io-configure.js
@@ -0,0 +1,23 @@
+var fs = require('fs');
+
+var opts = JSON.parse(fs.readFileSync("/dev/stdin").toString());
+var config = opts.config;
+
+var readSecret = function(filename) {
+  return fs.readFileSync(filename).toString().trim();
+};
+
+if (opts.secretFile) {
+  config.secret = readSecret(opts.secretFile);
+}
+if (opts.dbPasswordFile) {
+  config.params.dbpass = readSecret(opts.dbPasswordFile);
+}
+if (opts.smtpPasswordFile) {
+  config.smtppass = readSecret(opts.smtpPasswordFile);
+}
+if (opts.spamClientSecretFile) {
+  config.spamclientsecret = readSecret(opts.opts.spamClientSecretFile);
+}
+
+fs.writeFileSync(opts.outputFile, JSON.stringify(config));
diff --git a/nixos/modules/services/web-apps/pump.io.nix b/nixos/modules/services/web-apps/pump.io.nix
index b7c64bc6940b..27ae68516367 100644
--- a/nixos/modules/services/web-apps/pump.io.nix
+++ b/nixos/modules/services/web-apps/pump.io.nix
@@ -5,71 +5,74 @@ with lib;
 let
   cfg = config.services.pumpio;
   dataDir = "/var/lib/pump.io";
+  runDir = "/run/pump.io";
   user = "pumpio";
 
+  optionalSet = condition: value: if condition then value else {};
+
+  configScript = ./pump.io-configure.js;
   configOptions = {
-    driver = if cfg.driver == "disk" then null else cfg.driver;
-    params = ({ } //
-    (if cfg.driver == "disk" then {
-      dir = dataDir;
-     } else { }) //
-    (if cfg.driver == "mongodb" || cfg.driver == "redis" then {
-       host = cfg.dbHost;
-       port = cfg.dbPort;
-       dbname = cfg.dbName;
-       dbuser = cfg.dbUser;
-       dbpass = cfg.dbPassword;
-     } else { }) //
-    (if cfg.driver == "memcached" then {
-       host = cfg.dbHost;
-       port = cfg.dbPort;
-     } else { }) //
-     cfg.driverParams);
-
-    secret = cfg.secret;
-
-    address = cfg.address;
-    port = cfg.port;
-
-    noweb = false;
-    urlPort = cfg.urlPort;
-    hostname = cfg.hostname;
-    favicon = cfg.favicon;
-
-    site = cfg.site;
-    owner = cfg.owner;
-    ownerURL = cfg.ownerURL;
-
-    key = cfg.sslKey;
-    cert = cfg.sslCert;
-    bounce = false;
-
-    spamhost = cfg.spamHost;
-    spamclientid = cfg.spamClientId;
-    spamclientsecret = cfg.spamClientSecret;
-
-    requireEmail = cfg.requireEmail;
-    smtpserver = cfg.smtpHost;
-    smtpport = cfg.smtpPort;
-    smtpuser = cfg.smtpUser;
-    smtppass = cfg.smtpPassword;
-    smtpusessl = cfg.smtpUseSSL;
-    smtpfrom = cfg.smtpFrom;
-
-    nologger = false;
-    uploaddir =  "${dataDir}/uploads";
-    debugClient = false;
-    firehose = cfg.firehose;
-    disableRegistration = cfg.disableRegistration;
-  } //
-  (if cfg.port < 1024 then {
-    serverUser = user;  # have pump.io listen then drop privileges
-   } else { }) //
-  cfg.extraConfig;
-
-in
-
-{
+    outputFile = "${runDir}/config.json";
+    config =
+      (optionalSet (cfg.driver != "disk") {
+        driver = cfg.driver;
+      }) //
+      {
+        params = (optionalSet (cfg.driver == "disk") { dir = dataDir; }) //
+                 (optionalSet (cfg.driver == "mongodb" || cfg.driver == "redis") {
+                   host = cfg.dbHost;
+                   port = cfg.dbPort;
+                   dbname = cfg.dbName;
+                   dbuser = cfg.dbUser;
+                   dbpass = cfg.dbPassword;
+                 }) //
+                 (optionalSet (cfg.driver == "memcached") {
+                   host = cfg.dbHost;
+                   port = cfg.dbPort;
+                 }) // cfg.driverParams;
+        secret = cfg.secret;
+
+        address = cfg.address;
+        port = cfg.port;
+
+        noweb = false;
+        urlPort = cfg.urlPort;
+        hostname = cfg.hostname;
+        favicon = cfg.favicon;
+
+        site = cfg.site;
+        owner = cfg.owner;
+        ownerURL = cfg.ownerURL;
+
+        key = cfg.sslKey;
+        cert = cfg.sslCert;
+        bounce = false;
+
+        spamhost = cfg.spamHost;
+        spamclientid = cfg.spamClientId;
+        spamclientsecret = cfg.spamClientSecret;
+
+        requireEmail = cfg.requireEmail;
+        smtpserver = cfg.smtpHost;
+        smtpport = cfg.smtpPort;
+        smtpuser = cfg.smtpUser;
+        smtppass = cfg.smtpPassword;
+        smtpusessl = cfg.smtpUseSSL;
+        smtpfrom = cfg.smtpFrom;
+
+        nologger = false;
+        enableUploads = cfg.enableUploads;
+        datadir = dataDir;
+        debugClient = false;
+        firehose = cfg.firehose;
+        disableRegistration = cfg.disableRegistration;
+
+        inherit (cfg) secretFile dbPasswordFile smtpPasswordFile spamClientSecretFile;
+      } //
+      (optionalSet (cfg.port < 1024) {
+        serverUser = user;  # have pump.io listen then drop privileges
+      }) // cfg.extraConfig;
+}; in {
   options = {
 
     services.pumpio = {
@@ -77,7 +80,8 @@ in
       enable = mkEnableOption "Pump.io social streams server";
 
       secret = mkOption {
-        type = types.str;
+        type = types.nullOr types.str;
+        default = null;
         example = "my dog has fleas";
         description = ''
           A session-generating secret, server-wide password.  Warning:
@@ -85,6 +89,16 @@ in
         '';
       };
 
+      secretFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/pump.io-secret";
+        description = ''
+          A file containing the session-generating secret,
+          server-wide password.
+        '';
+      };
+
       site = mkOption {
         type = types.str;
         example = "Awesome Sauce";
@@ -125,7 +139,7 @@ in
 
       hostname = mkOption {
         type = types.nullOr types.str;
-        default = null;
+        default = "localhost";
         description = ''
           The hostname of the server, used for generating
           URLs. Defaults to "localhost" which doesn't do much for you.
@@ -152,6 +166,15 @@ in
         '';
       };
 
+      enableUploads = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          If you want to disable file uploads, set this to false. Uploaded files will be stored
+          in ${dataDir}/uploads.
+        '';
+      };
+
       sslKey = mkOption {
         type = types.path;
         example = "${dataDir}/myserver.key";
@@ -253,6 +276,15 @@ in
         '';
       };
 
+      dbPasswordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/pump.io-dbpassword";
+        description = ''
+          A file containing the password corresponding to dbUser.
+        '';
+      };
+
       smtpHost = mkOption {
         type = types.nullOr types.str;
         default = null;
@@ -291,6 +323,17 @@ in
         '';
       };
 
+      smtpPasswordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/pump.io-smtppassword";
+        description = ''
+          A file containing the password used to connect to SMTP
+          server. Might not be necessary for some servers.
+        '';
+      };
+
+
       smtpUseSSL = mkOption {
         type = types.bool;
         default = false;
@@ -332,24 +375,55 @@ in
           stored in cleartext in the Nix store!
         '';
       };
+      spamClientSecretFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/pump.io-spamclientsecret";
+        description = ''
+          A file containing the OAuth key for the spam server.
+        '';
+      };
     };
 
   };
 
   config = mkIf cfg.enable {
+    warnings = let warn = k: optional (cfg.${k} != null)
+                 "config.services.pumpio.${k} is insecure. Use ${k}File instead.";
+               in concatMap warn [ "secret" "dbPassword" "smtpPassword" "spamClientSecret" ];
+
+    assertions = [
+      { assertion = !(isNull cfg.secret && isNull cfg.secretFile);
+        message = "pump.io needs a secretFile configured";
+      }
+    ];
+
     systemd.services."pump.io" =
-      { description = "pump.io social network stream server";
+      { description = "Pump.io - stream server that does most of what people really want from a social network";
         after = [ "network.target" ];
         wantedBy = [ "multi-user.target" ];
-        serviceConfig.ExecStart = "${pkgs.pumpio}/bin/pump -c /etc/pump.io.json";
-        serviceConfig.User = if cfg.port < 1024 then "root" else user;
-        serviceConfig.Group = user;
-      };
 
-      environment.etc."pump.io.json" = {
-        mode = "0440";
-        gid = config.ids.gids.pumpio;
-        text = builtins.toJSON configOptions;
+        preStart = ''
+          mkdir -p ${dataDir}/uploads
+          mkdir -p ${runDir}
+          chown pumpio:pumpio ${dataDir}/uploads ${runDir}
+          chmod 770 ${dataDir}/uploads ${runDir}
+
+          ${pkgs.nodejs}/bin/node ${configScript} <<EOF
+          ${builtins.toJSON configOptions}
+          EOF
+
+          chgrp pumpio ${configOptions.outputFile}
+          chmod 640 ${configOptions.outputFile}
+        '';
+
+        serviceConfig = {
+          ExecStart = "${pkgs.pumpio}/bin/pump -c ${configOptions.outputFile}";
+          PermissionsStartOnly = true;
+          User = if cfg.port < 1024 then "root" else user;
+          Group = user;
+        };
+        environment = { NODE_ENV = "production"; };
       };
 
       users.extraGroups.pumpio.gid = config.ids.gids.pumpio;
diff --git a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix
index a5b6548d3c53..b94ec14308be 100644
--- a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix
@@ -4,11 +4,6 @@
 with lib;
 
 let
-
-  # Upgrading? We have a test! nix-build ./nixos/tests/wordpress.nix
-  version = "4.7.2";
-  fullversion = "${version}";
-
   # Our bare-bones wp-config.php file using the above settings
   wordpressConfig = pkgs.writeText "wp-config.php" ''
     <?php
@@ -71,12 +66,7 @@ let
   # The wordpress package itself
   wordpressRoot = pkgs.stdenv.mkDerivation rec {
     name = "wordpress";
-    src = pkgs.fetchFromGitHub {
-      owner = "WordPress";
-      repo = "WordPress";
-      rev = "${fullversion}";
-      sha256 = "0vph12708drf8ww0xd05hpdvbyy7n5gj9ca598lhdhy2i1j6wy32";
-    };
+    src = config.package;
     installPhase = ''
       mkdir -p $out
       # copy all the wordpress files we downloaded
@@ -122,6 +112,14 @@ in
   enablePHP = true;
 
   options = {
+    package = mkOption {
+      type = types.path;
+      default = pkgs.wordpress;
+      description = ''
+        Path to the wordpress sources.
+        Upgrading? We have a test! nix-build ./nixos/tests/wordpress.nix
+      '';
+    };
     dbHost = mkOption {
       default = "localhost";
       description = "The location of the database server.";
diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix
index a49838c876f9..eec285f6bc44 100644
--- a/nixos/modules/services/web-servers/caddy.nix
+++ b/nixos/modules/services/web-servers/caddy.nix
@@ -29,7 +29,6 @@ in
 
     agree = mkOption {
       default = false;
-      example = true;
       type = types.bool;
       description = "Agree to Let's Encrypt Subscriber Agreement";
     };
diff --git a/nixos/modules/services/web-servers/jboss/default.nix b/nixos/modules/services/web-servers/jboss/default.nix
index 583fe56eb5e2..d28724281a83 100644
--- a/nixos/modules/services/web-servers/jboss/default.nix
+++ b/nixos/modules/services/web-servers/jboss/default.nix
@@ -25,7 +25,7 @@ in
 
       enable = mkOption {
         default = false;
-        description = "Whether to enable jboss";
+        description = "Whether to enable JBoss. WARNING : this package is outdated and is known to have vulnerabilities.";
       };
 
       tempDir = mkOption {
diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix
index 846dfbb587f5..efb721c5773f 100644
--- a/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -27,9 +27,12 @@ let
 
   phpIni = pkgs.runCommand "php.ini" {
     inherit (cfg) phpPackage phpOptions;
-    passAsFile = [ "phpOptions" ];
+    nixDefaults = ''
+      sendmail_path = "/run/wrappers/bin/sendmail -t -i"
+    '';
+    passAsFile = [ "nixDefaults" "phpOptions" ];
   } ''
-    cat $phpPackage/etc/php.ini $phpOptionsPath > $out
+    cat $phpPackage/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out
   '';
 
 in {
diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix
index 7cbca1dcddfd..d1f7f164e641 100644
--- a/nixos/modules/services/x11/compton.nix
+++ b/nixos/modules/services/x11/compton.nix
@@ -43,7 +43,6 @@ in {
     enable = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         Whether of not to enable Compton as the X.org composite manager.
       '';
@@ -52,7 +51,6 @@ in {
     fade = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         Fade windows in and out.
       '';
@@ -93,7 +91,6 @@ in {
     shadow = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         Draw window shadows.
       '';
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index d908553ccdf8..38e24e9b709a 100644
--- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -20,7 +20,6 @@ in
 
     services.xserver.desktopManager.enlightenment.enable = mkOption {
       default = false;
-      example = true;
       description = "Enable the Enlightenment desktop environment.";
     };
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 21453d1917e8..a1790ccd675c 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -53,7 +53,6 @@ in {
     services.xserver.desktopManager.gnome3 = {
       enable = mkOption {
         default = false;
-        example = true;
         description = "Enable Gnome 3 desktop manager.";
       };
 
diff --git a/nixos/modules/services/x11/desktop-managers/kodi.nix b/nixos/modules/services/x11/desktop-managers/kodi.nix
index de00ff93b17c..3ce49b9d2bf8 100644
--- a/nixos/modules/services/x11/desktop-managers/kodi.nix
+++ b/nixos/modules/services/x11/desktop-managers/kodi.nix
@@ -11,7 +11,6 @@ in
     services.xserver.desktopManager.kodi = {
       enable = mkOption {
         default = false;
-        example = true;
         description = "Enable the kodi multimedia center.";
       };
     };
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 24225308ffb3..bc6e728169b4 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -182,20 +182,15 @@ in
 
       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
-          ]));
         GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
       };
 
       fonts.fonts = with pkgs; [ noto-fonts hack-font ];
+      fonts.fontconfig.defaultFonts = {
+        monospace = [ "Hack" "Noto Mono" ];
+        sansSerif = [ "Noto Sans" ];
+        serif = [ "Noto Serif" ];
+      };
 
       programs.ssh.askPassword = "${plasma5.ksshaskpass.out}/bin/ksshaskpass";
 
diff --git a/nixos/modules/services/x11/desktop-managers/xterm.nix b/nixos/modules/services/x11/desktop-managers/xterm.nix
index eab914071410..29752ff405e2 100644
--- a/nixos/modules/services/x11/desktop-managers/xterm.nix
+++ b/nixos/modules/services/x11/desktop-managers/xterm.nix
@@ -13,7 +13,6 @@ in
 
     services.xserver.desktopManager.xterm.enable = mkOption {
       default = true;
-      example = false;
       description = "Enable a xterm terminal as a desktop manager.";
     };
 
diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix
index b358550ba41d..d75c785270b3 100644
--- a/nixos/modules/services/x11/hardware/libinput.nix
+++ b/nixos/modules/services/x11/hardware/libinput.nix
@@ -73,7 +73,6 @@ in {
       clickMethod = mkOption {
         type = types.nullOr (types.enum [ "none" "buttonareas" "clickfinger" ]);
         default = null;
-        example = "none";
         description =
           ''
             Enables a click method. Permitted values are none, buttonareas, clickfinger.
@@ -85,14 +84,12 @@ in {
       leftHanded = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = "Enables left-handed button orientation, i.e. swapping left and right buttons.";
       };
 
       middleEmulation = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description =
           ''
             Enables middle button emulation. When enabled, pressing the left and right buttons
@@ -103,7 +100,6 @@ in {
       naturalScrolling = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = "Enables or disables natural scrolling behavior.";
       };
 
@@ -131,7 +127,6 @@ in {
       horizontalScrolling = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description =
           ''
             Disables horizontal scrolling. When disabled, this driver will discard any horizontal scroll
@@ -153,7 +148,6 @@ in {
       tapping = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description =
           ''
             Enables or disables tap-to-click behavior.
@@ -163,7 +157,6 @@ in {
       tappingDragLock = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description =
           ''
             Enables or disables drag lock during tapping behavior. When enabled, a finger up during tap-
@@ -175,7 +168,6 @@ in {
       disableWhileTyping = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description =
           ''
             Disable input method while typing.
diff --git a/nixos/modules/services/x11/hardware/multitouch.nix b/nixos/modules/services/x11/hardware/multitouch.nix
index f8386b5e333b..0e9eb0214947 100644
--- a/nixos/modules/services/x11/hardware/multitouch.nix
+++ b/nixos/modules/services/x11/hardware/multitouch.nix
@@ -18,20 +18,17 @@ in {
 
       enable = mkOption {
         default = false;
-        example = true;
         description = "Whether to enable multitouch touchpad support.";
       };
 
       invertScroll = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = "Whether to invert scrolling direction à la OSX Lion";
       };
 
       ignorePalm = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = "Whether to ignore touches detected as being the palm (i.e when typing)";
       };
@@ -39,7 +36,6 @@ in {
       tapButtons = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = "Whether to enable tap buttons.";
       };
 
diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix
index 2a7f4e5cbcd1..54454c736c1d 100644
--- a/nixos/modules/services/x11/hardware/synaptics.nix
+++ b/nixos/modules/services/x11/hardware/synaptics.nix
@@ -29,7 +29,6 @@ in {
       enable = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = "Whether to enable touchpad support.";
       };
 
@@ -102,7 +101,6 @@ in {
       tapButtons = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = "Whether to enable tap buttons.";
       };
 
@@ -125,7 +123,6 @@ in {
       palmDetect = mkOption {
         type = types.bool;
         default = false;
-        example = true;
         description = "Whether to enable palm detection (hardware support required)";
       };
 
@@ -146,7 +143,6 @@ in {
       horizontalScroll = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = "Whether to enable horizontal scrolling (on touchpad)";
       };
 
diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix
index 78a97df98775..eb5dfdf95849 100644
--- a/nixos/modules/services/x11/redshift.nix
+++ b/nixos/modules/services/x11/redshift.nix
@@ -12,7 +12,6 @@ in {
     enable = mkOption {
       type = types.bool;
       default = false;
-      example = true;
       description = ''
         Enable Redshift to change your screen's colour temperature depending on
         the time of day.
diff --git a/nixos/modules/services/x11/unclutter-xfixes.nix b/nixos/modules/services/x11/unclutter-xfixes.nix
index bd02c5ed9895..b94dfb1a26a6 100644
--- a/nixos/modules/services/x11/unclutter-xfixes.nix
+++ b/nixos/modules/services/x11/unclutter-xfixes.nix
@@ -11,7 +11,6 @@ in {
       description = "Enable unclutter-xfixes to hide your mouse cursor when inactive.";
       type = types.bool;
       default = false;
-      example = true;
     };
 
     package = mkOption {
diff --git a/nixos/modules/services/x11/unclutter.nix b/nixos/modules/services/x11/unclutter.nix
index ebc195d108d0..6c789b7578fa 100644
--- a/nixos/modules/services/x11/unclutter.nix
+++ b/nixos/modules/services/x11/unclutter.nix
@@ -11,7 +11,6 @@ in {
       description = "Enable unclutter to hide your mouse cursor when inactive";
       type = types.bool;
       default = false;
-      example = true;
     };
 
     package = mkOption {
diff --git a/nixos/modules/services/x11/urxvtd.nix b/nixos/modules/services/x11/urxvtd.nix
index be36efaa5897..57ad93f20174 100644
--- a/nixos/modules/services/x11/urxvtd.nix
+++ b/nixos/modules/services/x11/urxvtd.nix
@@ -11,7 +11,6 @@ in {
   options.services.urxvtd.enable = mkOption {
     type = types.bool;
     default = false;
-    example = true;
     description = ''
       Enable urxvtd, the urxvt terminal daemon. To use urxvtd, run
       "urxvtc".
diff --git a/nixos/modules/services/x11/window-managers/exwm.nix b/nixos/modules/services/x11/window-managers/exwm.nix
index dbbd8a125d66..dc1d957c1709 100644
--- a/nixos/modules/services/x11/window-managers/exwm.nix
+++ b/nixos/modules/services/x11/window-managers/exwm.nix
@@ -21,7 +21,6 @@ in
       enable = mkEnableOption "exwm";
       enableDefaultConfig = mkOption {
         default = true;
-        example = false;
         type = lib.types.bool;
         description = "Enable an uncustomised exwm configuration.";
       };
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 6af88d4f645b..e25a8ae22823 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -44,7 +44,6 @@ in
 
       enableContribAndExtras = mkOption {
         default = false;
-        example = true;
         type = lib.types.bool;
         description = "Enable xmonad-{contrib,extras} in Xmonad.";
       };
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index 5ab2d0775518..2d6bf2d58a9e 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -381,7 +381,6 @@ in
 
       efiInstallAsRemovable = mkOption {
         default = false;
-        example = true;
         type = types.bool;
         description = ''
           Whether to invoke <literal>grub-install</literal> with
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index 1f412fe2d8f2..8978b73749b7 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -434,8 +434,8 @@ in
       chmod +x $out/bin/cryptsetup-askpass
 
       ${optionalString luks.yubikeySupport ''
-        copy_bin_and_libs ${pkgs.ykpers}/bin/ykchalresp
-        copy_bin_and_libs ${pkgs.ykpers}/bin/ykinfo
+        copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykchalresp
+        copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykinfo
         copy_bin_and_libs ${pkgs.openssl.bin}/bin/openssl
 
         cc -O3 -I${pkgs.openssl.dev}/include -L${pkgs.openssl.out}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index c8fa6c21a4f6..d44209cfa0b3 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -109,7 +109,6 @@ in
       forceImportRoot = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = ''
           Forcibly import the ZFS root pool(s) during early boot.
 
@@ -128,7 +127,6 @@ in
       forceImportAll = mkOption {
         type = types.bool;
         default = true;
-        example = false;
         description = ''
           Forcibly import all ZFS pool(s).
 
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 6467259766ea..e9a3dca6418a 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -548,7 +548,6 @@ in
           };
 
           rstp = mkOption {
-            example = true;
             default = false;
             type = types.bool;
             description = "Whether the bridge interface should enable rstp.";
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index f79854967f1d..6adb2c1681a2 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -274,7 +274,6 @@ let
       };
       isReadOnly = mkOption {
         default = true;
-        example = true;
         type = types.bool;
         description = "Determine whether the mounted path will be accessed in read-only mode.";
       };
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
index 6759ff0f2fe9..2310fe984325 100644
--- a/nixos/modules/virtualisation/lxc.nix
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -71,6 +71,7 @@ in
     environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
     environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
     environment.etc."lxc/default.conf".text = cfg.defaultConfig;
+    systemd.tmpfiles.rules = [ "d /var/lib/lxc/rootfs 0755 root root -" ];
 
     security.apparmor.packages = [ pkgs.lxc ];
     security.apparmor.profiles = [ "${pkgs.lxc}/etc/apparmor.d/lxc-containers" ];
diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix
index a80b2e1f3b04..57487f704519 100644
--- a/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixos/modules/virtualisation/xen-dom0.nix
@@ -40,7 +40,7 @@ in
     virtualisation.xen.qemu = mkOption {
       type = types.path;
       default = "${pkgs.xen}/lib/xen/bin/qemu-system-i386";
-      defaultText = "''${pkgs.xen}/lib/xen/bin/qemu-system-i386";
+      defaultText = "\${pkgs.xen}/lib/xen/bin/qemu-system-i386";
       example = literalExample "''${pkgs.qemu_xen-light}/bin/qemu-system-i386";
       description = ''
         The qemu binary to use for Dom-0 backend.
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 63ca39a9b602..1953fd1a26a7 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -4,7 +4,7 @@
 
 { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
-, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
+, supportedSystems ? [ "x86_64-linux" "i686-linux" "aarch64-linux" ]
 }:
 
 let
diff --git a/nixos/release.nix b/nixos/release.nix
index 8a5b41ca3bb3..325047ce10c4 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -1,6 +1,6 @@
 { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
-, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
+, supportedSystems ? [ "x86_64-linux" "i686-linux" "aarch64-linux" ]
 }:
 
 with import ../lib;
@@ -302,6 +302,7 @@ in rec {
   tests.tomcat = callTest tests/tomcat.nix {};
   tests.udisks2 = callTest tests/udisks2.nix {};
   tests.virtualbox = callSubTests tests/virtualbox.nix { system = "x86_64-linux"; };
+  tests.wordpress = callTest tests/wordpress.nix {};
   tests.xfce = callTest tests/xfce.nix {};
 
 
diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix
index 1bdabe93fec1..e1b628c91445 100644
--- a/nixos/tests/firefox.nix
+++ b/nixos/tests/firefox.nix
@@ -8,15 +8,21 @@ import ./make-test.nix ({ pkgs, ... }: {
     { config, pkgs, ... }:
 
     { imports = [ ./common/x11.nix ];
-      environment.systemPackages = [ pkgs.firefox ];
+      environment.systemPackages = [ pkgs.firefox pkgs.xdotool ];
     };
 
   testScript =
     ''
       $machine->waitForX;
-      $machine->execute("firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html &");
+      $machine->execute("xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &");
       $machine->waitForWindow(qr/Valgrind/);
       $machine->sleep(40); # wait until Firefox has finished loading the page
+      $machine->execute("xdotool key space"); # do I want to make Firefox the
+                             # default browser? I just want to close the dialog
+      $machine->sleep(2); # wait until Firefox hides the default browser window
+      $machine->execute("xdotool key F12");
+      $machine->sleep(10); # wait until Firefox draws the developer tool panel
+      $machine->succeed("xwininfo -root -tree | grep Valgrind");
       $machine->screenshot("screen");
     '';
 
diff --git a/nixos/tests/pump.io.nix b/nixos/tests/pump.io.nix
index 18da52b5134b..0991ed3fce1f 100644
--- a/nixos/tests/pump.io.nix
+++ b/nixos/tests/pump.io.nix
@@ -51,16 +51,6 @@ import ./make-test.nix ({ pkgs, ...} : let
     Vd5WD2HJhLb9u0UxVp9vfWIUDgydopV5ZmWCQ5YvNepb1w==
     -----END CERTIFICATE-----
   '';
-
-  makePump = { opts ? { } }:
-    {
-      enable = true;
-      sslCert = pkgs.writeText "snakeoil.cert" snakeOilCert;
-      sslKey = pkgs.writeText "snakeoil.pem" snakeOilKey;
-      secret = "test";
-      site = "test";
-    } // opts;
-
 in {
   name = "pumpio";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -72,9 +62,14 @@ in {
       { config, pkgs, ... }:
         {
           services = {
-           pumpio = makePump { opts = {
+           pumpio = {
              port = 443;
-           }; };
+             enable = true;
+             sslCert = pkgs.writeText "snakeoil.cert" snakeOilCert;
+             sslKey = pkgs.writeText "snakeoil.pem" snakeOilKey;
+             secretFile = pkgs.writeText "secretFile" "test123";
+             site = "test";
+           };
            mongodb.enable = true;
            mongodb.extraConfig = ''
              storage.journal.enabled: false
diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix
index afee1f7f6dd4..c51306a8c7a0 100644
--- a/nixos/tests/wordpress.nix
+++ b/nixos/tests/wordpress.nix
@@ -10,14 +10,10 @@ import ./make-test.nix ({ pkgs, ... }:
     { web =
         { config, pkgs, ... }:
         {
-          services.mysql.enable = true;
-          services.mysql.package = pkgs.mysql;
-          services.mysql.initialScript = pkgs.writeText "start.sql" ''
-            CREATE DATABASE wordpress;
-	    CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';
-            GRANT ALL on wordpress.* TO 'wordpress'@'localhost';
-          '';
-
+          services.mysql = {
+            enable = true;
+            package = pkgs.mysql;
+          };
           services.httpd = {
             enable = true;
             logPerVirtualHost = true;
diff --git a/pkgs/applications/altcoins/dashpay.nix b/pkgs/applications/altcoins/dashpay.nix
index ef42560ee9aa..ff0f2407cfec 100644
--- a/pkgs/applications/altcoins/dashpay.nix
+++ b/pkgs/applications/altcoins/dashpay.nix
@@ -1,25 +1,35 @@
-{ fetchzip, stdenv, pkgconfig, autoreconfHook
+{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
 , openssl, db48, boost, zlib, miniupnpc
-, qt4, qrencode, glib, protobuf, yasm
-, utillinux }:
+, qrencode, glib, protobuf, yasm, libevent
+, utillinux
+, enable_Upnp ? false 
+, disable_Wallet ? false
+, disable_Daemon ? false }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
+  name = "dashpay-${version}";
+  version = "0.12.1.3";
 
-  name = "dashpay-${meta.version}";
-
-  src = fetchzip {
-    url = "https://github.com/dashpay/dash/archive/v${meta.version}.tar.gz";
-    sha256 = "19bk7cviy3n2dpj4kr3i6i0i3ac2l5ri8ln1a51nd3n90k016wnx";
+  src = fetchFromGitHub {
+    owner = "dashpay";
+    repo= "dash";
+    rev = "v${version}";
+    sha256 = "0h0fxhh30wy5vp06l1mkswhz565qs6j9y0dm84fmn28rdfvhv2aj";
   };
 
-  buildInputs = [ pkgconfig autoreconfHook glib openssl db48 yasm
-                  boost zlib miniupnpc protobuf qt4 qrencode utillinux ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ glib openssl db48 yasm boost zlib libevent 
+                  miniupnpc protobuf qrencode utillinux ];
+                  
 
-  configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
+  configureFlags = [ "--with-boost-libdir=${boost.out}/lib --with-gui=no" ]
+                    ++ optional enable_Upnp "--enable-upnp-default"
+                    ++ optional disable_Wallet "--disable-wallet"
+                    ++ optional disable_Daemon "--disable-daemon"
+                    ;
 
-  meta = with stdenv.lib; {
-    version = "0.12.0.55";
+  meta = {
     description = "A decentralized key/value registration and transfer system";
     longDescription = ''
       Dash (DASH) is an open sourced, privacy-centric digital currency
diff --git a/pkgs/applications/altcoins/litecoin.nix b/pkgs/applications/altcoins/litecoin.nix
index 38e671e89940..9b19d2f29969 100644
--- a/pkgs/applications/altcoins/litecoin.nix
+++ b/pkgs/applications/altcoins/litecoin.nix
@@ -1,28 +1,31 @@
-{ stdenv, fetchurl
+{ stdenv, fetchFromGitHub
 , pkgconfig, autoreconfHook
 , openssl, db48, boost, zlib, miniupnpc
 , glib, protobuf, utillinux, qt4, qrencode
-, withGui }:
+, withGui, libevent }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "0.10.2.2";
+  version = "0.13.2.1";
 
-  src = fetchurl {
-    url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz";
-    sha256 = "1p1h2654b7f2lyrmihcjmpmx6sjpkgsifcm2ixxb2g9jh6qq8b4m";
+  src = fetchFromGitHub {
+    owner = "litecoin-project";
+    repo = "litecoin";
+    rev = "v${version}";
+    sha256 = "0hml1crml6rx7im8dfbig3znmvnk2di61ybbhrhpad5mj0yrih30";
   };
 
-  buildInputs = [ pkgconfig autoreconfHook openssl
-                  openssl db48 boost zlib miniupnpc glib protobuf utillinux ]
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ openssl db48 boost zlib
+                  miniupnpc glib protobuf utillinux libevent ]
                   ++ optionals withGui [ qt4 qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
                      ++ optionals withGui [ "--with-gui=qt4" ];
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
     longDescription= ''
       Litecoin is a peer-to-peer Internet currency that enables instant payments
diff --git a/pkgs/applications/audio/bitwig-studio/default.nix b/pkgs/applications/audio/bitwig-studio/default.nix
index 47c80af9fe0f..af0d2bbd0e9c 100644
--- a/pkgs/applications/audio/bitwig-studio/default.nix
+++ b/pkgs/applications/audio/bitwig-studio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, freetype, gdk_pixbuf
+{ stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, ffmpeg, freetype, gdk_pixbuf
 , glib, gtk2, harfbuzz, jdk, lib, libX11, libXau, libXcursor, libXdmcp
 , libXext, libXfixes, libXrender, libbsd, libjack2, libpng, libxcb
 , libxkbcommon, libxkbfile, makeWrapper, pixman, xcbutil, xcbutilwm
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "bitwig-studio-${version}";
-  version = "1.3.12";
+  version = "2.0";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
-    sha256 = "01z6yia4a6lfsf3rqq379l7xzqfbpz27mf1mr8sx9z1a8rzzyhld";
+    sha256 = "1m7wdr0f9xi9s7q8vd66hy7fj1k0j3y5ln2yqbjwr76r9g6gkzas";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   ];
 
   binPath = lib.makeBinPath [
-    xdg_utils zenity
+    ffmpeg xdg_utils zenity
   ];
 
   installPhase = ''
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index ac5db3d1f636..34dba5e206fa 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, IOKit, Carbon }:
+{ stdenv, fetchurl, autoreconfHook, gnu-config, IOKit, Carbon }:
 
 stdenv.mkDerivation rec {
   name = "cdparanoia-III-10.2";
@@ -8,10 +8,6 @@ stdenv.mkDerivation rec {
     sha256 = "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80";
   };
 
-  hardeningDisable = [ "format" ];
-
-  preConfigure = "unset CC";
-
   patches = stdenv.lib.optionals stdenv.isDarwin [
     (fetchurl {
       url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/osx_interface.patch";
@@ -23,11 +19,20 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  buildInputs = stdenv.lib.optional stdenv.isAarch64 autoreconfHook;
+
   propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [
     Carbon
     IOKit
   ];
 
+  hardeningDisable = [ "format" ];
+
+  preConfigure = "unset CC" + stdenv.lib.optionalString stdenv.isAarch64 ''\n
+    cp ${gnu-config}/config.sub configure.sub
+    cp ${gnu-config}/config.guess configure.guess
+  '';
+
   meta = {
     homepage = http://xiph.org/paranoia;
     description = "A tool and library for reading digital audio from CDs";
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 01c8ecaced0d..78841da46c59 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -5,6 +5,10 @@
 
 let
   withSpotify = config.clementine.spotify or false;
+  withIpod = config.clementine.ipod or false;
+  withMTP = config.clementine.mtp or true;
+  withCD = config.clementine.cd or true;
+  withCloud = config.clementine.cloud or true;
 
   version = "1.2.3";
 
@@ -30,21 +34,19 @@ let
     gst-plugins-base
     gstreamer
     gvfs
-    libcdio
-    libgpod
     liblastfm
-    libmtp
-    libplist
     pkgconfig
     protobuf
     qca2
     qjson
     qt4
-    sparsehash
     sqlite
     taglib
-    usbmuxd
-  ];
+  ]
+  ++ stdenv.lib.optionals (withIpod) [libgpod libplist usbmuxd]
+  ++ stdenv.lib.optionals (withMTP) [libmtp]
+  ++ stdenv.lib.optionals (withCD) [libcdio]
+  ++ stdenv.lib.optionals (withCloud) [sparsehash];
 
   free = stdenv.mkDerivation {
     name = "clementine-free-${version}";
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 166ed592ad84..976ecb675e76 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, libsndfile, flex, bison
+{ stdenv, fetchFromGitHub, cmake, libsndfile, flex, bison, boost
 , alsaLib ? null
 , libpulseaudio ? null
 , tcltk ? null
@@ -11,26 +11,30 @@
 # , wiiuse ? null
 }:
 
-stdenv.mkDerivation {
-  name = "csound-6.04";
+stdenv.mkDerivation rec {
+  name = "csound-6.08.1";
+  version = "6.08.1";
 
   enableParallelBuilding = true;
 
   hardeningDisable = [ "format" ];
 
-  src = fetchurl {
-    url = mirror://sourceforge/csound/Csound6.04.tar.gz;
-    sha256 = "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g";
+  src = fetchFromGitHub {
+    owner = "csound";
+    repo = "csound";
+    rev = version;
+    sha256 = "03xnva17sw35ga3n96x1zdfgw913dga1hccly85wzfn0kxz4rld9";
   };
 
-  buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ];
+  nativeBuildInputs = [ cmake flex bison ];
+  buildInputs = [ libsndfile alsaLib libpulseaudio tcltk boost ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
     homepage = http://www.csounds.com/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [stdenv.lib.maintainers.marcweber];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [maintainers.marcweber];
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index affb574d60bd..6b4d8e33b503 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
 
   src =
     fetchurl {
-      url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
+      url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
       sha256 = "0l008x06d257vcw6gq3q90hvv93cq6mxpj11by1np6bzzg61qv8x";
     };
 
diff --git a/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations b/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations
new file mode 100644
index 000000000000..f575af5ecd31
--- /dev/null
+++ b/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations
@@ -0,0 +1,25 @@
+Disable openpty() and forkpty() prototypes when needed.
+--- a/yasr/yasr.h
++++ b/yasr/yasr.h
+@@ -308,8 +308,10 @@ extern void opt_set(int num, void *val);
+ extern void opt_queue_empty(int ll);
+ extern void opt_write(FILE * fp);
+ 
++#ifndef HAVE_OPENPTY
+ /* openpty.c prototypes */
+ extern int openpty(int *, int *, char *, struct termios *, struct winsize *);
++#endif
+ 
+ /* cfmakeraw.c prototypes */
+ extern void cfmakeraw(struct termios *);
+@@ -317,8 +319,10 @@ extern void cfmakeraw(struct termios *);
+ /* login_tty.c prototypes */
+ extern int login_tty(int);
+ 
++#ifndef HAVE_FORKPTY
+ /* forkpty.c prototypes */
+ extern int forkpty(int *, char *, struct termios *, struct winsize *);
++#endif
+ 
+ /* tbc - Would it be more efficient to ensure that "blank" grids always held
+    ascii 0x20 rather than ascii 0x00? */
diff --git a/pkgs/applications/audio/yasr/20_maxpathlen b/pkgs/applications/audio/yasr/20_maxpathlen
new file mode 100644
index 000000000000..386c6cbf22bd
--- /dev/null
+++ b/pkgs/applications/audio/yasr/20_maxpathlen
@@ -0,0 +1,11 @@
+--- a/yasr/config.c.orig	2011-11-28 03:56:58.764995828 +0100
++++ a/yasr/config.c	2011-11-28 03:57:00.048967703 +0100
+@@ -60,7 +60,7 @@
+   int args, arg[16], *argp;
+   int i, key, ln = 0, mode = 0;
+   char *home, *ptr, *s;
+-  char confname[MAXPATHLEN];
++  char confname[strlen(PACKAGE_DATA_DIR) + 10 + 1];
+ 
+   if ((home = getenv("HOME")) != NULL)
+   {
diff --git a/pkgs/applications/audio/yasr/30_conf b/pkgs/applications/audio/yasr/30_conf
new file mode 100644
index 000000000000..98e959f55f31
--- /dev/null
+++ b/pkgs/applications/audio/yasr/30_conf
@@ -0,0 +1,18 @@
+diff --git a/yasr.conf b/yasr.conf
+index 1e07fc6..72f5922 100644
+--- a/yasr.conf
++++ b/yasr.conf
+@@ -59,11 +59,11 @@ synthesizer=emacspeak server
+ #synthesizer=speech dispatcher
+ #synthesizer port=S0
+ #synthesizer port=l0
+-synthesizer port=|/usr/local/bin/eflite
++synthesizer port=|eflite
+ # Below line appropriate for Speech Dispatcher in its default configuration
+ #synthesizer port=127.0.0.1:6560
+ key echo=off
+-shell=/bin/bash
++shell=/bin/sh
+ special=off
+ up and down arrows=speak line
+ DisableKey=6925
diff --git a/pkgs/applications/audio/yasr/40_dectalk_extended_chars b/pkgs/applications/audio/yasr/40_dectalk_extended_chars
new file mode 100644
index 000000000000..cc1f0af86065
--- /dev/null
+++ b/pkgs/applications/audio/yasr/40_dectalk_extended_chars
@@ -0,0 +1,14 @@
+Index: yasr-0.6.9/yasr/tts.c
+===================================================================
+--- yasr-0.6.9.orig/yasr/tts.c	2008-02-03 00:10:07.000000000 +1100
++++ yasr-0.6.9/yasr/tts.c	2012-02-05 10:59:06.059007839 +1100
+@@ -281,6 +281,9 @@
+   char *p = synth[tts.synth].unspeakable;
+ 
+   if (ch < 32) return 1;
++  /* characters with high bit set cause DECTALK to crash */
++  if (tts.synth == TTS_DECTALK && ch & 0x80)
++    return 1;
+   while (*p)
+   {
+     if (*p++ == ch) return 1;
diff --git a/pkgs/applications/audio/yasr/default.nix b/pkgs/applications/audio/yasr/default.nix
new file mode 100644
index 000000000000..b700cc0bd83d
--- /dev/null
+++ b/pkgs/applications/audio/yasr/default.nix
@@ -0,0 +1,28 @@
+{stdenv,fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "yasr-${version}";
+  
+  version = "0.6.9";
+  
+  src = fetchurl {
+    url = "https://sourceforge.net/projects/yasr/files/yasr/${version}/${name}.tar.gz";
+    sha256 = "1prv9r9y6jb5ga5578ldiw507fa414m60xhlvjl29278p3x7rwa1";
+  };
+  
+  patches = [
+    ./10_fix_openpty_forkpty_declarations
+    ./20_maxpathlen
+    ./30_conf
+    ./40_dectalk_extended_chars
+  ]; # taken from the debian yasr package
+  
+  meta = {
+    homepage = "http://yasr.sourceforge.net";
+    description = "A general-purpose console screen reader";
+    longDescription = "Yasr is a general-purpose console screen reader for GNU/Linux and other Unix-like operating systems.";
+    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ jhhuh ];
+  };
+}
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 291439db5beb..b3dd9f91ec89 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
-, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit
+, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit, gcc6
 , qt4 ? null
 , withQt5 ? false, qtbase
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
-    qt4 libaudit
+    qt4 libaudit gcc6
   ] ++ stdenv.lib.optional withQt5 qtbase;
 
   configureFlags = [
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 47a8eff3da8e..60e17982b5be 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, lib, makeWrapper, gvfs, atomEnv, libXScrnSaver, libxkbfile }:
+{ stdenv, fetchurl, lib, makeWrapper, gvfs, atomEnv}:
 
 stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.14.4";
+  version = "1.15.0";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "0b1dbhpphbsjkizii6l5cxr2pqk6bjix0amc2avk3p7ys710zazv";
+    sha256 = "0w790b9m94m28bx7n94pg2zjxrcjf13228lsb0pl8kyfsk2k2glx";
     name = "${name}.deb";
   };
 
@@ -21,9 +21,7 @@ stdenv.mkDerivation rec {
     rm -r $out/share/lintian
     rm -r $out/usr/
     wrapProgram $out/bin/atom \
-      --prefix "PATH" : "${gvfs}/bin" \
-      --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 \
-      --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libxkbfile ]}/libxkbfile.so.1
+      --prefix "PATH" : "${gvfs}/bin"
 
     fixupPhase
 
@@ -33,8 +31,11 @@ stdenv.mkDerivation rec {
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath "${atomEnv.libPath}" \
       $out/share/atom/resources/app/apm/bin/node
+
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       $out/share/atom/resources/app.asar.unpacked/node_modules/symbols-view/vendor/ctags-linux
+
+    find $out/share/atom -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$out/share/atom" {} \;
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/atom/env.nix b/pkgs/applications/editors/atom/env.nix
index 1285e46fb484..228a21dc4309 100644
--- a/pkgs/applications/editors/atom/env.nix
+++ b/pkgs/applications/editors/atom/env.nix
@@ -9,7 +9,7 @@ let
     fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss
     xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
     xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
-    xorg.libXcursor libcap systemd libnotify
+    xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
   ];
 
   libPathNative = lib.makeLibraryPath packages;
diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix
index 59e8076c787b..1c2e3a425782 100644
--- a/pkgs/applications/editors/bluefish/default.nix
+++ b/pkgs/applications/editors/bluefish/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "bluefish-2.2.9";
+  name = "bluefish-2.2.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
-    sha256 = "1l7pg6h485yj84i34jr09y8qzc1yr4ih6w5jdhmnrg156db7nwav";
+    sha256 = "1ciygj79q6i3ga5x1j8aivc05nh6rhhnm7hrq8q8xd9vd4ms3v5g";
   };
 
   nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix
index 74707c65b6ca..60bece1fafc4 100644
--- a/pkgs/applications/editors/eclipse/build-eclipse.nix
+++ b/pkgs/applications/editors/eclipse/build-eclipse.nix
@@ -1,4 +1,6 @@
-{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender, zlib, jdk, glib, gtk2, libXtst, webkitgtk2, makeWrapper, ... }:
+{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
+, zlib, jdk, glib, gtk2, libXtst, gsettings_desktop_schemas, webkitgtk2
+, makeWrapper, ... }:
 
 { name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }:
 
@@ -15,7 +17,10 @@ stdenv.mkDerivation rec {
     categories = "Application;Development;";
   };
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [
+    fontconfig freetype glib gsettings_desktop_schemas gtk2 jdk libX11
+    libXrender libXtst makeWrapper zlib
+  ] ++ stdenv.lib.optional (webkitgtk2 != null) webkitgtk2;
 
   buildCommand = ''
     # Unpack tarball.
@@ -37,6 +42,7 @@ stdenv.mkDerivation rec {
     makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
       --prefix PATH : ${jdk}/bin \
       --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ] ++ stdenv.lib.optional (webkitgtk2 != null) webkitgtk2)} \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
       --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
 
     # Create desktop item.
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 9271579346aa..8ef855e48c8d 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
 , freetype, fontconfig, libX11, libXext, libXrender, zlib
-, glib, gtk2, libXtst, jdk
+, glib, gtk2, libXtst, jdk, gsettings_desktop_schemas
 , webkitgtk2 ? null  # for internal web browser
 , buildEnv, writeText, runCommand
 , callPackage
@@ -12,7 +12,8 @@ rec {
 
   buildEclipse = import ./build-eclipse.nix {
     inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
-            jdk glib gtk2 libXtst webkitgtk2 makeWrapper;
+            jdk glib gtk2 libXtst gsettings_desktop_schemas webkitgtk2
+            makeWrapper;
   };
 
   ### Eclipse CPP
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index 834d3056e742..400b1cd42468 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -645,10 +645,10 @@
     el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
     elpaBuild {
         pname = "el-search";
-        version = "1.2.3";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/el-search-1.2.3.tar";
-          sha256 = "1d7iqr4fr0kr171fnjcm2n0bgcwzdh6jl585mwjf2zqnqszv13h0";
+          url = "https://elpa.gnu.org/packages/el-search-1.3.tar";
+          sha256 = "0hg7jppdsaxy285bdaban1i096bjx21pqmczz7w9f3nr34n28pyn";
         };
         packageRequires = [ emacs stream ];
         meta = {
@@ -821,10 +821,10 @@
     gnorb = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
     elpaBuild {
         pname = "gnorb";
-        version = "1.1.2";
+        version = "1.1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gnorb-1.1.2.tar";
-          sha256 = "18d5wdv33lcg96m3ljnv9zn98in27apm7bjycgq0asd2f31dvcvx";
+          url = "https://elpa.gnu.org/packages/gnorb-1.1.5.tar";
+          sha256 = "128ag8zkfxspf6szxfd7dcscm1zzzcibx7p9dpbpk036cr7m5i1p";
         };
         packageRequires = [ cl-lib ];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
index 92159833e9c4..844dfa9fcb80 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
@@ -127,12 +127,12 @@
     abl-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "abl-mode";
-        version = "20170211.1328";
+        version = "20170309.117";
         src = fetchFromGitHub {
           owner = "afroisalreadyinu";
           repo = "abl-mode";
-          rev = "54777551c1760f02b35043a51e1cadad1468aa44";
-          sha256 = "0p5jhp71n4021p173c9agmm26xqqx7z864ygaskf9dh810mxs1yh";
+          rev = "0539862591a5af70e6fa04f0e88e7fc0f0fbb11e";
+          sha256 = "0fxl67nmy6vi6viwxday4j81m9lg4l8vg6yw2phgagm4zlp65k58";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/70a52edb381daa9c4dcc9f7e511175b38fc141be/recipes/abl-mode";
@@ -194,8 +194,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "ac-anaconda";
-          rev = "e42b68f648a4179c76b56b7ff03d25a6e482f38c";
-          sha256 = "092m8y38h4irh2ig6n6510gw2scjjxah37zim6mk92jzn1xv06d0";
+          rev = "94f66b4d4bf0fd9683ee77511833b1eceace0462";
+          sha256 = "15xkwnadqjkbgvilyfldj7z5kz2wvw1dk2bcgphx2z9qwjc7wd5f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0eb23a75c8b57b4af1737c0508f03e66430e6076/recipes/ac-anaconda";
@@ -380,8 +380,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "9a837ed1e26a2367ea6e4a401a8b35fc166e1bf7";
-          sha256 = "0ym1f369azqf81iybqf1hknvq6n87znylxrzd2wl8j8ss1q6z94k";
+          rev = "1d35c6a213f439ff0da10359af456cf0ee5fa459";
+          sha256 = "189a8na2ymf9is5sr93ilp0r9jj94a7ms5ykjj4ws4w5cd9vx7cx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/ac-emacs-eclim";
@@ -737,8 +737,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "248d5d93a3d1a3c88c95a50217f316da7b10cfec";
-          sha256 = "03j32v5y2lc709fczza89p2ih3pj1fibvrrzd7cf9sij5yp28px9";
+          rev = "1f823b74622b1602c7336991c211b71d3f20b180";
+          sha256 = "0wnw1cbxjp0yvkpba01dngvbzplwnq52bll9lryq58wmqi6iwmx6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -758,8 +758,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "248d5d93a3d1a3c88c95a50217f316da7b10cfec";
-          sha256 = "03j32v5y2lc709fczza89p2ih3pj1fibvrrzd7cf9sij5yp28px9";
+          rev = "1f823b74622b1602c7336991c211b71d3f20b180";
+          sha256 = "0wnw1cbxjp0yvkpba01dngvbzplwnq52bll9lryq58wmqi6iwmx6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -859,12 +859,12 @@
     ace-flyspell = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-flyspell";
-        version = "20170124.1245";
+        version = "20170308.2109";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "ace-flyspell";
-          rev = "044d38fb8eb390ef1f51cf92cfe5c4ffd103044c";
-          sha256 = "0yy7g2903v78a8pavhxi8c7vqbmifn2sjk84zhw5aygihp3d6vf0";
+          rev = "538d4f8508d305262ba0228dfe7c819fb65b53c9";
+          sha256 = "1yplf5klgjjzx3cb1ihqb9f9cwn898l0vhasc3cwiqz6ldyq2na8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1ea85eca9cf2df3f8c06709dfb44b339b8bdbc6c/recipes/ace-flyspell";
@@ -1299,12 +1299,12 @@
     aggressive-indent = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "aggressive-indent";
-        version = "20170215.348";
+        version = "20170310.828";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "aggressive-indent-mode";
-          rev = "5959b48e94493738ead6fc91f18e70155962ffba";
-          sha256 = "06kk8j7yq60cir4llgqdsyj4d94261danyw36idqx9papa4da3id";
+          rev = "0492172a766971405fb6dea19371a3c97db8dc3c";
+          sha256 = "12s14diivykwfmkp5429j1y5ry8is81wmnmw048wy3jlh4zwrxnc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/aggressive-indent";
@@ -1549,12 +1549,12 @@
     all-the-icons = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "all-the-icons";
-        version = "20170217.103";
+        version = "20170311.1021";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "all-the-icons.el";
-          rev = "c39a6184c665e5ee3e53ed22beab6c4b6e8be2ce";
-          sha256 = "17s35dj95nprac081v34bvj7mipnydj4blvjcymsn698aa21vgxm";
+          rev = "7b799f901ceecf1aeb101ebeef5f785c2e4d6d03";
+          sha256 = "10sd8m8ym7c47fkdawkiss3cfrm9kwh0ysknrws1g108zpmszsij";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
@@ -1684,12 +1684,12 @@
     anaconda-mode = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
     melpaBuild {
         pname = "anaconda-mode";
-        version = "20170214.556";
+        version = "20170313.343";
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "anaconda-mode";
-          rev = "65de04e9bda55b858d53d4d7982183fd82839b55";
-          sha256 = "1x3wl30rbza8y4693jmpjpq7mcdv8gjhcnr451lgvfjmzxfhbn3d";
+          rev = "b76345e0ba398c03347b6af4fa087f346eb32174";
+          sha256 = "105m01hnkm2asq900c8ndcpim6a2dgndcl83669vb5v39alm17g6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8/recipes/anaconda-mode";
@@ -1938,8 +1938,8 @@
         src = fetchFromGitHub {
           owner = "lunaryorn";
           repo = "ansible-doc.el";
-          rev = "bc8128a85a79b14f4a121105d87a5eddc33975ad";
-          sha256 = "0z3y69sfzka764wjbx31dywdq4d6bfsafv2gmmbpmxqmwfmy8sz4";
+          rev = "86083a7bb2ed0468ca64e52076b06441a2f8e9e0";
+          sha256 = "0lap404ch74w99n3xip176jr42b38xhyzkfnkyqg0g3wk2cd3aq8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1daaaa7462f0b83c15ed9d9e7e6d0ee94434b8e9/recipes/ansible-doc";
@@ -2269,12 +2269,12 @@
     anything-tramp = callPackage ({ anything, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anything-tramp";
-        version = "20170208.539";
+        version = "20170313.257";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-anything-tramp";
-          rev = "6f062a3bd00f7af651a21532d43900c22523e596";
-          sha256 = "1vhf8qnknxvxkk44yyhp04kfmf0vrf41ycpgrj7p7la3k1anyvg6";
+          rev = "75df15ac263701f921649fefb29f03f6b7d49b9f";
+          sha256 = "0al2k5az5x6idnhkhckjxr4vh52f0n9fi20ranwid9ac8k6kspvz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bf5be5351cb187dff8388865ac424f8e5be71639/recipes/anything-tramp";
@@ -2414,8 +2414,8 @@
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "apiwrap.el";
-          rev = "2a14eab0c66b7c8ae4c8767ebcca1a82e325773c";
-          sha256 = "1rxkzcl1clp794c017d19dpm085njmz7hlvn3sqgsw06wkczd0pl";
+          rev = "e6732de88dcbe48ae88466b5cf34fd30405540df";
+          sha256 = "1xg96pidwzxrg2r025pdc8644m8g11z9avcw3jvpmm11rvi2af7z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0197fd3657e65e3826375d9b6f19da3058366c91/recipes/apiwrap";
@@ -3590,6 +3590,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    auto-virtualenvwrapper = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s, virtualenvwrapper }:
+    melpaBuild {
+        pname = "auto-virtualenvwrapper";
+        version = "20170309.1536";
+        src = fetchFromGitHub {
+          owner = "robert-zaremba";
+          repo = "auto-virtualenvwrapper.el";
+          rev = "bfe512270cd6471346f149d46e9f724569dd10a9";
+          sha256 = "1mw61d29z8p847qmlyjqpl1lmnpla40xh5sxgqg5hjp9scwwwp8w";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/02a209ae8f9fc68feb3bb64d32d129fedef2b80b/recipes/auto-virtualenvwrapper";
+          sha256 = "1v82z922d9sadwvyrl4iddsa19f5k43s6iwn8w146jcl0v42bkmd";
+          name = "auto-virtualenvwrapper";
+        };
+        packageRequires = [ cl-lib s virtualenvwrapper ];
+        meta = {
+          homepage = "https://melpa.org/#/auto-virtualenvwrapper";
+          license = lib.licenses.free;
+        };
+      }) {};
     auto-yasnippet = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "auto-yasnippet";
@@ -4242,12 +4263,12 @@
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "20170227.1310";
+        version = "20170307.143";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "0ebf2ee7ab5ae3b3cb6140ea57b2a88e02a59818";
-          sha256 = "197avkxslnvp95f0spmys1nis6nmqfvrv0b1cm945syk7yxa30db";
+          rev = "f6d3d45a88d8fa2d70eaa26d8ebcef741b370dd1";
+          sha256 = "19jbvz07qc325mqdzk0q1ycvpibndw0mb7s7bpr0f0nblla0l0sv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -5239,12 +5260,12 @@
     blog-admin = callPackage ({ cl-lib ? null, ctable, f, fetchFromGitHub, fetchurl, lib, melpaBuild, names, s }:
     melpaBuild {
         pname = "blog-admin";
-        version = "20170126.458";
+        version = "20170310.909";
         src = fetchFromGitHub {
           owner = "CodeFalling";
           repo = "blog-admin";
-          rev = "bcf4302dd158e6a7b9e4a57d739818987e039e76";
-          sha256 = "0dc27df1cph67ygvsvjjskc21flsa055hzxc2j00sk5078gp7a9y";
+          rev = "925e9cf749387fc5c631d93c1652a4a80eac91c3";
+          sha256 = "0kb1y56cq990i1hsvk8dfrh3ks67l6wf7a3658w6f1nj903xy3rf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/blog-admin";
@@ -5257,22 +5278,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    blog-minimal = callPackage ({ fetchFromGitHub, fetchurl, ht, lib, melpaBuild, mustache, s, simple-httpd }:
+    blog-minimal = callPackage ({ fetchFromGitHub, fetchurl, ht, lib, melpaBuild, mustache, org, s, simple-httpd }:
     melpaBuild {
         pname = "blog-minimal";
-        version = "20170304.1548";
+        version = "20170311.555";
         src = fetchFromGitHub {
           owner = "thiefuniverse";
           repo = "blog-minimal";
-          rev = "a3454f1358a8add2969f221c4e56d3bc17ee4baa";
-          sha256 = "0g7n9g4hnaar5basv26c1p00kdkn3vsbsxzby2bi1590grkgjycq";
+          rev = "d679d74039ecc114b037800c8a94303265b9542a";
+          sha256 = "1x14xwnv22dc99gzbn6z48dhxpy46a7lrby2p59aizpwpysi64yk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/56217a33b0669a782621dd65d83419ae371ed60a/recipes/blog-minimal";
           sha256 = "1qj25b6n3slvmbqvzfd37v4xmy1vvz37686jdr29bw5qk4prgxff";
           name = "blog-minimal";
         };
-        packageRequires = [ ht mustache s simple-httpd ];
+        packageRequires = [ ht mustache org s simple-httpd ];
         meta = {
           homepage = "https://melpa.org/#/blog-minimal";
           license = lib.licenses.free;
@@ -5344,12 +5365,12 @@
     bongo = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bongo";
-        version = "20160623.1058";
+        version = "20170312.808";
         src = fetchFromGitHub {
           owner = "dbrock";
           repo = "bongo";
-          rev = "6499a28fdd8249724cf3b9f3cf2dcbce8c4d3927";
-          sha256 = "0s24b0z4q23rfj8j8ifhnnh1ll87c3frpcc0p829a2qqb2nqc4nn";
+          rev = "1961b2e05c01c03d0dd6527988d1348610359d0d";
+          sha256 = "0alm2kq32sxxc7708djxhgd3xnzlglynqjqp9af0y308ryajmdgn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/692428769cd792dc0644641682c2793103dd00c6/recipes/bongo";
@@ -5406,7 +5427,7 @@
       }) {};
     bookmark-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "bookmark-plus";
-        version = "20170227.1053";
+        version = "20170312.1134";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/bookmark+.el";
           sha256 = "14xkhc0x5ac2b0np5hvb0f4d1rap4yysbvm3fnmaaq4kylriysad";
@@ -6783,8 +6804,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "651cdbca22d725958b4ee26f8f299f841005797d";
-          sha256 = "11gjzkmsbkf0nkiqiyapvk690vs3niw0ln627l3wcqkg1sfqmgkl";
+          rev = "0cffdc4f3aa11634088b7ceac51a93b32f0501bd";
+          sha256 = "1fwz12j86izrp9dfqsb6cw6007rdsaisps0c67div1szf11plhna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7375cab750a67ede1a021b6a4371b678a7b991b0/recipes/ccc";
@@ -6825,8 +6846,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "651cdbca22d725958b4ee26f8f299f841005797d";
-          sha256 = "11gjzkmsbkf0nkiqiyapvk690vs3niw0ln627l3wcqkg1sfqmgkl";
+          rev = "0cffdc4f3aa11634088b7ceac51a93b32f0501bd";
+          sha256 = "1fwz12j86izrp9dfqsb6cw6007rdsaisps0c67div1szf11plhna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b48fe069ecd95ea0f9768ecad969e0838344e45d/recipes/cdb";
@@ -7012,8 +7033,8 @@
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "5d48e64b00bd6d9ceef9f80ce27be6b8df76415d";
-          sha256 = "0zzk009qjdc92svann593l7w3qajna29nv92qwsp4hav9zjgq07w";
+          rev = "19de82713504f253961ad46d30943bf004f8a64c";
+          sha256 = "1x8fr5rczzppgpq7hrcvzv95s5hjpvm4ksm5wwmkvy5a8awghdyg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -7052,7 +7073,7 @@
         version = "20170201.347";
         src = fetchsvn {
           url = "http://beta.visl.sdu.dk/svn/visl/tools/vislcg3/trunk/emacs";
-          rev = "12036";
+          rev = "12051";
           sha256 = "0lv9lsh1dnsmida4hhj04ysq48v4m12nj9yq621xn3i6s2qz7s1k";
         };
         recipeFile = fetchurl {
@@ -7342,12 +7363,12 @@
     chinese-fonts-setup = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "chinese-fonts-setup";
-        version = "20161008.450";
+        version = "20170309.2126";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "chinese-fonts-setup";
-          rev = "3f1e8d13837d22109a0eb0af4ee85fb2e90b31a1";
-          sha256 = "0xx692nbnw6wkdh84i59kfr0nzq6jh4iarzzqppd60rr48r3l9wx";
+          rev = "a73397712f5a1d008330778b45b3071df5232806";
+          sha256 = "0rx9z90k6mmlgnmwn4d3az9q72rd51zv8x038ws4f6aa7zji7wnx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c536882e613e83a4a2baf86479bfb3efb86d916a/recipes/chinese-fonts-setup";
@@ -7384,12 +7405,12 @@
     chinese-pyim = callPackage ({ async, chinese-pyim-basedict, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip }:
     melpaBuild {
         pname = "chinese-pyim";
-        version = "20170221.206";
+        version = "20170313.423";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "chinese-pyim";
-          rev = "ed2ccea3d827084b3c80afbd5d7b9345f31243d1";
-          sha256 = "03nvmrwvkadab9yp74d5msfxd01xjj1jhqxymisj6jnhgv421yi0";
+          rev = "36284714815a2339bf25ed2a6051e6136ad81920";
+          sha256 = "10qvikdi2mh72s9c5df2y8hx9m1hny3g9mwm8ar5nfvdhpwwhnnp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/157a264533124ba05c161aa93a32c7209f002fba/recipes/chinese-pyim";
@@ -7633,12 +7654,12 @@
     cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }:
     melpaBuild {
         pname = "cider";
-        version = "20170306.1";
+        version = "20170310.735";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "cider";
-          rev = "52e69c102f2e6438196e223483a388115809bbc1";
-          sha256 = "0cr9clqni9yy5kxspy9nn9llzpqaa3x1d5q4fnlg7qncv6jyfyqb";
+          rev = "f5a1ade83c0299df9ae99bbb5a2bb843e0168452";
+          sha256 = "14zdnvjjlqgw6y23lgs5mjf3b0g5z04xqzvn3fyjgbjzw77pa9ya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider";
@@ -7909,7 +7930,7 @@
         version = "20170120.137";
         src = fetchsvn {
           url = "http://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format";
-          rev = "297038";
+          rev = "297625";
           sha256 = "0011wlqjkr1x58y0v5nf600nn7dj44cllp2m1dyj90aixjx4saq2";
         };
         recipeFile = fetchurl {
@@ -8551,8 +8572,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "add3b1ee4f798fe667b53a521eb18a623e64f0e0";
-          sha256 = "0k0przix6iyfqc9flphsgbzbz09r2lbmw45667zbimpd91k4a29f";
+          rev = "ccec62c6aa8ac44aaa9908ca5d72c396c5f068c0";
+          sha256 = "1wdhyrx7ddqrj0fwqpdqrgnbdmcbk0z83jsn9lkqqv5bnw0l5k5r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -9319,8 +9340,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "company-anaconda";
-          rev = "182a8fdabc01630f255beeb2708728c0cd5c6316";
-          sha256 = "1rqf9i4l32njpwx4aiwxqr994g3jzispwprs6nwjfvg70xkvm4m0";
+          rev = "b268a00821c79d7e4c5da0d7035356afb389b3a7";
+          sha256 = "0pjiiqads9xawcwldic4m7mfi533s3wmqafz4day92v9135xwczj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0eb23a75c8b57b4af1737c0508f03e66430e6076/recipes/company-anaconda";
@@ -9336,12 +9357,12 @@
     company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-ansible";
-        version = "20161119.1155";
+        version = "20170311.1313";
         src = fetchFromGitHub {
           owner = "krzysztof-magosa";
           repo = "company-ansible";
-          rev = "5e8b51b21d32d3d8929fc2e82dec8f584a863399";
-          sha256 = "0appxl6njgxmgpf9np5cpjym3ifgdwh0mzvsnxvx08pidrrnmm33";
+          rev = "f08c19e95e67c852512c30b6825dae3dbd3005a0";
+          sha256 = "0qypfla1j7c34syphh21nyswr363v6vwi87614wx9d1rz5v4h24n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible";
@@ -9586,8 +9607,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "9a837ed1e26a2367ea6e4a401a8b35fc166e1bf7";
-          sha256 = "0ym1f369azqf81iybqf1hknvq6n87znylxrzd2wl8j8ss1q6z94k";
+          rev = "1d35c6a213f439ff0da10359af456cf0ee5fa459";
+          sha256 = "189a8na2ymf9is5sr93ilp0r9jj94a7ms5ykjj4ws4w5cd9vx7cx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/company-emacs-eclim";
@@ -9880,8 +9901,8 @@
         src = fetchFromGitHub {
           owner = "CestDiego";
           repo = "nand2tetris.el";
-          rev = "b4dcb394f04b46206be729d0d8d32422ef8499ee";
-          sha256 = "1cmiy1zd8d6sx6xslwfmy6iw1knpij5pwn53h8kc1zd4ziyxpiyv";
+          rev = "9f7c605a1d030aed933e86b45c9f7232dbbcfb6e";
+          sha256 = "15myf8nbr6pf5qiwwz7xq8d7ys4mddxjb8b8yl7ci2pw7d03cr5z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/company-nand2tetris";
@@ -9939,12 +9960,12 @@
     company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-php";
-        version = "20170306.659";
+        version = "20170308.1819";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "248d5d93a3d1a3c88c95a50217f316da7b10cfec";
-          sha256 = "03j32v5y2lc709fczza89p2ih3pj1fibvrrzd7cf9sij5yp28px9";
+          rev = "1f823b74622b1602c7336991c211b71d3f20b180";
+          sha256 = "0wnw1cbxjp0yvkpba01dngvbzplwnq52bll9lryq58wmqi6iwmx6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -10138,8 +10159,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "company-tern";
-          rev = "dfa3f39d67f011a78fe04ad5a1c7f54d8d788a0a";
-          sha256 = "125p6ipp9mrrc0va4a3pfc2wdnrsk945i9yv0p9lnmrrq69nnszr";
+          rev = "10ac058b065ae73c1f30e9fb7d969dd1a79387be";
+          sha256 = "1pjyiy95axv92yxzks4ac871vcqxjnp7n2116nkdrdzzpmlb1x9h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/company-tern";
@@ -10469,12 +10490,12 @@
     copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "copy-as-format";
-        version = "20170303.1916";
+        version = "20170310.1621";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "copy-as-format";
-          rev = "a77b914ba99729ef618e9e86543da24a46be315a";
-          sha256 = "181d0fxzy228vvgjmfhfnxh9djyjhq4bpf4lklv0mxhzay03pzdx";
+          rev = "161feb918b104e87f1a284f5c4e5e507e0c177f8";
+          sha256 = "0y1j6f9xs877r4bv6dmcl2jsl27v0n6rsmpml719id2cfnh9sn4g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -10578,8 +10599,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e9219e7a7ed07965057e52e42bd56cc04fdffebc";
-          sha256 = "0yi5mpwsg2d5wmnqxs5fi9z2avzar47j1g5qw5ik2vxid9x7qf5m";
+          rev = "1ac1cc1378eeaec2eb47a21dabbb1f6d775e7823";
+          sha256 = "0024zry02vwzhdip5s5g55wlicakj4815yy8s617jzmj840x97mc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -10637,12 +10658,12 @@
     counsel-gtags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-gtags";
-        version = "20170305.600";
+        version = "20170310.536";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-counsel-gtags";
-          rev = "9d9061ece327a315ad9161e4fcc20c83638ccd10";
-          sha256 = "04h3hn1rs9i7cgdg393v12vqrm862bgiw64hyck7978d1w6n3a1b";
+          rev = "4ef27b1cf1075097e11c3bcfee43e0710950dbcb";
+          sha256 = "14rnccz8sm8zyghkh93id4iv65qwdix75rb5f6i2y23k94h2483f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7ccc35632219dbec5fdad7401545e7c071b910c/recipes/counsel-gtags";
@@ -11614,8 +11635,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "56a44bf2944107cfdb178a90c14a6e8092471359";
-          sha256 = "1jg3bhm2ksa4ask2n8q80afpa027430gz5w7vq4iwqw5ij8cx4v8";
+          rev = "af4737d709a90cc867ed93447e5354ee250ad6ec";
+          sha256 = "0pz99wc7karlj4bvb6j6d1drfxmkb5f22pg27v4qqayl1hig0m14";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -11925,12 +11946,12 @@
     darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darktooth-theme";
-        version = "20170216.2034";
+        version = "20170313.317";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-darktooth";
-          rev = "53ee536cc912a900a16b768abd0f8e23e609ef5e";
-          sha256 = "04lj0161la9fb4fd7mdvr1raqnyarzp73dkfydvsaziggg8vnab8";
+          rev = "dde50661210d8610cd03526a6c9a922bb0e494a6";
+          sha256 = "1mab28rm175ylg17ziha2kndcqb9a23f8wrpydypa8k7iirhadp6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
@@ -12219,12 +12240,12 @@
     ddskk = callPackage ({ ccc, cdb, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ddskk";
-        version = "20170304.120";
+        version = "20170311.1248";
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "651cdbca22d725958b4ee26f8f299f841005797d";
-          sha256 = "11gjzkmsbkf0nkiqiyapvk690vs3niw0ln627l3wcqkg1sfqmgkl";
+          rev = "0cffdc4f3aa11634088b7ceac51a93b32f0501bd";
+          sha256 = "1fwz12j86izrp9dfqsb6cw6007rdsaisps0c67div1szf11plhna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6eccccb79881eaa04af3ed6395cd2ab981d9c894/recipes/ddskk";
@@ -12343,12 +12364,12 @@
     decl = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "decl";
-        version = "20160608.2347";
+        version = "20170310.632";
         src = fetchFromGitHub {
           owner = "preetpalS";
           repo = "decl.el";
-          rev = "84a8c4d78e83629fb3100abf5408bd108e4cfcef";
-          sha256 = "0s0zk2hy8mi46rz949i241qsiy0s4aywzb3j0ch69jf3i6qdxh59";
+          rev = "c2b5ea44b77516b50e917ddc897f88dbf2a58894";
+          sha256 = "1y40cyb61ghjhxn03ipbsx08b5d5qa909zp27g8r9nck4i3ni5gq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c2ecd46180643a0c493e05ec86fe50bc1e55146/recipes/decl";
@@ -12530,12 +12551,12 @@
     demangle-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "demangle-mode";
-        version = "20160822.924";
+        version = "20170311.1148";
         src = fetchFromGitHub {
           owner = "liblit";
           repo = "demangle-mode";
-          rev = "24a4a9a0f023c7b3fe5441783794185ba3954ffe";
-          sha256 = "04q7fv3qvh8a4p64hd9pqfvhnbclfbr1b9s0vi9m8jz9y5p86x8d";
+          rev = "0f9436f98225e0f5a5deecea4680c173e76f0322";
+          sha256 = "0n10c45lvdfczhd2mpkciggv4d83mcnbpmjhxzvmnf7n5ar6aw6a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6ced9f4ffb051a8474d3f72695156416cf2dd8be/recipes/demangle-mode";
@@ -12973,8 +12994,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-avfs";
@@ -13136,8 +13157,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-filter";
@@ -13157,8 +13178,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-hacks-utils";
@@ -13171,6 +13192,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    dired-hide-dotfiles = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "dired-hide-dotfiles";
+        version = "20170312.1017";
+        src = fetchFromGitHub {
+          owner = "mattiasb";
+          repo = "dired-hide-dotfiles";
+          rev = "32cf3b6f90dc56f6ff271c28d827aab303bc6221";
+          sha256 = "1fpzgmvbgfgl6wdrynlpvvdlbm8npgrmnzfz2133zvf5x3zfzq6r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ba64a50f85fdb0ad54149dfed4051b4c1a719cbb/recipes/dired-hide-dotfiles";
+          sha256 = "0yy131cvj9a9sz02ari7pzwf22r5y7acyg757h3jvih317v6jyp0";
+          name = "dired-hide-dotfiles";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/dired-hide-dotfiles";
+          license = lib.licenses.free;
+        };
+      }) {};
     dired-icon = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-icon";
@@ -13216,12 +13258,12 @@
     dired-k = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-k";
-        version = "20161116.116";
+        version = "20170313.803";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-dired-k";
-          rev = "3f0b9315f87b0f930d51089e311d41282d5f8b15";
-          sha256 = "09xh097v3fd0mjxqlmbfwjlr1v4a99mj4rvwdb6kqgajmlhgi9hx";
+          rev = "c50e8f73358060a448bff66db2d330b52bbeffc1";
+          sha256 = "14yvsv7cvfviszii0bj0qf094rmnwzssinrqrkpxg4jil2n4bb9d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f8a828b2fbfa11c4b74192d9d0cfa0ad34b3da7/recipes/dired-k";
@@ -13241,8 +13283,8 @@
         src = fetchFromGitHub {
           owner = "thomp";
           repo = "dired-launch";
-          rev = "b62492c1a6404ed2ed32973d99cdcf8630cf7d02";
-          sha256 = "09nwzihg1v5p8c4jcjzl3w2il701lh3ps8c472g2iwmkihljs093";
+          rev = "58cf696c396c12d143387f4bf446ccb8398837b6";
+          sha256 = "1i7a3rjf62ksyfd161jw4x1zx3apjmra42vas7xpllkkhrk0cz08";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/31c9a4945d65aa6afc371c447a572284d38d4d71/recipes/dired-launch";
@@ -13258,12 +13300,12 @@
     dired-narrow = callPackage ({ dash, dired-hacks-utils, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-narrow";
-        version = "20160918.740";
+        version = "20170309.329";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8994330f90a925df17ae425ccdc87865df8e19cd/recipes/dired-narrow";
@@ -13283,8 +13325,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-open";
@@ -13343,8 +13385,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-rainbow";
@@ -13364,8 +13406,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03f6f8c779c8784f52adb20b266404cb537113a/recipes/dired-ranger";
@@ -13461,8 +13503,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d6a947ac9476f10b95a3c153ec784d2a8330dd4c/recipes/dired-subtree";
@@ -13538,22 +13580,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    direnv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    direnv = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "direnv";
-        version = "20161002.715";
+        version = "20170313.309";
         src = fetchFromGitHub {
-          owner = "jml";
-          repo = "direnv-el";
-          rev = "fc80f40a77553b3c8841abedc15a64771634cb35";
-          sha256 = "15lkpnklvgppj63q9qwjd6jbq8czyvjic81mkhf3bwcd7gdqar84";
+          owner = "wbolster";
+          repo = "emacs-direnv";
+          rev = "120d6e15cfef64b10ed599a5f748e7580eacaeac";
+          sha256 = "0vma9ar82841gwlgx3x2qywqwdm9ydx28di7k6c56v9z500jf9ra";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0f526b9cc7bc1495e5f5e9fb2e49af926aba8a7d/recipes/direnv";
-          sha256 = "12yl7hmb7kc8ycr8nr39xb35jhagv8mqn6xs0k8j0mcykpzf2h1g";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv";
+          sha256 = "0zzmi5m6fh42kyf8dyjrjyrl03pkbipnh4mnssrhp83ljczxkyhd";
           name = "direnv";
         };
-        packageRequires = [];
+        packageRequires = [ dash emacs with-editor ];
         meta = {
           homepage = "https://melpa.org/#/direnv";
           license = lib.licenses.free;
@@ -14643,12 +14685,12 @@
     dracula-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dracula-theme";
-        version = "20170303.1415";
+        version = "20170308.2107";
         src = fetchFromGitHub {
           owner = "dracula";
           repo = "emacs";
-          rev = "5db3f961644ea611682eab843a960eb3177ace48";
-          sha256 = "0rrxvvspz2l8byhnl052x59yd0yx7aajnc9b41846ng83kyb8dlm";
+          rev = "3c9efcc81ecb18c2ebd71aeb8da691a47a1fd49a";
+          sha256 = "10gz1pmpdxk2c7r47ac4vxc57bs703l9yqa9jp6q6wnldi2k0snd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d63cb8906726f106e65f7d9895b49a38ffebf8d5/recipes/dracula-theme";
@@ -14852,7 +14894,7 @@
         version = "20130120.1257";
         src = fetchsvn {
           url = "http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/emacs/";
-          rev = "1785720";
+          rev = "1786710";
           sha256 = "016dxpzm1zba8rag7czynlk58hys4xab4mz1nkry5bfihknpzcrq";
         };
         recipeFile = fetchurl {
@@ -14953,12 +14995,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "20161218.110";
+        version = "20170312.1831";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "0c7fed68916de6bcbbfbc6c9f787d610a3316b1e";
-          sha256 = "1a5jg1344s18bj6v33wfrxxg1cxlx6aha40wyw9dbwj1pjpw7vqd";
+          rev = "c5e81e4ef8baa92b4e7a0b5d91fb18cde1907923";
+          sha256 = "01fih3i17s8ih8n79bxgpknfh7z0wgrb6asvvp32bxmmkhwrppkr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2a60e7c166c2d68e4f719d293014a22139593dde/recipes/dumb-jump";
@@ -15372,12 +15414,12 @@
     easy-lentic = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lentic, lib, melpaBuild }:
     melpaBuild {
         pname = "easy-lentic";
-        version = "20161031.2119";
+        version = "20170309.2143";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "easy-lentic";
-          rev = "6f43c8d575274349757173b9bcad3bf5b59300ac";
-          sha256 = "0jw1m2ff23b99rz137ndy0gjbk3fs7srsyjd8f8fssl4xm8mzb39";
+          rev = "d2b600cc3bd3166c3e4543435070b511ae9bf148";
+          sha256 = "1p99yf1nlial254dyy9i30lfx2v4jwpahvi9pfjm5sv64212vp33";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e098e70214e85e1c583a4976f895941c13de75f/recipes/easy-lentic";
@@ -15516,12 +15558,12 @@
     eclim = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, popup, s, yasnippet }:
     melpaBuild {
         pname = "eclim";
-        version = "20170305.1130";
+        version = "20170310.900";
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "9a837ed1e26a2367ea6e4a401a8b35fc166e1bf7";
-          sha256 = "0ym1f369azqf81iybqf1hknvq6n87znylxrzd2wl8j8ss1q6z94k";
+          rev = "1d35c6a213f439ff0da10359af456cf0ee5fa459";
+          sha256 = "189a8na2ymf9is5sr93ilp0r9jj94a7ms5ykjj4ws4w5cd9vx7cx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/eclim";
@@ -15831,12 +15873,12 @@
     edit-indirect = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "edit-indirect";
-        version = "20160528.651";
+        version = "20170310.1002";
         src = fetchFromGitHub {
           owner = "Fanael";
           repo = "edit-indirect";
-          rev = "1d1dae842505e5ff09644529deec87c056e1b14e";
-          sha256 = "145knahvvxbm8qmcdb69ilrg14w7130vav2pqjd7anr1l8n2i6gz";
+          rev = "2fc8f382ee12fc8f7202288534258186bdf6068a";
+          sha256 = "1m40zi6dkq7m9386adrys5n7w8h9973svfmxl1c3n9vk9kjibb9k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/edit-indirect";
@@ -15936,12 +15978,12 @@
     editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig";
-        version = "20170222.2141";
+        version = "20170309.2006";
         src = fetchFromGitHub {
           owner = "editorconfig";
           repo = "editorconfig-emacs";
-          rev = "1d69cffd1dd4709338fba7241f344a55cb61f59e";
-          sha256 = "1pv83biyiqkm5if3wkm071r5cl0ch1wv5yxzdqyxsq4k11s9z4qy";
+          rev = "0a6d9a3c0259aba57a332ac8db582c33e522f12f";
+          sha256 = "114zfk7p6p61mcphd1hn3r1hqj0j9ra0acmfx1k74d60npci25pj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@@ -15957,12 +15999,12 @@
     editorconfig-custom-majormode = callPackage ({ editorconfig, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig-custom-majormode";
-        version = "20170102.751";
+        version = "20170309.2112";
         src = fetchFromGitHub {
           owner = "10sr";
           repo = "editorconfig-custom-majormode-el";
-          rev = "8216ce7d20703a8ce923b4c0284c098ae85621f9";
-          sha256 = "02qkvdgn78asz1i7gh8198z0as4yhax3yans96c8lxwmbac125kz";
+          rev = "f5b9e0932e861c71611b5dfbd2c04ce635d14e34";
+          sha256 = "0iql5c9a5qzzdwp3f1n5pb3zcglnby2hhx4nsplpjr0ffbqgad63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fcd47bf4630442ad1a941ad432cef64c7746aa71/recipes/editorconfig-custom-majormode";
@@ -16096,8 +16138,8 @@
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "8b9bfc404818038b8dd93dd4d39f3b820f8fcd52";
-          sha256 = "0y6k54vz9r6b81aif9ags130wgk2v00yq6rv2l4nzswsifxy2r07";
+          rev = "d44a906db46f6708f3e02e5ae460c2b698593492";
+          sha256 = "0dw1jxzcxs47cq5sza28kz198zk0nhf0dv5ily262i5p0wl2kcjc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -16283,8 +16325,8 @@
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "el-get";
-          rev = "e2b412ef6b6a6b6443314575609f730fce766e9b";
-          sha256 = "0hzx6g62sa7lqkgsq1bavq8b73ji4994n31lr8afzgdx885xw6kw";
+          rev = "b47a94877b8b621534403a533ad147a971caaf89";
+          sha256 = "0qhy7bxgs8gbbjww438jmmqhz20aczp3bvdpbywbwcmfkadv6086";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get";
@@ -16630,12 +16672,12 @@
     electric-operator = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names }:
     melpaBuild {
         pname = "electric-operator";
-        version = "20170304.453";
+        version = "20170311.533";
         src = fetchFromGitHub {
           owner = "davidshepherd7";
           repo = "electric-operator";
-          rev = "57c00c08257794562e8b328adb7707c4aefe37a0";
-          sha256 = "1gymbxdw8z2sfh3k2apg197r7k0l37pxzj761lc5jps3wy4d6w1g";
+          rev = "13b5c19049bd7ac9529ee6fb6171f9141311f277";
+          sha256 = "0xpqynnl1dxylxgg7h42pamxn7iwa4jwcy355l0sxmra951j22wq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator";
@@ -16844,6 +16886,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    elisp-docstring-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "elisp-docstring-mode";
+        version = "20170304.815";
+        src = fetchFromGitHub {
+          owner = "Fuco1";
+          repo = "elisp-docstring-mode";
+          rev = "f512e509dd690f65133e55563ebbfd2dede5034f";
+          sha256 = "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a5bf5c03ec4c26eb43703a49606450cbdb826996/recipes/elisp-docstring-mode";
+          sha256 = "0mrg4vszf3p09qz3dvj38dv00f3ca8hrm3vmnjsfq0cji0yipyy1";
+          name = "elisp-docstring-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/elisp-docstring-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     elisp-format = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elisp-format";
@@ -17036,12 +17099,12 @@
     elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "elmacro";
-        version = "20170304.705";
+        version = "20170312.356";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "elmacro";
-          rev = "fad4cee572cb4dbe670be8eb19f10646d02be854";
-          sha256 = "0zmg56gvq1hhhzzcx0d08r8ii56bn96ifaby6r6bgr6b094c2i59";
+          rev = "9ed19a362b63d9c7436a78feb91bc694194cfefe";
+          sha256 = "00qqa9p9z50gxna4qrsvph4nj41gldl1qj210ywk3lgwn0jjm0k9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro";
@@ -18091,12 +18154,12 @@
     emojify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "emojify";
-        version = "20170220.2247";
+        version = "20170313.640";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "emacs-emojify";
-          rev = "181d619e96cd3275e69e010486169553c13479e7";
-          sha256 = "1ms2pkjqdkwfvn8xq4dbm0585p2gdwcwplnx6rk7zjvir6nc6y5s";
+          rev = "00e8d01f114ad5ca95d5e9509ef327afa0087e0f";
+          sha256 = "171ic2qcrc0mwfjjn2v8894m0r5waq3qpmw80lqqc1a05yn656si";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify";
@@ -18950,12 +19013,12 @@
     erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "20170303.248";
+        version = "20170309.216";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "3300b3059d13cd204f553f0c7d46d784adc5a8ab";
-          sha256 = "1717hpj71kq9bgfwp30z8k2pns6n23vh3mybfsn6iz8wz424428x";
+          rev = "47e46069d01960b74cefeba648e98e6afbb79e59";
+          sha256 = "1319rs0cj396q3zdzfwiijynx8rgzy7zchqya8gjrqxfq5bh6p01";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -19114,12 +19177,12 @@
     es-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s, spark }:
     melpaBuild {
         pname = "es-mode";
-        version = "20170213.1137";
+        version = "20170307.2136";
         src = fetchFromGitHub {
           owner = "dakrone";
           repo = "es-mode";
-          rev = "9fb395996316c140f3a6c77afb10dcd37cb49126";
-          sha256 = "0g2x3jwy3v45p6nqjfskj0w0c94gyvxm1xzi5yypnyhsj188fsyp";
+          rev = "527a2f70e1de7df46e59609b245e7e99c53708d1";
+          sha256 = "19kss3hrjf1cj4lgj68qw5zszar7c7pjbqj8sxlwicnrg831mj0n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/85445b59329bfd81a3fd913d7d6fe7784c31744c/recipes/es-mode";
@@ -19324,12 +19387,12 @@
     eshell-git-prompt = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eshell-git-prompt";
-        version = "20161126.758";
+        version = "20170310.2205";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "eshell-git-prompt";
-          rev = "fb56e851c1baac68249c34043bd5db9c9420141e";
-          sha256 = "08mhjps17w3kfmmbdws1lqzphr2ayl160i0ckd4552jdyzd28vvs";
+          rev = "1e57eed52fad929f36ae5e3a9e3aa45ad019ee93";
+          sha256 = "0wa4whvhg6l7v8yis2hlil79dsjsp2qacvc81pbhf5j24fbfhd5x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5272280b19579c302ba41b53c77e42bc5e8ccbda/recipes/eshell-git-prompt";
@@ -19429,12 +19492,12 @@
     eslintd-fix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eslintd-fix";
-        version = "20170227.1220";
+        version = "20170310.835";
         src = fetchFromGitHub {
           owner = "aaronjensen";
           repo = "eslintd-fix";
-          rev = "9c1f697c95b16f623c24bbb9c63257068d834977";
-          sha256 = "0ddpr9brxigc22mzq4nc5x499bpkqq3xx28ygjcmc0z7kb03d0rk";
+          rev = "fe2ed976c79474baa2cdb2fc4477786cb42d5b22";
+          sha256 = "1y6c94kk4bb3y3dw7sbv7w6fj9c4j0hq0gsy1m1675zzv8ar1di9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c72d2b3ee9b8066d51d09e165e58e9846ca879cc/recipes/eslintd-fix";
@@ -20452,12 +20515,12 @@
     evil-mc = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-mc";
-        version = "20170205.1355";
+        version = "20170312.2052";
         src = fetchFromGitHub {
           owner = "gabesoft";
           repo = "evil-mc";
-          rev = "17a469799a5fe0df8d9b3589c6719634acd065eb";
-          sha256 = "0rwz0xg76kvyz959r8bywdbddxaxn69z9lqq95z71qq980w3d4g7";
+          rev = "62378695eb45990dec776864e16c28829136aeb6";
+          sha256 = "196ii51malqh2ahfk13rj6p4np0755zhx4pdk18090pwl4hgkzfz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96770d778a03ab012fb82a3a0122983db6f9b0c4/recipes/evil-mc";
@@ -20536,12 +20599,12 @@
     evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "20170305.1847";
+        version = "20170309.49";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "7c274dbb7ed4102ee06b998fa6f529c0f816fe9d";
-          sha256 = "0997szqya4ljjgmsx1w9zbj6h21wq6l46qk1bs0027zvqwcylsv8";
+          rev = "cac2f7945fc90f43d1282dfe4aca24ded9f7cd03";
+          sha256 = "1zjnscnj0zrxpdjikxwg4fw7m6yb39060cmn24xzs0hmnmbxnw9m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -21169,8 +21232,8 @@
         version = "20170301.232";
         src = fetchgit {
           url = "https://git.systemreboot.net/exiftool.el/";
-          rev = "ff6f30a005444269b985bbc28963c85ebcdaa835";
-          sha256 = "078xpnjqndlcaidzgdcvryqsrd5vpi2ckvlb6ihcym68611zqy7g";
+          rev = "240ae7b829733d5da1d2e255a3e7f5638f83c745";
+          sha256 = "00bkwaydh4j76gpxd77m3pyxrnqhws1rg70r1g7vmgm6h5ah9ndc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4835a76909d020781021e747fbc341111a94dbfa/recipes/exiftool";
@@ -21373,12 +21436,12 @@
     ez-query-replace = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ez-query-replace";
-        version = "20160908.1329";
+        version = "20170311.139";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "ez-query-replace.el";
-          rev = "4b3c6212dc8141a1f75d258e70657b62e4c96ab3";
-          sha256 = "0a1cgcbh969lchkqqxlxzg8rgdf1yiwaf1d15fk2z489lklqn5sx";
+          rev = "66381226da00cc4a87c7d5962aaabbc0eb325cb7";
+          sha256 = "1p5qg5pz87ym1gd0jmakkpkskmffl69694pkxbhhfxp10pyshzmc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c40808c7687ace84e4c59bf8c25332c94b6fdd76/recipes/ez-query-replace";
@@ -22590,11 +22653,11 @@
     flex-isearch = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flex-isearch";
-        version = "20160926.1630";
+        version = "20170308.1210";
         src = fetchhg {
           url = "https://bitbucket.com/jpkotta/flex-isearch";
-          rev = "6a54f37be01f";
-          sha256 = "19wcfpgd5qrh3sbybrxvd1hx34j85y34dy19yb80nlh2nha2n5sk";
+          rev = "8b934ea6f1e4";
+          sha256 = "0xbwrzkfv4i91qxs80p0pfjlvj5pyigvidby8m5lammm8idwx9dh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/flex-isearch";
@@ -22691,12 +22754,12 @@
     flow-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, web-mode }:
     melpaBuild {
         pname = "flow-mode";
-        version = "20170303.1146";
+        version = "20170312.422";
         src = fetchFromGitHub {
           owner = "an-sh";
           repo = "flow-mode";
-          rev = "eb2372b0acf740ed3c5f9c048addbb8048e04458";
-          sha256 = "0ajdzpjghm7iscv2c6nwwx4v1639map104ldsi978iw8hy7m1mmp";
+          rev = "111555a5edb1c3857e5767950a44cc08e14b8c30";
+          sha256 = "18bxzzq6s80kgfgj34v8429nwx6bcvvfk951mkzqjydba56bch62";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3eca3f0c0a4dda79d00cbd0045eb0925bb3ce2e4/recipes/flow-mode";
@@ -22796,12 +22859,12 @@
     flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }:
     melpaBuild {
         pname = "flycheck";
-        version = "20170223.247";
+        version = "20170309.145";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck";
-          rev = "da499ef6a7e3c8f4adec732703f34aea2a4e70a2";
-          sha256 = "0nyvkgva0qkk7hrsb2h3q22hxvc17r10hff87gv7bj82ia8lxqnl";
+          rev = "312f78cd712f696dc169a34cb45622ca154d097e";
+          sha256 = "1jlbsy9pdcg76r75ca7gpn2lpkvpy71z31713cl5a1sqgb26lc8d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck";
@@ -23888,12 +23951,12 @@
     flycheck-status-emoji = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-status-emoji";
-        version = "20160813.2038";
+        version = "20170311.1203";
         src = fetchFromGitHub {
           owner = "liblit";
           repo = "flycheck-status-emoji";
-          rev = "bfe40fec4695b6914d1ef36331dbd3eda384c92d";
-          sha256 = "06p38yqkdrb4ksm30yd7wj3i6vqkhgmys94dm33anslh8dz00flw";
+          rev = "2f323cb210a280fc05061f3fc689c627b40bfcb3";
+          sha256 = "0gz18jp5bcwm86w6ir8vyf8rb3l2h524zfvx0jpfk0k1mmxj9cs7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5abd6aaa8d2bf55ae75cd217820763531f91958b/recipes/flycheck-status-emoji";
@@ -25715,8 +25778,8 @@
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "430317e5b2ea5005851ce7f03564aa8f8dba61c6";
-          sha256 = "0zsg5q1370fqswq5cysfc4lg74hyjxn5yjpqzyl9mwlips90y42l";
+          rev = "29e26503c13569de25268283dce534f111726643";
+          sha256 = "0g6xb811n4nd1vm7jraypaq2qarigd2chg2nbdx0nc23ga17f90q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -25894,12 +25957,12 @@
     gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gams-mode";
-        version = "20170121.203";
+        version = "20170309.2204";
         src = fetchFromGitHub {
           owner = "ShiroTakeda";
           repo = "gams-mode";
-          rev = "e8100f9694c1b85c12ed57d89f7efe408b9f933f";
-          sha256 = "14d6iiy2dk93ani1d3vm57nsd3pn170fk8brs5v7jpf1sqszjihw";
+          rev = "ce51aa1afec78bf96aedb4badf33463383b7593e";
+          sha256 = "182qrzs88wvkbbalmbdwpmzchkijvg1s6582qihgh29nn8lrl0l5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
@@ -26232,8 +26295,8 @@
         src = fetchFromGitHub {
           owner = "DanielG";
           repo = "ghc-mod";
-          rev = "fdd8ffb39098e38c0179dd647f05b846012f10a2";
-          sha256 = "1niq9vwdgyw0bwwcfbmkzs9z59adx0ly1ana8rjb7r39ii1am6ah";
+          rev = "472db909d1b11288885de6fe36c3691be7f175ec";
+          sha256 = "16ywm37y35rpvlzywyqyc2ga4l1h0fz4xy38j18a0z04w7xigkwz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/ghc";
@@ -26522,12 +26585,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "20170214.347";
+        version = "20170308.146";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "4f565039fd318ad5a90cd3c779785f25f540c652";
-          sha256 = "0zqqgycdvyq57lx6lxlg0zgfkwbihmk82zqmmpi5x1dmlcy1rwjr";
+          rev = "eb4258ea2b721cfa0c5b32f67a14b5703a4dbe0e";
+          sha256 = "009wabnqblgn5sgs410lpb8rbzci7lkpp7nl1kfvyk22zg1jyd4n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -27198,8 +27261,8 @@
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "gmpl-mode";
-          rev = "c4cf8896aef89b4c08c0c8764c9f2330fc987f9e";
-          sha256 = "08d6j5wws2ngngf3p31ic0lrsrp9i9lkpr3nxgmiiadm617x8hv4";
+          rev = "a4481bcbd84f67cd87e7bc87456b6f5b3a95fcf6";
+          sha256 = "0w9dfxpiwwfk1iy83a214xpvqf858k668xkcdr2n25bccg1i148y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c89a523f87db358c477e5840b0e043e9f253e640/recipes/gmpl-mode";
@@ -27636,8 +27699,8 @@
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "5056b857a90d732d78162b3263a1dd94f7c5afe3";
-          sha256 = "1gf0i51j7rvml6m1rgai221lydx4x11p3y69cf0rryq3brzzmz3s";
+          rev = "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2";
+          sha256 = "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-guru";
@@ -27674,12 +27737,12 @@
     go-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "go-mode";
-        version = "20170228.916";
+        version = "20170308.1512";
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "5056b857a90d732d78162b3263a1dd94f7c5afe3";
-          sha256 = "1gf0i51j7rvml6m1rgai221lydx4x11p3y69cf0rryq3brzzmz3s";
+          rev = "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2";
+          sha256 = "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-mode";
@@ -27762,8 +27825,8 @@
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "5056b857a90d732d78162b3263a1dd94f7c5afe3";
-          sha256 = "1gf0i51j7rvml6m1rgai221lydx4x11p3y69cf0rryq3brzzmz3s";
+          rev = "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2";
+          sha256 = "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d806abe90da9a8951fdb0c31e2167bde13183c5c/recipes/go-rename";
@@ -28199,12 +28262,12 @@
     gotham-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gotham-theme";
-        version = "20170305.942";
+        version = "20170310.349";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "gotham-theme";
-          rev = "aca1bdd18997759bd4d3618c9591cc38774ac16a";
-          sha256 = "1g59mwb1l8bvc66gsq8lprbrfbs238lp280k3xqda6z7dbrh9vq9";
+          rev = "50833e9579ac2ed2647708982477edf9a783113e";
+          sha256 = "0zcbmd3kdkcxx96mkl130j913y9mzcdxkbjd7x1vm48akirz598w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b388de872be397864a1217a330ba80437c287c0/recipes/gotham-theme";
@@ -28280,12 +28343,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "20170302.1450";
+        version = "20170310.1402";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "b4a3f7a1d0352866c03f42208cddceb53fe12d16";
-          sha256 = "1f5bpjzj92ac4jvpbahydf2k894man4v2riv8k7j7fwlaknlvcvj";
+          rev = "4e7a21e556f26c636141c95a4041baa141e971d1";
+          sha256 = "0l5dm0r44nchgn8vzzqsn7rhf5015ni5fp56fxnz8m4kkkas01lz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -28913,6 +28976,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    gtk-pomodoro-indicator = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "gtk-pomodoro-indicator";
+        version = "20170310.532";
+        src = fetchFromGitHub {
+          owner = "abo-abo";
+          repo = "gtk-pomodoro-indicator";
+          rev = "f64fd33f95289e3c4c81e8496eb0bdafc0c42815";
+          sha256 = "0x8r0hamq1ws5l3z9jcxfmdqvm5qcig40knvwanjmkb2whbqlyk9";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b98ec72605077f3b3f587713a681eb2144f29645/recipes/gtk-pomodoro-indicator";
+          sha256 = "0fg227yhj85xy0s32xzwg2ka9kc9ygl0wd33wypp6jban13ldasr";
+          name = "gtk-pomodoro-indicator";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/gtk-pomodoro-indicator";
+          license = lib.licenses.free;
+        };
+      }) {};
     guess-language = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "guess-language";
@@ -28979,12 +29063,12 @@
     guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "guix";
-        version = "20170227.656";
+        version = "20170313.813";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "guix.el";
-          rev = "c11094293d250bd6299c4eeb4dc64af223124aa9";
-          sha256 = "0ya4zacfrv3hl317l78jrj491hag36i4ishh0gcrz602qqdgw531";
+          rev = "61d6ce9b133fb57d4b7a12d007b2e2c8bc6a645f";
+          sha256 = "0jlzb06vcgdmj5yp0wnfq81bjdasnbrffvm3019b5yyx0cc7ysn3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix";
@@ -29466,8 +29550,8 @@
         src = fetchFromGitHub {
           owner = "haskell";
           repo = "haskell-mode";
-          rev = "74351e8a14e6e8e1cdb77a4b677065ab81d98d8b";
-          sha256 = "0h6xrng4qmfkafd77pg1svzcsz5law6rcif95050c03w3fvy4syn";
+          rev = "775ff42884c0baab9da01fcdc87707c6c90480c8";
+          sha256 = "1w6sc6klkr5b9fbp38pngmn0icps5hi6z6cbs59zlzz5lmq7jr9d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode";
@@ -29730,12 +29814,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20170304.206";
+        version = "20170312.2348";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "5d4d74c9ad506c33263df8a561289b621eda1546";
-          sha256 = "1xbwafzci0k36xsykhffpl72zycwj1i56z80jpw4cfwj8kwpdgvm";
+          rev = "7ff2e13591657fe92c39de4938a9aa30ad9fead0";
+          sha256 = "15z4ikk9y8p0ra91qygglvjazagx5530wp9ab1lqv4ibnrkns4kj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -29940,12 +30024,12 @@
     helm-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, parsebib, s }:
     melpaBuild {
         pname = "helm-bibtex";
-        version = "20170227.608";
+        version = "20170308.36";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "c4fd39864d0c9f770426a93319b492942c81b1e6";
-          sha256 = "1h78akdfjfrabqzsiplc6lasd5jliqcjbsjnbd435ca2a4f4mzfr";
+          rev = "2e83867a39bbd4b7cb7901b897a66a131b5635e6";
+          sha256 = "0gr8mlxypk5n4s19src71s2g6s91by3vp6ci9yqqh1q9ns31a43h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex";
@@ -30276,12 +30360,12 @@
     helm-company = callPackage ({ company, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-company";
-        version = "20161121.2111";
+        version = "20170306.2113";
         src = fetchFromGitHub {
           owner = "manuel-uberti";
           repo = "helm-company";
-          rev = "59e93396309fe3cb60913332d384d2f4706694c3";
-          sha256 = "0slp08dy9s40mqj6f64d8yw9si1a76mlhbmm3a7khf076b8ky02s";
+          rev = "64b3e341776dcb2fe7b329ad0a790629e4a7b800";
+          sha256 = "1h8yhvwh8973r9990mdizrva1g1c8r8xm5wrd3gpmllgx36mkkmv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/78ff0a6cf493ff148406140f3e4902bfafd83e4a/recipes/helm-company";
@@ -30297,12 +30381,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "20170301.2122";
+        version = "20170310.529";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "5d4d74c9ad506c33263df8a561289b621eda1546";
-          sha256 = "1xbwafzci0k36xsykhffpl72zycwj1i56z80jpw4cfwj8kwpdgvm";
+          rev = "7ff2e13591657fe92c39de4938a9aa30ad9fead0";
+          sha256 = "15z4ikk9y8p0ra91qygglvjazagx5530wp9ab1lqv4ibnrkns4kj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -30595,8 +30679,8 @@
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "helm-ext";
-          rev = "1546dbbfaac7729435226b4a7426c9e67032482a";
-          sha256 = "1a7kjibc2r26wxc2c12bymjxdx965blm39qfgcvmqy6if0bp6w7h";
+          rev = "115a3ca9a466fa84c1874ac6175fdf2256c3765c";
+          sha256 = "19bcrgj531par1ayhgwxvzz28fyd7dx5flslxf1vl4qawhn173fz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1ee74cb0aa3445bc9ae4226c2043ee4de3ac6cd3/recipes/helm-ext";
@@ -31556,12 +31640,12 @@
     helm-org-rifle = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-org-rifle";
-        version = "20161112.1505";
+        version = "20170312.1524";
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "helm-org-rifle";
-          rev = "4596ac225a90bc49d96a416d661f5da2a13b711d";
-          sha256 = "0snynrrrkhm7c3g2iwr5m4lq49lxfrkf7il1rm2k56r5lbzw7mkm";
+          rev = "dc697094c48f97d485c1898b7a5ff3df6d992910";
+          sha256 = "13r0x74yx1cyl2zwj76p867yj2x97pj5hxapc1v9fj3i9h9a99l6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle";
@@ -32225,6 +32309,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-spotify-plus = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, multi }:
+    melpaBuild {
+        pname = "helm-spotify-plus";
+        version = "20170311.221";
+        src = fetchFromGitHub {
+          owner = "wandersoncferreira";
+          repo = "helm-spotify-plus";
+          rev = "a09f571ed5addbdb0a2b8354cf18b4d5551b5abb";
+          sha256 = "1c6dv92n9kkaizhswlm7hhk175c5ywvq2710d7hpn18cdj3isjsx";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/306aa9fd29f1495eef71476dfcba3b494223b0a9/recipes/helm-spotify-plus";
+          sha256 = "1f39g2kgx4jr7ahhhswkrj0m5rbsykvkgh00d7jy8czpp8r4dl20";
+          name = "helm-spotify-plus";
+        };
+        packageRequires = [ emacs helm multi ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-spotify-plus";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-swoop = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-swoop";
@@ -32291,12 +32396,12 @@
     helm-tramp = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-tramp";
-        version = "20170208.546";
+        version = "20170313.139";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-helm-tramp";
-          rev = "65e1f3ab12caa206402fad381cc75c7e844f9452";
-          sha256 = "0j07hrdws0n9s51a5z7b0q1lzivvmrpn0crsg5rwnm9jwa1a6vws";
+          rev = "87d323306a79bf5d71b0f556a7aefdfe5824f523";
+          sha256 = "08rzgfzd70xf1hh54py325p9kf5war40qi5w21anzs4wwg86rz1v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a69f0a17c4efbaea012be8e878af4060fa0c93b/recipes/helm-tramp";
@@ -32597,12 +32702,12 @@
     hexo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hexo";
-        version = "20170228.615";
+        version = "20170308.205";
         src = fetchFromGitHub {
           owner = "kuanyui";
           repo = "hexo.el";
-          rev = "fcc713565189eae4dc9f39ffd1944f4c192b512a";
-          sha256 = "0338j0wf5h3vxdrhsgdiqiczg97md3gapghabswpsk8r9k4nsjn1";
+          rev = "f7b8803fd81e738e25425e0eeeed4cf2adc6a5e8";
+          sha256 = "0hbfgzs4kg2vqm034falm9rhhin9ii0n0rc50qli5v3a85c7ayrw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/21de1b7db0fa4af4fc0014207d41893a0713d738/recipes/hexo";
@@ -32885,6 +32990,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    highlight-context-line = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "highlight-context-line";
+        version = "20170310.1438";
+        src = fetchFromGitHub {
+          owner = "ska2342";
+          repo = "highlight-context-line";
+          rev = "18ca91d91f2a9e86311d8895c53741ad847180ba";
+          sha256 = "1a0mvkbdhdad4nd0bqpg0ldz10lh211w72gcd2x1ydijwvkphjdc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/00df721571ff67fe158251fa843c8f515ded3469/recipes/highlight-context-line";
+          sha256 = "0zmqcfsr2j0m2l76c8h6lmdqwrd1b38gi6yp5sdib0m4vj9d0pnd";
+          name = "highlight-context-line";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/highlight-context-line";
+          license = lib.licenses.free;
+        };
+      }) {};
     highlight-current-line = callPackage ({ fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "highlight-current-line";
@@ -33243,8 +33369,8 @@
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "hindent";
-          rev = "c2ac3e3ce57c834525dc8ec5ca87d5e8d728b69b";
-          sha256 = "1zhggfmhk57v2yj6w9z8mrq8yjsdjg7nzljz1jwbk03jkf7zvwr8";
+          rev = "336a440749e626df015be58e4582f1f6ad179984";
+          sha256 = "0r8x7sjhx4l3yl5sfxl04qk8rmid4x7cmk3721zbbmsyzwzx1a2p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent";
@@ -33320,6 +33446,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    historian = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "historian";
+        version = "20170310.1001";
+        src = fetchFromGitHub {
+          owner = "PythonNut";
+          repo = "historian.el";
+          rev = "47106f8382f5d9032ab52c1dd48ede1a8fdc08ec";
+          sha256 = "04rqjk1mr1097sq0mnjc888ix4d4xcfl3dk8xw7b7b843fh7fbg2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f16dacf64c52767c0c8aef653ac5d1a7a3bd0883/recipes/historian";
+          sha256 = "00cghcyb3liz2prgygjwsw82d9h70zjddnbf7dvglmj7ph9wn9ab";
+          name = "historian";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/historian";
+          license = lib.licenses.free;
+        };
+      }) {};
     history = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "history";
@@ -33566,12 +33713,12 @@
     hledger-mode = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "hledger-mode";
-        version = "20170302.711";
+        version = "20170310.849";
         src = fetchFromGitHub {
           owner = "narendraj9";
           repo = "hledger-mode";
-          rev = "0e65583a7821e60882b8ce7934b1f1c34d4d1874";
-          sha256 = "12r0jxcipfbs77yr2svs60x1b52l6lyjgjax3kxaizjdjaxxwsdc";
+          rev = "ef211ab1ad75cb323adfd3b13de5832e5b7b180e";
+          sha256 = "1mz48jpr9af8p7yrplnbkkkgd3587nw28jigpdyik257v2787ayi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c656975c61396d8d4ded0f13ab52b17ccc238408/recipes/hledger-mode";
@@ -35539,12 +35686,12 @@
     inf-clojure = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-clojure";
-        version = "20170305.900";
+        version = "20170310.2255";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "inf-clojure";
-          rev = "2e1dd6c1e1540223f8cc4e3493c1e555144d5431";
-          sha256 = "0flfp8313xxw8c3wip0fqqz33n7gfn3fhppsrpz7wlxiqymsb20d";
+          rev = "d81e266e77316bc116ceca5dbc92fc3831825be3";
+          sha256 = "0hrz6809w0ardqgb5xraxpr6gj25jh2w7cbcpacc5xv90cv4p7ri";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d6112e06d1efcb7cb5652b0bec8d282d7f67bd9/recipes/inf-clojure";
@@ -36039,12 +36186,12 @@
     intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "intero";
-        version = "20170302.2354";
+        version = "20170308.2033";
         src = fetchFromGitHub {
           owner = "commercialhaskell";
           repo = "intero";
-          rev = "693e13fd3f19c05e906c234c692d77ac48d69fdc";
-          sha256 = "18xj5m6qglh4w903vcdxmw1sms51ansrai43sndcp6z4sbi02xpb";
+          rev = "5396b410c326f8685b473e3f38db7506b1616582";
+          sha256 = "10qnz73djzwr4lb96d1x51vhia5qicjr3c1ijdysh2dhbxpz2y02";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero";
@@ -36309,12 +36456,12 @@
     irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "irony";
-        version = "20170223.515";
+        version = "20170312.1515";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "irony-mode";
-          rev = "75b356b357e63a03c04e194e85f1925f198363dc";
-          sha256 = "0fsg79ww3aqy0m46xjdr3783zwc6vnxknh4k2yrizmm44zvy925z";
+          rev = "0c16cbe0038dcd5a2f70de2edd28a62a4008ac5e";
+          sha256 = "19r6jzs47h15kxjmpsk3ddb0gc331vnsvfa5xcabkf5gk3h36mh1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony";
@@ -36597,12 +36744,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20170225.351";
+        version = "20170312.844";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e9219e7a7ed07965057e52e42bd56cc04fdffebc";
-          sha256 = "0yi5mpwsg2d5wmnqxs5fi9z2avzar47j1g5qw5ik2vxid9x7qf5m";
+          rev = "1ac1cc1378eeaec2eb47a21dabbb1f6d775e7823";
+          sha256 = "0024zry02vwzhdip5s5g55wlicakj4815yy8s617jzmj840x97mc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -36618,12 +36765,12 @@
     ivy-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, s, swiper }:
     melpaBuild {
         pname = "ivy-bibtex";
-        version = "20170227.608";
+        version = "20170308.36";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "c4fd39864d0c9f770426a93319b492942c81b1e6";
-          sha256 = "1h78akdfjfrabqzsiplc6lasd5jliqcjbsjnbd435ca2a4f4mzfr";
+          rev = "2e83867a39bbd4b7cb7901b897a66a131b5635e6";
+          sha256 = "0gr8mlxypk5n4s19src71s2g6s91by3vp6ci9yqqh1q9ns31a43h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex";
@@ -36678,6 +36825,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ivy-historian = callPackage ({ emacs, fetchFromGitHub, fetchurl, flx, historian, ivy, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ivy-historian";
+        version = "20170310.1006";
+        src = fetchFromGitHub {
+          owner = "PythonNut";
+          repo = "historian.el";
+          rev = "47106f8382f5d9032ab52c1dd48ede1a8fdc08ec";
+          sha256 = "04rqjk1mr1097sq0mnjc888ix4d4xcfl3dk8xw7b7b843fh7fbg2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fb79cbc9af6cd443b9de97817d24bcc9050d5940/recipes/ivy-historian";
+          sha256 = "0yzq3rr51q5d64pfc7x5jszz77x6nwpbjj0g74x5ga3bsw3i67d9";
+          name = "ivy-historian";
+        };
+        packageRequires = [ emacs flx historian ivy ];
+        meta = {
+          homepage = "https://melpa.org/#/ivy-historian";
+          license = lib.licenses.free;
+        };
+      }) {};
     ivy-hydra = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-hydra";
@@ -36685,8 +36853,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e9219e7a7ed07965057e52e42bd56cc04fdffebc";
-          sha256 = "0yi5mpwsg2d5wmnqxs5fi9z2avzar47j1g5qw5ik2vxid9x7qf5m";
+          rev = "1ac1cc1378eeaec2eb47a21dabbb1f6d775e7823";
+          sha256 = "0024zry02vwzhdip5s5g55wlicakj4815yy8s617jzmj840x97mc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -36790,8 +36958,8 @@
         src = fetchFromGitHub {
           owner = "squiter";
           repo = "ivy-youtube";
-          rev = "32f609f1d1a3718739be5797e020d6266d8340d2";
-          sha256 = "0vvqp6aw83bxk7j835w267m1xyl7a9a5m45h50267ahvhd9vn1sd";
+          rev = "7e916dd531c52a2809188a99716aeff8446056cc";
+          sha256 = "1dia1m9fjxbd5lsf788bv7zpdbrwbjswd9m588iaijcdd2hnma8q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/33cc202ff0f0f283da23dbe7c7bdc5a1a86fb1d8/recipes/ivy-youtube";
@@ -38373,12 +38541,12 @@
     kaolin-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-theme";
-        version = "20170304.2103";
+        version = "20170307.549";
         src = fetchFromGitHub {
           owner = "0rdy";
           repo = "kaolin-theme";
-          rev = "5995aa56c9ccbb3eb78c49daba1e77a6aed354b0";
-          sha256 = "0aqmd5hkqphwv74n6y5yidhn21hl2hlnmfdm7m8wkwhcylylq6xi";
+          rev = "bfbcb88c7f107b85559562da5e7dc37af0ddb82e";
+          sha256 = "11vrsswn6bzfdvprcy7psgxdpkn4ayggqb851pj2vz12bqj17jf0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2abf9d914cdc210bbd47ea92d0dac76683e21f0/recipes/kaolin-theme";
@@ -38394,12 +38562,12 @@
     kaomoji = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "kaomoji";
-        version = "20160218.20";
+        version = "20170311.2151";
         src = fetchFromGitHub {
           owner = "kuanyui";
           repo = "kaomoji.el";
-          rev = "cde86e7f27008dbe03230d63941a0f5bd0512c10";
-          sha256 = "0vqjbv3pqlbyibqylfsqqjzkvjhdg01hlxszfblpg72fziyzcci5";
+          rev = "91ab93cc7455486182d5e7f88e03d0de44c9953e";
+          sha256 = "19l3r2fbp895c46cklrjfwwa5d7i959nd6jc3gk14jyi35gjypyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/140c65cb3cdf6c197b085ccf8ba079e1efd15f38/recipes/kaomoji";
@@ -38706,12 +38874,12 @@
     keyword-search = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "keyword-search";
-        version = "20160607.2238";
+        version = "20170309.2247";
         src = fetchFromGitHub {
           owner = "keyword-search";
           repo = "keyword-search";
-          rev = "d40633712cf4dbb1bdf95d8262b5a4138b29e049";
-          sha256 = "0g42yr331piv3r18ymz4kb8jqmslimq3xamkyqdn702xljmb2pad";
+          rev = "33682e93429027805ee7c51c5f6f608872b6f5dc";
+          sha256 = "03qz2sdyrlww1xc9bkarc07pf3rk42h7jjnl0dw76ffrci1z1mj1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ecdc51938f2300bf005e2d1b1819e0fa59e0bd7/recipes/keyword-search";
@@ -38878,8 +39046,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "ca9eb0bbb8e9a4b5b6e2b177b2b36ab024495587";
-          sha256 = "0kzh5q1dj7mqdjcp1di0lm8imxjlp1ak8licidfy0lz4h4fcqsch";
+          rev = "3bcc310e4f62eb567d5d568446058f7f5811ade8";
+          sha256 = "0zx73p4hdgpsvy2ifbi6zwi2ard1sjnkd1ig0habhzd5c7f52igr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -39025,8 +39193,8 @@
         src = fetchFromGitHub {
           owner = "tttuuu888";
           repo = "korean-holidays";
-          rev = "aed79c24e3f91d8f9508367758b18e5fa3a9eaf4";
-          sha256 = "1kqbxnjmp7hxjcv8zhy9v8v6220l9vd7rgqicjln4yrjz82z4579";
+          rev = "6e94c2e071069aee9ed12ebbfd9b0ad863b8c78e";
+          sha256 = "1xs81yafp783sz1clb65yc9w2xlf2kmshbsjynnafqd6pfd0skps";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9453d96fb963973ff53884d31e060f1e98004acb/recipes/korean-holidays";
@@ -39230,10 +39398,10 @@
       }) {};
     lacarte = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "lacarte";
-        version = "20170101.1036";
+        version = "20170307.837";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/lacarte.el";
-          sha256 = "0xlbv4hhmg85x8i2zzbma29r5674cbmjrqwda9bjxf00wfid0a76";
+          sha256 = "0m3swrvxz0cy01pd4kag626fxqp4l2zzwpgr26yp5wpsfxl9avv8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/85457b78a0fcc4ac0e0910d09594397b21cb1aa8/recipes/lacarte";
@@ -39584,12 +39752,12 @@
     ledger-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ledger-mode";
-        version = "20170208.425";
+        version = "20170310.1705";
         src = fetchFromGitHub {
           owner = "ledger";
           repo = "ledger-mode";
-          rev = "574093b4bdbf4854f7a661556ec9ebfe5a9a9611";
-          sha256 = "0irxj5w6yrqbyr9js1mp3fh19cfwijd7brpvzas6j7v3fb0mf7zx";
+          rev = "084849f8350a51224a968184cc2b1debdb75bc93";
+          sha256 = "0iy603ym4bx85gp44cndxzqpcn8xgbz9nrwiid9bmjicizv9xld8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/851eca11911b337f809d030785dc2608c8a47424/recipes/ledger-mode";
@@ -39773,12 +39941,12 @@
     leuven-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "leuven-theme";
-        version = "20170226.131";
+        version = "20170309.1340";
         src = fetchFromGitHub {
           owner = "fniessen";
           repo = "emacs-leuven-theme";
-          rev = "51ca421f52839c62c6b4ed4cc70d55701ca2afdb";
-          sha256 = "08v2mx80ihcs4v2ydf4ksb5yhbsp222wwzzx26xw70icahsx67y4";
+          rev = "4b11c7d4ea4dbde316844d3c73be9bafe12ac911";
+          sha256 = "0saaakcs32i0bal2v6zcw1r27jzbs3hlhcsvr0k9dkhyi2kv2nwn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b09451f4eb2be820e94d3fecbf4ec7cecd2cabdc/recipes/leuven-theme";
@@ -39853,10 +40021,10 @@
       }) {};
     lib-requires = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "lib-requires";
-        version = "20170101.1038";
+        version = "20170307.855";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/lib-requires.el";
-          sha256 = "03y99c1cg368c3647w8jypf2nlx26qkygrijw2vxcp4ha5v9f44z";
+          sha256 = "04lrkdjrhsgg7vgvw1mkr9a5m9xlyvjvnj2aj6w453bgmnp1mbvv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3f0d443964f98bb65f2fe8f57048fbee844f2ba/recipes/lib-requires";
@@ -40150,12 +40318,12 @@
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20170302.1031";
+        version = "20170312.957";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "8794864744151b808c0f966b29c33c547be96d89";
-          sha256 = "0ii8092148a5mi59ssnl9hxzjx861vpb6ajma4anpzfjlv9wjjq7";
+          rev = "0ea4c086756e0f332821ca757ea884ea9ee0a81f";
+          sha256 = "0kf20hkav15r8dv9hdvbrn9x3x0dc3m0k15gnv3a99fi5qlnwh12";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -40397,6 +40565,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    literal-string = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
+    melpaBuild {
+        pname = "literal-string";
+        version = "20170301.730";
+        src = fetchFromGitHub {
+          owner = "joodie";
+          repo = "literal-string-mode";
+          rev = "2ca4fc08b8e19e6183b1f1db747bb0a4aa4f98eb";
+          sha256 = "0wcz0lid05gnlmxpxm4ckw07cnxwjkyw6960nq7pylbjpg76g5ng";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/6519bb53f409eeb0d557809b338849e473c193c4/recipes/literal-string";
+          sha256 = "0ylv9dpw17w272f92vn5cldklyz1d8daihi1fsh5ylvxqpinyrkn";
+          name = "literal-string";
+        };
+        packageRequires = [ emacs markdown-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/literal-string";
+          license = lib.licenses.free;
+        };
+      }) {};
     literate-coffee-mode = callPackage ({ coffee-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "literate-coffee-mode";
@@ -40550,8 +40739,8 @@
         version = "20150910.644";
         src = fetchgit {
           url = "http://llvm.org/git/llvm";
-          rev = "c7849f87280d549f3829a2c2fe4cd911c421a0db";
-          sha256 = "1anp1avlzl7xf2zhj9b8ixhwxmvprbiis7nmdnh9nq1xkpfjlmxm";
+          rev = "00ea544948006ad27602b656c5eb3e2b2051c1be";
+          sha256 = "1zibr3x6y7p6mynjivd55y102hjyl97sv2ipwgm9n1jsif2iz6ig";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05b7a689463c1dd4d3d00b992b9863d10e93112d/recipes/llvm-mode";
@@ -40917,22 +41106,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "lsp-mode";
-        version = "20170302.1127";
+        version = "20170311.2126";
         src = fetchFromGitHub {
           owner = "vibhavp";
           repo = "emacs-lsp";
-          rev = "03f1bd56317557c398851757893522f25908cc7f";
-          sha256 = "1xmmh4a23naa7ipd673q52hv31wmi1j20sh5kcgw14r3pqymd8dh";
+          rev = "0fc5400562247b5d674ae8d18f78824de12ba6b0";
+          sha256 = "1zmpkpx2nhm1vvdagrp75jz6v3d4n7zv45xp49m81xzqsyw20im0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b192c90c96e24ccb464ac56e624a2fd527bc5cc9/recipes/lsp-mode";
           sha256 = "0acgfzm9irk8s5lv3chwh9kp7nrwqwlidwaqzf2f4jk3yr3ww9p1";
           name = "lsp-mode";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs flycheck ];
         meta = {
           homepage = "https://melpa.org/#/lsp-mode";
           license = lib.licenses.free;
@@ -41108,10 +41297,10 @@
       }) {};
     macros-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "macros-plus";
-        version = "20151231.1419";
+        version = "20170307.842";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/macros+.el";
-          sha256 = "07iw9iarz6z9n6vnhqqljfjpvq6vb97ca2hwj9v0k5k8mafdqg7d";
+          sha256 = "0x9fycqw234s1i0ndy7v0d7vn654id245pi0kwphbqgnga7w3l6p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/macros+";
@@ -41232,12 +41421,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20170306.44";
+        version = "20170311.925";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "4f565039fd318ad5a90cd3c779785f25f540c652";
-          sha256 = "0zqqgycdvyq57lx6lxlg0zgfkwbihmk82zqmmpi5x1dmlcy1rwjr";
+          rev = "eb4258ea2b721cfa0c5b32f67a14b5703a4dbe0e";
+          sha256 = "009wabnqblgn5sgs410lpb8rbzci7lkpp7nl1kfvyk22zg1jyd4n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -41383,6 +41572,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    magit-lfs = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
+    melpaBuild {
+        pname = "magit-lfs";
+        version = "20170312.1524";
+        src = fetchFromGitHub {
+          owner = "ailrun";
+          repo = "magit-lfs";
+          rev = "799282fce73b668d2cf6e4fa87f889fec8e25333";
+          sha256 = "11wv3j8b377sbfj1qhcr6rn05ns728ifrigjk7r60rd34lwyc8c4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1a92f0963d8df3e299a999948828173dac38a612/recipes/magit-lfs";
+          sha256 = "1im9skj74jdi7jh0fnyyk8a4g4sk48clgn107ggf69lnfpxh8xxa";
+          name = "magit-lfs";
+        };
+        packageRequires = [ dash emacs magit ];
+        meta = {
+          homepage = "https://melpa.org/#/magit-lfs";
+          license = lib.licenses.free;
+        };
+      }) {};
     magit-p4 = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, magit, magit-popup, melpaBuild, p4 }:
     melpaBuild {
         pname = "magit-p4";
@@ -41407,12 +41617,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "20170214.347";
+        version = "20170308.146";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "4f565039fd318ad5a90cd3c779785f25f540c652";
-          sha256 = "0zqqgycdvyq57lx6lxlg0zgfkwbihmk82zqmmpi5x1dmlcy1rwjr";
+          rev = "eb4258ea2b721cfa0c5b32f67a14b5703a4dbe0e";
+          sha256 = "009wabnqblgn5sgs410lpb8rbzci7lkpp7nl1kfvyk22zg1jyd4n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -41659,12 +41869,12 @@
     make-it-so = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "make-it-so";
-        version = "20170304.348";
+        version = "20170313.206";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "make-it-so";
-          rev = "af83a1be2bb800ebee4ab378f167075537eeb7ec";
-          sha256 = "1zbjaixbrhs39fmf58mxqmwlby531gfxzn2s8s10rm0m6sswbzii";
+          rev = "07dfde3f4236498fac31fe1ed5a9b87e92c484f8";
+          sha256 = "0dz8mijsfnzsi7bd928a55d7dmc04c45jx28zg9v0mmgx6fkkr28";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aad592089ed2200e2f8c5191e8adeac1db4bce54/recipes/make-it-so";
@@ -41869,12 +42079,12 @@
     mandoku = callPackage ({ fetchFromGitHub, fetchurl, git, github-clone, lib, magit, melpaBuild, org }:
     melpaBuild {
         pname = "mandoku";
-        version = "20170301.1511";
+        version = "20170308.2031";
         src = fetchFromGitHub {
           owner = "mandoku";
           repo = "mandoku";
-          rev = "b360948acf5a31b6cf6f0113ab5f30bc47f6b098";
-          sha256 = "016h6mq0650fw8ix1zh1j15i782g0bpmlsnsznzi5aspy8b391kn";
+          rev = "67c15f292515142c2417f147117ea2a3172cd195";
+          sha256 = "1kbr2x4s0ynwizm5hy3q4xdjs1jmfdsnpndcs0dlh0di0mhld6x0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1aac4ae2c908de2c44624fb22a3f5ccf0b7a4912/recipes/mandoku";
@@ -42419,10 +42629,10 @@
       }) {};
     mb-depth-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mb-depth-plus";
-        version = "20170101.1046";
+        version = "20170307.844";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mb-depth+.el";
-          sha256 = "1sk8x91gxwk17kv7whwfh9szxmgyy9ys1h4hx17hyzlvhz9smncg";
+          sha256 = "1vqminlfc146c8wr00ck7drs5kf92fvdmhyqyh2hj6394cvqs7w9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/mb-depth+";
@@ -42752,10 +42962,10 @@
       }) {};
     menu-bar-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "menu-bar-plus";
-        version = "20170101.1047";
+        version = "20170307.845";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/menu-bar+.el";
-          sha256 = "0s460zm9k8b76vih5wgyrg8a7w5alwd43ia00mp110ipq2sy9pd2";
+          sha256 = "1lvnsh45fh23pc49xfz8p5m7z82zzxsrdikmx6pbylzhlr0m3nc4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/menu-bar+";
@@ -42775,8 +42985,8 @@
         src = fetchFromGitHub {
           owner = "the-lambda-church";
           repo = "merlin";
-          rev = "afc398a9e6787b9a8ece385f23bd94ae0ef71805";
-          sha256 = "0899yjw3zm8c0xrv1nk3vcn4rzng68kw5dlns4w6pmzv0pc3cq7q";
+          rev = "89f9643c08211a770454919551a7fd8605d1fca8";
+          sha256 = "13x0zjd297ssqmbvba32zk2p588kznd5ag4wh3nqb6fdgyzy4d63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin";
@@ -43373,12 +43583,12 @@
     mips-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mips-mode";
-        version = "20161008.212";
+        version = "20170310.2149";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-mips-mode";
-          rev = "8857384be127b55bd7a20437e4592d8a0175ebc7";
-          sha256 = "0z9zlij7w51iz1ds7njvg8g2mqp80vi65fmxr67rhbfsb7i568cl";
+          rev = "a13d1fc5b583a29f059f7794f2d83e59da439fa1";
+          sha256 = "0ncvp52dnicy84wmnbxhm6djxhc8njrbxy6zwz2vylmy24z9948w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/024a76b83efce47271bcb0ce3bde01b88349f391/recipes/mips-mode";
@@ -43393,10 +43603,10 @@
       }) {};
     misc-cmds = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "misc-cmds";
-        version = "20170113.904";
+        version = "20170307.847";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/misc-cmds.el";
-          sha256 = "05ymqzikn16538iqjiwyhwhqzshx9kx9v8amarb8ybr96l1ci4bz";
+          sha256 = "1w58z2j95sycgkakgb9anlc3q73v77whspi9a4j1kf6lmcbpyms8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/misc-cmds";
@@ -43411,10 +43621,10 @@
       }) {};
     misc-fns = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "misc-fns";
-        version = "20170101.1050";
+        version = "20170307.848";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/misc-fns.el";
-          sha256 = "0q5if5p0yy2b3h93lsrhy7z8f5mjmm3kkh1ql94jng4a0hl64jqr";
+          sha256 = "0jjmd33z36dikkbskskgbdv8pflkwaxn4ifajq4ghrdprdhm6gbm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c2cbbe5a718ec961982a7f65de8f6ec1c9513696/recipes/misc-fns";
@@ -43451,12 +43661,12 @@
     mmm-jinja2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode }:
     melpaBuild {
         pname = "mmm-jinja2";
-        version = "20170128.416";
+        version = "20170313.720";
         src = fetchFromGitHub {
           owner = "glynnforrest";
           repo = "mmm-jinja2";
-          rev = "f39a9bfe9e3001b0141ed3d6a156fbb60a76e25c";
-          sha256 = "0p83i4ikd1bj4r0hahwnlj2gliwcgfql5rzvv7phl3nhjinclj55";
+          rev = "c8cb763174fa2fb61b9a0e5e0ff8cb0210f8492f";
+          sha256 = "0big2i3bg4cm14f68ncaiz2h6dk6zqiisrz4l0bv10q9kaa9q2sj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/721b9a6f16fb8efd4d339ac7953cc07d7a234b53/recipes/mmm-jinja2";
@@ -43722,10 +43932,10 @@
       }) {};
     modeline-char = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "modeline-char";
-        version = "20170101.1054";
+        version = "20170307.854";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/modeline-char.el";
-          sha256 = "0y5bjny8j9lvf94rfk3nrwdfmbp24i1b96909xpifn3l1r1xl6qr";
+          sha256 = "1c6ij1c0d6r9chzwqcpgdjq1rb2h0m09fpck9rc9rg5jy7fgdc0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9655505f56fc90ea8ef61e7595af0de7427b273b/recipes/modeline-char";
@@ -43740,10 +43950,10 @@
       }) {};
     modeline-posn = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "modeline-posn";
-        version = "20170227.1124";
+        version = "20170307.856";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/modeline-posn.el";
-          sha256 = "0glwnfgch9li5z6051ia3f61csl3f6aa1cwkwmw9w7saw4d6q3m1";
+          sha256 = "1cpab6k0p65nmw78y5v4lbpxw6pczkzk46zmkc76pi55yjpw6pbm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c62008950ea27b5a47363810f57063c1915b7c39/recipes/modeline-posn";
@@ -44094,10 +44304,10 @@
       }) {};
     mouse-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mouse-plus";
-        version = "20170101.1057";
+        version = "20170307.859";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mouse+.el";
-          sha256 = "0drv4r30jj1bsgd9jv6znicc9jgxd0hzjd3xlsp7l2ynjbg86n4g";
+          sha256 = "1f49b10i1iqh0q2s2fa309dc617dzavah7fw0k1rpjk84kb001bd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01cbe9b5bb88f8c02fab67a269ac53c8aa4d8326/recipes/mouse+";
@@ -44133,10 +44343,10 @@
       }) {};
     mouse3 = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mouse3";
-        version = "20170101.1058";
+        version = "20170307.858";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mouse3.el";
-          sha256 = "1d6192r5iqyvs21ip78wcsvwc4lpx2jiv6pljcm9blxr1bpsk3gl";
+          sha256 = "0as1d26m3r1vacccsdlbw0rp6jyhj054wv1lssiky6d0kqzn6wa6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/mouse3";
@@ -44362,12 +44572,12 @@
     mpg123 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mpg123";
-        version = "20151214.1150";
+        version = "20170313.715";
         src = fetchFromGitHub {
           owner = "emacsmirror";
           repo = "mpg123";
-          rev = "ed2307843ca54ebf0ca5e5d2e79b41e79527c45c";
-          sha256 = "09731mwm23b6ic53366lnxy2p7dfd245yh75gaf6ijfa22jks7gb";
+          rev = "d1dd8c56428ae55df9e23ba26f102588001d55be";
+          sha256 = "1faqz3svh9l14617d39b8c7gfgf7kxf4q6d0k2q6y8whfljnbyvm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/714d40891ab697b6303a3e25df2cb8adf04942f3/recipes/mpg123";
@@ -45086,10 +45296,10 @@
       }) {};
     naked = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "naked";
-        version = "20170101.1100";
+        version = "20170307.920";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/naked.el";
-          sha256 = "06j2kijshd6ywx0rfvl4d08r0rh0b0rj69zypz63p418liymzcn6";
+          sha256 = "1l6r7vdhzlbv70in16qiyac81930srakr4d14dqda5j3h4w09hbg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/naked";
@@ -45252,12 +45462,12 @@
     nand2tetris = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nand2tetris";
-        version = "20170214.2248";
+        version = "20170306.1827";
         src = fetchFromGitHub {
           owner = "CestDiego";
           repo = "nand2tetris.el";
-          rev = "b4dcb394f04b46206be729d0d8d32422ef8499ee";
-          sha256 = "1cmiy1zd8d6sx6xslwfmy6iw1knpij5pwn53h8kc1zd4ziyxpiyv";
+          rev = "9f7c605a1d030aed933e86b45c9f7232dbbcfb6e";
+          sha256 = "15myf8nbr6pf5qiwwz7xq8d7ys4mddxjb8b8yl7ci2pw7d03cr5z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/nand2tetris";
@@ -45277,8 +45487,8 @@
         src = fetchFromGitHub {
           owner = "CestDiego";
           repo = "nand2tetris.el";
-          rev = "b4dcb394f04b46206be729d0d8d32422ef8499ee";
-          sha256 = "1cmiy1zd8d6sx6xslwfmy6iw1knpij5pwn53h8kc1zd4ziyxpiyv";
+          rev = "9f7c605a1d030aed933e86b45c9f7232dbbcfb6e";
+          sha256 = "15myf8nbr6pf5qiwwz7xq8d7ys4mddxjb8b8yl7ci2pw7d03cr5z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/nand2tetris-assembler";
@@ -45334,10 +45544,10 @@
       }) {};
     narrow-indirect = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "narrow-indirect";
-        version = "20170101.1101";
+        version = "20170307.921";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/narrow-indirect.el";
-          sha256 = "0rlj647azpj5v7lzap88992f7mf2y94708f4aw2cvnzj6hf1rsvy";
+          sha256 = "1sdyya2gmmd2h39kmijf514y3vln6ax5xdfsrkx1hcalw4l418gh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38e5dd845c99acaae719562595059154a08a5f00/recipes/narrow-indirect";
@@ -45588,8 +45798,8 @@
         src = fetchFromGitHub {
           owner = "rsdn";
           repo = "nemerle";
-          rev = "883bca8693d0d289c19ea62d55e5fbaa93e721ce";
-          sha256 = "0mr9x0fkza7l1427ib4cwab77vva2aghr7279rzh2hq0wlkzc5zj";
+          rev = "851a186de01369721042a1a9fa951f89c98a68fa";
+          sha256 = "1n67k2h919rjsn41qsnxm13a7qdasfh2hj5d52wqjf3ld8f88zqb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8477d0cf950efcfd9a85618a5ca48bff590b22d7/recipes/nemerle";
@@ -45902,8 +46112,8 @@
         src = fetchFromGitHub {
           owner = "martine";
           repo = "ninja";
-          rev = "fb3c70049b82d53101fc6086a1699ecf16966792";
-          sha256 = "0amylb876720959hhsd31k025l1d3rv1i9i8qhf2k1skd8xfrvpj";
+          rev = "0b0374e831d9c050c6c9eb2ef48b73bc62a0f084";
+          sha256 = "0vyra2kr95msd103h3p8ya66l04wgn5c95vmz5g3l71jvmm9wx8k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aed2f32a02cb38c49163d90b1b503362e2e4a480/recipes/ninja-mode";
@@ -45944,8 +46154,8 @@
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix";
-          rev = "1cf480110879ffc8aee94b4b75999da405b71d7c";
-          sha256 = "1iwpddz0yni7cz2g9asj6nmrwhaai3rhfmkq954hph8nx02c3l02";
+          rev = "96443e94a1932cff13f23d202839c53483b9290e";
+          sha256 = "027agsvbi6wmhdsdzxjvbhskjlgc20dzq13jb7sjvq5a330fgjsw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2b542189cfde5b9b1ebee4625684949b6704ded/recipes/nix-mode";
@@ -46066,12 +46276,12 @@
     no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "no-littering";
-        version = "20170226.1130";
+        version = "20170312.612";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "no-littering";
-          rev = "63bf66630f48403f536f96f8a0d5b5fab46eac9b";
-          sha256 = "0qi706xafi05rqpdz87sayqb728f5qisln2i3yicymr0wy93x76i";
+          rev = "0227c5eea5b9f3fb056a7ef6052ef6f076371bde";
+          sha256 = "0hjb2paylmcc68998cqgfdnw79z43ha5bv1cg91ysbdjcx2lp1x7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf5d2152c91b7c5c38181b551db3287981657ce3/recipes/no-littering";
@@ -46234,8 +46444,8 @@
         version = "20170304.1716";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "91524d5d6cafbab1c1d6bc5a75b02c4d86689e3b";
-          sha256 = "06135xc3i839hw4sa9gmvnb7qq4llv67q8h537vfgb9gixr40f1q";
+          rev = "c0c5645538d9dda84657602ee4189f4ff3ca1aeb";
+          sha256 = "092mv01pn5i7brn311zdcd74pspw5lsmq4vhvi3n80z9byrh6w1h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -46271,10 +46481,10 @@
       }) {};
     novice-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "novice-plus";
-        version = "20170101.1103";
+        version = "20170307.925";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/novice+.el";
-          sha256 = "04lsjzj0a0z7wn7jzlpzjdv9d2w591gs2mwvsh1j8hmgl4x5p9vp";
+          sha256 = "1f49c0wv1zsi720g3a8ka3h17n7r81pzz7zfwalz0zxwxmh6jghb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/novice+";
@@ -47385,8 +47595,8 @@
         src = fetchFromGitHub {
           owner = "OCamlPro";
           repo = "ocp-indent";
-          rev = "5dc0ab3bee633aad64967e79539cdd007bbcacac";
-          sha256 = "1d7q3gd6clyhpzy4phi6g5435iz50kba2mbn0jd403x3270gdk9y";
+          rev = "032599b162624a4b65c82c20be06433f24b00e8f";
+          sha256 = "1h9y597s3ag8w1z32zzv4dfk3ppq557s55bnlfw5a5wqwvia911f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent";
@@ -47788,10 +47998,10 @@
       }) {};
     oneonone = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild {
         pname = "oneonone";
-        version = "20170101.1104";
+        version = "20170307.932";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/oneonone.el";
-          sha256 = "04jjdfbn8ah3gk4fpc56il8j4q52l9raxkbkxivqn440as7nkrn4";
+          sha256 = "1fi006v0j5w993jf7hr2ywk9zhsy2v0hiscxlmjws2ihgcfmcslg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/oneonone";
@@ -48246,12 +48456,12 @@
     org-chinese-utils = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-chinese-utils";
-        version = "20160811.217";
+        version = "20170312.2316";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "org-chinese-utils";
-          rev = "3818d03bde90433b49b8ef8cffdd242084af4058";
-          sha256 = "0rlqr0b54rv8p2015vgb730r3lqwxg3v0msiimwxlhfhgww1pg2b";
+          rev = "9f3ea014d049e026105055330500ee9ed82e9bc4";
+          sha256 = "1i05ds7dz5ra2vyzx3fd0038qnzgr527cnnnrhl4afr93cqgjp6a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a679ebaedcb496f915b9338f9d5c003e1389594d/recipes/org-chinese-utils";
@@ -48878,8 +49088,8 @@
         version = "20140107.519";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "eb1847e29c4216ec3b79029c3f143c9991e61a1b";
-          sha256 = "0sa8g830s2pw157giy7ylpa8vdsmjkqnwsffpxxvq9zmmdhmh7pb";
+          rev = "7b426972600154286ce6fddbaf9b7c7503845bbe";
+          sha256 = "0q6paa8x0i92sdggiv525hfi17cysmpv636q7rikf92v10qmxrw2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ee69e5e7b1617a29919d5fcece92414212fdf963/recipes/org-mac-iCal";
@@ -48898,8 +49108,8 @@
         version = "20170105.1723";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "eb1847e29c4216ec3b79029c3f143c9991e61a1b";
-          sha256 = "0sa8g830s2pw157giy7ylpa8vdsmjkqnwsffpxxvq9zmmdhmh7pb";
+          rev = "7b426972600154286ce6fddbaf9b7c7503845bbe";
+          sha256 = "0q6paa8x0i92sdggiv525hfi17cysmpv636q7rikf92v10qmxrw2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/org-mac-link";
@@ -48975,6 +49185,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-notebook = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "org-notebook";
+        version = "20170311.1302";
+        src = fetchFromGitHub {
+          owner = "Rahi374";
+          repo = "org-notebook";
+          rev = "ea6e477015a5f25d41df25af25252f521b12691a";
+          sha256 = "1i1jchigh70z0ymil85plfx6wf9hwxlkl7jx9kxhv70zpc3m9mlg";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/04149b1f158e857ea824fe120372ac52a000adcf/recipes/org-notebook";
+          sha256 = "045xqmrik1s83chl7l7fnlav2p76xrfj21kacpjj215saz1f8nld";
+          name = "org-notebook";
+        };
+        packageRequires = [ cl-lib emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/org-notebook";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-octopress = callPackage ({ ctable, fetchFromGitHub, fetchurl, lib, melpaBuild, org, orglue }:
     melpaBuild {
         pname = "org-octopress";
@@ -49020,12 +49251,12 @@
     org-page = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, git, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "org-page";
-        version = "20170305.1948";
+        version = "20170310.240";
         src = fetchFromGitHub {
           owner = "kelvinh";
           repo = "org-page";
-          rev = "493e9ac843eb44efd8a6f486a7cfa727d575f3af";
-          sha256 = "1amviznfqjb3z09bzv11yy2ickka43z7ffzjlbgk9wy066944p8l";
+          rev = "18c94764b6240344d4e147d881071876e9004e30";
+          sha256 = "1q76daimscr2mp0wi6cp0mbph7cp4gdm818cdi76rsz48xa83gxi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/872f163d4da58760009001472e2240f00d4d2d89/recipes/org-page";
@@ -49285,12 +49516,12 @@
     org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, s }:
     melpaBuild {
         pname = "org-ref";
-        version = "20170306.638";
+        version = "20170313.713";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "org-ref";
-          rev = "1cf25da328ecfeac402aaa38dc3f50af8f462264";
-          sha256 = "17bw03c22khqxf8b5hmf4f0l2s7qbmjkkw6m3xvs30k5snq1wk8x";
+          rev = "2f8152e6e45885f68c01b39a227c625a441d6ded";
+          sha256 = "03ra8dr5qpmny3s293al8fckyrspkhbrgw31adz3x9z69c919qjn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref";
@@ -49673,12 +49904,12 @@
     org-webpage = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "org-webpage";
-        version = "20161030.100";
+        version = "20170311.1713";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "org-webpage";
-          rev = "6a3c80ec00bb16707def17138e4230221511df3a";
-          sha256 = "1xr9rkkhijb3af2fqhphz7c869648l1hvf4g6qffi1kmla3djf9x";
+          rev = "bd7b0e896e250a7c330568b33520c347b6731890";
+          sha256 = "1l3smz4xx9s4jsr82isnh0hz6ivsf9y5jl87fcfkh98aqlym4z8a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1428ef6b2291d415ae2114de123652d9e378398e/recipes/org-webpage";
@@ -50412,8 +50643,8 @@
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "scimax";
-          rev = "af3d973d90b779d93153f751c746f9ede85972dd";
-          sha256 = "0468if164skl0rwnk36ld3kjcmiqmj59jijgfw5w9mpd8j4mvwf0";
+          rev = "f9c485ecb08bd1820f47c6e5c160eae0776a1ed7";
+          sha256 = "0vwfhgsxgnwg0533359r5hng29k9wjs5j3yjx82y1qxdla13j51j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/222ccf4480395bda8c582ad5faf8c7902a69370e/recipes/ox-clip";
@@ -50426,6 +50657,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ox-epub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "ox-epub";
+        version = "20170304.1600";
+        src = fetchFromGitHub {
+          owner = "ofosos";
+          repo = "ox-epub";
+          rev = "edc253b6f7397ac89a3a0b2d2a05e650baa483f8";
+          sha256 = "0kvs5kpkly45fqdb7mka1w2yn7pks95gxgiy2ayx12cgvn3inyw6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub";
+          sha256 = "15q6vsmgv76c0qfdxa3prqvgmr6n7k4rd4bpi05574ibi23y0ynh";
+          name = "ox-epub";
+        };
+        packageRequires = [ emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/ox-epub";
+          license = lib.licenses.free;
+        };
+      }) {};
     ox-gfm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ox-gfm";
@@ -50534,12 +50786,12 @@
     ox-latex-chinese = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ox-latex-chinese";
-        version = "20160928.2153";
+        version = "20170312.600";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "ox-latex-chinese";
-          rev = "338b168bac4c44f8f4d212f67a2190a70eacd240";
-          sha256 = "1wh0ds7cznnvvh9rg3wsapdhxi8pplimszhzliglgj8sqfyb7kcx";
+          rev = "f4f49ed0c6de69b11739b62cd1ebc1351ad657f4";
+          sha256 = "1bppfj3zwkn5k11wk0845gf32k69c8jz5fsqq4iwvl89ijfjk5xn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a679ebaedcb496f915b9338f9d5c003e1389594d/recipes/ox-latex-chinese";
@@ -51121,10 +51373,10 @@
       }) {};
     palette = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild {
         pname = "palette";
-        version = "20170101.1109";
+        version = "20170307.936";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/palette.el";
-          sha256 = "0kx41b6axq9ba1mhp7icjq165aklskiq9ddmcn8yrcx480v4gf11";
+          sha256 = "112b91z1f4p0j4kzrn8110w9pk2fyndjqiiyh0vkwah2ihpsw3pj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/palette";
@@ -51474,12 +51726,12 @@
     parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "parsebib";
-        version = "20151006.232";
+        version = "20170311.1430";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "parsebib";
-          rev = "9a1f60bed2814dfb5cec2b92efb5951a4b465cce";
-          sha256 = "0n91whyjnrdhb9bqfif01ygmwv5biwpz2pvjv5w5y1d4g0k1x9ml";
+          rev = "ee1dfbb53fff9fd5c4dc6571bf498516b7ffff01";
+          sha256 = "05rgi9hk17h2kjib5v68i4ikg7292f65qxxinaxkhsy0xsx6kybl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
@@ -52332,12 +52584,12 @@
     persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "persp-mode";
-        version = "20170302.712";
+        version = "20170311.716";
         src = fetchFromGitHub {
           owner = "Bad-ptr";
           repo = "persp-mode.el";
-          rev = "5e440fb287897b97a0d13fc150df60b6860e4481";
-          sha256 = "1ff1h80hmkm3b1qj4y3hjzmmzcwp14qr8ankmi0qxymsz5z2jar8";
+          rev = "6b3987b6c085da52a4a1e1a8433bd4a6f3f411d4";
+          sha256 = "0w2wmy1mhpjfmm0js5h0nqwwmj2xzpasc1m40slwh0lcm9176w9c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
@@ -52395,12 +52647,12 @@
     perspeen = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline }:
     melpaBuild {
         pname = "perspeen";
-        version = "20170221.1910";
+        version = "20170312.19";
         src = fetchFromGitHub {
           owner = "seudut";
           repo = "perspeen";
-          rev = "cca16ec338454acbad26f4d1d57a463a034bdd44";
-          sha256 = "078mfmky682hbjkdxkawimxddzc2laz6xqrcpi1dli1vzgpkx7p9";
+          rev = "f093cfecde0e8ce0d5e390784c228831536aef72";
+          sha256 = "0gb8f23ls2f5zj9a9q3i39775g3zijwdnbl7gyqi4hi5v90rb0s4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/19bead132fbc4c179bfe8720c28424028c9c1323/recipes/perspeen";
@@ -52584,12 +52836,12 @@
     phi-search = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "phi-search";
-        version = "20150807.112";
+        version = "20170310.237";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "phi-search";
-          rev = "40b86bfe9ae15377fbee842b1de3d93c2eb7dd69";
-          sha256 = "10kyq3lkhmbmj1hl9awzc0w8073dn9mbjd5skh660ljg5mmi6x62";
+          rev = "a81c4ea203fcb572f6cc37cc658d6b01453bef9d";
+          sha256 = "1z3640walrdk2c90hj47xvlpm6xd5iblxvn7i16krdfz735i4rr5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f0274300c33f19ca6f868e1d570ffee513dbdf7/recipes/phi-search";
@@ -52794,12 +53046,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "20170220.1707";
+        version = "20170307.1750";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "aa69d062ea91e03ad84a378ed4f71c63846027d9";
-          sha256 = "0xpdzv2vigidnqv2pl9g614cqd8xykyln84pksifx2ldjbcs9xsc";
+          rev = "c761c97e53d50a015bf8d5d554f4917267b0f6dc";
+          sha256 = "0hy0bzscv3hakldmjynsm9rz91v5lyb7rp20ljzfvbzzbkbxzdai";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -53666,12 +53918,12 @@
     polymode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "polymode";
-        version = "20170216.615";
+        version = "20170307.322";
         src = fetchFromGitHub {
           owner = "vspinu";
           repo = "polymode";
-          rev = "f72ab719c054ad2a46d175c77ad893bb6f476e36";
-          sha256 = "1pkhp3b1fv7zvsq8qnf06czyv3ax95kni7k6zjgnrwrvm3ks8fsn";
+          rev = "0340f5e7e55235832e59673f027cc79a23cbdcd6";
+          sha256 = "057cybkq3cy07n5s332k071sjiky3mziy003lza4rh75mgqkwhmh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/polymode";
@@ -53684,6 +53936,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    pomidor = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "pomidor";
+        version = "20170310.634";
+        src = fetchFromGitHub {
+          owner = "TatriX";
+          repo = "pomidor";
+          rev = "c361814b1abbff2b213bd3cd5376efd3e749ce2e";
+          sha256 = "15ryj9hp9kc9fn6jwipwwgaj6f5cwwmjswq1017y0f69qf69dd1i";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4e0d4f313081594df23f357c40feb456847d8bd0/recipes/pomidor";
+          sha256 = "0pdzipyza98dhnz6am8lrmz8fh3p1c21v2mhs56fb9lwyvcgv8fi";
+          name = "pomidor";
+        };
+        packageRequires = [ alert emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/pomidor";
+          license = lib.licenses.free;
+        };
+      }) {};
     pomodoro = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pomodoro";
@@ -54085,10 +54358,10 @@
       }) {};
     pp-c-l = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pp-c-l";
-        version = "20170101.1116";
+        version = "20170307.939";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pp-c-l.el";
-          sha256 = "07favccg34khq0rnkdmbmhagpn6sg0vrmxcql35vh1p0jalp208s";
+          sha256 = "0q36bq82lp381jnzf8kapiiglqgibzkhsxlhpgfdg3ynbmw5i1cc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pp-c-l";
@@ -54103,10 +54376,10 @@
       }) {};
     pp-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pp-plus";
-        version = "20170101.1114";
+        version = "20170307.938";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pp+.el";
-          sha256 = "0v8gm9z9dqxmqqvgz4dwmh79ssmir0zf4p3c6wbwrbak16b2ad6m";
+          sha256 = "0a1dj9n3n81xal17djj15hqa71cqphjnf9k9z03vnpw8zq0m93lh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pp+";
@@ -54226,10 +54499,10 @@
       }) {};
     pretty-lambdada = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pretty-lambdada";
-        version = "20170101.1117";
+        version = "20170307.940";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pretty-lambdada.el";
-          sha256 = "17vji7y92ahmhff6ax7znhi7dbfhi8zpghhnl408n5hzcvmqmf06";
+          sha256 = "0b8m96hbqmgyqmv5f890fnyl9vl2wcsaz8w4b11wdprh82ravp4r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pretty-lambdada";
@@ -54596,22 +54869,43 @@
           license = lib.licenses.free;
         };
       }) {};
-    projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
+    project-shells = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
+    melpaBuild {
+        pname = "project-shells";
+        version = "20170311.409";
+        src = fetchFromGitHub {
+          owner = "hying-caritas";
+          repo = "project-shells";
+          rev = "ab10fcd370781f684ca334f83fd70ed22a3f93b9";
+          sha256 = "0fh61myklzg514zlqasp09arxdg43lvyqv7sv2dr74ins29zc0lq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/becf54de5ae9582d7c76382dff16d40b04b1a464/recipes/project-shells";
+          sha256 = "0mhifxcpgsfwrhbs7axg6ja4klgzzy9pc0nqa7w3qg45xgi9s4m8";
+          name = "project-shells";
+        };
+        packageRequires = [ emacs seq ];
+        meta = {
+          homepage = "https://melpa.org/#/project-shells";
+          license = lib.licenses.free;
+        };
+      }) {};
+    projectile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "projectile";
-        version = "20170225.2320";
+        version = "20170309.30";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "projectile";
-          rev = "d9cc453b9e11c9b2f03413e3075e063a6143af69";
-          sha256 = "1zam1avzb5dcv0icjd8vs1p7k24szqx1n4b7qr17pikyvjz4g0xs";
+          rev = "0c307c8cbf6162fa992bcdbdd1940bf6eff28253";
+          sha256 = "18m35h9r1gs96hkgqmjhkwnlg5dj9knh227n2k9xckg161mld2fg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile";
           sha256 = "1kf8hql59nwiy13q0p6p6rf5agjvah43f0sflflfqsrxbihshvdn";
           name = "projectile";
         };
-        packageRequires = [ pkg-info ];
+        packageRequires = [ emacs pkg-info ];
         meta = {
           homepage = "https://melpa.org/#/projectile";
           license = lib.licenses.free;
@@ -54645,8 +54939,8 @@
         src = fetchFromGitHub {
           owner = "christianromney";
           repo = "projectile-direnv";
-          rev = "33455b93576855065ba4ba9ed1b05dc36e692f1a";
-          sha256 = "09zyzfqy1i3i8knvh1ajr5jcidjx3jpsyx8qarxfr5kv16pwyfvj";
+          rev = "d5d29e5228f840b7a25358a2fd50353ef2dc9b16";
+          sha256 = "1bq47a6lckgin93cqy5wj277rlrw2cgfywgmbdpxvmbhygpg5hqr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/602485c251bc573e855dfd33e4e94052afbab93f/recipes/projectile-direnv";
@@ -54708,8 +55002,8 @@
         src = fetchFromGitHub {
           owner = "asok";
           repo = "projectile-rails";
-          rev = "038c7f9724f684c7862e108150e256a00ff9c5c6";
-          sha256 = "0hjf54nn08ifd8cd3y19g47lwyvacqjx1fmy8x4kpn14fwzs4xnv";
+          rev = "4e5cecdf28e5c7a255648b246883adf6add987f6";
+          sha256 = "0wdbmsqw806qji12wwiw2blzldnpyj2lzqj3qcyxladq5w576xqs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails";
@@ -55002,8 +55296,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "0c0a8879c3dd7ee6925746d2206f3262689b5833";
-          sha256 = "1np5vkyzp5fjjzj8x3b55pj7mvanqsff726maj77mnixcs11vj7f";
+          rev = "a69bc9de75fe08f5fe7ad6e2339dfc5b0da5d8ef";
+          sha256 = "11b7wmzkm35bsbczhswl5495zz84ib2dm3syyyvyhbrgqrayppmq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -55745,8 +56039,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "7df8caaa3e1995018417ac2fd87afd89be6945ba";
-          sha256 = "0fj97k1h4yplz87pfcmbxcg7sam447k1rn6ggb227jlyvqbw30sm";
+          rev = "d78e0130720aba010a55e388ba16bd58debef828";
+          sha256 = "0my3a7h7v6x1b19d8fd6lpdzn32zav4nwpmc8f8pypf076kjaf82";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -55888,12 +56182,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20170219.809";
+        version = "20170307.457";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "52024dfb55354b3cc59f7115421bc130a7670c2d";
-          sha256 = "1v0qd7935nlxz7y9175xz8ygx1m6snd0nhgfs2k0bkfyv14ps5bg";
+          rev = "ac40376edcd2ca5a608f8aaa87b76fa020a2f3a3";
+          sha256 = "0z375bx4609c1p9bb1awvrzcqscmn4v5jzarkw9ps5y1r0770b1r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -56287,12 +56581,12 @@
     racket-mode = callPackage ({ emacs, faceup, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "racket-mode";
-        version = "20170226.1906";
+        version = "20170308.1044";
         src = fetchFromGitHub {
           owner = "greghendershott";
           repo = "racket-mode";
-          rev = "c50cd48edc74348bd89b09661ea325dac12fcb48";
-          sha256 = "1vxplnnp751lp4nm2vqdysr9b1ksqykrn6l02dn2priyy5hh29k4";
+          rev = "8cd8966db88de17d4c2f558540f1fe4b1b9e5a2e";
+          sha256 = "0lflbfrz90vkxmi33mw060vjimxsw6dr4fdpp2x38ykv97bwlpi1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode";
@@ -57378,12 +57672,12 @@
     refine = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }:
     melpaBuild {
         pname = "refine";
-        version = "20170219.807";
+        version = "20170311.114";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "refine";
-          rev = "9ac5ccaab861968ff54ce4a89efeb29ea3e4fae9";
-          sha256 = "1jqm4dmyzcknzpn6i00wgv1f7fa6acxg4b5vp6hzp8za8i9fzc6p";
+          rev = "e46948a3567a462094fcda227daa0f462e9f9120";
+          sha256 = "1damy0y5c4qnfvdmv9qzr7w6vs88dm71wsfv918p79a0drp7xrdb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b111879ea0685cda88c758b270304d9e913c1391/recipes/refine";
@@ -57733,10 +58027,10 @@
       }) {};
     replace-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "replace-plus";
-        version = "20170101.1119";
+        version = "20170307.942";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/replace+.el";
-          sha256 = "0cbm5g5d1d4bdfmx3nkldpq8k5ah0cz5ddq7cn4278rjx1h9ml5f";
+          sha256 = "0bbqmgz4grbg9g4kd5c85wn1icfgqapdkb2v7jmqwg4mc8s7piv5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/replace+";
@@ -57920,12 +58214,12 @@
     restart-emacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "restart-emacs";
-        version = "20170220.2245";
+        version = "20170306.2230";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "restart-emacs";
-          rev = "56f877fe86373df3eb048ac96d6deef7b9f60892";
-          sha256 = "1v4yvkp4f3rg8gi01y1gsfn7sikx4c3w0gisc3kdb3rs9kf1p8dd";
+          rev = "d7eacf44b643babce367076d91bef87cdf8e732e";
+          sha256 = "0gw5i62d74byj4zdas480cpylz9rnb4jishpzhpq1zvmdhh5sd0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9faeb6d910d686cbcafe7d12e0bcf62a85689bd/recipes/restart-emacs";
@@ -58544,12 +58838,12 @@
     rspec-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, ruby-mode ? null }:
     melpaBuild {
         pname = "rspec-mode";
-        version = "20170225.12";
+        version = "20170312.56";
         src = fetchFromGitHub {
           owner = "pezra";
           repo = "rspec-mode";
-          rev = "159afaf630be5fb13b3b0762f4c42ae6699dd143";
-          sha256 = "0pm0zzk7sdzvk3zwlqpkq5pg6p3kkny9a8104fpyszvd3f2ygsk2";
+          rev = "fe336636a57955b927b5994c8c738e21cacdc800";
+          sha256 = "07qjp6bb5rkcpbda7gb8g0zr2mr6cwplaspwc4ckidfcd8vzdn7b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd83e61b10da20198de990aa081b47d3b0b44d43/recipes/rspec-mode";
@@ -58569,8 +58863,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "ec6d0dcd9215fe9f29c7cf49685a60c3ebeeaf8d";
-          sha256 = "01br0l60ng8jx0wyvikjy96g6safdmr3vdr463jz61shif3xpirx";
+          rev = "606864f4e3f6e00426a69087b707cbc44d19404c";
+          sha256 = "1ga88cjjb91pma47r4hz3kg6080dk29lbvghlffh9x0r91w1y5pj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac3b84fe84a7f57d09f1a303d8947ef19aaf02fb/recipes/rtags";
@@ -58607,12 +58901,12 @@
     rubocop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rubocop";
-        version = "20170123.906";
+        version = "20170311.2211";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "rubocop-emacs";
-          rev = "d4dad3209f05288bdbe3a31f47794047b87fa424";
-          sha256 = "1w1mbp04sqsa4jl8ix05i8af9095zbblcjxkhgmj4x57s8yfsiap";
+          rev = "980bedb455e3551d35a212fae515c054888907c1";
+          sha256 = "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop";
@@ -58631,7 +58925,7 @@
         version = "20161115.2259";
         src = fetchsvn {
           url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "57789";
+          rev = "57962";
           sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
         };
         recipeFile = fetchurl {
@@ -58711,7 +59005,7 @@
         version = "20150424.752";
         src = fetchsvn {
           url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "57789";
+          rev = "57962";
           sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
         };
         recipeFile = fetchurl {
@@ -59148,12 +59442,12 @@
     salt-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-jinja2, mmm-mode, yaml-mode }:
     melpaBuild {
         pname = "salt-mode";
-        version = "20170128.424";
+        version = "20170313.725";
         src = fetchFromGitHub {
           owner = "glynnforrest";
           repo = "salt-mode";
-          rev = "28e72f05f2159f94d7fa3270eb35bfc1f06965df";
-          sha256 = "1dksmfvvza277dm245s9l8ydnbdqvl054hxsybynx05yb5c3sfgh";
+          rev = "e14ed8f2ce0ab7a783c4341879ec8c003e2b5c81";
+          sha256 = "19gw35qv13f2r4wif5fgqfhrph2r320n81faxx8980zds28x2q0x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9dcf1a93a06fc42581521c88cfd988b03bedc000/recipes/salt-mode";
@@ -59316,12 +59610,12 @@
     sayid = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sayid";
-        version = "20170301.256";
+        version = "20170306.1733";
         src = fetchFromGitHub {
           owner = "bpiel";
           repo = "sayid";
-          rev = "5a85d5e98b7a23a1009dc089d604de9a32facedf";
-          sha256 = "1sxsf3f9rzlpm3pib39cdy4sbn2fg1l5k0iwcr3vpkrfiyzivbpd";
+          rev = "3e5456cade044f01eb0753aabc9e50868000bd14";
+          sha256 = "1asphbijh5y4ax03x1cn02l4ya8v44s23ani91a0d52msdaxbnyw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
@@ -59362,8 +59656,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "14322d78b2be5148c2756d69e7a6c1e53b745569";
-          sha256 = "0ih1kahzr3n6rvmsv2jg9v1f5n119vn1qa6jjs27wpd39n3az3hj";
+          rev = "3a7dd67970c5ac57df24c40e18e77a99fd14e1c7";
+          sha256 = "0hk965ldfxybjjaw9sfyn4zw28178pdmaljk454y4y6xfnm2xcrw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -59920,10 +60214,10 @@
       }) {};
     second-sel = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "second-sel";
-        version = "20161210.820";
+        version = "20170307.946";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/second-sel.el";
-          sha256 = "0c9j1lbharzyvhvb6whcymra76y0nyqfnaw1s5qzd3xdq5c9sf7c";
+          sha256 = "1sgwza2ka3iqsajnppq2vd150h1wbkzzi04rk7bzpqj32dyh7gbx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/second-sel";
@@ -60001,12 +60295,12 @@
     sekka = callPackage ({ cl-lib ? null, concurrent, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "sekka";
-        version = "20170115.237";
+        version = "20170309.543";
         src = fetchFromGitHub {
           owner = "kiyoka";
           repo = "sekka";
-          rev = "001e205b37ae0dded430b9a809425dc7ed730366";
-          sha256 = "113i8i705qkd3nccspacnmk9ysy5kwavg8h9z9djdgki611q700q";
+          rev = "09f7c7c75d8570909ecb45599d6f3ba75768321c";
+          sha256 = "0s6y3aqavc4lfqi84hkvbdyyjgw9j5n99272blj0878a0qmia658";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/350bbb5761b5ba69aeb4acf6d7cdf2256dba95a6/recipes/sekka";
@@ -60849,10 +61143,10 @@
       }) {};
     showkey = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "showkey";
-        version = "20170101.1132";
+        version = "20170307.1528";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/showkey.el";
-          sha256 = "1mx48ly135wmqrr0srwnxby46b0mcnyw4vyd0jykih9ygd8kk4dj";
+          sha256 = "143889knvy6ifvq759869gbjfg10k10mi2by2hajcgzqhby72h61";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e2b5576d501aee95c8f62d721a69077a1f3df424/recipes/showkey";
@@ -61180,10 +61474,10 @@
     simple-plus = callPackage ({ fetchurl, lib, melpaBuild, strings }:
     melpaBuild {
         pname = "simple-plus";
-        version = "20170101.1133";
+        version = "20170307.1529";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/simple+.el";
-          sha256 = "1z1l1lsddd865ma1q714hj4y9p89z1m3hr7z9fir53ipsa31cnl1";
+          sha256 = "061vw3w8gl1lcjy67ina4w496i91addsl5s3xbffk2q6k1qhjsdi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/simple+";
@@ -62182,12 +62476,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "20170303.346";
+        version = "20170312.450";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "0c81107de550931466b11132b8c6286851615b5f";
-          sha256 = "1xmaxl7s8lh288vrqg6diakzldp615z41innkl13yjawnad4mxfk";
+          rev = "a212f777eea775a5c106b5022dea3bbb215bf98a";
+          sha256 = "19fpal1r0x11515s1lwgr5cjs0jk7pggfnv6y7jj4bvrvq87imnk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -62748,12 +63042,12 @@
     sonic-pi = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, highlight, lib, melpaBuild, osc }:
     melpaBuild {
         pname = "sonic-pi";
-        version = "20170305.327";
+        version = "20170313.810";
         src = fetchFromGitHub {
           owner = "repl-electric";
           repo = "sonic-pi.el";
-          rev = "d2f6facaf012fc556498c90a4d1343fcb59a4628";
-          sha256 = "0hnjws9b4k0f6clcpcmvvlqnjkq09zrppkdylw334nhdbpkdhkxl";
+          rev = "494981aa8f7828392a930ef8533698944738090e";
+          sha256 = "1x9qn6b4nbld9v0r7vi3mg6w7nsa76pzyn1fl118n14a8kkc0is7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f0536c7e32ef145546e4014a1d418cbac8673eb5/recipes/sonic-pi";
@@ -63151,22 +63445,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sparql-mode = callPackage ({ async, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "20161219.550";
+        version = "20170313.721";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "e5bedd0b1df135bb1e42b756da850dac5955aeb8";
-          sha256 = "11vpx9cq81ld6k4710nbvnfhpwq0v0bw0zg5aljr2j1pyfyh0pcs";
+          rev = "33da09b3895e03e64959005678d448ab82e527b6";
+          sha256 = "17fpfc0hc39y9h12mj62fwfga4mhk0c9fm2qnbnzf4i3ajhp7r2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
           sha256 = "1xicrfmgxpb31lz30qj450w8v7dl4ipjp7b2wz54s4kn88nsfj7d";
           name = "sparql-mode";
         };
-        packageRequires = [ async cl-lib ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://melpa.org/#/sparql-mode";
           license = lib.licenses.free;
@@ -63729,6 +64023,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ssass-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ssass-mode";
+        version = "20170310.2024";
+        src = fetchFromGitHub {
+          owner = "AdamNiederer";
+          repo = "ssass-mode";
+          rev = "c26852123436849367d826c370f24dd9f20cb501";
+          sha256 = "05wk2jfvzpzjpqz5vmv8b1yz8nnnix6lv9rh66vgddm794j92dkd";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3137f98aaa871a52f477b63d9c3b7b63f7271344/recipes/ssass-mode";
+          sha256 = "07aym4a7l70f1lb6yvwxkhsykrwbf0lcpwlwgcn5n44kavvdbzxm";
+          name = "ssass-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/ssass-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     ssh = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh";
@@ -64251,10 +64566,10 @@
       }) {};
     strings = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "strings";
-        version = "20170210.1925";
+        version = "20170307.1533";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/strings.el";
-          sha256 = "0am2w3p2igh0y5mdbmjfdzyrx3bngs4c3nibjjcky3pmvj4k3r4i";
+          sha256 = "08sq20ys4xkkg11jyrnlzibl5v73i7zlnj28ygivy3sqvp07z7iz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/strings";
@@ -64477,10 +64792,10 @@
       }) {};
     subr-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "subr-plus";
-        version = "20170101.1138";
+        version = "20170307.1534";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/subr+.el";
-          sha256 = "057h7hshdvzm3qcwdnbyw0qb7ijw3jz38cff0n9ln4xgsma6cgm1";
+          sha256 = "191yqzkvvfnx8hx19ak20dvm9qjcm5r5yqcmnzw6nsc53m2pdwbx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/400c7aede8fee84660b5010eacb93536f1c0b0a4/recipes/subr+";
@@ -64977,8 +65292,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e9219e7a7ed07965057e52e42bd56cc04fdffebc";
-          sha256 = "0yi5mpwsg2d5wmnqxs5fi9z2avzar47j1g5qw5ik2vxid9x7qf5m";
+          rev = "1ac1cc1378eeaec2eb47a21dabbb1f6d775e7823";
+          sha256 = "0024zry02vwzhdip5s5g55wlicakj4815yy8s617jzmj840x97mc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -65224,10 +65539,10 @@
       }) {};
     synonyms = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "synonyms";
-        version = "20170101.1140";
+        version = "20170307.1537";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/synonyms.el";
-          sha256 = "0f1krqbmbdkpll6ggryblcr7gw0wqm3d9hvq145sdwhwi5jw8b4v";
+          sha256 = "0456mmp3niljpghqcngknqkrxmpkba3n95ab4pf0b0021z2zjyxk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fd538439982dd7bd281bf78e96373b93f4d4a6b8/recipes/synonyms";
@@ -65368,12 +65683,12 @@
     system-packages = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "system-packages";
-        version = "20170205.1305";
+        version = "20170311.2357";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "system-packages";
-          rev = "5b3f7f5ae08d306604423f48e9a2ab5daaf58584";
-          sha256 = "0b7hjgxr6pv6dj3q233mxlm8ssxpvkhckibn0cfr5xb7ycfkd6rm";
+          rev = "ebfb6f9eb46c006a4488c1fbf9f46de48f5a788a";
+          sha256 = "199bmzxw6lrby6l9fgm01i92lvzzbz7sqpjrn9jjmpiwr718qxcf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c423d8c1ff251bd34df20bdb8b425c2f55ae1b1/recipes/system-packages";
@@ -66537,10 +66852,10 @@
     thing-cmds = callPackage ({ fetchurl, hide-comnt, lib, melpaBuild }:
     melpaBuild {
         pname = "thing-cmds";
-        version = "20170101.1143";
+        version = "20170307.1538";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thing-cmds.el";
-          sha256 = "1qpszba6ajwqphhk39y6j4wlg7s5lch63lwfa9y28qipwkbn6zlq";
+          sha256 = "16bfjak7953mhmn7abd3pq8cqh8njir5x5x7acqs8zmd9n9qpni6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thing-cmds";
@@ -66555,10 +66870,10 @@
       }) {};
     thingatpt-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "thingatpt-plus";
-        version = "20170101.1144";
+        version = "20170307.1539";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thingatpt+.el";
-          sha256 = "0hb3fyqzq0312isid5vji0j74dmkh08p41sss32f4w60yhd8p19x";
+          sha256 = "1k9y354315gvhbdk0m9xpjx24w1bwrnzlnfiils8xgdwnw4py99a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thingatpt+";
@@ -66641,8 +66956,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "431732d39e89f1661dc7dddffedb2c5c1e019cc7";
-          sha256 = "1mz2g5flz7yrsjzjfa9p6f5sinhd3xxf6nn3sjma7a9jcm626l7l";
+          rev = "6582757752e62efea3f9786dddf0260efaa1f450";
+          sha256 = "1c9miaq60d0l352yyxc2l3v927wzgadsyvfxyvs88qdk6pmz59ig";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -66658,10 +66973,10 @@
     thumb-frm = callPackage ({ fetchurl, frame-cmds, frame-fns, lib, melpaBuild }:
     melpaBuild {
         pname = "thumb-frm";
-        version = "20170101.1145";
+        version = "20170307.1540";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thumb-frm.el";
-          sha256 = "19fiafq5nl29wr35l7nkzjs70fvnw0g27424x7xnm425gwaags8s";
+          sha256 = "1mfz4gkq71sp9q7pa8q0md36g7x0dpsqz0np507dx2kypzqhklpd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thumb-frm";
@@ -66698,12 +67013,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "20170303.1211";
+        version = "20170310.2151";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "616a93710a3bf882f75f61bd8f3438de698938c4";
-          sha256 = "19n1pc3igwbd1yz1cylnk46jvv723aab7505i8r7mw05zd5cnwpg";
+          rev = "70d859495d8bd76f338868f6fc1a89dbcabf7a2b";
+          sha256 = "0nd5lcs2lv5m0s56vga3d7j66zfy2w4dafv8g3jv3m3p5hll1dq4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -67279,10 +67594,10 @@
       }) {};
     tool-bar-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "tool-bar-plus";
-        version = "20170101.1147";
+        version = "20170307.1542";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/tool-bar+.el";
-          sha256 = "19ayc57vnv9348nfc10392kr4xd6wg0b6v2ya3x2zlpfsq3a6w2n";
+          sha256 = "09myj10ifjjc43invxbiinskv5xllkqvqfnzmc7893k2hp2miczm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/tool-bar+";
@@ -67531,12 +67846,12 @@
     transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "transmission";
-        version = "20170305.1155";
+        version = "20170312.1927";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "transmission";
-          rev = "3c1b891f350a5c0b87d15d174203b9ba2bf3db2d";
-          sha256 = "0l2qqrxpfn4f0x9zdz0rsf5vw8238ycjmxnbjx7mcp3awm90pp46";
+          rev = "fd6334f795df409d8d854a0762ef2d2ac74556c0";
+          sha256 = "0mi3xrgsshds09j70mv42ngn1f702wswvrn4wm3xh8gv6sqfbz5m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission";
@@ -68027,12 +68342,12 @@
     twittering-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "twittering-mode";
-        version = "20160921.1038";
+        version = "20170312.735";
         src = fetchFromGitHub {
           owner = "hayamiz";
           repo = "twittering-mode";
-          rev = "08a810167d47852367e7e8d56916c794f7b0fd04";
-          sha256 = "15wghd8iiyrikahd7ayga9m0s993ghriwk44ylcycy3a6axaizmi";
+          rev = "63c96fb029033b1a300b90aa922e167c7c405bcb";
+          sha256 = "0kax42y0f1pa1pgybz3f57ig9g8fvmgcw8j7zl9nsw70dar4amqk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/twittering-mode";
@@ -68069,12 +68384,12 @@
     typescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "typescript-mode";
-        version = "20161130.1944";
+        version = "20170311.1208";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "typescript.el";
-          rev = "3b0ace2a710cbe0a47617a2e4650f593c7282385";
-          sha256 = "15rghh1k657hiahaqb6isrxs1bwys220r0fzk7fxhv8jfbmb2a12";
+          rev = "ca510ab853feb45bb0a6fa5bfe01c96bb1da50ba";
+          sha256 = "11g98jy74bpkryb9y5kclndm1zv40rwg7cfpd782fp8f767f17rq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode";
@@ -68212,10 +68527,10 @@
       }) {};
     ucs-cmds = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "ucs-cmds";
-        version = "20170101.1149";
+        version = "20170308.1512";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/ucs-cmds.el";
-          sha256 = "0ql6qyzcj067vx2amwfh2m4vi056zf7qra4pkyskv829nxqg9mk8";
+          sha256 = "072swg5iyx9n4xpdm65ydh2z7g11jqi3jjwkhcd7a389lavfqnbw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/ucs-cmds";
@@ -68273,12 +68588,12 @@
     ujelly-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ujelly-theme";
-        version = "20170306.214";
+        version = "20170309.131";
         src = fetchFromGitHub {
           owner = "marktran";
           repo = "color-theme-ujelly";
-          rev = "69bbb941a6835137564b919109884d056429f2f0";
-          sha256 = "1dg642b8s9s0f97mqm7facqsg6lmaxi9nv0kpj33p58bqsjrq6hc";
+          rev = "c9ae717f38a7d01de30a8030f80032a5782aa88c";
+          sha256 = "0jx8rfm8jrpn7b8q0wkabjsnvlbzmgn2q60qscmvz1bggb01r9ak";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/ujelly-theme";
@@ -69911,10 +70226,10 @@
       }) {};
     w32-browser = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "w32-browser";
-        version = "20170101.1154";
+        version = "20170308.1518";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/w32-browser.el";
-          sha256 = "0x30ldv2wbv3vhj85jss7hwf672m61f5r4z9l1sg3v0ibalqry45";
+          sha256 = "0pp3fl2r5g32qv8ysiwnznpc5na7cqh3vp5mq59yfhv5p6myayxj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/w32-browser";
@@ -69930,10 +70245,10 @@
     w32browser-dlgopen = callPackage ({ fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "w32browser-dlgopen";
-        version = "20170101.1155";
+        version = "20170309.1433";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/w32browser-dlgopen.el";
-          sha256 = "1dv4l7rcm34p78cvyjv7b1lcc1d28pia18vj3swgnan9g1mi7zdf";
+          sha256 = "1fkkrqwhkg58jjjsjf0fzwabaaxarjylp22zng1id6hqfsm7r1cd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/w32browser-dlgopen";
@@ -70073,12 +70388,12 @@
     wanderlust = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, semi }:
     melpaBuild {
         pname = "wanderlust";
-        version = "20170204.530";
+        version = "20170309.1426";
         src = fetchFromGitHub {
           owner = "wanderlust";
           repo = "wanderlust";
-          rev = "1a49ac05e9558edd4993d345c25cf2d166bfc17e";
-          sha256 = "1bvq0wwc013f6aapwql1rwv9r5nifgff2iwc17kaiwlwwqd6j70z";
+          rev = "40ea87cc62ac6d858235edf2e5d10e5867aa230e";
+          sha256 = "0kmw7rhx7d1a9vhabrfks5l95jafya4lw6yl937imkyxjb6kqdf5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/426172b72026d1adeb1bf3fcc6b0407875047333/recipes/wanderlust";
@@ -70304,12 +70619,12 @@
     web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "20170225.1206";
+        version = "20170309.3";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "6e4d7e96f2a699c2df3056609584e586f4667b39";
-          sha256 = "10iwzjc697niwj0sqvazpi779ipsncpmn2pfy58lgglriq88ss8r";
+          rev = "b8b0dec9fb429012e530a36eb1aa918f84c6ee82";
+          sha256 = "1k7rzk04n7vw0dzxfl4fdlb88br1zxn8w3i2ld5abz2b0x87497p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -70786,10 +71101,10 @@
       }) {};
     wid-edit-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "wid-edit-plus";
-        version = "20170101.1156";
+        version = "20170309.1434";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/wid-edit+.el";
-          sha256 = "0pzxarpwabbg67ajg340yrp1gqly8y71qrd5gcv9vjzgvvh9anws";
+          sha256 = "0w2hjahcq68inabjbdyh3a0wcxd6pdgsp81iqcikxzfvwpzm35a9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/wid-edit+";
@@ -70930,10 +71245,10 @@
       }) {};
     wimpy-del = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "wimpy-del";
-        version = "20161209.736";
+        version = "20170309.1436";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/wimpy-del.el";
-          sha256 = "19dsmchrgmrqnn0v81k3q6z0h3vnxx0wjyqzz27wc7ll1qrvjfyg";
+          sha256 = "0impy9kp1xnhs0834azzndx93p8q53dxdqd9hz0n1mg0h8331c13";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/wimpy-del";
@@ -71092,10 +71407,10 @@
       }) {};
     window-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "window-plus";
-        version = "20170101.1158";
+        version = "20170309.1437";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/window+.el";
-          sha256 = "06igqiwvnwm68k6gf9h85p4ppqab20sxl6qnxb57z8lpczpsssqa";
+          sha256 = "1l6fwrd2f58xpf7cprp354bq2fz0hvl9bz73hrbrzyqvnd9kix61";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/window+";
@@ -71446,12 +71761,12 @@
     worf = callPackage ({ ace-link, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "worf";
-        version = "20170225.405";
+        version = "20170306.1230";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "worf";
-          rev = "d543680243046f5f62d36f9e56debcfe414ba40a";
-          sha256 = "0hdd5yi6cnf7ry088wrq2xdm7f2hirhwrds56wvi0bdm9rizm6gs";
+          rev = "9dc5a0f5077e20ea3177376823a1fed18840d5f2";
+          sha256 = "076mz72qqfcbrs2gw9ng8gbzhr9kzc9mnjmv51n67dmd7hi5mmyc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f00f8765e35c21dd1a4b5c01c239ed4d15170ab7/recipes/worf";
@@ -71761,12 +72076,12 @@
     xah-css-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-css-mode";
-        version = "20170116.919";
+        version = "20170312.151";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-css-mode";
-          rev = "ed4539971dd9c32752c7ff5a1d280150446bc769";
-          sha256 = "1nw7mwbiaq4i28his4l7hx1qrgqykr59sw1909s1l165ygl85jb2";
+          rev = "b710877056cc91641aff82d26af01db728131563";
+          sha256 = "0hmnbbdf2rsw24dspfbbdr0b0f4wlrrkw9pzc73dcn8y0pafavyg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57c2e2112c4eb50ee6ebddef9c3d219cc5ced804/recipes/xah-css-mode";
@@ -72703,12 +73018,12 @@
     yascroll = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yascroll";
-        version = "20150315.605";
+        version = "20170309.555";
         src = fetchFromGitHub {
           owner = "m2ym";
           repo = "yascroll-el";
-          rev = "f7743df1cf6d8e55607141d1ea5f50b562582c51";
-          sha256 = "08wa97hsfy1rc8ify3rz2ncfij4z6l16p4s20naygqccjv3ir6z5";
+          rev = "7b58febbc698e10b3714506a2ce09071fb172bff";
+          sha256 = "0zk8j1jbq2sba09kr8kn2mmsf2i78ng567s9823336b4s61279qx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/yascroll";
@@ -72724,12 +73039,12 @@
     yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yasnippet";
-        version = "20170226.1638";
+        version = "20170310.1724";
         src = fetchFromGitHub {
           owner = "joaotavora";
           repo = "yasnippet";
-          rev = "6e9b7f9432a87122cf9bb80a505be2fd9811a9cf";
-          sha256 = "0k5yv90530946zjs7xdq3017vcq688mz44r542l39hyd9skxq8ba";
+          rev = "7f337f4488da6e3ea4b92057ca1576d17bc51743";
+          sha256 = "0g1irdas5vvzjfrzvvzpz7kii52smn4aa58s6v10kchppxrrikzc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet";
@@ -72900,12 +73215,12 @@
     yoshi-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yoshi-theme";
-        version = "20170305.2158";
+        version = "20170307.906";
         src = fetchFromGitHub {
           owner = "ryuslash";
           repo = "yoshi-theme";
-          rev = "c76b1659a8e5cfccbdfcfe971ef6fcb3b7cd0263";
-          sha256 = "0k86b7lkkdlwd2570hc93ywbg60bxpx1axvzbvyvqiara7vq6njy";
+          rev = "7ab8df0bd646e0571a4d27cbaa4f62b60f625bad";
+          sha256 = "0qh8d14vpaj6hbhxv8zmr7sg85wfjqb2gf30b56lnrvkl783v50b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6e9a549e31c4097ee24b4bff12ec5d20d3beac68/recipes/yoshi-theme";
@@ -73025,12 +73340,12 @@
     zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zenburn-theme";
-        version = "20170306.429";
+        version = "20170306.2250";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "96f953cee3358fbc299662a3b3cbc087cb395b70";
-          sha256 = "0cp2n0a4g1x4py1ixf273k6nrymhxc4hy1ccvg0cv43jpka85xkf";
+          rev = "f031c785b469cf4356fddb997eccf60399e34235";
+          sha256 = "029955wp29wdrk1ddmhxixd76vhkp2li3mjaknw9d8iqz819vshc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
@@ -73275,10 +73590,10 @@
       }) {};
     zones = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "zones";
-        version = "20170101.1159";
+        version = "20170309.1440";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/zones.el";
-          sha256 = "1m88lqfmfayx2pj5ws14cfysf4pv8rm9v768x6xvsknjb4sl0q8l";
+          sha256 = "1mgfv9q4mwng0cqni13kmsridbfqsw66z5cgynlrvagga6v94bq0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f768556f3fbe2537d6ebb08a5285d040e851e85d/recipes/zones";
@@ -73315,10 +73630,10 @@
     zoom-frm = callPackage ({ fetchurl, frame-cmds, frame-fns, lib, melpaBuild }:
     melpaBuild {
         pname = "zoom-frm";
-        version = "20170101.1201";
+        version = "20170309.1439";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/zoom-frm.el";
-          sha256 = "1n16qx3ag9cdds04l4s2a79ijqg4k5gg1144vyn5p6ih10casw32";
+          sha256 = "03f3clivm7nfgg16k9pcshdwbwmjaqk0lcdm9d0180dl1c1z2wvs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/zoom-frm";
@@ -73460,11 +73775,11 @@
     zpresent = callPackage ({ dash, emacs, fetchhg, fetchurl, lib, melpaBuild, org-parser }:
     melpaBuild {
         pname = "zpresent";
-        version = "20170305.2023";
+        version = "20170307.1646";
         src = fetchhg {
           url = "https://bitbucket.com/zck/zpresent.el";
-          rev = "d33bf30fd45c";
-          sha256 = "0wa2nw8q1pbmif1n7vxyzxf7zziwxdv60pa4rx1kxjnrd8aizzi7";
+          rev = "f79f9e8247da";
+          sha256 = "0mdajrwwcfgy6g330ca3s6a240wnj56ryag6h2ghwwclzy81nwdc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3aae38ad54490fa650c832fb7d22e2c73b0fb060/recipes/zpresent";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
index 18759a91f5b7..8a5d293ab055 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
@@ -1477,6 +1477,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    anything-tramp = callPackage ({ anything, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "anything-tramp";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "masasam";
+          repo = "emacs-anything-tramp";
+          rev = "75df15ac263701f921649fefb29f03f6b7d49b9f";
+          sha256 = "0al2k5az5x6idnhkhckjxr4vh52f0n9fi20ranwid9ac8k6kspvz";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bf5be5351cb187dff8388865ac424f8e5be71639/recipes/anything-tramp";
+          sha256 = "1dpah5c35j552ixbd9mw2400vnfbibwhk1ihyz2n8b1c06syfny1";
+          name = "anything-tramp";
+        };
+        packageRequires = [ anything emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/anything-tramp";
+          license = lib.licenses.free;
+        };
+      }) {};
     anzu = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anzu";
@@ -2284,12 +2305,12 @@
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "2.0";
+        version = "2.1";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "b50e90a39344402d169b8fdd5d18cc43fb16a256";
-          sha256 = "13b9ccm7yw95zc8v8sri762fgqdp2hp107nj5b40yv90g3y4fwby";
+          rev = "f6d3d45a88d8fa2d70eaa26d8ebcef741b370dd1";
+          sha256 = "19jbvz07qc325mqdzk0q1ycvpibndw0mb7s7bpr0f0nblla0l0sv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -4458,12 +4479,12 @@
     company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-ansible";
-        version = "0.4.0";
+        version = "0.5.0";
         src = fetchFromGitHub {
           owner = "krzysztof-magosa";
           repo = "company-ansible";
-          rev = "2e3264670c861ecbe862f7618241367ab497b5ff";
-          sha256 = "0a0pb3amsxj6m8ka12ny1w9qjy3dg7vsxdsy1wg3qzanj2pdsk4l";
+          rev = "f08c19e95e67c852512c30b6825dae3dbd3005a0";
+          sha256 = "0qypfla1j7c34syphh21nyswr363v6vwi87614wx9d1rz5v4h24n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible";
@@ -5115,12 +5136,12 @@
     copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "copy-as-format";
-        version = "0.0.4";
+        version = "0.0.5";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "copy-as-format";
-          rev = "a77b914ba99729ef618e9e86543da24a46be315a";
-          sha256 = "181d0fxzy228vvgjmfhfnxh9djyjhq4bpf4lklv0mxhzay03pzdx";
+          rev = "161feb918b104e87f1a284f5c4e5e507e0c177f8";
+          sha256 = "0y1j6f9xs877r4bv6dmcl2jsl27v0n6rsmpml719id2cfnh9sn4g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -5721,22 +5742,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 = "0.2.100";
+        version = "0.3.5";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-darktooth";
-          rev = "380fdcff12f44faf099bc5a38984d88784b495a2";
-          sha256 = "1pragypiv59rrvq2xjzmldkf1v007viwwcvr3f5iyv31n0bmd0cn";
+          rev = "dde50661210d8610cd03526a6c9a922bb0e494a6";
+          sha256 = "1mab28rm175ylg17ziha2kndcqb9a23f8wrpydypa8k7iirhadp6";
         };
         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;
@@ -6349,6 +6370,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    dired-hide-dotfiles = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "dired-hide-dotfiles";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "mattiasb";
+          repo = "dired-hide-dotfiles";
+          rev = "32cf3b6f90dc56f6ff271c28d827aab303bc6221";
+          sha256 = "1fpzgmvbgfgl6wdrynlpvvdlbm8npgrmnzfz2133zvf5x3zfzq6r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ba64a50f85fdb0ad54149dfed4051b4c1a719cbb/recipes/dired-hide-dotfiles";
+          sha256 = "0yy131cvj9a9sz02ari7pzwf22r5y7acyg757h3jvih317v6jyp0";
+          name = "dired-hide-dotfiles";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/dired-hide-dotfiles";
+          license = lib.licenses.free;
+        };
+      }) {};
     dired-icon = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-icon";
@@ -6496,6 +6538,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    direnv = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
+    melpaBuild {
+        pname = "direnv";
+        version = "1.1.0";
+        src = fetchFromGitHub {
+          owner = "wbolster";
+          repo = "emacs-direnv";
+          rev = "cc8fbcc9c71f120c45c3363ed6ad202352e9a6d5";
+          sha256 = "03m4c2x7d7hmsgx3ma4z0ra5y6s7fyfsxmzwz618pfa94nbx3qny";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv";
+          sha256 = "0zzmi5m6fh42kyf8dyjrjyrl03pkbipnh4mnssrhp83ljczxkyhd";
+          name = "direnv";
+        };
+        packageRequires = [ dash emacs with-editor ];
+        meta = {
+          homepage = "https://melpa.org/#/direnv";
+          license = lib.licenses.free;
+        };
+      }) {};
     direx = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "direx";
@@ -8099,12 +8162,12 @@
     elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "elmacro";
-        version = "1.0.1";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "elmacro";
-          rev = "d712c8efc01646117097e061e1b14933b822b9c7";
-          sha256 = "00fry1gjsrx4dv9d9rjf5pd8w3709mn0052al0l948vhwz4wys9z";
+          rev = "9ed19a362b63d9c7436a78feb91bc694194cfefe";
+          sha256 = "00qqa9p9z50gxna4qrsvph4nj41gldl1qj210ywk3lgwn0jjm0k9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro";
@@ -9419,6 +9482,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    eslintd-fix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "eslintd-fix";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "aaronjensen";
+          repo = "eslintd-fix";
+          rev = "555fdad8ebee4ca0d990b8c80151c77c8bd6b773";
+          sha256 = "0xmlr98gyq56vas02nnjdfv7x6zjddy4b1qpy3zz770jnpnrgq33";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c72d2b3ee9b8066d51d09e165e58e9846ca879cc/recipes/eslintd-fix";
+          sha256 = "0lv4xpp9bm1yyn9mj7hpgw1v46yyxr0nlwggbav78jbg4v7ai04v";
+          name = "eslintd-fix";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/eslintd-fix";
+          license = lib.licenses.free;
+        };
+      }) {};
     espuds = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "espuds";
@@ -9947,12 +10031,12 @@
     evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "3.0.1";
+        version = "3.0.2";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "7c274dbb7ed4102ee06b998fa6f529c0f816fe9d";
-          sha256 = "0997szqya4ljjgmsx1w9zbj6h21wq6l46qk1bs0027zvqwcylsv8";
+          rev = "cac2f7945fc90f43d1282dfe4aca24ded9f7cd03";
+          sha256 = "1zjnscnj0zrxpdjikxwg4fw7m6yb39060cmn24xzs0hmnmbxnw9m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -12647,12 +12731,12 @@
     gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gams-mode";
-        version = "6.1.2";
+        version = "6.2";
         src = fetchFromGitHub {
           owner = "ShiroTakeda";
           repo = "gams-mode";
-          rev = "a803f9e4509b8f8fed17ef25737d941bbe846c96";
-          sha256 = "1avbdfw3hvwqnrlg3hv8p64m9gqgvwl9ggqzn6rhxh1zlr7i5cwy";
+          rev = "ce51aa1afec78bf96aedb4badf33463383b7593e";
+          sha256 = "182qrzs88wvkbbalmbdwpmzchkijvg1s6582qihgh29nn8lrl0l5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
@@ -13046,12 +13130,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "2.10.2";
+        version = "2.10.3";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
-          sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
+          rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
+          sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -16306,6 +16390,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-tramp = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "helm-tramp";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "masasam";
+          repo = "emacs-helm-tramp";
+          rev = "87d323306a79bf5d71b0f556a7aefdfe5824f523";
+          sha256 = "08rzgfzd70xf1hh54py325p9kf5war40qi5w21anzs4wwg86rz1v";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4a69f0a17c4efbaea012be8e878af4060fa0c93b/recipes/helm-tramp";
+          sha256 = "1113qxl34sf27a88vpvckrfrigp8vnm42nmfrcxz156maa1g9cbv";
+          name = "helm-tramp";
+        };
+        packageRequires = [ emacs helm ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-tramp";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-unicode = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-unicode";
@@ -17170,12 +17275,12 @@
     ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-completing-read-plus";
-        version = "3.14";
+        version = "3.15";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-ubiquitous";
-          rev = "397a43309c0405009cc6961053c54dedebdc83a2";
-          sha256 = "091kq58bb5dxq13d3jap7m4v6ddpin7hkybzy7drqkwn2q005ggb";
+          rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6";
+          sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-completing-read+";
@@ -17275,12 +17380,12 @@
     ido-ubiquitous = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-ubiquitous";
-        version = "3.14";
+        version = "3.15";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-ubiquitous";
-          rev = "397a43309c0405009cc6961053c54dedebdc83a2";
-          sha256 = "091kq58bb5dxq13d3jap7m4v6ddpin7hkybzy7drqkwn2q005ggb";
+          rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6";
+          sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-ubiquitous";
@@ -18550,6 +18655,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    jinja2-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "jinja2-mode";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "paradoxxxzero";
+          repo = "jinja2-mode";
+          rev = "cfaa7bbe7bb290cc500440124ce89686f3e26f86";
+          sha256 = "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b79196cf0dc0b436ff75eabea369a62f92825d9f/recipes/jinja2-mode";
+          sha256 = "0480fh719r4v7xdwyf4jlg1k36y54i5zrv7gxlhfm66pil75zafx";
+          name = "jinja2-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/jinja2-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     jpop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jpop";
@@ -19796,6 +19922,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    literal-string = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
+    melpaBuild {
+        pname = "literal-string";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "joodie";
+          repo = "literal-string-mode";
+          rev = "46dd2b620df70d681261616f1a26afa4a032e2d5";
+          sha256 = "02a1jvxk2m1lb21p3281cr9xyhzix31cn8a9la53w90sz569i66r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/6519bb53f409eeb0d557809b338849e473c193c4/recipes/literal-string";
+          sha256 = "0ylv9dpw17w272f92vn5cldklyz1d8daihi1fsh5ylvxqpinyrkn";
+          name = "literal-string";
+        };
+        packageRequires = [ emacs markdown-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/literal-string";
+          license = lib.licenses.free;
+        };
+      }) {};
     literate-coffee-mode = callPackage ({ coffee-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "literate-coffee-mode";
@@ -20135,12 +20282,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "2.10.2";
+        version = "2.10.3";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
-          sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
+          rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
+          sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -20289,12 +20436,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "2.10.2";
+        version = "2.10.3";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
-          sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
+          rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
+          sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -20951,8 +21098,8 @@
         src = fetchFromGitHub {
           owner = "the-lambda-church";
           repo = "merlin";
-          rev = "afc398a9e6787b9a8ece385f23bd94ae0ef71805";
-          sha256 = "0899yjw3zm8c0xrv1nk3vcn4rzng68kw5dlns4w6pmzv0pc3cq7q";
+          rev = "89f9643c08211a770454919551a7fd8605d1fca8";
+          sha256 = "13x0zjd297ssqmbvba32zk2p588kznd5ag4wh3nqb6fdgyzy4d63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin";
@@ -21238,6 +21385,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    mmm-jinja2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode }:
+    melpaBuild {
+        pname = "mmm-jinja2";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "glynnforrest";
+          repo = "mmm-jinja2";
+          rev = "c8cb763174fa2fb61b9a0e5e0ff8cb0210f8492f";
+          sha256 = "0big2i3bg4cm14f68ncaiz2h6dk6zqiisrz4l0bv10q9kaa9q2sj";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/721b9a6f16fb8efd4d339ac7953cc07d7a234b53/recipes/mmm-jinja2";
+          sha256 = "0zg4psrgikb8644x3vmsns0id71ni9fcpm591zn16b4j64llvgsi";
+          name = "mmm-jinja2";
+        };
+        packageRequires = [ mmm-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/mmm-jinja2";
+          license = lib.licenses.free;
+        };
+      }) {};
     mmm-mako = callPackage ({ fetchhg, fetchurl, lib, melpaBuild, mmm-mode }:
     melpaBuild {
         pname = "mmm-mako";
@@ -22392,11 +22560,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "0.24pre0";
+        version = "0.24";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "990f8cd03203c7a19cef4e3edbec823cc99fa701";
-          sha256 = "06135xc3i839hw4sa9gmvnb7qq4llv67q8h537vfgb9gixr40f1q";
+          rev = "e60b44ecf8bd5934959727496c7ef3016ff80cf6";
+          sha256 = "1q81ibvhjvnz4hbwmdna3a1xjkik21avy5im89fnkhq068kwac2j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -22769,12 +22937,12 @@
     ocp-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ocp-indent";
-        version = "1.5.3";
+        version = "1.6.0";
         src = fetchFromGitHub {
           owner = "OCamlPro";
           repo = "ocp-indent";
-          rev = "8c349c5531d3bc90b00df875b6cd3c64110f59f1";
-          sha256 = "1c4fdm6r3r3fqjflqjncfmx0ps52b5f17vq957g0b3pcaql5n63d";
+          rev = "032599b162624a4b65c82c20be06433f24b00e8f";
+          sha256 = "1h9y597s3ag8w1z32zzv4dfk3ppq557s55bnlfw5a5wqwvia911f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent";
@@ -23815,12 +23983,12 @@
     org-table-sticky-header = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-table-sticky-header";
-        version = "0.1.0";
+        version = "0.1.1";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "org-table-sticky-header";
-          rev = "1fca19fbccbb21159086970b82af56a81f78e247";
-          sha256 = "1swhsspa5yz68hl2449l9hk1d6r9c32z19z4mrdxw4nimdxhxmqp";
+          rev = "4dba2dc9a3ed63f58aa946aeec84a52d46ca4043";
+          sha256 = "0az4lzd9qk4cx7jjfj36r2fvlkwyrhn3xqhha5d1pydglnhd9amy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5dd0e18bf4c3f3263eff8aff6d7c743a554243b5/recipes/org-table-sticky-header";
@@ -24379,6 +24547,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ox-epub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "ox-epub";
+        version = "0.1.6";
+        src = fetchFromGitHub {
+          owner = "ofosos";
+          repo = "ox-epub";
+          rev = "edc253b6f7397ac89a3a0b2d2a05e650baa483f8";
+          sha256 = "0kvs5kpkly45fqdb7mka1w2yn7pks95gxgiy2ayx12cgvn3inyw6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub";
+          sha256 = "15q6vsmgv76c0qfdxa3prqvgmr6n7k4rd4bpi05574ibi23y0ynh";
+          name = "ox-epub";
+        };
+        packageRequires = [ emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/ox-epub";
+          license = lib.licenses.free;
+        };
+      }) {};
     ox-ioslide = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-ioslide";
@@ -24842,12 +25031,12 @@
     parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "parsebib";
-        version = "1.0.5";
+        version = "2.0.3";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "parsebib";
-          rev = "9a1f60bed2814dfb5cec2b92efb5951a4b465cce";
-          sha256 = "0n91whyjnrdhb9bqfif01ygmwv5biwpz2pvjv5w5y1d4g0k1x9ml";
+          rev = "748d6a179fcbbc4af77c7b96059a66d579f34dc8";
+          sha256 = "0f8rcifzfp4fs52pjgfly39vqz54kgjb3yqyxlh4adq12zbq11cd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
@@ -25260,12 +25449,12 @@
     persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "persp-mode";
-        version = "2.9.5";
+        version = "2.9.6";
         src = fetchFromGitHub {
           owner = "Bad-ptr";
           repo = "persp-mode.el";
-          rev = "1116ead88123a11efef346db0045ee8389250bd2";
-          sha256 = "11xncsvzy13xc939qfvlzplsz2izvf16hy45k500h44g2dxcvq3m";
+          rev = "1dfea0de788f6d25ee47b5c62ddbeaf9e8e92f06";
+          sha256 = "11ww8hg9p8qlmr8zpir0m5xzzbvd1faiqjx6vn4b05d4ll03rnhm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
@@ -28131,22 +28320,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    rubocop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    rubocop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rubocop";
-        version = "0.4.0";
+        version = "0.5.0";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "rubocop-emacs";
-          rev = "405e0fd4c57adb125e3d04208bc86081e3e78d4c";
-          sha256 = "10djjp1520xc05qkciaiaiiciscaln6c74h7ymba40mvzlf67y9q";
+          rev = "980bedb455e3551d35a212fae515c054888907c1";
+          sha256 = "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop";
           sha256 = "114azl0fasmnq0fxxyiif3363mpg8qz3ynx91in5acqzh902fa3q";
           name = "rubocop";
         };
-        packageRequires = [ dash emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/rubocop";
           license = lib.licenses.free;
@@ -28425,6 +28614,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    salt-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-jinja2, mmm-mode, yaml-mode }:
+    melpaBuild {
+        pname = "salt-mode";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "glynnforrest";
+          repo = "salt-mode";
+          rev = "e14ed8f2ce0ab7a783c4341879ec8c003e2b5c81";
+          sha256 = "19gw35qv13f2r4wif5fgqfhrph2r320n81faxx8980zds28x2q0x";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9dcf1a93a06fc42581521c88cfd988b03bedc000/recipes/salt-mode";
+          sha256 = "1n7i9d6qpjsdcgbzmbf63y4c7ggxh5wsim8fd0casnrq9bl7ssym";
+          name = "salt-mode";
+        };
+        packageRequires = [ mmm-jinja2 mmm-mode yaml-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/salt-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     sass-mode = callPackage ({ fetchFromGitHub, fetchurl, haml-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "sass-mode";
@@ -28488,22 +28698,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sayid = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sayid = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sayid";
-        version = "0.0.13";
+        version = "0.0.14";
         src = fetchFromGitHub {
           owner = "bpiel";
           repo = "sayid";
-          rev = "01bf777cb15a4f236bc44842712e9ca82fed7f55";
-          sha256 = "0lh4mmdm5vizr08lyz2jc131991dqmyx29n8njgpxa1vjzqd08az";
+          rev = "3e5456cade044f01eb0753aabc9e50868000bd14";
+          sha256 = "1asphbijh5y4ax03x1cn02l4ya8v44s23ani91a0d52msdaxbnyw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
           sha256 = "0chz46wmwmsn4ys59pn7lqs4assqy2hv43rvka7kq61jdl4g6fgs";
           name = "sayid";
         };
-        packageRequires = [];
+        packageRequires = [ cider ];
         meta = {
           homepage = "https://melpa.org/#/sayid";
           license = lib.licenses.free;
@@ -30040,22 +30250,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sparql-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "0.11.2";
+        version = "2.0.0";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "303858e7f91829ec720141482c777460e66f310b";
-          sha256 = "1gk2ps7fn9z8n6r923qzn518gz9mrj7mb6j726cz8qb585ndjbij";
+          rev = "33da09b3895e03e64959005678d448ab82e527b6";
+          sha256 = "17fpfc0hc39y9h12mj62fwfga4mhk0c9fm2qnbnzf4i3ajhp7r2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
           sha256 = "1xicrfmgxpb31lz30qj450w8v7dl4ipjp7b2wz54s4kn88nsfj7d";
           name = "sparql-mode";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://melpa.org/#/sparql-mode";
           license = lib.licenses.free;
@@ -34335,12 +34545,12 @@
     zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zenburn-theme";
-        version = "2.4";
+        version = "2.5";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "e5dc3962fd30005914b79b14e9821d298f2c305a";
-          sha256 = "1n7ka608lk0xp7vg4zcw282zna0cwvcwvmhic6ym1ag7lq5cjrhc";
+          rev = "f031c785b469cf4356fddb997eccf60399e34235";
+          sha256 = "029955wp29wdrk1ddmhxixd76vhkp2li3mjaknw9d8iqz819vshc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix
index fbf8895f971f..79c75e768205 100644
--- a/pkgs/applications/editors/emacs/default.nix
+++ b/pkgs/applications/editors/emacs/default.nix
@@ -4,7 +4,7 @@
 , alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO
 , withX ? !stdenv.isDarwin
 , withGTK2 ? false, gtk2 ? null
-, withGTK3 ? true, gtk3 ? null
+, withGTK3 ? true, gtk3 ? null, gsettings_desktop_schemas ? null
 , withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null
 , withCsrc ? true
 , srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null
@@ -57,7 +57,8 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkgconfig ]
-    ++ lib.optionals srcRepo [ autoconf automake texinfo ];
+    ++ lib.optionals srcRepo [ autoconf automake texinfo ]
+    ++ lib.optional (withX && (withGTK3 || withXwidgets)) wrapGAppsHook;
 
   buildInputs =
     [ ncurses gconf libxml2 gnutls alsaLib acl gpm gettext ]
@@ -66,9 +67,9 @@ stdenv.mkDerivation rec {
       [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
         imagemagick gconf ]
     ++ lib.optional (withX && withGTK2) gtk2
-    ++ lib.optional (withX && withGTK3) gtk3
+    ++ lib.optionals (withX && withGTK3) [ gtk3 gsettings_desktop_schemas ]
     ++ lib.optional (stdenv.isDarwin && withX) cairo
-    ++ lib.optionals withXwidgets [ webkitgtk24x wrapGAppsHook glib_networking ];
+    ++ lib.optionals (withX && withXwidgets) [ webkitgtk24x glib_networking ];
 
   propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
 
diff --git a/pkgs/applications/editors/emacs/macport-24.5.nix b/pkgs/applications/editors/emacs/macport-24.5.nix
deleted file mode 100644
index 33d24242db79..000000000000
--- a/pkgs/applications/editors/emacs/macport-24.5.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, gettext
-, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit
-, autoconf, automake
-, ImageCaptureCore, GSS, ImageIO # These may be optional
-}:
-
-stdenv.mkDerivation rec {
-  emacsName = "emacs-24.5";
-  name = "${emacsName}-mac-5.15";
-
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = "mirror://gnu/emacs/${emacsName}.tar.xz";
-    sha256 = "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx";
-  };
-
-  macportSrc = fetchurl {
-    url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
-    sha256 = "1r47bm1pf5av2yr37byz91y7bp6vdw9smahiy18g5qp4jp6mz193";
-  };
-
-  enableParallelBuilding = true;
-
-  buildInputs = [ ncurses libxml2 gnutls pkgconfig texinfo gettext autoconf automake ];
-
-  propagatedBuildInputs = [
-    AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
-    ImageCaptureCore GSS ImageIO   # may be optional
-  ];
-
-  postUnpack = ''
-    mv $emacsName $name
-    tar xzf $macportSrc
-    mv $name $emacsName
-  '';
-
-  postPatch = ''
-    patch -p1 < patch-mac
-    sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el
-  '';
-
-  configureFlags = [
-    "LDFLAGS=-L${ncurses.out}/lib"
-    "--with-xml2=yes"
-    "--with-gnutls=yes"
-    "--with-mac"
-    "--enable-mac-app=$$out/Applications"
-  ];
-
-  CFLAGS = "-O3 -DMAC_OS_X_VERSION_MAX_ALLOWED=1090 -DMAC_OS_X_VERSION_MIN_REQUIRED=1090";
-  LDFLAGS = "-O3 -L${ncurses.out}/lib";
-
-  postInstall = ''
-    mkdir -p $out/share/emacs/site-lisp/
-    cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el
-  '';
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "GNU Emacs 24, the extensible, customizable text editor";
-    homepage    = http://www.gnu.org/software/emacs/;
-    license     = licenses.gpl3Plus;
-    maintainers = with maintainers; [ jwiegley ];
-    platforms   = platforms.darwin;
-
-    longDescription = ''
-      GNU Emacs is an extensible, customizable text editor—and more.  At its
-      core is an interpreter for Emacs Lisp, a dialect of the Lisp
-      programming language with extensions to support text editing.
-
-      The features of GNU Emacs include: content-sensitive editing modes,
-      including syntax coloring, for a wide variety of file types including
-      plain text, source code, and HTML; complete built-in documentation,
-      including a tutorial for new users; full Unicode support for nearly all
-      human languages and their scripts; highly customizable, using Emacs
-      Lisp code or a graphical interface; a large number of extensions that
-      add other functionality, including a project planner, mail and news
-      reader, debugger interface, calendar, and more.  Many of these
-      extensions are distributed with GNU Emacs; others are available
-      separately.
-
-      This is "Mac port" addition to GNU Emacs 24. This provides a native
-      GUI support for Mac OS X 10.4 - 10.11. Note that Emacs 23 and later
-      already contain the official GUI support via the NS (Cocoa) port for
-      Mac OS X 10.4 and later. So if it is good enough for you, then you
-      don't need to try this.
-    '';
-  };
-}
diff --git a/pkgs/applications/editors/emacs/macport-25.1.nix b/pkgs/applications/editors/emacs/macport.nix
index 9169c12417ae..90812fb802c5 100644
--- a/pkgs/applications/editors/emacs/macport-25.1.nix
+++ b/pkgs/applications/editors/emacs/macport.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     "--enable-mac-app=$$out/Applications"
   ];
 
-  CFLAGS = "-O3 -DMAC_OS_X_VERSION_MAX_ALLOWED=1090 -DMAC_OS_X_VERSION_MIN_REQUIRED=1090";
+  CFLAGS = "-O3 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10";
   LDFLAGS = "-O3 -L${ncurses.out}/lib";
 
   postInstall = ''
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index 5a27a8efeb0e..3649beb41c67 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file }:
 
+with stdenv.lib;
+
 let
-  version = "1.30";
+  version = "1.30.1";
 in
 
 stdenv.mkDerivation rec {
@@ -9,12 +11,13 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.geany.org/${name}.tar.bz2";
-    sha256 = "b2dec920c77bc3e88d5f7b0f1dbe4f5200f36df3b346d1aba39323bc30afae6d";
+    sha256 = "0ac360f1f3d6c28790a81d570252a7d40421f6e1d8e5a8d653756bd041d88491";
   };
 
   NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
-  buildInputs = [ gtk2 which pkgconfig intltool file ];
+  
+  nativeBuildInputs = [ pkgconfig intltool ];
+  buildInputs = [ gtk2 which file ];
 
   doCheck = true;
 
@@ -47,9 +50,9 @@ stdenv.mkDerivation rec {
       - Simple project management
       - Plugin interface
     '';
-    homepage = "http://www.geany.org/";
+    homepage = http://www.geany.org/;
     license = "GPL";
-    maintainers = [ stdenv.lib.maintainers.bbenoist ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = [ maintainers.bbenoist ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index c5f87d33f732..c9f5aa1e024a 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -220,12 +220,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2016.3.1";
+    version = "2016.3.2";
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "10d1ba6qpizhz4d7fz0ya565pdvkgcmsdgs7b8dv98s9hxfjsldy";
+      sha256 = "1fqlrvhlk09z8nx68qv4nqs5n8ldia3lixsl6r04gsfyl1a69sb6";
     };
     wmClass = "jetbrains-rubymine";
   };
diff --git a/pkgs/applications/editors/joe/default.nix b/pkgs/applications/editors/joe/default.nix
index 323059417ea8..d6c87c4991b9 100644
--- a/pkgs/applications/editors/joe/default.nix
+++ b/pkgs/applications/editors/joe/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl } :
 
 stdenv.mkDerivation rec {
-  version = "4.2";
+  version = "4.4";
   name = "joe-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/joe-editor/${name}.tar.gz";
-    sha256 = "0x39x0qrwdbhl45wd8r8cpzigsip6m5j2crajsrbffk8qm5scpdw";
+    sha256 = "0y898r1xlrv75m00y598rvwwsricabplyh80wawsqafapcl4hw55";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 19ffb2c4959b..facd1206a00e 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -9,8 +9,8 @@
 
 let
   pname = "kdevelop";
-  version = "5.0.3";
-  dirVersion = "5.0.3";
+  version = "5.0.4";
+  dirVersion = "5.0.4";
 
 in
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${dirVersion}/src/${name}.tar.xz";
-    sha256 = "17a58dfc38b853c6c5987084e8973b4f7f5015a6c2c20f94c2a9f96b0c13f601";
+    sha256 = "191142b2bdb14837c82721fdfeb15e852329f2c4c0d48fd479c57514c3235d55";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch b/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch
deleted file mode 100644
index ba5140c77fcf..000000000000
--- a/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From e84645d1694bdad7f179cd41babce723fe07aa63 Mon Sep 17 00:00:00 2001
-From: Kevin Funk <kfunk@kde.org>
-Date: Mon, 5 Dec 2016 15:20:53 +0100
-Subject: Hotfix for restoring build with newer KConfig
-
-https://phabricator.kde.org/D3386 is a SIC change, handle that
----
- project/projectconfigskeleton.cpp |  4 ++++
- project/projectconfigskeleton.h   | 14 +++++---------
- 2 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/project/projectconfigskeleton.cpp b/project/projectconfigskeleton.cpp
-index 0e06149..c4c9767 100644
---- a/project/projectconfigskeleton.cpp
-+++ b/project/projectconfigskeleton.cpp
-@@ -46,6 +46,10 @@ ProjectConfigSkeleton::ProjectConfigSkeleton( const QString & configname )
- ProjectConfigSkeleton::ProjectConfigSkeleton( KSharedConfigPtr config )
-         : KConfigSkeleton( config ), d( new ProjectConfigSkeletonPrivate )
- {
-+    // FIXME: Check if that does the right thing.
-+    // https://phabricator.kde.org/D3386 broke source compat in kconfig, thus requiring us to make this ctor public
-+    Q_ASSERT(config);
-+    d->m_developerTempFile = config->name();
- }
- 
- void ProjectConfigSkeleton::setDeveloperTempFile( const QString& cfg )
-diff --git a/project/projectconfigskeleton.h b/project/projectconfigskeleton.h
-index ed17ed0..c8314df 100644
---- a/project/projectconfigskeleton.h
-+++ b/project/projectconfigskeleton.h
-@@ -55,16 +55,12 @@ public:
- 
-     Path projectFile() const;
-     Path developerFile() const;
-+
-+protected:
-+    explicit ProjectConfigSkeleton( KSharedConfigPtr config );
-+
- private:
--    /**
--     * There's no way in KDE4 API to find out the file that the config object
--     * was created from, so we can't apply defaults when using this
--     * constructors. Thus I'm making this private, so we can find out when
--     * this constructor is used and see if we need to add appropriate API to
--     * kdelibs
--     */
--     explicit ProjectConfigSkeleton( KSharedConfigPtr config );
--     struct ProjectConfigSkeletonPrivate * const d;
-+    struct ProjectConfigSkeletonPrivate * const d;
- };
- 
- }
--- 
-cgit v0.11.2
-
diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform.nix b/pkgs/applications/editors/kdevelop5/kdevplatform.nix
index c36885a9e139..f2b4fc32fe4c 100644
--- a/pkgs/applications/editors/kdevelop5/kdevplatform.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevplatform.nix
@@ -6,8 +6,8 @@
 
 let
   pname = "kdevplatform";
-  version = "5.0.3";
-  dirVersion = "5.0.3";
+  version = "5.0.4";
+  dirVersion = "5.0.4";
 
 in
 stdenv.mkDerivation rec {
@@ -15,11 +15,9 @@ stdenv.mkDerivation rec {
   
   src = fetchurl {
     url = "mirror://kde/stable/kdevelop/${dirVersion}/src/${name}.tar.xz";
-    sha256 = "643d1145e1948af221f9ae148d0a10809f3d89af4b97ff0d6c4d571004f46bd4";
+    sha256 = "01abfcd71383048d017fe989ccce0e7590010a3975bbe6e161f55ababe2ad471";
   };
 
-  patches = [ ./kdevplatform-projectconfigskeleton.patch ];
-
   nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ];
 
   propagatedBuildInputs = [ ];
diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix
new file mode 100644
index 000000000000..a0e941289099
--- /dev/null
+++ b/pkgs/applications/editors/kodestudio/default.nix
@@ -0,0 +1,133 @@
+{ stdenv, lib, callPackage, fetchurl, makeDesktopItem, makeWrapper
+, # Patchelf dependencies:
+  alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, mesa
+, openssl, xlibs, xorg, zlib
+}:
+
+let
+
+  version = "17.1";
+
+  sha256 = if stdenv.system == "x86_64-linux"  then "1kddisnvlk48jip6k59mw3wlkrl7rkck2lxpaghn0gfx02cvms5f"
+      else if stdenv.system == "i686-cygwin"   then "1izp42afrlh4yd322ax9w85ki388gnkqfqbw8dwnn4k3j7r5487z"
+      else throw "Unsupported system: ${stdenv.system}";
+
+  urlBase = "https://github.com/Kode/KodeStudio/releases/download/v${version}/KodeStudio-";
+
+  urlStr = if stdenv.system == "x86_64-linux"  then urlBase + "linux64.tar.gz"
+      else if stdenv.system == "i686-cygwin"   then urlBase + "win32.zip"
+      else throw "Unsupported system: ${stdenv.system}";
+
+in
+
+  stdenv.mkDerivation rec {
+    name = "kodestudio-${version}";
+
+    src = fetchurl {
+        url = urlStr;
+        inherit sha256;
+    };
+
+    buildInputs = [ makeWrapper libXScrnSaver ];
+
+    desktopItem = makeDesktopItem {
+      name = "kodestudio";
+      exec = "kodestudio";
+      icon = "kodestudio";
+      comment = "Kode Studio is an IDE for Kha based on Visual Studio Code";
+      desktopName = "Kode Studio";
+      genericName = "Text Editor";
+      categories = "GNOME;GTK;Utility;TextEditor;Development;";
+    };
+
+    sourceRoot = ".";
+
+    installPhase = ''
+      mkdir -p $out
+      cp -r ./* $out
+    '';
+
+    postFixup = lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") ''
+      # Patch Binaries
+      patchelf \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath "$out:${atomEnv.libPath}" \
+          $out/kodestudio
+      patchelf \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${mesa}/lib:${openssl.out}/lib" \
+          $out/resources/app/extensions/krom/Krom/linux/Krom
+      patchelf \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath ".:${stdenv.cc.libc}/lib" \
+          $out/resources/app/extensions/kha/Kha/Kore/Tools/krafix/krafix-linux64
+      patchelf \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath ".:${stdenv.cc.libc}/lib" \
+          $out/resources/app/extensions/kha/Kha/Kore/Tools/kraffiti/kraffiti-linux64
+      patchelf \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" \
+          $out/resources/app/extensions/kha/Kha/Tools/kravur/kravur-linux64
+      patchelf \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath ".:${stdenv.cc.libc}/lib:${zlib}/lib" \
+          $out/resources/app/extensions/kha/Kha/Tools/haxe/haxe-linux64
+      patchelf \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath ".:${stdenv.cc.libc}/lib:${libvorbis}/lib:${libogg}/lib:${flac.out}/lib" \
+          $out/resources/app/extensions/kha/Kha/Tools/oggenc/oggenc-linux64
+
+      # Patch Shared Objects
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/libnode.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib" $out/libffmpeg.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/extensions/krom/Krom/linux/libv8_libplatform.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/extensions/krom/Krom/linux/libicuuc.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/extensions/krom/Krom/linux/libv8_libbase.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/extensions/krom/Krom/linux/libv8.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/extensions/krom/Krom/linux/libicui18n.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${boehmgc}/lib" $out/resources/app/extensions/kha/Kha/Backends/Kore/khacpp/project/libs/nekoapi/bin/RPi/libneko.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${boehmgc}/lib" $out/resources/app/extensions/kha/Kha/Backends/Kore/khacpp/project/libs/nekoapi/bin/Linux64/libneko.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${boehmgc}/lib" $out/resources/app/extensions/kha/Kha/Backends/Kore/khacpp/project/libs/nekoapi/bin/Linux/libneko.so
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/node_modules/pty.js/build/Release/pty.node
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/node_modules/gc-signals/build/Release/gcsignals.node
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/node_modules/gc-signals/build/Release/obj.target/gcsignals.node
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/node_modules/oniguruma/build/Release/onig_scanner.node
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/resources/app/node_modules/oniguruma/build/Release/obj.target/onig_scanner.node
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib:${xorg.libX11}/lib" $out/resources/app/node_modules/native-keymap/build/Release/keymapping.node
+      patchelf --set-rpath ".:${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib:${xorg.libX11}/lib" $out/resources/app/node_modules/native-keymap/build/Release/obj.target/keymapping.node
+
+      # Rewrite VSCODE_PATH inside bin/kodestudio to $out
+      substituteInPlace $out/bin/kodestudio --replace "/usr/share/kodestudio" $out
+
+      # Patch library calls that expects nix store files to be mode 644:
+      #   A stat is made on srcFile (in the nix store), and its mode used
+      #   for destFile, but it expects the mode to be read write, whereas
+      #   all regular files in the nix store are made read only.
+      #   (33188 is 100644 octal, the required mode)
+      substituteInPlace $out/resources/app/extensions/kha/Kha/Tools/khamake/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js --replace "stat.mode" "33188"
+      substituteInPlace $out/resources/app/extensions/kha/Kha/Kore/Tools/koremake/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js --replace "stat.mode" "33188"
+
+      # Wrap preload libXss
+      wrapProgram $out/bin/kodestudio \
+          --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1
+    '';
+
+    meta = with stdenv.lib; {
+      description = ''
+        An IDE for Kha based on Visual Studio Code
+      '';
+      longDescription = ''
+        Kode Studio is an IDE for Kha based on Visual Studio Code.
+
+        Kha and Kore are multimedia frameworks for Haxe and C++ respectively
+        (with JavaScript coming soon). Using Kha or Kore you can access all
+        hardware at the lowest possible level in a completely portable way.
+      '';
+      homepage = http://kode.tech/;
+      downloadPage = https://github.com/Kode/KodeStudio/releases;
+      license = licenses.mit;
+      maintainers = [ maintainers.patternspandemic ];
+      platforms = [ "x86_64-linux" "i686-cygwin" ];
+    };
+  }
diff --git a/pkgs/applications/editors/mg/configure.patch b/pkgs/applications/editors/mg/configure.patch
deleted file mode 100644
index 11105299eb4b..000000000000
--- a/pkgs/applications/editors/mg/configure.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- configure.old	2013-07-30 19:42:51.000000000 +0200
-+++ configure	2013-07-30 19:47:26.000000000 +0200
-@@ -163,31 +163,7 @@
-     echo 'Fails.'
- fi
- 
--
--if [ ! -r /usr/include/term.h ]; then
--    note 'term.h'
--    if [ -r /usr/include/ncurses/term.h ]; then
--	echo "Found in /usr/include/ncurses"
--	extraflags="$extraflags -I/usr/include/ncurses"
--    else
--	for i in pkg local; do
--	    if [ -r /usr/$i/include/term.h ]; then
--		echo "Found in /usr/$i/include"
--		extralibs="$extralibs -L/usr/$i/lib"
--		extraflags="$extraflags -I/usr/$i/include"
--		break
--	    else
--		false
--	    fi
--	done ||
--	{
--	    echo 'Not found!' >&2
--	    echo 'Do you have the ncurses devel package installed?' >&2
--	    echo 'If you know where term.h is, please email the author!' >&2
--	    exit 1
--	}
--    fi
--fi
-+extraflags="$extraflags $NIX_CFLAGS_COMPILE"
- 
- note 'base and dirname'
- if gcc_defines "__GLIBC__" || gcc_defines "__CYGWIN__" ; then
diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix
index 95a6205125b0..b8bfd40c079b 100644
--- a/pkgs/applications/editors/mg/default.nix
+++ b/pkgs/applications/editors/mg/default.nix
@@ -1,19 +1,19 @@
-{ fetchurl, stdenv, ncurses }:
+{ fetchurl, stdenv, ncurses, pkgconfig, libbsd }:
 stdenv.mkDerivation rec {
-  name = "mg-20110905";
+  name = "mg-${version}";
+  version = "20161005";
 
   src = fetchurl {
-    url = http://homepage.boetes.org/software/mg/mg-20110905.tar.gz;
-    sha256 = "0ac2c7wy5kkcflm7cmiqm5xhb5c4yfw3i33iln8civ1yd9z7vlqw";
+    url = "http://homepage.boetes.org/software/mg/${name}.tar.gz";
+    sha256 = "0qaydk2cy765n9clghmi5gdnpwn15y2v0fj6r0jcm0v7d89vbz5p";
   };
 
-  dontAddPrefix = true;
-
-  patches = [ ./configure.patch ];
-  patchFlags = "-p0";
-
   NIX_CFLAGS_COMPILE = "-Wno-error";
-  buildFlags = [ "CC=cc" ];
+  
+  preConfigure = ''
+    substituteInPlace GNUmakefile \
+      --replace /usr/bin/pkg-config ${pkgconfig}/bin/pkg-config
+      '';
 
   installPhase = ''
     mkdir -p $out/bin
@@ -22,12 +22,13 @@ stdenv.mkDerivation rec {
     cp mg.1 $out/share/man/man1
   '';
 
-  buildInputs = [ ncurses ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ ncurses libbsd ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://homepage.boetes.org/software/mg/;
     description = "Micro GNU/emacs, a portable version of the mg maintained by the OpenBSD team";
-    license = stdenv.lib.licenses.publicDomain;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.publicDomain;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 9814e697d22b..b1f581dc8417 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -17,23 +17,28 @@ let
     rev = "17e0de65e1cbba3d6baa82deaefa853b41f5c161";
     sha256 = "1g51h65i31andfs2fbp1v3vih9405iknqn11fzywjxji00kjqv5s";
   };
+
 in stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "2.7.3";
+  version = "2.7.5";
+  
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.xz";
-    sha256 = "1z0bfyc5cvv83l3bjmlcwl49mpxrp65k5ffsfpnayfyjc18fy9nr";
+    sha256 = "1r37gqx7hppqbgsbclchiis8wzzpb9srm3q3dlvlii2gpkk28kd6";
   };
+
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
   buildInputs = [ ncurses ];
+  
   outputs = [ "out" "info" ];
+  
   configureFlags = ''
     --sysconfdir=/etc
     ${optionalString (!enableNls) "--disable-nls"}
     ${optionalString enableTiny "--enable-tiny"}
   '';
 
-  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+  postPatch = optionalString stdenv.isDarwin ''
     substituteInPlace src/text.c --replace "__time_t" "time_t"
   '';
 
diff --git a/pkgs/applications/editors/nedit/default.nix b/pkgs/applications/editors/nedit/default.nix
index d933a207cd4a..a15b557f0e57 100644
--- a/pkgs/applications/editors/nedit/default.nix
+++ b/pkgs/applications/editors/nedit/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl, xlibsWrapper, motif, libXpm }:
 
 stdenv.mkDerivation rec {
-  name = "nedit-5.6a";
+  name = "nedit-${version}";
+  version = "5.7";
   
   src = fetchurl {
     url = "mirror://sourceforge/nedit/nedit-source/${name}-src.tar.gz";
-    sha256 = "1v8y8vwj3kn91crsddqkz843y6csgw7wkjnd3zdcb4bcrf1pjrsk";
+    sha256 = "0ym1zhjx9976rf2z5nr7dj4mjkxcicimhs686snjhdcpzxwsrndd";
   };
 
   hardeningDisable = [ "format" ];
 
-  buildInputs = [ xlibsWrapper motif libXpm ];
+  nativeBuildInputs = [ xlibsWrapper ];
+  buildInputs = [ motif libXpm ];
 
   buildFlags = if stdenv.isLinux then "linux" else
                # the linux config works fine on darwin too!
@@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.nedit.org;
+    homepage = http://sourceforge.net/projects/nedit;
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index cbaf14cee603..3f2058af1336 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -53,18 +53,24 @@ let
   rubyWrapper = ''--suffix PATH : \"${rubyEnv}/bin\" '' +
                 ''--suffix GEM_HOME : \"${rubyEnv}/${rubyEnv.ruby.gemPath}\" '';
 
+  pluginPythonPackages = if configure == null then [] else builtins.concatLists
+    (map ({ pythonDependencies ? [], ...}: pythonDependencies)
+         (vimUtils.requiredPlugins configure));
   pythonEnv = pythonPackages.python.buildEnv.override {
     extraLibs = (
         if withPyGUI
           then [ pythonPackages.neovim_gui ]
           else [ pythonPackages.neovim ]
-      ) ++ extraPythonPackages;
+      ) ++ extraPythonPackages ++ pluginPythonPackages;
     ignoreCollisions = true;
   };
   pythonWrapper = ''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" '';
 
+  pluginPython3Packages = if configure == null then [] else builtins.concatLists
+    (map ({ python3Dependencies ? [], ...}: python3Dependencies)
+         (vimUtils.requiredPlugins configure));
   python3Env = python3Packages.python.buildEnv.override {
-    extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages;
+    extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages ++ pluginPython3Packages;
     ignoreCollisions = true;
   };
   python3Wrapper = ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '';
diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix
index 989d3e42a6fa..d02a08a0a597 100644
--- a/pkgs/applications/editors/scite/default.nix
+++ b/pkgs/applications/editors/scite/default.nix
@@ -1,18 +1,16 @@
 { stdenv, fetchurl, pkgconfig, gtk2 }:
 
-let
-  version = "3.3.7";
-
-  version_short = stdenv.lib.replaceChars [ "." ] [ "" ] "${version}";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "scite-${version}";
+  version = "3.7.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/scintilla/SciTE/${version}/scite${version_short}.tgz";
-    sha256 = "0x7i6yxq50frsjkrp3lc5zy0d1ssq2n91igjn0dmqajpg7kls2dd";
+    url = "mirror://sourceforge/project/scintilla/SciTE/${version}/scite373.tgz";
+    sha256 = "05d81h1fqhjlw9apvrni3x2q4a562cd5ra1071qpna8h4ml0an9m";
   };
 
-  buildInputs = [ pkgconfig gtk2 ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ gtk2 ];
   sourceRoot = "scintilla/gtk";
 
   buildPhase = ''
@@ -25,11 +23,11 @@ in stdenv.mkDerivation {
     make install prefix=$out/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://www.scintilla.org/SciTE.html";
     description = "SCIntilla based Text Editor";
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.rszibele ];
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.rszibele ];
   };
 }
diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix
index 7a066b068e1a..0c716ed63c14 100644
--- a/pkgs/applications/editors/sigil/default.nix
+++ b/pkgs/applications/editors/sigil/default.nix
@@ -6,10 +6,10 @@
 
 stdenv.mkDerivation rec {
   name = "sigil-${version}";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
-    sha256 = "0hihd5f3avpdvxwp5j80qdg74zbw7p20y6j9q8cw7wd0bak58h9c";
+    sha256 = "17m2f7pj2sx5rxrbry6wk1lvviy8fi2m270h47sisywnrhddarh7";
     rev = version;
     repo = "Sigil";
     owner = "Sigil-Ebook";
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = with python3Packages; [ lxml ];
 
+  nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
+
   buildInputs = [
-    cmake pkgconfig
     boost xercesc qtbase qttools qtwebkit qtxmlpatterns
-    python3 python3Packages.lxml makeWrapper
-  ];
+    python3 python3Packages.lxml ];
 
   preFixup = ''
     wrapProgram "$out/bin/sigil" \
@@ -32,12 +32,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Free, open source, multi-platform ebook (ePub) editor";
     homepage = https://github.com/Sigil-Ebook/Sigil/;
-    license = stdenv.lib.licenses.gpl3;
-    inherit version;
-    maintainers = with stdenv.lib.maintainers; [ ramkromberg ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl3;
+    maintainers =[ maintainers.ramkromberg ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix
index f900a4e9147c..0b8ecda62302 100644
--- a/pkgs/applications/editors/sublime3/default.nix
+++ b/pkgs/applications/editors/sublime3/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, glib, xorg, cairo, gtk2, pango, makeWrapper, openssl, bzip2,
   pkexecPath ? "/run/wrappers/bin/pkexec", libredirect,
-  gksuSupport ? false, gksu}:
+  gksuSupport ? false, gksu, unzip, zip, bash }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 assert gksuSupport -> gksu != null;
@@ -33,6 +33,21 @@ in let
     dontPatchELF = true;
     buildInputs = [ makeWrapper ];
 
+    # make exec.py in Default.sublime-package use own bash with
+    # an LD_PRELOAD instead of "/bin/bash"
+    patchPhase = ''
+      mkdir Default.sublime-package-fix
+      ( cd Default.sublime-package-fix
+        ${unzip}/bin/unzip ../Packages/Default.sublime-package > /dev/null
+        substituteInPlace "exec.py" --replace \
+          "[\"/bin/bash\"" \
+          "[\"$out/sublime_bash\""
+      )
+      ${zip}/bin/zip -j Default.sublime-package.zip Default.sublime-package-fix/* > /dev/null
+      mv Default.sublime-package.zip Packages/Default.sublime-package
+      rm -r Default.sublime-package-fix
+    '';
+
     buildPhase = ''
       for i in sublime_text plugin_host crash_reporter; do
         patchelf \
@@ -52,6 +67,12 @@ in let
       mkdir -p $out
       cp -prvd * $out/
 
+      # We can't just call /usr/bin/env bash because a relocation error occurs
+      # when trying to run a build from within Sublime Text
+      ln -s ${bash}/bin/bash $out/sublime_bash
+      wrapProgram $out/sublime_bash \
+        --set LD_PRELOAD "${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1"
+
       wrapProgram $out/sublime_text \
         --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
         --set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects}
@@ -66,6 +87,7 @@ in stdenv.mkDerivation {
   phases = [ "installPhase" ];
   installPhase = ''
     mkdir -p $out/bin
+    ln -s ${sublime}/sublime_text $out/bin/subl
     ln -s ${sublime}/sublime_text $out/bin/sublime
     ln -s ${sublime}/sublime_text $out/bin/sublime3
     mkdir -p $out/share/applications
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index 5f2fffa5f508..be518b9336a8 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, qmakeHook
+{ stdenv, fetchFromGitHub, pkgconfig, qmakeHook
 , python, qtbase, qttools, zlib }:
 
 let
 #  qtEnv = with qt5; env "qt-${qtbase.version}" [ qtbase qttools ];
 in stdenv.mkDerivation rec {
   name = "tiled-${version}";
-  version = "0.17.0";
+  version = "0.18.2";
 
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://github.com/bjorn/tiled/archive/v${version}.tar.gz";
-    sha256 = "0c9gykxmq0sk0yyfdq81g9psd922scqzn5asskjydj84d80f5z7p";
+  src = fetchFromGitHub {
+    owner = "bjorn";
+    repo = "tiled";
+    rev = "v${version}";
+    sha256 = "087jl36g6w2g5l70gz573iwyvx3r7i8fijl3y4mmmf8pyqdyq1n2";
   };
 
   nativeBuildInputs = [ pkgconfig qmakeHook ];
@@ -26,6 +27,6 @@ in stdenv.mkDerivation rec {
       gpl2Plus	# all the rest
     ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
+    maintainers = [ maintainers.nckx ];
   };
 }
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 0412d1d2d6c6..1d661014c772 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.0.0329";
+  version = "8.0.0442";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "0dcvj2la5g6s87mx3vm96jk904xfmqbwi0jyds9bd3qgbpnn80r1";
+    sha256 = "1pyyrkb7k5vhm1ijrh4v2f50lxhrgga5mm0gvmz4v704z0h585yg";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix
index 004d11fe1575..d7dbaeb1fc21 100644
--- a/pkgs/applications/gis/qgis/default.nix
+++ b/pkgs/applications/gis/qgis/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
+{ stdenv, fetchurl, fetchpatch, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
 , qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper
 , qjson, qca2, txt2tags, openssl
 , withGrass ? false, grass
@@ -14,6 +14,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake makeWrapper ];
 
+  patches = [
+    # See https://hub.qgis.org/issues/16071
+    (fetchpatch {
+      name = "fix-build-against-recent-sip";
+      url = "https://github.com/qgis/QGIS/commit/85a0db24f32351f6096cd8282f03ad5c2f4e6ef5.patch";
+      sha256 = "0snspzdrpawd7j5b69i8kk7pmmy6ij8bn02bzg94qznfpf9ihf30";
+    })
+  ];
+
   # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
   #enableParallelBuilding = true;
 
diff --git a/pkgs/applications/graphics/PythonMagick/default.nix b/pkgs/applications/graphics/PythonMagick/default.nix
index a8d0d490f8bb..332bb8794e71 100644
--- a/pkgs/applications/graphics/PythonMagick/default.nix
+++ b/pkgs/applications/graphics/PythonMagick/default.nix
@@ -1,20 +1,16 @@
 {stdenv, fetchurl, python, boost, pkgconfig, imagemagick}:
 
-let
-
-  version = "0.9.14";
-
-in
-
 stdenv.mkDerivation rec {
   name = "pythonmagick-${version}";
+  version = "0.9.16";
 
   src = fetchurl {
     url = "mirror://imagemagick/python/releases/PythonMagick-${version}.tar.xz";
-    sha256 = "1flkdfi3c19wy2qcfzax1cqvmmri10rvmhc2y85gmagqvv01zz22";
+    sha256 = "0vkgpmrdz530nyvmjahpdrvcj7fd7hvsp15d485hq6103qycisv8";
   };
 
-  buildInputs = [python boost pkgconfig imagemagick];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [python boost imagemagick];
 
   meta = {
     homepage = http://www.imagemagick.org/script/api.php;
diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix
index 2a78f509429e..dc974aed0571 100644
--- a/pkgs/applications/graphics/ahoviewer/default.nix
+++ b/pkgs/applications/graphics/ahoviewer/default.nix
@@ -1,15 +1,20 @@
 { stdenv, pkgs, fetchurl, fetchFromGitHub, pkgconfig, libconfig, 
   gtkmm2, glibmm, libxml2, libsecret, curl, unrar, libzip,
   librsvg, gst_all_1, autoreconfHook, makeWrapper }:
-stdenv.mkDerivation {
-  name = "ahoviewer-1.4.6";
+
+stdenv.mkDerivation rec {
+  name = "ahoviewer-${version}";
+  version = "1.4.8";
+
   src = fetchFromGitHub {
     owner = "ahodesuka";
     repo = "ahoviewer";
-    rev = "414cb91d66d96fab4b48593a7ef4d9ad461306aa";
-    sha256 = "081jgfmbwf2av0cn229cf4qyv6ha80ridymsgwq45124b78y2bmb";
+    rev = version;
+    sha256 = "0fsak22hpi2r8zqysswdyngaf3n635qvclqh1p0g0wrkfza4dbc4";
   };
+
   enableParallelBuilding = true; 
+  
   nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
   buildInputs = [ glibmm libconfig gtkmm2 glibmm libxml2
                   libsecret curl unrar libzip librsvg 
@@ -18,18 +23,21 @@ stdenv.mkDerivation {
                   gst_all_1.gst-plugins-bad 
                   gst_all_1.gst-libav
                   gst_all_1.gst-plugins-base ];
+  
   postPatch = ''patchShebangs version.sh'';
+  
   postInstall = ''
     wrapProgram $out/bin/ahoviewer \
     --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
     --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
   '';
-  meta = {
+
+  meta = with stdenv.lib; {
     homepage = "https://github.com/ahodesuka/ahoviewer";
     description = "A GTK2 image viewer, manga reader, and booru browser";
-    maintainers = [ stdenv.lib.maintainers.skrzyp ];
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.allBut [ "darwin" "cygwin" ];
+    maintainers = [ maintainers.skrzyp ];
+    license = licenses.mit;
+    platforms = platforms.allBut [ "darwin" "cygwin" ];
   };
 }
 
diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix
index 263c411a8dbf..848f132060fe 100644
--- a/pkgs/applications/graphics/alchemy/default.nix
+++ b/pkgs/applications/graphics/alchemy/default.nix
@@ -1,12 +1,14 @@
 {stdenv, fetchurl, jre}:
 
-stdenv.mkDerivation {
-  name = "alchemy-007";
+stdenv.mkDerivation rec {
+  name = "alchemy-${version}";
+  version = "008";
+
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = http://al.chemy.org/files/Alchemy-007.tar.gz;
-    sha256 = "1pk00m4iajvv9jzv96in10czpcf7zc3d4nmd9biqagpsg28mr70b";
+    url = "http://al.chemy.org/files/Alchemy-${version}.tar.gz";
+    sha256 = "0449bvdccgx1jqnws1bckzs4nv2d230523qs0jx015gi81s1q7li";
   };
 
   installPhase = ''
@@ -20,7 +22,7 @@ stdenv.mkDerivation {
     chmod +x $out/bin/alchemy
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Drawing application";
     longDescription = ''
       Alchemy is an open drawing project aimed at exploring how we can sketch,
@@ -31,8 +33,8 @@ stdenv.mkDerivation {
       an expanded range of ideas and possibilities in a serendipitous way.
     '';
     homepage = http://al.chemy.org/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [stdenv.lib.maintainers.marcweber];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.marcweber ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/c3d/default.nix b/pkgs/applications/graphics/c3d/default.nix
new file mode 100644
index 000000000000..a254993a016b
--- /dev/null
+++ b/pkgs/applications/graphics/c3d/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit, cmake, itk }:
+
+stdenv.mkDerivation rec {
+  _name   = "c3d";
+  _version = "1.1.0";
+  name     = "${_name}-${_version}";
+
+  src = fetchgit {
+    url = "https://git.code.sf.net/p/c3d/git";
+    rev = "3453f6133f0df831dcbb0d0cfbd8b26e121eb153";
+    sha256 = "1xgbk20w22jwvf7pa0n4lcbyx35fq56zzlslj0nvcclh6vx0b4z8";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ itk ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.itksnap.org/c3d;
+    description = "Medical imaging processing tool";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix
index 2276b868b59a..2ce1ebb257dc 100644
--- a/pkgs/applications/graphics/djview/default.nix
+++ b/pkgs/applications/graphics/djview/default.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, djvulibre, qt4, xorg, libtiff }:
+{ stdenv, fetchurl, pkgconfig
+, djvulibre, qt4, xorg, libtiff }:
 
-let
-  qt = qt4;
-  # TODO: qt = qt5.base; # should work but there's a mysterious "-silent" error
-in
 stdenv.mkDerivation rec {
-  name = "djview-4.10.5";
+  name = "djview-${version}";
+  version = "4.10.6";
+
   src = fetchurl {
     url = "mirror://sourceforge/djvu/${name}.tar.gz";
-    sha256 = "0gbvbly7w3cr8wgpyh76nf9w7cf7740vp7k5hccks186f6005cx0";
+    sha256 = "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ djvulibre qt xorg.libXt libtiff ];
+  buildInputs = [ djvulibre qt4 xorg.libXt libtiff ];
 
   passthru = {
     mozillaPlugin = "/lib/netscape/plugins";
@@ -23,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = http://djvu.sourceforge.net/djview4.html;
     description = "A portable DjVu viewer and browser plugin";
     license = licenses.gpl2;
-    inherit (qt.meta) platforms;
+    platforms = platforms.unix;
     maintainers = [ maintainers.urkud ];
   };
 }
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 5b385f2acbf1..3208f4273ff2 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchurl, makeWrapper, xorg, imlib2, libjpeg, libpng
+{ stdenv, fetchurl, makeWrapper
+, xorg, imlib2, libjpeg, libpng
 , curl, libexif, perlPackages }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
-  name = "feh-2.18.1";
+  name = "feh-${version}";
+  version = "2.18.2";
 
   src = fetchurl {
     url = "http://feh.finalrewind.org/${name}.tar.bz2";
-    sha256 = "1ck55rhh5ax1d9k9gy2crvyjwffh6028f4kxaisd8ymgbql40f2c";
+    sha256 = "09f5rfzls4h5jcrp7ylwbiljp5qzc2nbw9p2csv0pnlaixj69gil";
   };
 
   outputs = [ "out" "doc" ];
 
   nativeBuildInputs = [ makeWrapper xorg.libXt ]
-    ++ stdenv.lib.optionals doCheck [ perlPackages.TestCommand perlPackages.TestHarness ];
+    ++ optionals doCheck [ perlPackages.TestCommand perlPackages.TestHarness ];
 
   buildInputs = [ xorg.libX11 xorg.libXinerama imlib2 libjpeg libpng curl libexif ];
 
@@ -20,10 +24,12 @@ stdenv.mkDerivation rec {
     makeFlags="PREFIX=$out exif=1"
   '';
 
+  libPath = makeLibraryPath ([ imlib2 curl xorg.libXinerama libjpeg libpng libexif xorg.libX11 ]);
+
   postInstall = ''
     wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg.bin}/bin" \
-                               --add-flags '--theme=feh'
-  '';
+                               --add-flags '--theme=feh' 
+    '';
 
   checkPhase = ''
     PERL5LIB="${perlPackages.TestCommand}/lib/perl5/site_perl" make test
@@ -33,8 +39,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A light-weight image viewer";
     homepage = https://derf.homelinux.org/projects/feh/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; unix;
+    license = licenses.mit;
+    maintainers = [ maintainers.viric ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/graphics/fontmatrix/default.nix b/pkgs/applications/graphics/fontmatrix/default.nix
index fc30a3559105..ced6a5f7258a 100644
--- a/pkgs/applications/graphics/fontmatrix/default.nix
+++ b/pkgs/applications/graphics/fontmatrix/default.nix
@@ -1,10 +1,14 @@
-{ stdenv, fetchurl, cmake, qt4 }:
+{ stdenv, fetchFromGitHub, cmake, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "fontmatrix-0.6.0";
-  src = fetchurl {
-    url = "http://fontmatrix.be/archives/${name}-Source.tar.gz";
-    sha256 = "bcc5e929d95d2a0c9481d185144095c4e660255220a7ae6640298163ee77042c";
+  name = "fontmatrix-${version}";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "fontmatrix";
+    repo = "fontmatrix";
+    rev = "v${version}";
+    sha256 = "0aqndj1jhm6hjpwmj1qm92z2ljh7w78a5ff5ag47qywqha1ngn05";
   };
 
   buildInputs = [ qt4 ];
@@ -13,10 +17,10 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Fontmatrix is a free/libre font explorer for Linux, Windows and Mac";
-    homepage = http://fontmatrix.be/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    homepage = http://github.com/fontmatrix/fontmatrix;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix
index cf1ab1942e58..6dcf8223777a 100644
--- a/pkgs/applications/graphics/glabels/default.nix
+++ b/pkgs/applications/graphics/glabels/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, barcode, gnome3
+{ stdenv, fetchurl, barcode, gnome3, autoreconfHook
 , gtk3, gtk_doc, libxml2, librsvg , libtool, libe-book
 , intltool, itstool, makeWrapper, pkgconfig, which
 }:
 
 stdenv.mkDerivation rec {
   name = "glabels-${version}";
-  version = "3.2.1";
-  src = fetchFromGitHub {
-    owner = "jimevins";
-    repo = "glabels";
-    rev = "glabels-3_2_1";
-    sha256 = "1y6gz0v9si3cvdzhakbgkyc94fajg19rmykfgnc37alrc21vs9zg";
+  version = "3.4.0";
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/glabels/3.4/glabels-3.4.0.tar.xz";
+    sha256 = "04345crf5yrhq6rlrymz630rxnm8yw41vx04hb6xn2nkjn9hf3nl";
   };
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper intltool ];
   buildInputs = [
-    autoconf automake barcode gtk3 gtk_doc gnome3.yelp_tools
+    barcode gtk3 gtk_doc gnome3.yelp_tools
     gnome3.gnome_common gnome3.gsettings_desktop_schemas
-    intltool itstool libxml2 librsvg libe-book libtool
-    makeWrapper pkgconfig 
+    itstool libxml2 librsvg libe-book libtool
+    
   ];
 
   preFixup = ''
@@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
-  preConfigure = "./autogen.sh";
-
   meta = {
     description = "Create labels and business cards";
     homepage = http://glabels.org/;
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index 8aa2cf8f9f13..93894d0c6cb8 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -6,12 +6,12 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "gthumb";
-  version = "${major}.4";
-  major = "3.4";
+  version = "${major}.1";
+  major = "3.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
-    sha256 = "154bdc8c1940209f1e3d9c60184efef45b0d24f5f7f7f59b819e9c08e19c2981";
+    sha256 = "1hxnjskrq57d5ycn2fyif7363n1bav931pkjvq1fr2r4yrj0d202";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/jpegoptim/default.nix b/pkgs/applications/graphics/jpegoptim/default.nix
index 5bb577011e71..b7063a0c4e7f 100644
--- a/pkgs/applications/graphics/jpegoptim/default.nix
+++ b/pkgs/applications/graphics/jpegoptim/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.3";
+  version = "1.4.4";
   name = "jpegoptim-${version}";
 
   src = fetchurl {
     url = "http://www.kokkonen.net/tjko/src/${name}.tar.gz";
-    sha256 = "0k53q7dc8w5ashz8v261x2b5vvz7gdvg8w962rz9gjvkjbh4lg93";
+    sha256 = "1cn1i0g1xjdwa12w0ifbnzgb1vqbpr8ji6h05vxksj79vyi3x849";
   };
 
   # There are no checks, it seems.
@@ -14,11 +14,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libjpeg ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Optimize JPEG files";
     homepage = http://www.kokkonen.net/tjko/projects.html ;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.aristid ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.aristid ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix
index 96384765bd03..5f27cb446994 100644
--- a/pkgs/applications/graphics/leocad/default.nix
+++ b/pkgs/applications/graphics/leocad/default.nix
@@ -3,22 +3,22 @@ To use aditional parts libraries
 set the variable LEOCAD_LIB=/path/to/libs/ or use option -l /path/to/libs/
 */
 
-{ stdenv, fetchsvn, qt4, qmake4Hook, zlib }:
+{ stdenv, fetchFromGitHub, qt4, qmake4Hook, zlib }:
 
 stdenv.mkDerivation rec {
   name = "leocad-${version}";
-  version = "0.81";
+  version = "17.02";
 
-  src = fetchsvn {
-    url = "http://svn.leocad.org/tags/${name}";
-    sha256 = "1190gb437ls51hhfiwa79fq131026kywpy3j3k4fkdgfr8a9v3q8";
+  src = fetchFromGitHub {
+    owner = "leozide";
+    repo = "leocad";
+    rev = "v${version}";
+    sha256 = "0d7l2il6r4swnmrmaf1bsrgpjgai5xwhwk2mkpcsddnk59790mmc";
   };
 
-  buildInputs = [ qt4 qmake4Hook zlib ];
-
+  nativeBuildInputs = [ qmake4Hook ];
+  buildInputs = [ qt4 zlib ];
   postPatch = ''
-    sed '1i#include <cmath>' -i common/camera.cpp
-    substituteInPlace common/camera.cpp --replace "isnan(" "std::isnan("
     export qmakeFlags="$qmakeFlags INSTALL_PREFIX=$out"
   '';
 
diff --git a/pkgs/applications/graphics/meh/default.nix b/pkgs/applications/graphics/meh/default.nix
new file mode 100644
index 000000000000..1b5fbc2271b5
--- /dev/null
+++ b/pkgs/applications/graphics/meh/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, libX11, libXext, libjpeg, libpng, giflib }:
+
+stdenv.mkDerivation rec {
+  name = "meh-unstable-2015-04-11";
+
+  src = fetchFromGitHub {
+    owner = "jhawthorn";
+    repo = "meh";
+    rev = "4ab1c75f97cb70543db388b3ed99bcfb7e94c758";
+    sha256 = "1j1n3m9hjhz4faryai97jq7cr6a322cqrd878gpkm9nrikap3bkk";
+  };
+
+  installPhase = ''
+    make PREFIX=$out install
+  '';
+
+  outputs = [ "out" "doc" ];
+
+  buildInputs = [ libXext libX11 libjpeg libpng giflib ];
+
+  meta = {
+    description = "A minimal image viewer using raw XLib";
+    homepage = http://www.johnhawthorn.com/meh/;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index d16800dc881d..44faeea007d6 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl, boost, cmake, ilmbase, libjpeg, libpng, libtiff
+{ stdenv, fetchFromGitHub, boost, cmake, ilmbase, libjpeg, libpng, libtiff
 , opencolorio, openexr, unzip
 }:
 
 stdenv.mkDerivation rec {
   name = "openimageio-${version}";
-  version = "1.6.11";
+  version = "1.7.12";
 
-  src = fetchurl {
-    url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
-    sha256 = "0cr0z81a41bg193dx9crcq1mns7mmzz7qys4lrbm18cmdbwkk88x";
+  src = fetchFromGitHub {
+    owner = "OpenImageIO";
+    repo = "oiio";
+    rev = "Release-${version}";
+    sha256 = "1ganx4f7zis5lkxxrwc83dbgngaxww2846bsc4vrg5dhjnns6n4y";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
-    boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr
+    boost ilmbase libjpeg libpng 
+    libtiff opencolorio openexr
     unzip
   ];
 
diff --git a/pkgs/applications/graphics/pbrt/default.nix b/pkgs/applications/graphics/pbrt/default.nix
index 5bf6907744ad..894667597d85 100644
--- a/pkgs/applications/graphics/pbrt/default.nix
+++ b/pkgs/applications/graphics/pbrt/default.nix
@@ -1,25 +1,26 @@
-{stdenv, fetchgit, flex, bison, cmake, git, zlib}:
+{stdenv, fetchFromGitHub, flex, bison, cmake, git, zlib}:
 
 stdenv.mkDerivation rec {
 
-  version = "2016-05-19";
+  version = "2017-01-12";
   name = "pbrt-v3-${version}";
-  src = fetchgit {
-    url = "https://github.com/mmp/pbrt-v3.git";
-    rev = "638249e5cf4596e129695c8df8525d43f11573ff";
-    sha256 = "10ykqrg4zcfb4sfsg3z793c6vld6b6g8bzfyk7ya3yvvc9sdlr5g";
-  };
 
-  fetchSubmodules = true;
+  src = fetchFromGitHub {
+    rev = "35b6da3429526f2026fe5e5ebaf36d593e113028";
+    owner  = "mmp";
+    repo   = "pbrt-v3";
+    sha256 = "10lvbph13p6ilzqb8sgrvn9gg1zmi8wpy3hhjbqp8dnsa4x0mhj7";
+    fetchSubmodules = true;
+  };
 
   buildInputs = [ git flex bison cmake zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://pbrt.org";
     description = "The renderer described in the third edition of the book 'Physically Based Rendering: From Theory To Implementation'";
-    platforms = stdenv.lib.platforms.linux ;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [ stdenv.lib.maintainers.juliendehos ];
+    platforms = platforms.linux ;
+    license = licenses.bsd2;
+    maintainers = [ maintainers.juliendehos ];
     priority = 10;
   };
 }
diff --git a/pkgs/applications/graphics/potrace/default.nix b/pkgs/applications/graphics/potrace/default.nix
index 3cc5fe6fdd28..82fa4d5ee95b 100644
--- a/pkgs/applications/graphics/potrace/default.nix
+++ b/pkgs/applications/graphics/potrace/default.nix
@@ -2,22 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "potrace-${version}";
-  version = "1.13";
+  version = "1.14";
 
   src = fetchurl {
     url = "http://potrace.sourceforge.net/download/${version}/potrace-${version}.tar.gz";
-    sha256 = "115p2vgyq7p2mf4nidk2x3aa341nvv2v8ml056vbji36df5l6lk2";
+    sha256 = "0znr9i0ljb818qiwm22zw63g11a4v08gc5xkh0wbdp6g259vcwnv";
   };
 
   configureFlags = [ "--with-libpotrace" ];
 
   buildInputs = [ zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://potrace.sourceforge.net/;
     description = "A tool for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.pSub ];
-    license = stdenv.lib.licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.pSub ];
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix
index 25c6fc36c6c9..2023d9486bd8 100644
--- a/pkgs/applications/graphics/pqiv/default.nix
+++ b/pkgs/applications/graphics/pqiv/default.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchurl, getopt, which, pkgconfig, gtk2 } :
+{ stdenv, fetchFromGitHub, getopt, which, pkgconfig, gtk2 } :
 
 stdenv.mkDerivation (rec {
-  name = "pqiv-0.12";
+  name = "pqiv-${version}";
+  version = "2.8.3";
 
-  src = fetchurl {
-    url = "https://github.com/downloads/phillipberndt/pqiv/${name}.tbz";
-    sha256 = "646c69f2f4e7289913f6b8e8ae984befba9debf0d2b4cc8af9955504a1fccf1e";
+  src = fetchFromGitHub {
+    owner = "phillipberndt";
+    repo = "pqiv";
+    rev = version;
+    sha256 = "0fhmqa1q1y5y0ivrgx9xv864zqvd5dk4fiqi4bgi1ybdfx7vv2fy";
   };
 
-  buildInputs = [ getopt which pkgconfig gtk2 ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ getopt which gtk2 ];
 
-  preConfigure=''
-    substituteInPlace configure --replace /bin/bash "$shell"
-    sed -i -e 's|$(tempfile -s.*)|temp.c|' -e 's|tempfile|mktemp|' configure
-  '';
+  prePatch = "patchShebangs .";
 
-  unpackCmd = ''
-    tar -xf ${src}
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Rewrite of qiv (quick image viewer)";
     homepage = http://www.pberndt.com/Programme/Linux/pqiv;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.ndowens ];
+    platforms = platforms.unix;
   };
 })
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index 55c083ba71f3..118630e96088 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -1,23 +1,25 @@
-{ stdenv, fetchgit, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline
+{ stdenv, fetchFromGitHub, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline
 , qtbase, qmakeHook, mesa_glu
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.5";
+  version = "0.9.8";
   name = "rapcad-${version}";
 
-  src = fetchgit {
-    url = "https://github.com/GilesBathgate/RapCAD.git";
-    rev = "refs/tags/v${version}";
-    sha256 = "1i5h4sw7mdbpdbssmbjccwgidndrsc606zz4wy9pjsg2wzrabw7x";
+  src = fetchFromGitHub {
+    owner = "gilesbathgate";
+    repo = "rapcad";
+    rev = "v${version}";
+    sha256 = "0a0sqf6h227zalh0jrz6jpm8iwji7q3i31plqk76i4qm9vsgrhir";
   };
 
-  buildInputs = [ qtbase qmakeHook cgal boost gmp mpfr flex bison dxflib readline mesa_glu ];
+  nativeBuildInputs = [ qmakeHook ];
+  buildInputs = [ qtbase cgal boost gmp mpfr flex bison dxflib readline mesa_glu ];
 
-  meta = {
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [raskin];
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    license = licenses.gpl3;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
     description = ''Constructive solid geometry package'';
   };
 }
diff --git a/pkgs/applications/graphics/sane/backends/brscan4/default.nix b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
index 063d0f13faf9..7037e944f3f9 100644
--- a/pkgs/applications/graphics/sane/backends/brscan4/default.nix
+++ b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
@@ -10,11 +10,19 @@ let
   udevRules = callPackage ./udev_rules_type1.nix {};
 
 in stdenv.mkDerivation rec {
-  name = "brscan4-0.4.3-3";
-  src = fetchurl {
-    url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
-    sha256 = "1nccyjl0b195pn6ya4q0zijb075q8r31v9z9a0hfzipfyvcj57n2";
-  };
+  name = "brscan4-0.4.4-2";
+  src = 
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "http://download.brother.com/welcome/dlf006646/${name}.i386.deb";
+        sha256 = "1rd6qmg49lvack8rg9kkqs3vxfvvqf2x45h93pkrhk8a4aj5c8ll";
+      }
+    else if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
+        sha256 = "1r3cq1k2a2bghibkckmk00x7y59ic31gv7jcsw7380szf1j3la59";
+      }
+    else throw "${name} is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
 
   unpackPhase = ''
     ar x $src
@@ -36,12 +44,12 @@ in stdenv.mkDerivation rec {
     done
   '';
 
-  installPhase = ''
+  installPhase = with stdenv.lib; ''
     PATH_TO_BRSCAN4="opt/brother/scanner/brscan4"
     mkdir -p $out/$PATH_TO_BRSCAN4
     cp -rp $PATH_TO_BRSCAN4/* $out/$PATH_TO_BRSCAN4
     mkdir -p $out/lib/sane
-    cp -rp usr/lib64/sane/* $out/lib/sane
+    cp -rp usr/lib${optionalString stdenv.is64bit "64"}/sane/* $out/lib/sane
 
     # Symbolic links were absolute. Fix them so that they point to $out.
     pushd "$out/lib/sane" > /dev/null
diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix
index d645a15b02ea..e97278148f99 100644
--- a/pkgs/applications/graphics/seg3d/default.nix
+++ b/pkgs/applications/graphics/seg3d/default.nix
@@ -48,4 +48,8 @@ stdenv.mkDerivation {
   '';
 
   buildInputs = [ cmake wxGTK itk mesa libXft libXext libXi zlib libXmu libuuid ];
+
+  meta = {
+    broken = true;
+  };
 }
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index fff0df35d052..794ddd522d9e 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -62,6 +62,7 @@ let
       kate = callPackage ./kate.nix {};
       kdenlive = callPackage ./kdenlive.nix {};
       kcalc = callPackage ./kcalc.nix {};
+      kcachegrind = callPackage ./kcachegrind.nix {};
       kcolorchooser = callPackage ./kcolorchooser.nix {};
       kcontacts = callPackage ./kcontacts.nix {};
       kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
@@ -76,6 +77,7 @@ let
       kmix = callPackage ./kmix.nix {};
       kompare = callPackage ./kompare.nix {};
       konsole = callPackage ./konsole.nix {};
+      krfb = callPackage ./krfb.nix {};
       kwalletmanager = callPackage ./kwalletmanager.nix {};
       libkdcraw = callPackage ./libkdcraw.nix {};
       libkexiv2 = callPackage ./libkexiv2.nix {};
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 607a16eb45b1..c31b8a865839 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.kde.org/stable/applications/16.12.2/ -A '*.tar.xz' )
+WGET_ARGS=( http://download.kde.org/stable/applications/16.12.3/ -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/kcachegrind.nix b/pkgs/applications/kde/kcachegrind.nix
new file mode 100644
index 000000000000..2f270d24224f
--- /dev/null
+++ b/pkgs/applications/kde/kcachegrind.nix
@@ -0,0 +1,27 @@
+{
+  kdeApp, lib, kdeWrapper,
+  cmake, automoc4,
+  kdelibs, perl, python, php
+}:
+
+kdeWrapper {
+  unwrapped = kdeApp {
+    name = "kcachegrind";
+    meta = {
+      license = with lib.licenses; [ gpl2 ];
+      maintainers = with lib.maintainers; [ orivej ];
+    };
+    nativeBuildInputs = [ cmake automoc4 ];
+    buildInputs = [ kdelibs perl python php ];
+    enableParallelBuilding = true;
+  };
+
+  targets = [
+    "bin/kcachegrind"
+    "bin/dprof2calltree"    # perl
+    "bin/hotshot2calltree"  # python
+    "bin/memprof2calltree"  # perl
+    "bin/op2calltree"       # perl
+    "bin/pprof2calltree"    # php
+  ];
+}
diff --git a/pkgs/applications/kde/kdelibs/default.nix b/pkgs/applications/kde/kdelibs/default.nix
index e7b7b0a0ec4d..8adcd4d1b472 100644
--- a/pkgs/applications/kde/kdelibs/default.nix
+++ b/pkgs/applications/kde/kdelibs/default.nix
@@ -28,11 +28,6 @@ kdeApp {
     ./0001-old-kde4-cmake-policies.patch
     ./0002-polkit-install-path.patch
     ./0003-remove_xdg_impurities.patch
-    (fetchpatch {
-     name = "SanitizeURLsBeforePassingThemToFindProxyForURL.patch";
-     url = "https://cgit.kde.org/kdelibs.git/patch/?id=1804c2fde7bf4e432c6cf5bb8cce5701c7010559";
-     sha256 = "1y9951wgx35yf24i6gjz219fhspyqri1jvbw4fybd8nwwjb6ciz1";
-   })
   ];
 
   # cmake does not detect path to `ilmbase`
diff --git a/pkgs/applications/kde/krfb.nix b/pkgs/applications/kde/krfb.nix
new file mode 100644
index 000000000000..ef5530be6fa6
--- /dev/null
+++ b/pkgs/applications/kde/krfb.nix
@@ -0,0 +1,22 @@
+{
+  kdeApp, lib, kdeWrapper,
+  extra-cmake-modules, kdoctools,
+  kdelibs4support, kdnssd, libvncserver, libXtst
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "krfb";
+      meta = {
+        license = with lib.licenses; [ gpl2 fdl12 ];
+        maintainers = with lib.maintainers; [ jerith666 ];
+      };
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+      propagatedBuildInputs = [ kdelibs4support kdnssd libvncserver libXtst ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/krfb" ];
+}
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index 60c412e55fda..445c5783b8ee 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -3,2227 +3,2227 @@
 
 {
   akonadi = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadi-16.12.2.tar.xz";
-      sha256 = "1csaa69n65d3cnkajzk5702vxskfaiajvxw724s17a5y6sgk0h5z";
-      name = "akonadi-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadi-16.12.3.tar.xz";
+      sha256 = "00sbchj3yjbqdjckrciv2c7j9i7kc5yqvyvbmjlxacbkq80a4j7w";
+      name = "akonadi-16.12.3.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadi-calendar-16.12.2.tar.xz";
-      sha256 = "1qfkwmh82l5ahzjpsla9gwwk2kqxv773ddq8f5h52qlxx56agc6k";
-      name = "akonadi-calendar-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadi-calendar-16.12.3.tar.xz";
+      sha256 = "0kv636a8x75fcagw8hjnrwnxzvqnnm42hfw68ywfics0pn0pl50g";
+      name = "akonadi-calendar-16.12.3.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadi-calendar-tools-16.12.2.tar.xz";
-      sha256 = "1isjvsas6fnz2v2a8yl6ggkimfknr56a3zydwhq59lzcm15hn0hj";
-      name = "akonadi-calendar-tools-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadi-calendar-tools-16.12.3.tar.xz";
+      sha256 = "157kmcl77pj32ysbwr1xw365p5pgk69w5j8397axly6dmdl71x47";
+      name = "akonadi-calendar-tools-16.12.3.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadiconsole-16.12.2.tar.xz";
-      sha256 = "188qb2lc6d0xhvq8n5y7ax13a6wz3agg1mx3j2kphwn8f53grgzb";
-      name = "akonadiconsole-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadiconsole-16.12.3.tar.xz";
+      sha256 = "195amn610y5ydg665ag45xb0l1wyplbdlrwagzc7yvswp12rlcv3";
+      name = "akonadiconsole-16.12.3.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadi-contacts-16.12.2.tar.xz";
-      sha256 = "1ixd1qzakxhq9qlfr6l8igii2ny8fi8hxasdadq9cyr5jl20rpgp";
-      name = "akonadi-contacts-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadi-contacts-16.12.3.tar.xz";
+      sha256 = "1205g4z5rz02j8swrmhncm06d8m727z63d526djygz5svz15sd2l";
+      name = "akonadi-contacts-16.12.3.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadi-import-wizard-16.12.2.tar.xz";
-      sha256 = "0xdmcs8l0lqqx2f2yabp1xx60h1jcz05q7lk6zzapzc0xqa8pqnq";
-      name = "akonadi-import-wizard-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadi-import-wizard-16.12.3.tar.xz";
+      sha256 = "0dnpiqcmphm2x76f21acrwhg7ah5ih0hnhxdy1d6pm3ng2p1irfq";
+      name = "akonadi-import-wizard-16.12.3.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadi-mime-16.12.2.tar.xz";
-      sha256 = "0w88splvk1ci6l590kybb8dgddhk8q0mqag1xxliws534kl9bd0s";
-      name = "akonadi-mime-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadi-mime-16.12.3.tar.xz";
+      sha256 = "1xay3rlygdhf9lp356wjb92wnmxdpaxgm3prxnfxcdg5ql6xcg07";
+      name = "akonadi-mime-16.12.3.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadi-notes-16.12.2.tar.xz";
-      sha256 = "181d4sv6vqrx0iy5fwdpd28h78i0jy4bj51jxbdn7fqmx1mavbkl";
-      name = "akonadi-notes-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadi-notes-16.12.3.tar.xz";
+      sha256 = "0405nkz9ri9qlclgvwycvdx1gsms2pm1fn6xhvyrj2v4s8brb3r7";
+      name = "akonadi-notes-16.12.3.tar.xz";
     };
   };
   akonadi-search = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akonadi-search-16.12.2.tar.xz";
-      sha256 = "1jfcpjn45cxxnfg9y15fjkig6nfj6w8ggq3a7339kdhb79lkh1p5";
-      name = "akonadi-search-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akonadi-search-16.12.3.tar.xz";
+      sha256 = "0wf22rmfz471iw6zxl7yz279fkks2pj5jfw4bs5185kr3xw2q7zp";
+      name = "akonadi-search-16.12.3.tar.xz";
     };
   };
   akregator = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/akregator-16.12.2.tar.xz";
-      sha256 = "0yyjpl6kajy0ip60m6vf0jnm217m5ax34a5y14k1wj7civ4fz9il";
-      name = "akregator-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/akregator-16.12.3.tar.xz";
+      sha256 = "1v6jg35ha6wrjgwfvrvy1qwl1700dmk40d0fwy1irkpdlgg79128";
+      name = "akregator-16.12.3.tar.xz";
     };
   };
   analitza = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/analitza-16.12.2.tar.xz";
-      sha256 = "1jii70a2nppfzqlzwrjvawfq2cfjqrcsj0mbpgahb8zphcfs5xhy";
-      name = "analitza-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/analitza-16.12.3.tar.xz";
+      sha256 = "0ap3sf8bw9f58pzw3zy6w60apd4ccc47zs3v61x4kp1g81rn265w";
+      name = "analitza-16.12.3.tar.xz";
     };
   };
   ark = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ark-16.12.2.tar.xz";
-      sha256 = "07jp25jqnfcx48x7w0wwyldk56czyx2341yf2k73p3fy67rldlr3";
-      name = "ark-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ark-16.12.3.tar.xz";
+      sha256 = "0q1bxrsb03pwsvxqlbnzfmahlj300l336pdrm82vin89m294ird0";
+      name = "ark-16.12.3.tar.xz";
     };
   };
   artikulate = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/artikulate-16.12.2.tar.xz";
-      sha256 = "11065zl5gdc1q7rvzmjvbz33k9xhdph7ynqwnv628c6a0478xwc5";
-      name = "artikulate-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/artikulate-16.12.3.tar.xz";
+      sha256 = "113k6c0yrir61j258gn9n6k7fifa6g9g8wxf3zq18jy3liwdl97s";
+      name = "artikulate-16.12.3.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/audiocd-kio-16.12.2.tar.xz";
-      sha256 = "184grq1nfpv9sfcsk6kcx6bdnbh938jc3qr6n00gnnj509347xga";
-      name = "audiocd-kio-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/audiocd-kio-16.12.3.tar.xz";
+      sha256 = "0bmmi2rxx368nss8ciwj32dspc1ailc0shm06ynmhw3slrplnx1y";
+      name = "audiocd-kio-16.12.3.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/baloo-widgets-16.12.2.tar.xz";
-      sha256 = "000v5s33j6qsdbxqf856si0z5dmh9dan41kf2lrzc017hj6pr34x";
-      name = "baloo-widgets-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/baloo-widgets-16.12.3.tar.xz";
+      sha256 = "0h75zhdiylyjifdk9ikw9gpwla3p87knndc2svkci90ga7ynggvl";
+      name = "baloo-widgets-16.12.3.tar.xz";
     };
   };
   blinken = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/blinken-16.12.2.tar.xz";
-      sha256 = "1wcl8199wg74cv9hyrhcpqkf1awpf3q960jzgfv0z0c28xywb76x";
-      name = "blinken-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/blinken-16.12.3.tar.xz";
+      sha256 = "1z50ack1iqh194vn487nhdkrbn1camswy4a3g2ayxv3qfgmxdcga";
+      name = "blinken-16.12.3.tar.xz";
     };
   };
   blogilo = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/blogilo-16.12.2.tar.xz";
-      sha256 = "0j5mz8nfndr0g99l84s7n3gxrj6y4jbql1srnyl0yspmcjwmnc09";
-      name = "blogilo-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/blogilo-16.12.3.tar.xz";
+      sha256 = "14yl52m8x7b8bj2b7pkhabwg7rrmmhnkjq4z7mrxbnsndqmsi10f";
+      name = "blogilo-16.12.3.tar.xz";
     };
   };
   bomber = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/bomber-16.12.2.tar.xz";
-      sha256 = "1fy17y5grir6kbr7xzclslrxyip4favhag6wasg9ah60r6k15cqc";
-      name = "bomber-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/bomber-16.12.3.tar.xz";
+      sha256 = "1h4s6amjzazr3ywcqw8d14a0fi1arzxka0g6i9ii85s904k23r41";
+      name = "bomber-16.12.3.tar.xz";
     };
   };
   bovo = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/bovo-16.12.2.tar.xz";
-      sha256 = "0dszbxisq172x5jv10w62wg3kcs1f8wdxgw9pjq423j3jq8rw9zq";
-      name = "bovo-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/bovo-16.12.3.tar.xz";
+      sha256 = "1pr67gf47xmw21sv1im7k0dz18bhjfpbkhd7j5gaifj66h65sfy6";
+      name = "bovo-16.12.3.tar.xz";
     };
   };
   calendarsupport = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/calendarsupport-16.12.2.tar.xz";
-      sha256 = "065h09kq6h2hr4lg34lqckw0g91zkhxpviagdgymx7qpdy36l2sb";
-      name = "calendarsupport-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/calendarsupport-16.12.3.tar.xz";
+      sha256 = "0r30z2wzyms7m7s8y0livsfy5pj82g988bs6amaj2571hz55d8y0";
+      name = "calendarsupport-16.12.3.tar.xz";
     };
   };
   cantor = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/cantor-16.12.2.tar.xz";
-      sha256 = "055sxyl2x2mipnidrsgkmbjy4vw64pf5k0fql64p7pjhknn3i6x4";
-      name = "cantor-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/cantor-16.12.3.tar.xz";
+      sha256 = "1nzg9sfnv8afpa84x51whbw1qh8gfwqnkr5zyai7817kkc97g1l8";
+      name = "cantor-16.12.3.tar.xz";
     };
   };
   cervisia = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/cervisia-16.12.2.tar.xz";
-      sha256 = "1fdnvdp27wa8pni4vq501ajdln6dmg2kc0468x1c375g734npabx";
-      name = "cervisia-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/cervisia-16.12.3.tar.xz";
+      sha256 = "14r55ngvz4rci1h3iqdwbfcyxmm2b04c5smkv9x0bqxq4zz2yfvk";
+      name = "cervisia-16.12.3.tar.xz";
     };
   };
   dolphin = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/dolphin-16.12.2.tar.xz";
-      sha256 = "1xqkrkhpcxcrrk3msd7fkhqikwrx2mjd0c4cna2iwd0s4h7ahmy6";
-      name = "dolphin-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/dolphin-16.12.3.tar.xz";
+      sha256 = "0y35ljbjib4pvyngdgbq1yx3rfmy94crpa7v1zzwfav94lm3kwb2";
+      name = "dolphin-16.12.3.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/dolphin-plugins-16.12.2.tar.xz";
-      sha256 = "07i4w95b20db51bzg0rnx6m3dgk2bz5nwivz6zngfiiksmb39dj3";
-      name = "dolphin-plugins-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/dolphin-plugins-16.12.3.tar.xz";
+      sha256 = "18azlmzw33praz4z6lamamj79gyxbbdgz7lp1cimxyddhmacc2x9";
+      name = "dolphin-plugins-16.12.3.tar.xz";
     };
   };
   dragon = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/dragon-16.12.2.tar.xz";
-      sha256 = "07iip379kpwy8yfiwacykkgzj7bfw2nz3vij61q68lr64k5sg4kk";
-      name = "dragon-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/dragon-16.12.3.tar.xz";
+      sha256 = "1652cl6sa9d71c685xpwqv5hgz3spxg2hynwcnn8xybn5hv9ar4r";
+      name = "dragon-16.12.3.tar.xz";
     };
   };
   eventviews = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/eventviews-16.12.2.tar.xz";
-      sha256 = "1hl0adi0ss533mnncyih3y9075i90accklbk8068dvxb7la9b7zd";
-      name = "eventviews-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/eventviews-16.12.3.tar.xz";
+      sha256 = "0z8jznvw2nhszrlll7458gb4r0585ivkbq9dqplkw2mdrv7vxz5c";
+      name = "eventviews-16.12.3.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ffmpegthumbs-16.12.2.tar.xz";
-      sha256 = "0p1fqxqcgz3k910acacr86pa66yl5d65wxf93nlg4627dfhmrbkc";
-      name = "ffmpegthumbs-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ffmpegthumbs-16.12.3.tar.xz";
+      sha256 = "1scyyd85rs21rv3ghcxv7pw3aa2nl703gi4dpikbsd7wjmxixzq9";
+      name = "ffmpegthumbs-16.12.3.tar.xz";
     };
   };
   filelight = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/filelight-16.12.2.tar.xz";
-      sha256 = "0ynqnagyrn61gzvi0rl38200yxbxa2zpch3cl917wff527kjd7cw";
-      name = "filelight-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/filelight-16.12.3.tar.xz";
+      sha256 = "13gcx1w9zq3i9fy32m3ypjyqcd9vrkqyr0j4cbqfvhpzv2chk3is";
+      name = "filelight-16.12.3.tar.xz";
     };
   };
   granatier = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/granatier-16.12.2.tar.xz";
-      sha256 = "01b0nvfj5v2spaml003bpd4f5snncxsilfplwgb06kf8wwsb9mzd";
-      name = "granatier-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/granatier-16.12.3.tar.xz";
+      sha256 = "17vpz6jz2vvpvsrhvllglacrwg0sxy15aqnm8n6d73sk9zlv9n76";
+      name = "granatier-16.12.3.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/grantlee-editor-16.12.2.tar.xz";
-      sha256 = "16r1f7vwsqfngv3kld4wqmvxn4pnxgcpiaaxa2z9szsjfrz10bp9";
-      name = "grantlee-editor-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/grantlee-editor-16.12.3.tar.xz";
+      sha256 = "007q6cb5f3vzw6dwm2y2b5m3dhb5mws5b6083ssm8rydycyi9pzi";
+      name = "grantlee-editor-16.12.3.tar.xz";
     };
   };
   grantleetheme = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/grantleetheme-16.12.2.tar.xz";
-      sha256 = "09qr7icbkq4my594xkjkydkfwx8sixbc73i3gxjnki64w549gan2";
-      name = "grantleetheme-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/grantleetheme-16.12.3.tar.xz";
+      sha256 = "19mka62p75qnv6r9ib70y25jjj3bpziz0xqihfkb6jvafrgy8p8k";
+      name = "grantleetheme-16.12.3.tar.xz";
     };
   };
   gwenview = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/gwenview-16.12.2.tar.xz";
-      sha256 = "1ldflh10b34r9xy8a8yh72jcjdxs3ylhyjhs97xcg381q4dyg1dr";
-      name = "gwenview-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/gwenview-16.12.3.tar.xz";
+      sha256 = "069fblw9g9h6r9gy05nj2n93jpnsx610jncwl6403q01rwlbrgbr";
+      name = "gwenview-16.12.3.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/incidenceeditor-16.12.2.tar.xz";
-      sha256 = "0z8ysrdkxfkn71anlzifd0dxh6fysl924jh4wjsphb4dnb417rym";
-      name = "incidenceeditor-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/incidenceeditor-16.12.3.tar.xz";
+      sha256 = "11jplw3fngnyvpjkhqwv1gzzwxxcm4v93h09f68hs015apncjvpp";
+      name = "incidenceeditor-16.12.3.tar.xz";
     };
   };
   jovie = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/jovie-16.12.2.tar.xz";
-      sha256 = "19ifp3p02ayka2zqnwfq381mjqpxhm0hydf1yx9lh2p8n6j9s4gy";
-      name = "jovie-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/jovie-16.12.3.tar.xz";
+      sha256 = "190c4g587x4wxbfksf0mszq5qv1pzny6bkd3w2pwwsj222bl0fxa";
+      name = "jovie-16.12.3.tar.xz";
     };
   };
   juk = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/juk-16.12.2.tar.xz";
-      sha256 = "1453s0zxagqmx91f3x7fqrb6xdlgzr2sqj6hcj2pgl6jaz2x3n1c";
-      name = "juk-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/juk-16.12.3.tar.xz";
+      sha256 = "1ssgia5sknam2hnjflzglv0khxbwyyvzm4w1wmxw04rbjzs4gi4h";
+      name = "juk-16.12.3.tar.xz";
     };
   };
   kaccessible = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kaccessible-16.12.2.tar.xz";
-      sha256 = "1ibh2nw4bdnj1ll8qp3d3vkwvzdkv2k53n98p9282w3jhckpiq5r";
-      name = "kaccessible-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kaccessible-16.12.3.tar.xz";
+      sha256 = "162a4pw61b3rhq5mf7zdhgyyhbrxhr9fjw7bidicw7aljiy2cwb9";
+      name = "kaccessible-16.12.3.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kaccounts-integration-16.12.2.tar.xz";
-      sha256 = "0nx9wlh7arjqz0wf2zyaj3fwzm7sn38hn00m74mj7zvxr1pwcypv";
-      name = "kaccounts-integration-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kaccounts-integration-16.12.3.tar.xz";
+      sha256 = "0w8h33sysf590xyg4bvf2a2z39kzc0wn6mxv31mrf68b6ks7b9h2";
+      name = "kaccounts-integration-16.12.3.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kaccounts-providers-16.12.2.tar.xz";
-      sha256 = "0dln1l44bzaw782qjc57w2hgydbqzn4g7xh8d93qq52yz8ph875g";
-      name = "kaccounts-providers-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kaccounts-providers-16.12.3.tar.xz";
+      sha256 = "0iqqwfjadsf7nhrqvpzypazipris4ljhf6daprxwxqa2bfigr5j2";
+      name = "kaccounts-providers-16.12.3.tar.xz";
     };
   };
   kaddressbook = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kaddressbook-16.12.2.tar.xz";
-      sha256 = "023mfnin8si234yczhhfm3nk083w8bixg1b3gr8bzc1x92ka93m2";
-      name = "kaddressbook-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kaddressbook-16.12.3.tar.xz";
+      sha256 = "1a86asy0pw8ivyg7aaw2mais4xbplabp5aljzcyb2rykij6482rh";
+      name = "kaddressbook-16.12.3.tar.xz";
     };
   };
   kajongg = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kajongg-16.12.2.tar.xz";
-      sha256 = "0909hzwj8yf6sv97r2rgzbp8l7ixlxxy8nwy8dcv471dznlvqznn";
-      name = "kajongg-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kajongg-16.12.3.tar.xz";
+      sha256 = "0xwwkl2npls0aq4435xlcvssm8pmfhramjgxv70mnjapr0dlpk5c";
+      name = "kajongg-16.12.3.tar.xz";
     };
   };
   kalarm = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kalarm-16.12.2.tar.xz";
-      sha256 = "1znp4lym95jz93wwn1nrw9q8nkbwg7x489iccndrv4pl93jfsnqk";
-      name = "kalarm-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kalarm-16.12.3.tar.xz";
+      sha256 = "1n3h252cvqib1bx4ryq3xgj2mkqr38wvhiyj2vkkll4pf5lphpqz";
+      name = "kalarm-16.12.3.tar.xz";
     };
   };
   kalarmcal = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kalarmcal-16.12.2.tar.xz";
-      sha256 = "06rx33hdwz940cggr5rg6g1gh84yzz6vrnvk5lrgr8vxqgrssp3s";
-      name = "kalarmcal-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kalarmcal-16.12.3.tar.xz";
+      sha256 = "064sihcsbdi1w6viv5gq6sw2m8r7x3nn1hl2aji1109pf5913vbr";
+      name = "kalarmcal-16.12.3.tar.xz";
     };
   };
   kalgebra = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kalgebra-16.12.2.tar.xz";
-      sha256 = "02yykjrsa01r697bk4jsly7762hvml7f67gy33vgywhh8lz3h3cd";
-      name = "kalgebra-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kalgebra-16.12.3.tar.xz";
+      sha256 = "0qhini5gm41dlyham4zzqgz6r11s2rfwwphb81xvwp1bgn8q2rqb";
+      name = "kalgebra-16.12.3.tar.xz";
     };
   };
   kalzium = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kalzium-16.12.2.tar.xz";
-      sha256 = "043prql6bwg2ka6y0inh8h46y7d5060b0h2inw0lhm49vizgkmsh";
-      name = "kalzium-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kalzium-16.12.3.tar.xz";
+      sha256 = "0rlfjqfb1vpr0cdcx429nvrbkr7kc1m4ps3z3pphkajq4vlrql8i";
+      name = "kalzium-16.12.3.tar.xz";
     };
   };
   kamera = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kamera-16.12.2.tar.xz";
-      sha256 = "1kxmjpk0vdj9s3kxgcp2vw8dpx4r69j3jwifyvzrh06sg9z0bnqd";
-      name = "kamera-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kamera-16.12.3.tar.xz";
+      sha256 = "04p19qv5ssf5wlpfqzhqsi8281pzcdjkd0jy177f9r7qgqq4lkgr";
+      name = "kamera-16.12.3.tar.xz";
     };
   };
   kanagram = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kanagram-16.12.2.tar.xz";
-      sha256 = "09d20x0z066pgkwp25ig49v78k89nyxs769a3zjmq1y490nm34y1";
-      name = "kanagram-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kanagram-16.12.3.tar.xz";
+      sha256 = "183hkxxwf7h335gmfvi2lppsyhpv80lvlg1fg4whq79f1d2lrw47";
+      name = "kanagram-16.12.3.tar.xz";
     };
   };
   kapman = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kapman-16.12.2.tar.xz";
-      sha256 = "0g9swdgz8sd49q3sw2107b50ww978nppzp1b7bkv7ygiz49p28bq";
-      name = "kapman-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kapman-16.12.3.tar.xz";
+      sha256 = "1if3dzn1qy2pr42zcmzpq7f38spkxh492gl12vndckzah67cmz4g";
+      name = "kapman-16.12.3.tar.xz";
     };
   };
   kapptemplate = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kapptemplate-16.12.2.tar.xz";
-      sha256 = "1agpq16wxbzd7crgbj1cj60alqv090dkvxi2szg054bmks82j6rc";
-      name = "kapptemplate-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kapptemplate-16.12.3.tar.xz";
+      sha256 = "036npdxyh9rx0aaiwvdjqrb39f8bqglqbl3iddb1vh7w9p1h158n";
+      name = "kapptemplate-16.12.3.tar.xz";
     };
   };
   kate = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kate-16.12.2.tar.xz";
-      sha256 = "1hkqzidd2cfp3wg7pq47ymsw1dh26qwn4cybnxw23d95ss85wx2p";
-      name = "kate-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kate-16.12.3.tar.xz";
+      sha256 = "1fbrdlf64bdj71g692fkk7fiym0nm9vvbki2q105carrhl4w9s0r";
+      name = "kate-16.12.3.tar.xz";
     };
   };
   katomic = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/katomic-16.12.2.tar.xz";
-      sha256 = "1sgi8npzq3p7qwv3c4q8ji83gp33zxb0i19dx2i6rb45lir3lj68";
-      name = "katomic-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/katomic-16.12.3.tar.xz";
+      sha256 = "14dnfjww1fzgz3nbg45ck5yqbxdyvp0la9qs4n5cjy1ym52k5pjm";
+      name = "katomic-16.12.3.tar.xz";
     };
   };
   kblackbox = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kblackbox-16.12.2.tar.xz";
-      sha256 = "1cv5kqyqspiz0aaamnyq37s683m2iw27ma6yf3blm5f9g1r43n2k";
-      name = "kblackbox-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kblackbox-16.12.3.tar.xz";
+      sha256 = "0i359pq65swrzsb7vdk0m00vjrj2xgvbgxin8ly2cijqlmfd3iv8";
+      name = "kblackbox-16.12.3.tar.xz";
     };
   };
   kblocks = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kblocks-16.12.2.tar.xz";
-      sha256 = "1xd5pxpi97nmrp4xglhm2qfpz8ksv8vyq4wrv25qbgvfc8jis790";
-      name = "kblocks-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kblocks-16.12.3.tar.xz";
+      sha256 = "09kdbwya4xl84vzayhz286lmfb6a0mmp9i40hzldfl59as4d67kw";
+      name = "kblocks-16.12.3.tar.xz";
     };
   };
   kblog = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kblog-16.12.2.tar.xz";
-      sha256 = "001mqvahsmf4amxqmz2ah5chlgpp2zi8g4pcg83qb9d65cvr6877";
-      name = "kblog-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kblog-16.12.3.tar.xz";
+      sha256 = "0q1qswg7dgy0jvk9kaz6cps6sfddsmv0lp5r3nhk751l497bbl3x";
+      name = "kblog-16.12.3.tar.xz";
     };
   };
   kbounce = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kbounce-16.12.2.tar.xz";
-      sha256 = "1gsrafcjk55lbxi2mx382hj2lahlgnn3pv13ldi7zh6ms4sms1wm";
-      name = "kbounce-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kbounce-16.12.3.tar.xz";
+      sha256 = "0cwvsbw0a60a2csxqvpkm3znbcd1whsl80v63ljyc3gyik7wxil0";
+      name = "kbounce-16.12.3.tar.xz";
     };
   };
   kbreakout = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kbreakout-16.12.2.tar.xz";
-      sha256 = "0lwwz17ynhdi6qw76yih8an6p890w8gwh1khsr8casc1wlm04s0y";
-      name = "kbreakout-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kbreakout-16.12.3.tar.xz";
+      sha256 = "0zszxxw7r7ggxhc47pngsi7bl57mnhbzkb0bhvy5rcyamgi90v39";
+      name = "kbreakout-16.12.3.tar.xz";
     };
   };
   kbruch = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kbruch-16.12.2.tar.xz";
-      sha256 = "1n119nkm0385pv8pngsbwxd56v6y6pwh0rshbk0ryd7974i2z4mi";
-      name = "kbruch-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kbruch-16.12.3.tar.xz";
+      sha256 = "12zmp9ix8q9mf3a4xpbsr0y9h4g1srwx48604x1phdwwdhgx0gsj";
+      name = "kbruch-16.12.3.tar.xz";
     };
   };
   kcachegrind = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kcachegrind-16.12.2.tar.xz";
-      sha256 = "0wcizav1z3n31n7qcc05mx42vl2rv71c7haaa8vn0ma39rj4iaqv";
-      name = "kcachegrind-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kcachegrind-16.12.3.tar.xz";
+      sha256 = "109y94nz96izzsjjdpj9c6g344rcr86srp5w0433mssbyvym4x7q";
+      name = "kcachegrind-16.12.3.tar.xz";
     };
   };
   kcalc = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kcalc-16.12.2.tar.xz";
-      sha256 = "07lyssmkq34ym1w3ajm1vf4f57xv2h8y2zb039vj7gdx609syaq0";
-      name = "kcalc-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kcalc-16.12.3.tar.xz";
+      sha256 = "06kfz1d5i01h31v277y04pqnx08yv0050rlb6phv72cx6div4mgp";
+      name = "kcalc-16.12.3.tar.xz";
     };
   };
   kcalcore = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kcalcore-16.12.2.tar.xz";
-      sha256 = "1lq5shp8jwy490qx0rnc0sd67976r7j3sblzw0j5hn95k8n23hzd";
-      name = "kcalcore-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kcalcore-16.12.3.tar.xz";
+      sha256 = "09i43vs6jpjmmk52df6pzclh0jn8shn3wfnaivw2wlirwa60d901";
+      name = "kcalcore-16.12.3.tar.xz";
     };
   };
   kcalutils = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kcalutils-16.12.2.tar.xz";
-      sha256 = "1sf5f8mwjdi2d8lpkrprnqc9jkj72p6mdz3pbczmixgfy7d7y4ci";
-      name = "kcalutils-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kcalutils-16.12.3.tar.xz";
+      sha256 = "0449029fa1w496fmb81csb5amk801n11ish450drqw34lp9qla4n";
+      name = "kcalutils-16.12.3.tar.xz";
     };
   };
   kcharselect = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kcharselect-16.12.2.tar.xz";
-      sha256 = "0a5cmc6n9h8h64in68qdi8bmqx341fvm8vf98vcqn5sivwwnflhc";
-      name = "kcharselect-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kcharselect-16.12.3.tar.xz";
+      sha256 = "1iwqqds9fy970ykgq1xbpbrzpdacy1h4bw87h1jingi42z1jkw2n";
+      name = "kcharselect-16.12.3.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kcolorchooser-16.12.2.tar.xz";
-      sha256 = "07psjid00bjw0s6xx2hq96f8cj2axdsr7lqvgrclksa07lphzcvm";
-      name = "kcolorchooser-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kcolorchooser-16.12.3.tar.xz";
+      sha256 = "13nkvxl3z2l3m6zs057ipxgqfgsw7gma1rs66maqhzl30k3hrcyb";
+      name = "kcolorchooser-16.12.3.tar.xz";
     };
   };
   kcontacts = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kcontacts-16.12.2.tar.xz";
-      sha256 = "18z7894xh1ifkg177xxy41n61djcy07m8a39favbpab0ya1xk81l";
-      name = "kcontacts-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kcontacts-16.12.3.tar.xz";
+      sha256 = "1479g32c9532pjgmfpy38vycii1sxk1nzv27z7wbgpxch6735szx";
+      name = "kcontacts-16.12.3.tar.xz";
     };
   };
   kcron = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kcron-16.12.2.tar.xz";
-      sha256 = "1z72wcrr8ggw89ivq70v98zwg1hw3sn5l5czpq00scqpaf8664g2";
-      name = "kcron-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kcron-16.12.3.tar.xz";
+      sha256 = "0whxc9h7qn0fwcca9sq6qy0j4hfb8xlkdypnb6gspl687ws799xz";
+      name = "kcron-16.12.3.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdebugsettings-16.12.2.tar.xz";
-      sha256 = "1zbmvn9c1sjjxiskivl0s4mpmh52hqj7921v2bac7bvqd2hkc5cv";
-      name = "kdebugsettings-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdebugsettings-16.12.3.tar.xz";
+      sha256 = "0mkhklv4dynz23w8w9yh5qspdlfp3hi6fyiijyfwj358rqgbf3p5";
+      name = "kdebugsettings-16.12.3.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-dev-scripts-16.12.2.tar.xz";
-      sha256 = "0l4sbzpnczixavyppc3swb09jna44rb61awwgh37ngsz97iza3sx";
-      name = "kde-dev-scripts-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-dev-scripts-16.12.3.tar.xz";
+      sha256 = "0kiddn0wg90p98zgnpq3x2hcfw8xczn98nyd21zbkzz357v14pya";
+      name = "kde-dev-scripts-16.12.3.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-dev-utils-16.12.2.tar.xz";
-      sha256 = "0fhf9w5v355jsrr25yhj612gi0qh8kvrbfdfplns04q7viycn44f";
-      name = "kde-dev-utils-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-dev-utils-16.12.3.tar.xz";
+      sha256 = "0svbl7yd5vz285gaymxy5mz0ll6fviamrbd6fjhj7rc4qx1gjgin";
+      name = "kde-dev-utils-16.12.3.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdeedu-data-16.12.2.tar.xz";
-      sha256 = "05jhqasi5h5dl4xlydx6jmn1i81qd8q8bzimhc2f9bwakkhqf73b";
-      name = "kdeedu-data-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdeedu-data-16.12.3.tar.xz";
+      sha256 = "0vqzamp5fc2d0i9qn6986f3a1s1fdbrlzrsnimpdfcas5xngbv5m";
+      name = "kdeedu-data-16.12.3.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdegraphics-mobipocket-16.12.2.tar.xz";
-      sha256 = "07mpm55ipdqq6absvhcsrbc3c9xmb3b5bnl5k852mqpp0v36ijs8";
-      name = "kdegraphics-mobipocket-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdegraphics-mobipocket-16.12.3.tar.xz";
+      sha256 = "06zqny8idaw7s85h7iprbwdp7y1qspfp7yh5klwav12p72nn54w2";
+      name = "kdegraphics-mobipocket-16.12.3.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdegraphics-thumbnailers-16.12.2.tar.xz";
-      sha256 = "0asv8wjr5nm5i6zylvhn8qgxvpr79yg681rc6mg1liimimwzxia3";
-      name = "kdegraphics-thumbnailers-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdegraphics-thumbnailers-16.12.3.tar.xz";
+      sha256 = "01q2czzqq240cbp9yg7mji2q15kmiwn1aqs6iii00i56yy2mwaxq";
+      name = "kdegraphics-thumbnailers-16.12.3.tar.xz";
     };
   };
   kde-l10n-ar = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ar-16.12.2.tar.xz";
-      sha256 = "0an0r2l4vc2sdi4lc2p7iks9gnwasgvxnq81vf3qb40q290x4fim";
-      name = "kde-l10n-ar-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ar-16.12.3.tar.xz";
+      sha256 = "1a6in9zq0a4a1v7mijm7gdrprkb5djp4qzyrbrwwlyzpk0sjs153";
+      name = "kde-l10n-ar-16.12.3.tar.xz";
     };
   };
   kde-l10n-ast = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ast-16.12.2.tar.xz";
-      sha256 = "0fjpypz9w1ic9w75gpp1c71l43x3j8nm37h1bgbqkyik3spxin2l";
-      name = "kde-l10n-ast-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ast-16.12.3.tar.xz";
+      sha256 = "05di4xbm8viam0lz6gsyl8zip01dan5bb3h1ib7n7ri4rd49gb13";
+      name = "kde-l10n-ast-16.12.3.tar.xz";
     };
   };
   kde-l10n-bg = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-bg-16.12.2.tar.xz";
-      sha256 = "1iwcs8nz2rfi0b05ypl6mydiw02c64hscy3zlz998nww65x3nks0";
-      name = "kde-l10n-bg-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-bg-16.12.3.tar.xz";
+      sha256 = "1clqz50ri2zpsaqvlwq01jc44d2w4abpwaqd37jcvcpjg836kj32";
+      name = "kde-l10n-bg-16.12.3.tar.xz";
     };
   };
   kde-l10n-bs = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-bs-16.12.2.tar.xz";
-      sha256 = "0kps4paygx10l2nijwd946wns6sxlgn2771fzv1cmn5h1smffhkn";
-      name = "kde-l10n-bs-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-bs-16.12.3.tar.xz";
+      sha256 = "1lfpq4lixamh08vmmj8ai8pzdybs1anlg8vfb6lnxj3dpplxxjdv";
+      name = "kde-l10n-bs-16.12.3.tar.xz";
     };
   };
   kde-l10n-ca = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ca-16.12.2.tar.xz";
-      sha256 = "0r6yccw7fdi2dsz9qf9rccgdmznkc66z5c51asdhrmyzq4x7c7r2";
-      name = "kde-l10n-ca-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ca-16.12.3.tar.xz";
+      sha256 = "1h3d7gdpixiqn4gyk1z9lj5k4bhf4719w1rcfzcajrpwrmvdfvms";
+      name = "kde-l10n-ca-16.12.3.tar.xz";
     };
   };
   kde-l10n-ca_valencia = {
-    version = "ca_valencia-16.12.2";
+    version = "ca_valencia-16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ca@valencia-16.12.2.tar.xz";
-      sha256 = "15wpsjzk9z61rpai8dzpzi5j9w57nmhm7fx4b6i5hsr9c4ypmi01";
-      name = "kde-l10n-ca_valencia-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ca@valencia-16.12.3.tar.xz";
+      sha256 = "00g1124n84lq380srykcr4yigqr5w9xivssj27jf1ak40vyanln0";
+      name = "kde-l10n-ca_valencia-16.12.3.tar.xz";
     };
   };
   kde-l10n-cs = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-cs-16.12.2.tar.xz";
-      sha256 = "1z6a3rl7p0wmq6zs8fap052dp5hvlpzxf4xvjxk9c75wl2m9nvlg";
-      name = "kde-l10n-cs-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-cs-16.12.3.tar.xz";
+      sha256 = "0nvl0lbg1pw1r73ggycfqjvlga6lg7gyin4bigyjcq41k9y6xf91";
+      name = "kde-l10n-cs-16.12.3.tar.xz";
     };
   };
   kde-l10n-da = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-da-16.12.2.tar.xz";
-      sha256 = "0zi7h0cvzza1ly88821fsl2bnr2vn524rrdqsfc9yj3z1jbpnn2h";
-      name = "kde-l10n-da-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-da-16.12.3.tar.xz";
+      sha256 = "1bsv0z0q5fqgn2jkgazm3aazi6s9crz23acwx9p2w7fc7h98bqpq";
+      name = "kde-l10n-da-16.12.3.tar.xz";
     };
   };
   kde-l10n-de = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-de-16.12.2.tar.xz";
-      sha256 = "0s1c22ad1r0qxpkc878gxz2wqkb52qrn1k753kqpn9105p5l92fh";
-      name = "kde-l10n-de-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-de-16.12.3.tar.xz";
+      sha256 = "0ym6f1n86rvbwdk0xlx2ajfv4l70kw3qir8z82d2jf5dhgz9h2k6";
+      name = "kde-l10n-de-16.12.3.tar.xz";
     };
   };
   kde-l10n-el = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-el-16.12.2.tar.xz";
-      sha256 = "02d4j12yr4v9apa3iziza611v6cgjf6725wgd41g00pj41p61kcq";
-      name = "kde-l10n-el-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-el-16.12.3.tar.xz";
+      sha256 = "1dd51kh52rq9y3r2iz985ib2bpi109vf2xv2abkm8ddsfmb1mq6c";
+      name = "kde-l10n-el-16.12.3.tar.xz";
     };
   };
   kde-l10n-en_GB = {
-    version = "en_GB-16.12.2";
+    version = "en_GB-16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-en_GB-16.12.2.tar.xz";
-      sha256 = "09h3zsq5qhzyagl8xysv74g2iv26739y02xgbwv5dahv0iln99rs";
-      name = "kde-l10n-en_GB-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-en_GB-16.12.3.tar.xz";
+      sha256 = "0yc6fk5ak0442gv1gxwwz2zz13s9d1ihlfkvl8aqi6zky5b6c91n";
+      name = "kde-l10n-en_GB-16.12.3.tar.xz";
     };
   };
   kde-l10n-eo = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-eo-16.12.2.tar.xz";
-      sha256 = "1isqdnnj1g9jxagns3yq611pfd6nbanji9a8igfgm55djj5hx527";
-      name = "kde-l10n-eo-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-eo-16.12.3.tar.xz";
+      sha256 = "0p43p1as9s2x4145k59li39fvg77c38mjnlb16zhb5bg5c0r1401";
+      name = "kde-l10n-eo-16.12.3.tar.xz";
     };
   };
   kde-l10n-es = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-es-16.12.2.tar.xz";
-      sha256 = "0h3c5an1i072rk9mkc9mc6k3bvlk37slhgl6qy3rs2l77mhhnpyi";
-      name = "kde-l10n-es-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-es-16.12.3.tar.xz";
+      sha256 = "194svk1axicbijy4ywsrn1q27pzrm3g139i63388qh3lzv8654p1";
+      name = "kde-l10n-es-16.12.3.tar.xz";
     };
   };
   kde-l10n-et = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-et-16.12.2.tar.xz";
-      sha256 = "0dpkxwpl17pgimx94v67wq90fzdayp6p3wcz7y0g8b0hn3bsbidj";
-      name = "kde-l10n-et-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-et-16.12.3.tar.xz";
+      sha256 = "1q0mrc517jr5hicklhzvs6vw5vwgvb2gj3fi93a9iqxbw1a794pk";
+      name = "kde-l10n-et-16.12.3.tar.xz";
     };
   };
   kde-l10n-eu = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-eu-16.12.2.tar.xz";
-      sha256 = "0q7l5s502ayr2vfa4ysvk4c6k5i8y5ci6yb34mm3lpwlain3bssb";
-      name = "kde-l10n-eu-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-eu-16.12.3.tar.xz";
+      sha256 = "0dgwklynwwksdm0dxk8dm53y0v92kfin6vgwpn2scc97fns16r08";
+      name = "kde-l10n-eu-16.12.3.tar.xz";
     };
   };
   kde-l10n-fa = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-fa-16.12.2.tar.xz";
-      sha256 = "03qvv814kvddf24fjvg55pbxaq58kc936b5qwbddxjr05n1dy964";
-      name = "kde-l10n-fa-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-fa-16.12.3.tar.xz";
+      sha256 = "1ywipqg2dv3dapp3m7sfhap4izhabb4srk3gpl2kd2wx0abnwmdb";
+      name = "kde-l10n-fa-16.12.3.tar.xz";
     };
   };
   kde-l10n-fi = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-fi-16.12.2.tar.xz";
-      sha256 = "0902bbyi10vpn0qn0xn46p8fy98kaa4cvlgnn4cb2dgp8q3kni8j";
-      name = "kde-l10n-fi-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-fi-16.12.3.tar.xz";
+      sha256 = "11grklvacq70mq4fj0772v8xqmp1b1pl7gff8gvy692rva5qhv29";
+      name = "kde-l10n-fi-16.12.3.tar.xz";
     };
   };
   kde-l10n-fr = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-fr-16.12.2.tar.xz";
-      sha256 = "0zjlryvyq8z2llrba4hp3awz5hq74b6z21wp2x86g4k6y154i0as";
-      name = "kde-l10n-fr-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-fr-16.12.3.tar.xz";
+      sha256 = "0qx849ilp1597nxrx6cmgnmm202all14y8pcyd19gp70wdra8wcm";
+      name = "kde-l10n-fr-16.12.3.tar.xz";
     };
   };
   kde-l10n-ga = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ga-16.12.2.tar.xz";
-      sha256 = "1gwd4r28qv5sh4r008nq5mdzzb8cwq8dg17r19l3syydxxhjlf86";
-      name = "kde-l10n-ga-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ga-16.12.3.tar.xz";
+      sha256 = "06w92m84bxqs06gyi45x1jmzh99ip7vnnzjq7ixx7ny9k6m0as1m";
+      name = "kde-l10n-ga-16.12.3.tar.xz";
     };
   };
   kde-l10n-gl = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-gl-16.12.2.tar.xz";
-      sha256 = "1jka29dh5aqdzgmqc9rf3lmrq4mm4vahhsk2klhp12ajzp9dgg70";
-      name = "kde-l10n-gl-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-gl-16.12.3.tar.xz";
+      sha256 = "1k6jydmqbmxfkimxqn8qhd136zdjz4z7d5mk0n80607n91y7n3kv";
+      name = "kde-l10n-gl-16.12.3.tar.xz";
     };
   };
   kde-l10n-he = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-he-16.12.2.tar.xz";
-      sha256 = "0g87g0mpa3i59fk4fm5hk2z54s07cy9niy2kal50fbm5lnr7czfk";
-      name = "kde-l10n-he-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-he-16.12.3.tar.xz";
+      sha256 = "1ry1wd9ng5xwpi402p1rqbsrb0ma7bgkmx53yygzc5mpszarga6y";
+      name = "kde-l10n-he-16.12.3.tar.xz";
     };
   };
   kde-l10n-hi = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-hi-16.12.2.tar.xz";
-      sha256 = "05q608wic0ssx0d14n39s786k8xw86hc560ywfs3k89v973nba5b";
-      name = "kde-l10n-hi-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-hi-16.12.3.tar.xz";
+      sha256 = "1qwjiarqi8c3b15nc2nqrxvb6pcrb232qcx6nz0f9day2d0zxdwk";
+      name = "kde-l10n-hi-16.12.3.tar.xz";
     };
   };
   kde-l10n-hr = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-hr-16.12.2.tar.xz";
-      sha256 = "0sm7ba6x3hgw1ml6qm00g9dfi56w2kx3pk37944l3r4jx2wdqs4f";
-      name = "kde-l10n-hr-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-hr-16.12.3.tar.xz";
+      sha256 = "0y3pvdy1pkhraahsfkwhkar6004ll19gd6rhhhzgaw0irmw1yxp1";
+      name = "kde-l10n-hr-16.12.3.tar.xz";
     };
   };
   kde-l10n-hu = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-hu-16.12.2.tar.xz";
-      sha256 = "1qcdqm6wjcgd5br99mm93lwlaxk5dvrliyj1ff4bxfxx0cabhx2g";
-      name = "kde-l10n-hu-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-hu-16.12.3.tar.xz";
+      sha256 = "001pl0l0cj4f2j7c6fjv9jv4wnkk2zb428y8szqm78zg85ms9wpz";
+      name = "kde-l10n-hu-16.12.3.tar.xz";
     };
   };
   kde-l10n-ia = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ia-16.12.2.tar.xz";
-      sha256 = "0r1fryhi4czgbl1r228zry0msk11s075y15i4flznwdps99s5q8c";
-      name = "kde-l10n-ia-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ia-16.12.3.tar.xz";
+      sha256 = "09p9r6xzirr6cwcjdg10db62g3d4z0ksl6caf45rz0i2k5zn4r6r";
+      name = "kde-l10n-ia-16.12.3.tar.xz";
     };
   };
   kde-l10n-id = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-id-16.12.2.tar.xz";
-      sha256 = "1lz51bilx8dziiff65l91pknif9w7390q3l9amdlcjq86cj44khz";
-      name = "kde-l10n-id-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-id-16.12.3.tar.xz";
+      sha256 = "1kanlr401ljaaqijhdvv52lvrn90m9b0l6i2jly8mdnnnwp896ra";
+      name = "kde-l10n-id-16.12.3.tar.xz";
     };
   };
   kde-l10n-is = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-is-16.12.2.tar.xz";
-      sha256 = "08bqhxppib360ywzmphjqx5yalzr3bgwpqkff79rl5ffq9dd4psv";
-      name = "kde-l10n-is-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-is-16.12.3.tar.xz";
+      sha256 = "10a9sxjnv9xb9wy04b9pfwpj4xg22x0ami37jhwggpskl9sj736v";
+      name = "kde-l10n-is-16.12.3.tar.xz";
     };
   };
   kde-l10n-it = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-it-16.12.2.tar.xz";
-      sha256 = "12k9vqdr2nrcqh535crylxrmznndx7bkwz68vrdvqidlabd0ci7m";
-      name = "kde-l10n-it-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-it-16.12.3.tar.xz";
+      sha256 = "0f771kli3zw6dgwdxgk19kiy6gwv9yj3f2cgiyxaiak8yawa9ary";
+      name = "kde-l10n-it-16.12.3.tar.xz";
     };
   };
   kde-l10n-ja = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ja-16.12.2.tar.xz";
-      sha256 = "0i9hc66qlnq0yij9d3754m5wa2wkra95wcdbp6xwk82ws7lkckai";
-      name = "kde-l10n-ja-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ja-16.12.3.tar.xz";
+      sha256 = "1p0arv340i34gdlkdbjw234c9a4jqy8z417f0p19pn6ic3i5i6yv";
+      name = "kde-l10n-ja-16.12.3.tar.xz";
     };
   };
   kde-l10n-kk = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-kk-16.12.2.tar.xz";
-      sha256 = "1h9scz1z046szxf54702w3wzlsvzr8016rx9fwg7z5fc1vpkhxxn";
-      name = "kde-l10n-kk-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-kk-16.12.3.tar.xz";
+      sha256 = "1ik3abczhxkm2b8i22akz12q5lm7rsc7i4qdz6ml1sn4kd0949i5";
+      name = "kde-l10n-kk-16.12.3.tar.xz";
     };
   };
   kde-l10n-km = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-km-16.12.2.tar.xz";
-      sha256 = "09vw686y9qdx09cz58d11ldqz5bsnch1sx2dsbxvp1drypb1nhxk";
-      name = "kde-l10n-km-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-km-16.12.3.tar.xz";
+      sha256 = "1lwpfkv87i6km9pxrm78cqnnb1jnysaij0lmgvz2d0bs6dldaxrs";
+      name = "kde-l10n-km-16.12.3.tar.xz";
     };
   };
   kde-l10n-ko = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ko-16.12.2.tar.xz";
-      sha256 = "1q9kla2djqsvkj773wybxb1lds50v0lg3jkfpnrg2pvm49jl2c9g";
-      name = "kde-l10n-ko-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ko-16.12.3.tar.xz";
+      sha256 = "0c0hkprngxyxj2sf05s5i0y04i5f4vgqis1mgq500l03q0x16b4y";
+      name = "kde-l10n-ko-16.12.3.tar.xz";
     };
   };
   kde-l10n-lt = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-lt-16.12.2.tar.xz";
-      sha256 = "1i6nzmqm1sl895x7hnsk9snw2ci8cbdvswdfbvllqivcd8l4vmg5";
-      name = "kde-l10n-lt-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-lt-16.12.3.tar.xz";
+      sha256 = "04d2l2qisbpzxppxchfrxnijc8706pq3s9pgmyyy6c0v26gsgz77";
+      name = "kde-l10n-lt-16.12.3.tar.xz";
     };
   };
   kde-l10n-lv = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-lv-16.12.2.tar.xz";
-      sha256 = "0why1sa09pd7pwwa57c27y969ijgmjsmni8x7n9gxx5w0317kq9d";
-      name = "kde-l10n-lv-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-lv-16.12.3.tar.xz";
+      sha256 = "1af13p7ri4x3dhwlv30gf7za7dgsr1kx3khzlgdg4hcgi2s4aq12";
+      name = "kde-l10n-lv-16.12.3.tar.xz";
     };
   };
   kde-l10n-mr = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-mr-16.12.2.tar.xz";
-      sha256 = "0wkncbs5di9vlcfqbc8g4msp6kp926049jlkj4jhvgj1in434ay8";
-      name = "kde-l10n-mr-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-mr-16.12.3.tar.xz";
+      sha256 = "16g8ln11x9qpda4wgzwvvij77bdpsdd6vsh7ysik8fc87km4qkax";
+      name = "kde-l10n-mr-16.12.3.tar.xz";
     };
   };
   kde-l10n-nb = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-nb-16.12.2.tar.xz";
-      sha256 = "0p9yq33jzh83c1471072p94mrx8jazrinb987ifrl5lk8m54k34z";
-      name = "kde-l10n-nb-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-nb-16.12.3.tar.xz";
+      sha256 = "091wm8z6ibw8by220j89xdf0vpk7dp341hph2dhz17ykdzck3cdf";
+      name = "kde-l10n-nb-16.12.3.tar.xz";
     };
   };
   kde-l10n-nds = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-nds-16.12.2.tar.xz";
-      sha256 = "1yb7axm4k1rlfp41s9q8ql7l2mjbyrf7ry1ww7c1rprcb93gm7f8";
-      name = "kde-l10n-nds-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-nds-16.12.3.tar.xz";
+      sha256 = "052nw25rd3vq0fkixcwmn1iwaxnfwcg7iarf78c276w6vzrbvvcc";
+      name = "kde-l10n-nds-16.12.3.tar.xz";
     };
   };
   kde-l10n-nl = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-nl-16.12.2.tar.xz";
-      sha256 = "04d75kfxxijb4a7xk5saxz5vbrwfsl2nx0i4x3d4i2k06wzysvch";
-      name = "kde-l10n-nl-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-nl-16.12.3.tar.xz";
+      sha256 = "0axlpjq70142blccsfqbh7zs7l8k31mkc30lr79d03975dp2ivzi";
+      name = "kde-l10n-nl-16.12.3.tar.xz";
     };
   };
   kde-l10n-nn = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-nn-16.12.2.tar.xz";
-      sha256 = "09vmvvmakcybgy6zl51xj05wflq88xkbjmns4wv42jf0fn4kipif";
-      name = "kde-l10n-nn-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-nn-16.12.3.tar.xz";
+      sha256 = "0ql8pvj47kwvdaj2gsjlc4rxb7mpl9nv4fraavffinv4xzrh0v18";
+      name = "kde-l10n-nn-16.12.3.tar.xz";
     };
   };
   kde-l10n-pa = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-pa-16.12.2.tar.xz";
-      sha256 = "0nv9pch0s24aamcz8lgbs26kp343kyw0rnz4a7myzcrb8g8sm0d3";
-      name = "kde-l10n-pa-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-pa-16.12.3.tar.xz";
+      sha256 = "0r2snb5bkvha8yj692g1y8xwdwcnav06w3qliz1v7jiyb6hv8ncm";
+      name = "kde-l10n-pa-16.12.3.tar.xz";
     };
   };
   kde-l10n-pl = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-pl-16.12.2.tar.xz";
-      sha256 = "1bxhcqwmcfl2srfrn50ib57890m3m6w4x9vwn24qxwapb9s6nzav";
-      name = "kde-l10n-pl-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-pl-16.12.3.tar.xz";
+      sha256 = "1bp8br37wfn3xlxl4hzr45sv41w2i562rgjcj25ngn27y7cqvwq5";
+      name = "kde-l10n-pl-16.12.3.tar.xz";
     };
   };
   kde-l10n-pt = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-pt-16.12.2.tar.xz";
-      sha256 = "02x96cdvrbdcmrhnn4pamsdnr8m530p047avh82xvjvqywsnqf7z";
-      name = "kde-l10n-pt-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-pt-16.12.3.tar.xz";
+      sha256 = "1f3ray689q3w4yr20j0bj8vvwyb1qzi608ip0p6n4nzjkq3ycqh6";
+      name = "kde-l10n-pt-16.12.3.tar.xz";
     };
   };
   kde-l10n-pt_BR = {
-    version = "pt_BR-16.12.2";
+    version = "pt_BR-16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-pt_BR-16.12.2.tar.xz";
-      sha256 = "17155laifayfb5c2hznlpnmaa8kwxzlmk7yb2skrf92fzzqx2379";
-      name = "kde-l10n-pt_BR-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-pt_BR-16.12.3.tar.xz";
+      sha256 = "06h0dp54n8brv7kcfdbxy3yxk6c5b1ncbd9fzmflr8bpivifj66s";
+      name = "kde-l10n-pt_BR-16.12.3.tar.xz";
     };
   };
   kde-l10n-ro = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ro-16.12.2.tar.xz";
-      sha256 = "1zsng3m031cbyz1jl5lv1fjg5vb3ig3pk0gaamvxbs6fxaz14ss3";
-      name = "kde-l10n-ro-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ro-16.12.3.tar.xz";
+      sha256 = "17kbkh50jf8zb9p3kl2malddvq08ybg881x1w5gmw514k3d3hwxh";
+      name = "kde-l10n-ro-16.12.3.tar.xz";
     };
   };
   kde-l10n-ru = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ru-16.12.2.tar.xz";
-      sha256 = "1shs2j4kqqf2b8jz2691yi45f5bpsr9nx2i5j67mmn94dnds4ps6";
-      name = "kde-l10n-ru-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ru-16.12.3.tar.xz";
+      sha256 = "12ghgwy84i6nmlgi8wmvhxn7d9mvanhyd6pqyd302r5x0zxd8rza";
+      name = "kde-l10n-ru-16.12.3.tar.xz";
     };
   };
   kde-l10n-sk = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-sk-16.12.2.tar.xz";
-      sha256 = "1397sxczn9jdxbab3d9296w15swc40a8ypa3f4yhckqm4nmr8xn1";
-      name = "kde-l10n-sk-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-sk-16.12.3.tar.xz";
+      sha256 = "0hc1cm2npsw2w9mx09kn9jxvaqpjhv6snhwdi2mybpbs9qmgnzcn";
+      name = "kde-l10n-sk-16.12.3.tar.xz";
     };
   };
   kde-l10n-sl = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-sl-16.12.2.tar.xz";
-      sha256 = "1z14sbdk5zdshn36wija4hkj7l825i336bz92rq42f8by4mha0h4";
-      name = "kde-l10n-sl-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-sl-16.12.3.tar.xz";
+      sha256 = "02d0fg40pvlr6wnxg425n3fpqpizvdppznyp8nnxbzb9ia583aw0";
+      name = "kde-l10n-sl-16.12.3.tar.xz";
     };
   };
   kde-l10n-sr = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-sr-16.12.2.tar.xz";
-      sha256 = "12v6whnydgxxpx9vl3pimnxqny22kfiv51i1r9dk6vfqik18kxzy";
-      name = "kde-l10n-sr-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-sr-16.12.3.tar.xz";
+      sha256 = "1yq44dykajcz4n10zrad85lji30phr9cm5dnmx4s08404qwh68cz";
+      name = "kde-l10n-sr-16.12.3.tar.xz";
     };
   };
   kde-l10n-sv = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-sv-16.12.2.tar.xz";
-      sha256 = "10dzz39779lbb5mcnnmhwm86pkwc2g5qyiqg5jzpf0mg1zbl9y3w";
-      name = "kde-l10n-sv-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-sv-16.12.3.tar.xz";
+      sha256 = "1q8ags96jwjrihi8ai8139c3s9nfy7v7lss9ci3xl786hyggdlrb";
+      name = "kde-l10n-sv-16.12.3.tar.xz";
     };
   };
   kde-l10n-tr = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-tr-16.12.2.tar.xz";
-      sha256 = "0m4rgz7ha2i9bladavc5g3n94kai82ilx8akd2jcxz6q3wb75r0r";
-      name = "kde-l10n-tr-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-tr-16.12.3.tar.xz";
+      sha256 = "1l24d0abhhlbam0wfz52495nvjy1blfid9h31233hkykb782gi0n";
+      name = "kde-l10n-tr-16.12.3.tar.xz";
     };
   };
   kde-l10n-ug = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ug-16.12.2.tar.xz";
-      sha256 = "1kjdiy92pi5vdxbfy61ckq8j9pc8kmrccfqnlm7yqvh8p5i28p2x";
-      name = "kde-l10n-ug-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-ug-16.12.3.tar.xz";
+      sha256 = "0sb4136wjyg9g1fvhcgqv97wpv82ia37aknd8xcvjnp5n2jl80nn";
+      name = "kde-l10n-ug-16.12.3.tar.xz";
     };
   };
   kde-l10n-uk = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-uk-16.12.2.tar.xz";
-      sha256 = "1nhclnwy5lgkzhs6lm8dkhh4957v78rv2d9ss13a1jn2salz5kfv";
-      name = "kde-l10n-uk-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-uk-16.12.3.tar.xz";
+      sha256 = "073pqvxbpibwd1bv0vh4rijgkhg061g2gaaaqnckaakw677g2bmz";
+      name = "kde-l10n-uk-16.12.3.tar.xz";
     };
   };
   kde-l10n-wa = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-wa-16.12.2.tar.xz";
-      sha256 = "12f2kvks21hj5gjqjys7fa295148j0ndhxbzs5jysl0zq9y4909j";
-      name = "kde-l10n-wa-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-wa-16.12.3.tar.xz";
+      sha256 = "14qms294pz7hf4ramhscif9n6jfk5ixfwww558ypi0lwnzc17mrf";
+      name = "kde-l10n-wa-16.12.3.tar.xz";
     };
   };
   kde-l10n-zh_CN = {
-    version = "zh_CN-16.12.2";
+    version = "zh_CN-16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-zh_CN-16.12.2.tar.xz";
-      sha256 = "1v21kap5lyzgygqv02jjx9yrfnkjkk0qrd85l0pjhqjyycs5r97w";
-      name = "kde-l10n-zh_CN-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-zh_CN-16.12.3.tar.xz";
+      sha256 = "01q92gc13wjpd2gzvn1sipgl5xs86mwq8y0583glsx7s2wfp3g41";
+      name = "kde-l10n-zh_CN-16.12.3.tar.xz";
     };
   };
   kde-l10n-zh_TW = {
-    version = "zh_TW-16.12.2";
+    version = "zh_TW-16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-zh_TW-16.12.2.tar.xz";
-      sha256 = "049q9d9ykhxk0dkmm4aw7fx1aa39s5cslk4011335jmg1msmrfna";
-      name = "kde-l10n-zh_TW-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-l10n/kde-l10n-zh_TW-16.12.3.tar.xz";
+      sha256 = "0a9xnxlbr5469k1ij7hc8wa5p38r3yqq1d9fxmmpqyj111v63g3h";
+      name = "kde-l10n-zh_TW-16.12.3.tar.xz";
     };
   };
   kdelibs = {
-    version = "4.14.29";
+    version = "4.14.30";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdelibs-4.14.29.tar.xz";
-      sha256 = "0xvw0cscvz8arclgfhrrbgdg94mz4h9y33nyndlsw67qrbg8slqv";
-      name = "kdelibs-4.14.29.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdelibs-4.14.30.tar.xz";
+      sha256 = "0v8r70d55c4jhfhnh8lj41584qggc2lb4f6jwm4yl9qc6bpw77x3";
+      name = "kdelibs-4.14.30.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdenetwork-filesharing-16.12.2.tar.xz";
-      sha256 = "0q43c2xim5ibxyib1xz1wfz6bigkmk97bkvy9wrlk869c0qvrcn5";
-      name = "kdenetwork-filesharing-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdenetwork-filesharing-16.12.3.tar.xz";
+      sha256 = "0345wq7ayahfd2jlpgfs18c7nrdp9gn9yxig2x75pspqmb5pgxh7";
+      name = "kdenetwork-filesharing-16.12.3.tar.xz";
     };
   };
   kdenlive = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdenlive-16.12.2.tar.xz";
-      sha256 = "116lk641qlx8jkiaxm54g6svc6adg0bilhf634cyc8c46991a8z7";
-      name = "kdenlive-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdenlive-16.12.3.tar.xz";
+      sha256 = "1z7afrx00yaracf6cv9p8r14gqampabya8li6ws1ihzdgfamlkd0";
+      name = "kdenlive-16.12.3.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdepim-addons-16.12.2.tar.xz";
-      sha256 = "1gi87bbdkj8cwinhicr5r6qxysc5rmylj8gajn0qh99rsyxy52dn";
-      name = "kdepim-addons-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdepim-addons-16.12.3.tar.xz";
+      sha256 = "1hqm7vi7fy7s17djayq9q7l3dxdnzk2ii78mjdg90aac9cxdxgmm";
+      name = "kdepim-addons-16.12.3.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdepim-apps-libs-16.12.2.tar.xz";
-      sha256 = "07imq7nb1aqan8pbapvqg9mkzj18pj1v9xah9lpi6k64rhh0bkw9";
-      name = "kdepim-apps-libs-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdepim-apps-libs-16.12.3.tar.xz";
+      sha256 = "1q4ksp377piqxbs843nxafzssz80ayjii90iz86r2z2rd3lyrjzw";
+      name = "kdepim-apps-libs-16.12.3.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdepim-runtime-16.12.2.tar.xz";
-      sha256 = "0wd04zhc7nq2qf8iyjqf036bjs5by0zl0c58hl8r579b7gp5xljz";
-      name = "kdepim-runtime-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdepim-runtime-16.12.3.tar.xz";
+      sha256 = "0j5c3y8bqnffcrx4g7ilq7id46h11d1hiw81l7x4mg1p0zw07bg1";
+      name = "kdepim-runtime-16.12.3.tar.xz";
     };
   };
   kde-runtime = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kde-runtime-16.12.2.tar.xz";
-      sha256 = "1bsnb7inxqv652vq9izwdj02gi15xxf34my51kdq2xk9dn2kmj8x";
-      name = "kde-runtime-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kde-runtime-16.12.3.tar.xz";
+      sha256 = "1sqp827l30adiqrp12djx3xk6mlz2lb46hmxnbnzv52mv2whcr3y";
+      name = "kde-runtime-16.12.3.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdesdk-kioslaves-16.12.2.tar.xz";
-      sha256 = "18wd4lb3v2br40xclsig718r8mqs5hgl7xw13pq5bfqk5kx11md1";
-      name = "kdesdk-kioslaves-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdesdk-kioslaves-16.12.3.tar.xz";
+      sha256 = "17zqp43a1266616h3g6yccjmfgwni6lr8lz4rrvfda275vvwbshj";
+      name = "kdesdk-kioslaves-16.12.3.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdesdk-thumbnailers-16.12.2.tar.xz";
-      sha256 = "1jjchrbpyxjzs4zv68av53zhnlj46705261p0ad7x9ayb1mdrr24";
-      name = "kdesdk-thumbnailers-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdesdk-thumbnailers-16.12.3.tar.xz";
+      sha256 = "0p2s6pyq16jmjv29r8n9ygvsh1dxgz9zk90mk138cxxhbx9nks9h";
+      name = "kdesdk-thumbnailers-16.12.3.tar.xz";
     };
   };
   kdf = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdf-16.12.2.tar.xz";
-      sha256 = "0zkwqqrcna2f9j4g798lhdi2v5j9p6r3zqkhf7clh4nk2c6f766k";
-      name = "kdf-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdf-16.12.3.tar.xz";
+      sha256 = "1502ib1hlc5xxsphspxwj8jvjm7qig0zdwckvm3nmh7hf4474sc5";
+      name = "kdf-16.12.3.tar.xz";
     };
   };
   kdialog = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdialog-16.12.2.tar.xz";
-      sha256 = "0jrp06zbdj5c3nigdard0a7whb3lg8j2lgnf3dp2gf7iqj8gb189";
-      name = "kdialog-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdialog-16.12.3.tar.xz";
+      sha256 = "161barz5x9jrdk2p5hqc2vk1rqfwn8nlhdmc1vjqnhvww786ghmh";
+      name = "kdialog-16.12.3.tar.xz";
     };
   };
   kdiamond = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kdiamond-16.12.2.tar.xz";
-      sha256 = "1bflb2lbhahwmcqzck0xbr39rcbyaw4fzjaalbsdf9n5mk5ixmxs";
-      name = "kdiamond-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kdiamond-16.12.3.tar.xz";
+      sha256 = "0qdh9ngrz5ph0kly27c58sxhwamqm3wq566337yhdqjizzcin4pf";
+      name = "kdiamond-16.12.3.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/keditbookmarks-16.12.2.tar.xz";
-      sha256 = "16a2sq92r6nq7ksp905xp9v3fv8ynhfp9hslq4a46v71an06yh4p";
-      name = "keditbookmarks-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/keditbookmarks-16.12.3.tar.xz";
+      sha256 = "0dn3jb5lsjj2c6pbrbn4cik68fqqk99ljl45vbal9cc27lmrfa2n";
+      name = "keditbookmarks-16.12.3.tar.xz";
     };
   };
   kfilereplace = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kfilereplace-16.12.2.tar.xz";
-      sha256 = "086x9k71s2bc80863vlfryblg0cyw1qhk20vwhxmq81xkxsah6ky";
-      name = "kfilereplace-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kfilereplace-16.12.3.tar.xz";
+      sha256 = "0gym9bmkyjwg97khy6xxiaidjp6wi98fzmk7wa97wbdqc0qvswja";
+      name = "kfilereplace-16.12.3.tar.xz";
     };
   };
   kfind = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kfind-16.12.2.tar.xz";
-      sha256 = "0jpn75d331qiyhqswflkad5nc5r6c21q1d8236k2qvcm80xp10bm";
-      name = "kfind-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kfind-16.12.3.tar.xz";
+      sha256 = "1d7rn3xri4dgv97s6jw3n4cbsg73zyrbcm3ligxgj37ziggrhgsj";
+      name = "kfind-16.12.3.tar.xz";
     };
   };
   kfloppy = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kfloppy-16.12.2.tar.xz";
-      sha256 = "1q1fh16msixpn59y0yglmjbib6a5c9pb3hpmcd5vsiy2ilpgffbm";
-      name = "kfloppy-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kfloppy-16.12.3.tar.xz";
+      sha256 = "07mgrpjqd2kdz5gmg8ylmvdb4mis328b7qlchszdx0l1z30kqkzp";
+      name = "kfloppy-16.12.3.tar.xz";
     };
   };
   kfourinline = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kfourinline-16.12.2.tar.xz";
-      sha256 = "1df3si16d4ra3x3v9m4kiknlflx1ac10fq3vydcsn4yi89rhx2ix";
-      name = "kfourinline-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kfourinline-16.12.3.tar.xz";
+      sha256 = "087c00sggx5i1g8i2rjvvwlys15bisgx9fm2nl8f30h2ba3im4sg";
+      name = "kfourinline-16.12.3.tar.xz";
     };
   };
   kgeography = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kgeography-16.12.2.tar.xz";
-      sha256 = "1sw7blr264p88702718m5ch9qdzyd5krpf5qjvfhypx0fgzr40b6";
-      name = "kgeography-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kgeography-16.12.3.tar.xz";
+      sha256 = "1rnk00nj29zimpw36vhm0yrwlmpmxwv9wzxnhr7n2jq5qhbqsp5g";
+      name = "kgeography-16.12.3.tar.xz";
     };
   };
   kget = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kget-16.12.2.tar.xz";
-      sha256 = "1qiwcbdvr9g7cgqm4i3gcc6aw60d36n2m8a7faqa28srrw8f55lj";
-      name = "kget-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kget-16.12.3.tar.xz";
+      sha256 = "0h8nklsl6gddwzgjig5cwp463s96ffn5688zjlsyx4hphnvbj8kb";
+      name = "kget-16.12.3.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kgoldrunner-16.12.2.tar.xz";
-      sha256 = "0sa7yf3656f8mib785xdv7q86gsslx1hwy69vqrnrfwg24vzx3gy";
-      name = "kgoldrunner-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kgoldrunner-16.12.3.tar.xz";
+      sha256 = "028kz5x8a3jb3zp3vfxajmszrqk859hdln9175pp6zj78b278xz4";
+      name = "kgoldrunner-16.12.3.tar.xz";
     };
   };
   kgpg = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kgpg-16.12.2.tar.xz";
-      sha256 = "082fvxpawhsvfn6c1y32rvgp2qcim6lnk1gpp92cgn6k70dcx4lr";
-      name = "kgpg-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kgpg-16.12.3.tar.xz";
+      sha256 = "0abh15j2p0vinskd8f1yvjkyi1a70k0wf1sdldrfdwpdgq1pqsxw";
+      name = "kgpg-16.12.3.tar.xz";
     };
   };
   khangman = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/khangman-16.12.2.tar.xz";
-      sha256 = "1v57za5bqhppc1fy2xd7d1x1fvanwxgl3xzckfz1k7kbx1kcpn1s";
-      name = "khangman-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/khangman-16.12.3.tar.xz";
+      sha256 = "03ffigr9a6n3aj1a7lxcw9wgf1pafdjwqjnwnny2ric5vn6lpq1z";
+      name = "khangman-16.12.3.tar.xz";
     };
   };
   khelpcenter = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/khelpcenter-16.12.2.tar.xz";
-      sha256 = "1cij7v57zs14ynvmplcgn14m30hdc554kvrsbjgb695kmcvm1jv9";
-      name = "khelpcenter-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/khelpcenter-16.12.3.tar.xz";
+      sha256 = "100xcjjjbszhbwgydbylk9m9lrxikjyazmhaq2rvv2mfzsbijjm7";
+      name = "khelpcenter-16.12.3.tar.xz";
     };
   };
   kholidays = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kholidays-16.12.2.tar.xz";
-      sha256 = "0pybdq2asx10sxf4kz1p85yfs66dhccz2xvf95n8hky7833kqs1n";
-      name = "kholidays-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kholidays-16.12.3.tar.xz";
+      sha256 = "09iwkqpnmn3h7yfin4y9izb2sdk6hrm8rfq106cnz7j8i31q93ad";
+      name = "kholidays-16.12.3.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kidentitymanagement-16.12.2.tar.xz";
-      sha256 = "0wv7b3rfysbsj87xgp5ymy5glh9p12i9x8ffv483nm8xqyzwaa9p";
-      name = "kidentitymanagement-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kidentitymanagement-16.12.3.tar.xz";
+      sha256 = "1b23cwdhc7rv260kmn4akff3jfa21hk49p0kp8p0mf6nw6qahbvp";
+      name = "kidentitymanagement-16.12.3.tar.xz";
     };
   };
   kig = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kig-16.12.2.tar.xz";
-      sha256 = "0v261pb1l7cnjkqcqfg3885wxa2hb2bgdk0a1dcwrg4q6fr9kw1g";
-      name = "kig-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kig-16.12.3.tar.xz";
+      sha256 = "0fnlgxwcnspaqzv4y40xm0kq3xwwd4r5abh7ssbd6iqsbzgm6ghw";
+      name = "kig-16.12.3.tar.xz";
     };
   };
   kigo = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kigo-16.12.2.tar.xz";
-      sha256 = "19sns6w32pm12634xqxx53hgpmrb4ggzx2idcx3ldknbixhmqm7c";
-      name = "kigo-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kigo-16.12.3.tar.xz";
+      sha256 = "08rdz91jzz79884xhg87cwy57q1jk2414shyxxy9r0pb4wdcdbhn";
+      name = "kigo-16.12.3.tar.xz";
     };
   };
   killbots = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/killbots-16.12.2.tar.xz";
-      sha256 = "1cc2ddmp7a21yn0aavbh887j4xmzm2a6xlyq71b3msraw3p5vbmy";
-      name = "killbots-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/killbots-16.12.3.tar.xz";
+      sha256 = "0lwniwm8cbnwpqhfis38x5qvkz53626v9bn00amml57zj8x3hjnd";
+      name = "killbots-16.12.3.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kimagemapeditor-16.12.2.tar.xz";
-      sha256 = "0n82v73da8hnan2c96g2lxy826dg6xhln28wwr8iib89zd5gmbi6";
-      name = "kimagemapeditor-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kimagemapeditor-16.12.3.tar.xz";
+      sha256 = "0362zcj6by3kydr5v3sr7l6k9kkyfcy16879f93d1qqkjfi11cic";
+      name = "kimagemapeditor-16.12.3.tar.xz";
     };
   };
   kimap = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kimap-16.12.2.tar.xz";
-      sha256 = "04shglmr8rv5r16qb3n9x7vwrsm55121rkj9pz1y7l40kybajl87";
-      name = "kimap-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kimap-16.12.3.tar.xz";
+      sha256 = "1jlva17hy500jpb5mg6m3vrcy6mqikcy8m1pgy68d2ip0m93rb5f";
+      name = "kimap-16.12.3.tar.xz";
     };
   };
   kio-extras = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kio-extras-16.12.2.tar.xz";
-      sha256 = "0bfjmggyl7x7nmkqq10pmcc2507yfkbv5c5v86225g9mk02frmhp";
-      name = "kio-extras-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kio-extras-16.12.3.tar.xz";
+      sha256 = "1mfpllrmc88khlpg3yd4sghs8igg8dh0x568jw46vv90qgdb9xss";
+      name = "kio-extras-16.12.3.tar.xz";
     };
   };
   kiriki = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kiriki-16.12.2.tar.xz";
-      sha256 = "1fgdw7f4fqdfzsryvd8crdv60j2s2g3cvbibv3g91xkcq6p155wk";
-      name = "kiriki-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kiriki-16.12.3.tar.xz";
+      sha256 = "142p2zv1826iclaa2zrfyzfdwnflh3sq2xymca4di5anrmcwmm2m";
+      name = "kiriki-16.12.3.tar.xz";
     };
   };
   kiten = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kiten-16.12.2.tar.xz";
-      sha256 = "1ya1wwgh1x4iap3vs947ln949hjc499aiylg24666ab7vcqkbhh8";
-      name = "kiten-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kiten-16.12.3.tar.xz";
+      sha256 = "0skwgv3v79p5z1livjbdsg7i18ky8vc49z53dmgsgbziqvs0s2y4";
+      name = "kiten-16.12.3.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kjumpingcube-16.12.2.tar.xz";
-      sha256 = "0flx7sxqac763i2nsvyjzjv9aii27hnv51k0yhqcp6pnsjy1fbhh";
-      name = "kjumpingcube-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kjumpingcube-16.12.3.tar.xz";
+      sha256 = "1fii1arzpsdhnnb5yladhpsb0g6icald5si0fwnl47wg3gshaqiz";
+      name = "kjumpingcube-16.12.3.tar.xz";
     };
   };
   kldap = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kldap-16.12.2.tar.xz";
-      sha256 = "06ql2d7l22c19gnw6wigym3qpqw22arsmwpnnwz9i76l3wq32s3x";
-      name = "kldap-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kldap-16.12.3.tar.xz";
+      sha256 = "0a7pm9dzcvyyznqs4apwdl6dpg87qhxcr3a06grjwxhqvfdl52na";
+      name = "kldap-16.12.3.tar.xz";
     };
   };
   kleopatra = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kleopatra-16.12.2.tar.xz";
-      sha256 = "1kh75qjas4x4aqvshdgcryqdrp475lx60gksjfh34ygz03avdssl";
-      name = "kleopatra-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kleopatra-16.12.3.tar.xz";
+      sha256 = "1ja26gzdj8h5f8w1061scl40p6ahba3ci4hp91n2vp3rrz9m96wa";
+      name = "kleopatra-16.12.3.tar.xz";
     };
   };
   klettres = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/klettres-16.12.2.tar.xz";
-      sha256 = "116igb1gbl3dfh5rm4mp0n8krm0d9kpgns63sh355g02wf0cbz3f";
-      name = "klettres-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/klettres-16.12.3.tar.xz";
+      sha256 = "0m3k3zyrw7rwm6ad75c86bap80v2y5k938mdhqjaciglqc9pk83h";
+      name = "klettres-16.12.3.tar.xz";
     };
   };
   klickety = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/klickety-16.12.2.tar.xz";
-      sha256 = "00fqfnxh8bb069q3a5jszggnwq0z45najd6qg3z9gqb2i6bb4w93";
-      name = "klickety-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/klickety-16.12.3.tar.xz";
+      sha256 = "0mim86wxcljs192q9y6a6i326sic350jd89m1vx3p78dwpj35q42";
+      name = "klickety-16.12.3.tar.xz";
     };
   };
   klines = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/klines-16.12.2.tar.xz";
-      sha256 = "1pr5pvxd6fnybkjqxig9zjiq04d7g6igw24p2j6kfz91ihaf4g6q";
-      name = "klines-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/klines-16.12.3.tar.xz";
+      sha256 = "03ran5hyl8p9vfi82m2pkzng9hn5ipx1plgq9bz25c53z5fg63di";
+      name = "klines-16.12.3.tar.xz";
     };
   };
   klinkstatus = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/klinkstatus-16.12.2.tar.xz";
-      sha256 = "07wmaphs56x0jwgbkdynahwa0hrr3rakkbbfa4w046dga5z6dz60";
-      name = "klinkstatus-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/klinkstatus-16.12.3.tar.xz";
+      sha256 = "0kmjh0398k6fpz6lgz6d5rb79xl6wpgd4j56zacpha9046cfnmsk";
+      name = "klinkstatus-16.12.3.tar.xz";
     };
   };
   kmag = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmag-16.12.2.tar.xz";
-      sha256 = "02vjwfh926jvhxn1sw603ijdrayk4jxrw9rl7kv48q00kgk5sr23";
-      name = "kmag-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmag-16.12.3.tar.xz";
+      sha256 = "1llv9vd1557h4lz2sdd1wjlqb9wzrk9jxn4731iac2b5wdwpihii";
+      name = "kmag-16.12.3.tar.xz";
     };
   };
   kmahjongg = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmahjongg-16.12.2.tar.xz";
-      sha256 = "1rbcbak87jyf6bc8k44xvpcihagwh4i3v20af14hvm52gdvzdhij";
-      name = "kmahjongg-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmahjongg-16.12.3.tar.xz";
+      sha256 = "0xy3w5kxn69l0dagly5qd9dqzkpikflmrjbv1b45psafdmj3125r";
+      name = "kmahjongg-16.12.3.tar.xz";
     };
   };
   kmail = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmail-16.12.2.tar.xz";
-      sha256 = "0a3r6pwm3dvvmljp5grl1mgymp3fb1l3hb8issdqlk4s805q0pql";
-      name = "kmail-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmail-16.12.3.tar.xz";
+      sha256 = "1kyhc952k78yg2wa9cgxvqa6qrrgc08dly7fin7as8cxfh49i0b0";
+      name = "kmail-16.12.3.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmail-account-wizard-16.12.2.tar.xz";
-      sha256 = "1vm4lx5jwk5kqf3zdfm3zyzhap1dalslwj03gxmif6hh65d2s7h5";
-      name = "kmail-account-wizard-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmail-account-wizard-16.12.3.tar.xz";
+      sha256 = "0w94v2c38sl0qnyr38yzlfj6pxixaziw5kb4fkawv26c18fi42pl";
+      name = "kmail-account-wizard-16.12.3.tar.xz";
     };
   };
   kmailtransport = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmailtransport-16.12.2.tar.xz";
-      sha256 = "0g2f25l4l8jlj4d5dcdlbz8rgy4xvm6if2i3qm4naqh35kb4rycn";
-      name = "kmailtransport-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmailtransport-16.12.3.tar.xz";
+      sha256 = "1dkw7niymhnf0jncflvqyldw28c9j0q6j598flb5ksds0n30iasy";
+      name = "kmailtransport-16.12.3.tar.xz";
     };
   };
   kmbox = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmbox-16.12.2.tar.xz";
-      sha256 = "1j30kvvlnfbky5x19gxjsbrshrdys6ajdbhpd9fy46jjh2dv3y6j";
-      name = "kmbox-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmbox-16.12.3.tar.xz";
+      sha256 = "0khvf4kqf9i425fjczl1miqsz0pxbyryxy32bf9knr3k5kmwbn24";
+      name = "kmbox-16.12.3.tar.xz";
     };
   };
   kmime = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmime-16.12.2.tar.xz";
-      sha256 = "0sl34qahgvxaw9xi56d0l2a2iim9bpiv8ysf3spsc1m2ribf3400";
-      name = "kmime-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmime-16.12.3.tar.xz";
+      sha256 = "0gzbh0g075ml5x0qy4zd1cg1qygdsnssl5ahk9pcgc0fik4p9j20";
+      name = "kmime-16.12.3.tar.xz";
     };
   };
   kmines = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmines-16.12.2.tar.xz";
-      sha256 = "1324j3myr1wds3f6nzw186d1rc2aakxv0mqsx89bdvnky6zq2v5q";
-      name = "kmines-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmines-16.12.3.tar.xz";
+      sha256 = "0dz6yx7y0jpxhmyjrfyf6rrkiayn4mpyr4n1iszs11gac1bqppvn";
+      name = "kmines-16.12.3.tar.xz";
     };
   };
   kmix = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmix-16.12.2.tar.xz";
-      sha256 = "1s8di3jbgcaamfxfmmwxlajixia9m2ngl4qc1z7rq6a14fk3w5hz";
-      name = "kmix-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmix-16.12.3.tar.xz";
+      sha256 = "1mq4kna3z62269m43qy42knq4byrvirk0mk5yp56n51im1bmdyj4";
+      name = "kmix-16.12.3.tar.xz";
     };
   };
   kmousetool = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmousetool-16.12.2.tar.xz";
-      sha256 = "128hp75zyyariflx03ilmvw09jngfy9ylykb73gg7xw2zqnjjw4i";
-      name = "kmousetool-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmousetool-16.12.3.tar.xz";
+      sha256 = "1678sjj96f22sn60ccyj6hqi2vghkf4facnx8l15x4xx05yq1vgg";
+      name = "kmousetool-16.12.3.tar.xz";
     };
   };
   kmouth = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmouth-16.12.2.tar.xz";
-      sha256 = "0gk8rdlpwh304k7g85i80rfdjnvj4fcd1nlj89zmq2qh5s9jmqzg";
-      name = "kmouth-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmouth-16.12.3.tar.xz";
+      sha256 = "1afvjds1kfb8zvv3ma8c6svan6zlbd1w9a164vxwp7gl3ycjyj52";
+      name = "kmouth-16.12.3.tar.xz";
     };
   };
   kmplot = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kmplot-16.12.2.tar.xz";
-      sha256 = "0lwx0d1gv6k3nm0nxry6bl282j3vjc0p7rssbvhi5qsc7z9lc8s3";
-      name = "kmplot-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kmplot-16.12.3.tar.xz";
+      sha256 = "02vh4diqs4688p2xlia437jywx89yhpaf8ipprdq92q034glybyz";
+      name = "kmplot-16.12.3.tar.xz";
     };
   };
   knavalbattle = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/knavalbattle-16.12.2.tar.xz";
-      sha256 = "065hyrdqaj0g7kpgxdyjbf2msdxb6w6m2y50bw23p4w69y7fdxgn";
-      name = "knavalbattle-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/knavalbattle-16.12.3.tar.xz";
+      sha256 = "0164z9h1689bz600p17p8fq552g8pq73l81nj4f5csklhnsiykkg";
+      name = "knavalbattle-16.12.3.tar.xz";
     };
   };
   knetwalk = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/knetwalk-16.12.2.tar.xz";
-      sha256 = "1rhmgr2qk8h04y87dviy0yhrv5dg8za5v00csmia3s1jyvz0fbwp";
-      name = "knetwalk-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/knetwalk-16.12.3.tar.xz";
+      sha256 = "1mavc0rn41y3vgzf0ikwvk3kh4fszylh7h4briw9k0kqx2cxh5vk";
+      name = "knetwalk-16.12.3.tar.xz";
     };
   };
   knotes = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/knotes-16.12.2.tar.xz";
-      sha256 = "12bdrw4ikw014phbq9w4q5y9lgjnazhvri7j13ld5r6806bxls04";
-      name = "knotes-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/knotes-16.12.3.tar.xz";
+      sha256 = "1yyx98zn7a3hbiyr16fcbylbm5v8lyg22v8gwf7xpnbx5jb4hpb8";
+      name = "knotes-16.12.3.tar.xz";
     };
   };
   kolf = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kolf-16.12.2.tar.xz";
-      sha256 = "1v9lhir520n7kcc061z3zcc8wxswhnmjv7yifbqvviazl1n0p0vx";
-      name = "kolf-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kolf-16.12.3.tar.xz";
+      sha256 = "136iyf8clr2r8qkjcm0nqcq0sjr5xry9gbxjhz128lc0nywsxpd5";
+      name = "kolf-16.12.3.tar.xz";
     };
   };
   kollision = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kollision-16.12.2.tar.xz";
-      sha256 = "1dklg0ns3abfxbfr7xrnzkcxxng3v7avzj4bjvsmsbq3lzy3pb8c";
-      name = "kollision-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kollision-16.12.3.tar.xz";
+      sha256 = "0kwnqqm9gs6ac7ags9x82ykmp3vccp3kdd3js26a1kz1zkip32il";
+      name = "kollision-16.12.3.tar.xz";
     };
   };
   kolourpaint = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kolourpaint-16.12.2.tar.xz";
-      sha256 = "1himisb1f68pgaz15qam73qv9acqqh8i1jnk9wbsqjyj6z67wvnj";
-      name = "kolourpaint-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kolourpaint-16.12.3.tar.xz";
+      sha256 = "1yg3xnbbzvhcgb7i92bya41gq4z0135njcc77848khndpgkxvczb";
+      name = "kolourpaint-16.12.3.tar.xz";
     };
   };
   kommander = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kommander-16.12.2.tar.xz";
-      sha256 = "140sz82gm5p8f8mhr2kdfy24fr6jjs0l53jcqr9hwdw6vlrm399w";
-      name = "kommander-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kommander-16.12.3.tar.xz";
+      sha256 = "1wlks0alw82ra3g63d8k8nj9sq899hjv1r2kshk7c4vdk7arn1fg";
+      name = "kommander-16.12.3.tar.xz";
     };
   };
   kompare = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kompare-16.12.2.tar.xz";
-      sha256 = "1dd4k3rq8wlzsvl5nv5mrd0ddxgwlriik3vxj8xx3b4nqk720lh6";
-      name = "kompare-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kompare-16.12.3.tar.xz";
+      sha256 = "18z6424xidpx5kmbjiasvhagh2b1a9pxizc0dsvba47v9xcavsaw";
+      name = "kompare-16.12.3.tar.xz";
     };
   };
   konqueror = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/konqueror-16.12.2.tar.xz";
-      sha256 = "0md9glzr1br2n5dsfmmv6gxsfhv6jl0r4fa1qgw4d2j2kpm94zw7";
-      name = "konqueror-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/konqueror-16.12.3.tar.xz";
+      sha256 = "1pwv2mj9xrn6aymhkqmwd89d5i3v2jixp07dz0by62rcpfhm89p5";
+      name = "konqueror-16.12.3.tar.xz";
     };
   };
   konquest = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/konquest-16.12.2.tar.xz";
-      sha256 = "0k58adqr20k9wrwbaf1s6lqqgcma08wqnv66zrxbgacgsgx3pnzi";
-      name = "konquest-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/konquest-16.12.3.tar.xz";
+      sha256 = "1fhz9pwi2dmmcjg10vp36m8d759zikg6nqpjdp41dg95lkyf5vkf";
+      name = "konquest-16.12.3.tar.xz";
     };
   };
   konsole = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/konsole-16.12.2.tar.xz";
-      sha256 = "1mwfv2hznmd1qml8hq1z81jv9y8jn1ybc69dqgnf1n6ygmz14676";
-      name = "konsole-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/konsole-16.12.3.tar.xz";
+      sha256 = "10k7ryvsssbskpxk04iqx2mrp2a91291r8nzvg1780lrhql5rdj7";
+      name = "konsole-16.12.3.tar.xz";
     };
   };
   kontact = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kontact-16.12.2.tar.xz";
-      sha256 = "1rfqb5a4brbvkhv905lcvc40r0as8zwdm2h67jc96cix358cpshv";
-      name = "kontact-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kontact-16.12.3.tar.xz";
+      sha256 = "0wj4w9ak6dm330s393hjb79w16gs5kij5gz9swf3pxwg21xbd4ps";
+      name = "kontact-16.12.3.tar.xz";
     };
   };
   kontactinterface = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kontactinterface-16.12.2.tar.xz";
-      sha256 = "0z6mjg8sy18jhkfmk9s098851gdqbh03031l92yqzsgsfph9nk77";
-      name = "kontactinterface-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kontactinterface-16.12.3.tar.xz";
+      sha256 = "0n5hvx3xp01krwwd2szgh1s6nn5spfns1ivc36i1gdbhkf871k98";
+      name = "kontactinterface-16.12.3.tar.xz";
     };
   };
   kopete = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kopete-16.12.2.tar.xz";
-      sha256 = "0bf0bffcsyhrj70yb4l5g6n0jr38i5zkcl4hsfi9hac43xvp62ib";
-      name = "kopete-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kopete-16.12.3.tar.xz";
+      sha256 = "1dkn4d13knf0lcj4241fmjcj51ypg9frzsf0pl02mr08rd2rxgk1";
+      name = "kopete-16.12.3.tar.xz";
     };
   };
   korganizer = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/korganizer-16.12.2.tar.xz";
-      sha256 = "1211rhxvx42lndqv6n23mj6ibhfp09vvmzz59k1j0l9z8y1zyr2g";
-      name = "korganizer-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/korganizer-16.12.3.tar.xz";
+      sha256 = "1724l321gzjwha8yhrans4lhzs39fs98xi7wbd5msfflzyg3l6ga";
+      name = "korganizer-16.12.3.tar.xz";
     };
   };
   kpat = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kpat-16.12.2.tar.xz";
-      sha256 = "1yc16yfsq18m5xxm9b17zba3ppw7j5hq82z0ln8sw2yisz59mylr";
-      name = "kpat-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kpat-16.12.3.tar.xz";
+      sha256 = "04qvv7q7rlsiyff2isy18h2fbz2lnljal5spq5qg9zl6v8hx6qzm";
+      name = "kpat-16.12.3.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kpimtextedit-16.12.2.tar.xz";
-      sha256 = "0xspr7hip57j8n3mp71x8s908vlj7acl27jwyc33yi4xvlyfcgfy";
-      name = "kpimtextedit-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kpimtextedit-16.12.3.tar.xz";
+      sha256 = "06iz9l8z708kdivzibqkgdrbvw7kfd2lr2grf3v9l6gfl3qs1kbw";
+      name = "kpimtextedit-16.12.3.tar.xz";
     };
   };
   kppp = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kppp-16.12.2.tar.xz";
-      sha256 = "1gvb3sgxg1ysdrv18rf5kh6znvwlkp673yld6ghj3dcif8w6xq0n";
-      name = "kppp-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kppp-16.12.3.tar.xz";
+      sha256 = "0lqv95zfzcik8k95a39s6whjsnq6g15amnxlzy898liyxkr499bc";
+      name = "kppp-16.12.3.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kqtquickcharts-16.12.2.tar.xz";
-      sha256 = "1gh3alqlmj2icd2jblncps4k6kklckbpqv18wplybgaz4h0pi4pi";
-      name = "kqtquickcharts-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kqtquickcharts-16.12.3.tar.xz";
+      sha256 = "1xzn9vxiqam8pk4zj8qcq55v9g52d9qkddbdv25pml8s0yhlsgqf";
+      name = "kqtquickcharts-16.12.3.tar.xz";
     };
   };
   krdc = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/krdc-16.12.2.tar.xz";
-      sha256 = "1ql2mkx7xc2y0vkxjk3i5scxa6ws5mwz39zynmyx7rmxp9f8frsf";
-      name = "krdc-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/krdc-16.12.3.tar.xz";
+      sha256 = "0visx3371ym78n9aqkln2akvvf0rphyxg5hxvc2981pgpdry20zq";
+      name = "krdc-16.12.3.tar.xz";
     };
   };
   kremotecontrol = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kremotecontrol-16.12.2.tar.xz";
-      sha256 = "1c1xx458lchn9b3c9h27zb13m2y6b01sb0g6lf6bpx4skbdwdwma";
-      name = "kremotecontrol-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kremotecontrol-16.12.3.tar.xz";
+      sha256 = "0xcs8gvb7ack0xqdp99x04lyv6hbqgxa5nq44pxl7czzc0la5nbk";
+      name = "kremotecontrol-16.12.3.tar.xz";
     };
   };
   kreversi = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kreversi-16.12.2.tar.xz";
-      sha256 = "18zfy3dzi9rgwhgvci93iv0gkmvac30rbj4xwpvzr3bc8zwz76df";
-      name = "kreversi-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kreversi-16.12.3.tar.xz";
+      sha256 = "1qi6y263c8qp0bv9vmjk4rxq55mc0v1kn56yvivc5sfg9p4bqs9b";
+      name = "kreversi-16.12.3.tar.xz";
     };
   };
   krfb = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/krfb-16.12.2.tar.xz";
-      sha256 = "1sqij11a6pbivf2xbcglxzkfrpqvzcqxb4d85jxrhbp2wljx0xvy";
-      name = "krfb-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/krfb-16.12.3.tar.xz";
+      sha256 = "1ijz0zdlkxb9mldgd5a5k7aa2ikmmg023mafmxrjwymsig7ya4hv";
+      name = "krfb-16.12.3.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kross-interpreters-16.12.2.tar.xz";
-      sha256 = "1cw84z2wdh1kb7fgwmmljmc5d57skh6hlm0p6kzlqdbqknnva8ad";
-      name = "kross-interpreters-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kross-interpreters-16.12.3.tar.xz";
+      sha256 = "0z1n42imbhsx0qmx479sklnihwvbd5l5pigbpbpm80rgwda2ib57";
+      name = "kross-interpreters-16.12.3.tar.xz";
     };
   };
   kruler = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kruler-16.12.2.tar.xz";
-      sha256 = "11i7k53kpfampbkzzabp0v97pb22h7sb2i0r6qdx78kyhmkgdrvp";
-      name = "kruler-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kruler-16.12.3.tar.xz";
+      sha256 = "08w7pb7wyaqnhwvqczxzbrbnm8930wzkl8y4lpimp5mqzb94i8qx";
+      name = "kruler-16.12.3.tar.xz";
     };
   };
   ksaneplugin = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ksaneplugin-16.12.2.tar.xz";
-      sha256 = "0ljk7cf4ns39xszn6g1vk8av3dkkgwzj4ry4n56305mqyjgqx258";
-      name = "ksaneplugin-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ksaneplugin-16.12.3.tar.xz";
+      sha256 = "1z0ziapcjmi7fqfnb0zsbjgd1q05np1s7smj1k8cd8c6f169yrld";
+      name = "ksaneplugin-16.12.3.tar.xz";
     };
   };
   kscd = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kscd-16.12.2.tar.xz";
-      sha256 = "1w1gcfwp1r18pjfp526pdb837kpd8zj08g1jrjcb3bmvh600apm0";
-      name = "kscd-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kscd-16.12.3.tar.xz";
+      sha256 = "1mpba78m4hs8541n4ydz7vswq1chi0fmmlfw2kqnrzarcandyga0";
+      name = "kscd-16.12.3.tar.xz";
     };
   };
   kshisen = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kshisen-16.12.2.tar.xz";
-      sha256 = "0sw78qwlpimlhqzlz5migbngrhj7w6gdbqx12q7949paa03ash1b";
-      name = "kshisen-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kshisen-16.12.3.tar.xz";
+      sha256 = "17szjblrp172rvyl98x5a0g9yg29b85bmwkzk7pqnjbn387kgy9r";
+      name = "kshisen-16.12.3.tar.xz";
     };
   };
   ksirk = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ksirk-16.12.2.tar.xz";
-      sha256 = "0f9k476wbwx0maf0wsicgipqyv7gccm7ydwvns399iamb6xkiqnn";
-      name = "ksirk-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ksirk-16.12.3.tar.xz";
+      sha256 = "1akfskyfhffh71w2hknw9vvap2a2sq0irmkxij9xcdmlvpfwnkn5";
+      name = "ksirk-16.12.3.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ksnakeduel-16.12.2.tar.xz";
-      sha256 = "0lhwz1b1v1dir7k1vbkcwb73x7f3h7prb3zv4f8wlh32dj1yg983";
-      name = "ksnakeduel-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ksnakeduel-16.12.3.tar.xz";
+      sha256 = "1797kac3prchq5254dby41k04i8i7hgf2a9cb8s71n7hrsj62dyn";
+      name = "ksnakeduel-16.12.3.tar.xz";
     };
   };
   kspaceduel = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kspaceduel-16.12.2.tar.xz";
-      sha256 = "0h6m8xnmxx0q2r863ikck0kpyscd8s4iidcjiqz7wqgbsw1dadqb";
-      name = "kspaceduel-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kspaceduel-16.12.3.tar.xz";
+      sha256 = "0ipx1sxhv207nlw7rcp7155l76z39x7j1b5y3qwxcgd7s69wb82k";
+      name = "kspaceduel-16.12.3.tar.xz";
     };
   };
   ksquares = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ksquares-16.12.2.tar.xz";
-      sha256 = "14x1d9300wdhrnri5f5n5i31bs83hcbxs5w9cai1m8mlql99vvfy";
-      name = "ksquares-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ksquares-16.12.3.tar.xz";
+      sha256 = "0abd19hf1rvlzkxc4kvdljs5yk39pay81n3n9n0w6qyr764r4qn9";
+      name = "ksquares-16.12.3.tar.xz";
     };
   };
   kstars = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kstars-16.12.2.tar.xz";
-      sha256 = "0acbirhr970fh53hfsbfw9jn4jqlww9zf80jfyg2drixi9d70mpp";
-      name = "kstars-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kstars-16.12.3.tar.xz";
+      sha256 = "0lcrn7r1nw85c0w6dg03mwf5lnsahmww60y6vwzfh2r53nbm9c1y";
+      name = "kstars-16.12.3.tar.xz";
     };
   };
   ksudoku = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ksudoku-16.12.2.tar.xz";
-      sha256 = "1nvk8l6n7sja19s2kazf6xhzqwi9mrjxvz5i0i9nmpwmksii6lbg";
-      name = "ksudoku-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ksudoku-16.12.3.tar.xz";
+      sha256 = "00hi8x09fj5ahj0ah9rsci2dscrdl8x9mrlcacjrwgwm503y95gk";
+      name = "ksudoku-16.12.3.tar.xz";
     };
   };
   ksystemlog = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ksystemlog-16.12.2.tar.xz";
-      sha256 = "13q2h3yhlpjy8hiiz6vdx5xwniysbmz5agvvn28a469710601154";
-      name = "ksystemlog-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ksystemlog-16.12.3.tar.xz";
+      sha256 = "0xd6pp02k84a1r6gy10x0br33g4awpbhx45j7n69l1s96szj4aki";
+      name = "ksystemlog-16.12.3.tar.xz";
     };
   };
   kteatime = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kteatime-16.12.2.tar.xz";
-      sha256 = "0m163a11hp90rqf5170iqapmvn4ym6m2n42da2p1jgyim4877613";
-      name = "kteatime-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kteatime-16.12.3.tar.xz";
+      sha256 = "0wqzw9sa4zkgkwndvyas47x5wc4gcya3pmdcvg7wf7wl8j5k7vdy";
+      name = "kteatime-16.12.3.tar.xz";
     };
   };
   ktimer = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktimer-16.12.2.tar.xz";
-      sha256 = "1l9xwfg3701h1f16ifh74c5hv7j7z0f332izcvfpiccps7gplhvz";
-      name = "ktimer-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktimer-16.12.3.tar.xz";
+      sha256 = "0hpskwa8g88fz39b0y7sjl574s82d6smla1bhs8mdjlabv0sln6z";
+      name = "ktimer-16.12.3.tar.xz";
     };
   };
   ktnef = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktnef-16.12.2.tar.xz";
-      sha256 = "0id9shripwahgb258hgfpmxyg0z9x2dqpxgyrvb47d44rrcf9dxg";
-      name = "ktnef-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktnef-16.12.3.tar.xz";
+      sha256 = "0v38h7bwjwab1656w3c2h1by5925f616idnvflgp123v1cs6jy1n";
+      name = "ktnef-16.12.3.tar.xz";
     };
   };
   ktouch = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktouch-16.12.2.tar.xz";
-      sha256 = "08c0g35ypsndh8pj1nbxn8gnzis10a5cxkz175x4asi5lcpw3kc1";
-      name = "ktouch-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktouch-16.12.3.tar.xz";
+      sha256 = "17gkvzczfgmip18y3jbjisz4z8m5hwbgkqn4qynabp6dqihwhzgg";
+      name = "ktouch-16.12.3.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-accounts-kcm-16.12.2.tar.xz";
-      sha256 = "1p3pqvkyhwcqcwgpyfghhii3d5shbfpm8i9vap8vc43clvj9sfah";
-      name = "ktp-accounts-kcm-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-accounts-kcm-16.12.3.tar.xz";
+      sha256 = "0pr191i9fmz66wlv8krmy1pba7igd1qwa0akb4kdzkm4bx3z8wq3";
+      name = "ktp-accounts-kcm-16.12.3.tar.xz";
     };
   };
   ktp-approver = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-approver-16.12.2.tar.xz";
-      sha256 = "1ky4wg8qk4n2qyh5009zz6487pf31jb8w8zmjmck9fypc9rhzw2j";
-      name = "ktp-approver-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-approver-16.12.3.tar.xz";
+      sha256 = "08aj2j9bjdyigl4cx65v5fjsdayid07mx0mq72iy6l17d8z4b39a";
+      name = "ktp-approver-16.12.3.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-auth-handler-16.12.2.tar.xz";
-      sha256 = "05dvbq1q0fbznyj11wkg0ic8svgkqdq8i20xddkkx2jpwhpkmcnl";
-      name = "ktp-auth-handler-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-auth-handler-16.12.3.tar.xz";
+      sha256 = "08ryqkba9zngjabsp1b9w13psp0n97qhjd31id007hc6r6s1nxxx";
+      name = "ktp-auth-handler-16.12.3.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-call-ui-16.12.2.tar.xz";
-      sha256 = "1czm56vvbjbyyib2wi60f9s2icnyac007zzh2qxsxfnlp52mkzm2";
-      name = "ktp-call-ui-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-call-ui-16.12.3.tar.xz";
+      sha256 = "1aq0s4v972kskjnq720364y971iyr0m6pj42fw5rpkl7j8vfg1rd";
+      name = "ktp-call-ui-16.12.3.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-common-internals-16.12.2.tar.xz";
-      sha256 = "0323dhfiddq5yhbp0rpmpw60334z41f45ml8lcada8dv6mbjxlc6";
-      name = "ktp-common-internals-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-common-internals-16.12.3.tar.xz";
+      sha256 = "0g3vmds5f7wmffp9rv915bll8ky7qf3lz172ymc6q9i1xvghp215";
+      name = "ktp-common-internals-16.12.3.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-contact-list-16.12.2.tar.xz";
-      sha256 = "0gk0lims3ypjsir9k9a010kylnqzqb2dsh5yfv24a6fb1ix6q4yy";
-      name = "ktp-contact-list-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-contact-list-16.12.3.tar.xz";
+      sha256 = "05asblclq6sjd3d9faaj2ya37srf4lhg8jx705aw13wd5d6pk75w";
+      name = "ktp-contact-list-16.12.3.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-contact-runner-16.12.2.tar.xz";
-      sha256 = "1bfm4639jshw9ncchcj6m8q6xg49a20z4fzc66vrjkdbha8fwr0g";
-      name = "ktp-contact-runner-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-contact-runner-16.12.3.tar.xz";
+      sha256 = "1lcx9smfv2dqrwsbdd4srcq7dqap8bclz788p6jjn04xi6wcbbiq";
+      name = "ktp-contact-runner-16.12.3.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-desktop-applets-16.12.2.tar.xz";
-      sha256 = "1ahm69h309dyg3byv3jxxm3j0c5jphzxng2g87hvjs9dvgx00msv";
-      name = "ktp-desktop-applets-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-desktop-applets-16.12.3.tar.xz";
+      sha256 = "1pd8vzwmxcsw6pq80r9casi07wwisr70l5ffm231v9d73k4fw7kv";
+      name = "ktp-desktop-applets-16.12.3.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-filetransfer-handler-16.12.2.tar.xz";
-      sha256 = "1j1bmrwabh0mzm51ibb0qyf164g7hznjk2vm2kwkgk5sy8r1a363";
-      name = "ktp-filetransfer-handler-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-filetransfer-handler-16.12.3.tar.xz";
+      sha256 = "0ddmrpnh6myl7m3drh3cxx9pp06al98g8mppnysmgswgkwafg6cq";
+      name = "ktp-filetransfer-handler-16.12.3.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-kded-module-16.12.2.tar.xz";
-      sha256 = "1ia62r55my8s6l3am22z6nkvmi2x2gnpbwmmpiv8n2i7j2ysdjp9";
-      name = "ktp-kded-module-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-kded-module-16.12.3.tar.xz";
+      sha256 = "06zw8padspbn8ydcbs69v3ggmfpqrb3axxd2v1sgg4p4kdp0jyml";
+      name = "ktp-kded-module-16.12.3.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-send-file-16.12.2.tar.xz";
-      sha256 = "0vl00bbnpddq9nczb53apf3sdr1r2hnpa3fa390yx3jrrr4hp3k0";
-      name = "ktp-send-file-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-send-file-16.12.3.tar.xz";
+      sha256 = "1m7cj3q4lzj8qj2cla6wm1crpjid77b3f3yywri167f1zd4p51z6";
+      name = "ktp-send-file-16.12.3.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktp-text-ui-16.12.2.tar.xz";
-      sha256 = "0c0khkargj4hg2j1va72hp45b3dzwvkvbssq7k309iljxgfi9qry";
-      name = "ktp-text-ui-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktp-text-ui-16.12.3.tar.xz";
+      sha256 = "0ssxr35vcqjppnppyjxwzrkzvb5sx45fpnvbzsv9md5rnlf2xh1k";
+      name = "ktp-text-ui-16.12.3.tar.xz";
     };
   };
   ktuberling = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/ktuberling-16.12.2.tar.xz";
-      sha256 = "0867ci5bi0phcwwxlqlyn3w1pv5q5wvzyqnzjvywc0bzy2qbpp0p";
-      name = "ktuberling-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/ktuberling-16.12.3.tar.xz";
+      sha256 = "1vn35bn0x5ykd9j78q5apg1i14v546jrqq1yn2q178d9qmx79pgv";
+      name = "ktuberling-16.12.3.tar.xz";
     };
   };
   kturtle = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kturtle-16.12.2.tar.xz";
-      sha256 = "183glhn0amkcrzylax9cjyj3if9iz3dybmw55ljw003mf1s0sydq";
-      name = "kturtle-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kturtle-16.12.3.tar.xz";
+      sha256 = "1mpdwb6999nar16mpha30cf4qzmpbsdha44aw77gn301v215rwj3";
+      name = "kturtle-16.12.3.tar.xz";
     };
   };
   kubrick = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kubrick-16.12.2.tar.xz";
-      sha256 = "10yakz1ffdx33sqgqmlga525r3cnz90m0rm5m2sl3b97ib7r0fxl";
-      name = "kubrick-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kubrick-16.12.3.tar.xz";
+      sha256 = "1bwr8xi4d58k94h7lpl02iqf87nxhpls33ca654kzy353awqbp7f";
+      name = "kubrick-16.12.3.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kwalletmanager-16.12.2.tar.xz";
-      sha256 = "129q3c805g4jsrws3gvy751y4pdwp9m8yvlc62pkp703xwlnkzj4";
-      name = "kwalletmanager-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kwalletmanager-16.12.3.tar.xz";
+      sha256 = "07miaqr0yaqb0lkssb1jfg35cvr9svn16nhvb1zffvbf9fdlim47";
+      name = "kwalletmanager-16.12.3.tar.xz";
     };
   };
   kwave = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kwave-16.12.2.tar.xz";
-      sha256 = "0g3n0fm3pyp6sd28qjpadpqs2kqd5gsbicdz1c5jkm8c1bypi0ij";
-      name = "kwave-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kwave-16.12.3.tar.xz";
+      sha256 = "1s5zwhck204m5rkrpmbghzid3dpzhqbwsilb5pfh4128d04fx9ad";
+      name = "kwave-16.12.3.tar.xz";
     };
   };
   kwordquiz = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/kwordquiz-16.12.2.tar.xz";
-      sha256 = "1jy9833zrgaddzpfaaps2gcxjnf9mg2yx4w7mfpa3vglsyvhqlzx";
-      name = "kwordquiz-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/kwordquiz-16.12.3.tar.xz";
+      sha256 = "1r8q2d6j7bq8jdr4cl9maapadzg7yp0zldjxkcqg08ldwsrrsnqj";
+      name = "kwordquiz-16.12.3.tar.xz";
     };
   };
   libgravatar = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libgravatar-16.12.2.tar.xz";
-      sha256 = "0vdryr9q30jkk5b9fa75yiqpspj83wvcy2zry8rsrx7pj21cdlsw";
-      name = "libgravatar-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libgravatar-16.12.3.tar.xz";
+      sha256 = "0m726ixss72rz3gwgn7q5s34xwbghi877y7gxa1ilcrk9rhyxv2f";
+      name = "libgravatar-16.12.3.tar.xz";
     };
   };
   libkcddb = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkcddb-16.12.2.tar.xz";
-      sha256 = "0gs0zyisrgbzbcnwp95qi8msj5x2ysmqk9nwja3bwqzbangm0y82";
-      name = "libkcddb-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkcddb-16.12.3.tar.xz";
+      sha256 = "0iaascv9a5g8681mjc6b7f2fd8fdi9p3dx8l9lapkpzcygy1fwpc";
+      name = "libkcddb-16.12.3.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkcompactdisc-16.12.2.tar.xz";
-      sha256 = "1ydhfi3hp30zg9nlmnzd5pslwlq6v6jbim2jda8ciyvniw0pm6va";
-      name = "libkcompactdisc-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkcompactdisc-16.12.3.tar.xz";
+      sha256 = "021yws9854w6fwwfw31b87rpz92ach5xyq427968m3mc3c430d4l";
+      name = "libkcompactdisc-16.12.3.tar.xz";
     };
   };
   libkdcraw = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkdcraw-16.12.2.tar.xz";
-      sha256 = "0w54h8fa1hgyvqps936annb8dhbrpizv4ifcix0gq714p573l8w3";
-      name = "libkdcraw-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkdcraw-16.12.3.tar.xz";
+      sha256 = "03ag6vzdj5n7zbb8yb9k84ckm1zwp2i9qqrsfn2mmmhypwknpg4w";
+      name = "libkdcraw-16.12.3.tar.xz";
     };
   };
   libkdegames = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkdegames-16.12.2.tar.xz";
-      sha256 = "0lw6v81pr4xq5h58mgkbzlvp5bxic9szfmabgd3nrdijh6mla4ly";
-      name = "libkdegames-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkdegames-16.12.3.tar.xz";
+      sha256 = "0w7q7x04imwrdfj5zwgv0y49k4wi7a6ghqipyc5qmrwfg9ya85b3";
+      name = "libkdegames-16.12.3.tar.xz";
     };
   };
   libkdepim = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkdepim-16.12.2.tar.xz";
-      sha256 = "1xblfj2i205jsm6nl05r3jis4gb4d15naq2mmfgxwy913pjh74jf";
-      name = "libkdepim-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkdepim-16.12.3.tar.xz";
+      sha256 = "07afpxhvxpf50h10vg6vla543n4rvy1grldjj4aygwh1fgl5snm0";
+      name = "libkdepim-16.12.3.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkeduvocdocument-16.12.2.tar.xz";
-      sha256 = "118z200ffqb2rj6yhmqp4b998cq6mlbpzn2gh2pdp70yin9w35qz";
-      name = "libkeduvocdocument-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkeduvocdocument-16.12.3.tar.xz";
+      sha256 = "05s79q269m5s78zjwxljxvprrqvpalf6h38n90m589vks82ahxx0";
+      name = "libkeduvocdocument-16.12.3.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkexiv2-16.12.2.tar.xz";
-      sha256 = "1bpk2mwiplk7c5xrdx7nq9fa0g53sgx6f5xa7d4k2i9mzn2s8hyr";
-      name = "libkexiv2-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkexiv2-16.12.3.tar.xz";
+      sha256 = "02fr10prqmpaqqlcj8hf5h4b3vhhiwkfsbpzlag64n5764x1hl3f";
+      name = "libkexiv2-16.12.3.tar.xz";
     };
   };
   libkface = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkface-16.12.2.tar.xz";
-      sha256 = "0jhnx71bnn2f8x5w5iylkk7369fcbx0y793182vc5rdqaax983sc";
-      name = "libkface-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkface-16.12.3.tar.xz";
+      sha256 = "068xixlw0hfhi3c9nxik2y6xyci1ilwwfq4sjm1paqfszp0f4rq8";
+      name = "libkface-16.12.3.tar.xz";
     };
   };
   libkgeomap = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkgeomap-16.12.2.tar.xz";
-      sha256 = "1skmmg3hppzj923nl90r7v26k4fii7h3sr6yxzzvzaakwbil7d9q";
-      name = "libkgeomap-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkgeomap-16.12.3.tar.xz";
+      sha256 = "1zz2w7cbabyrvzvw2ph38mxw7khyhjzg86na2lcywla7japlbsd9";
+      name = "libkgeomap-16.12.3.tar.xz";
     };
   };
   libkipi = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkipi-16.12.2.tar.xz";
-      sha256 = "0g1yyd5lhvwwa7q4in1p3q4mwlpp00lbir1a25wanlr6hqr2247w";
-      name = "libkipi-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkipi-16.12.3.tar.xz";
+      sha256 = "0f1m0v0cm11dqwm3n9w1mwz25sj3bggx19fi0jj4ij7zqicpykz6";
+      name = "libkipi-16.12.3.tar.xz";
     };
   };
   libkleo = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkleo-16.12.2.tar.xz";
-      sha256 = "031lfrn48xzi0kxkvg9597nxzharv0s0nxlkbdcr4xx8d8iga2l0";
-      name = "libkleo-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkleo-16.12.3.tar.xz";
+      sha256 = "0rzp2bxqij9fkdsghskd2f05vgcybdc9l7wdrjqhhcngi8qxl0nn";
+      name = "libkleo-16.12.3.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkmahjongg-16.12.2.tar.xz";
-      sha256 = "0imj2xv6qcf00dx53h37yq84cqrg806qjfmm836hw6wicw24117f";
-      name = "libkmahjongg-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkmahjongg-16.12.3.tar.xz";
+      sha256 = "0fhz7jp4wcvjcicyiwc4qq4vviwagfjdy6n5bhv7bmlccq4xfk5x";
+      name = "libkmahjongg-16.12.3.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libkomparediff2-16.12.2.tar.xz";
-      sha256 = "02d3bd7miq1nq81z6b4c8c64wjj2z9shr8y0rd0yqlzmf8ma05p2";
-      name = "libkomparediff2-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libkomparediff2-16.12.3.tar.xz";
+      sha256 = "1hm2d6217qwxsq6nyyh7iv573zkkmcn68x188zav48kmydj45l9i";
+      name = "libkomparediff2-16.12.3.tar.xz";
     };
   };
   libksane = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libksane-16.12.2.tar.xz";
-      sha256 = "0p215qc56ma4laajmql72f8bngi2x88nk1q8ysq0wviadgack885";
-      name = "libksane-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libksane-16.12.3.tar.xz";
+      sha256 = "0406jdzs193scmb8rkx2fqcr2a0svz53sf1av9qi2nq9dnil9hcq";
+      name = "libksane-16.12.3.tar.xz";
     };
   };
   libksieve = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/libksieve-16.12.2.tar.xz";
-      sha256 = "1bzd8lfz0d9gnq6kh8k9wrcfbc61mdigy2madn7ywpxpcjp4rp3v";
-      name = "libksieve-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/libksieve-16.12.3.tar.xz";
+      sha256 = "1riqsfl3x4vpwqv7398gj86hnwfzqwfj7d69wsxk3r02jp3xd9i2";
+      name = "libksieve-16.12.3.tar.xz";
     };
   };
   lokalize = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/lokalize-16.12.2.tar.xz";
-      sha256 = "03cr89skhwbzq4h6fr78iaziplahpr4i7fvsf8395w6yiwsvcnyk";
-      name = "lokalize-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/lokalize-16.12.3.tar.xz";
+      sha256 = "17ikk89680jjzv95gnrzah4bi3xnyp5mi64prhblhw7kz6vlf8x0";
+      name = "lokalize-16.12.3.tar.xz";
     };
   };
   lskat = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/lskat-16.12.2.tar.xz";
-      sha256 = "1jz7bjzw5msz5nyjvr21n3c355598afdnnqc6xzfl9zjkfgx4q9w";
-      name = "lskat-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/lskat-16.12.3.tar.xz";
+      sha256 = "02mqb4c650ydy9qp3qg1avrj0m0a8yxmg0zw6hcv5pvckgfpcxki";
+      name = "lskat-16.12.3.tar.xz";
     };
   };
   mailcommon = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/mailcommon-16.12.2.tar.xz";
-      sha256 = "0b9qawglc42y4wd98xaaiqdz7586wabj9zabs3dvk9vs10qpb9p0";
-      name = "mailcommon-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/mailcommon-16.12.3.tar.xz";
+      sha256 = "1sx7dgy9jad6vqp1dljg9m40x57zz6xy9d2f1lgab5ibs1lrjhq5";
+      name = "mailcommon-16.12.3.tar.xz";
     };
   };
   mailimporter = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/mailimporter-16.12.2.tar.xz";
-      sha256 = "0dvnqqmmxdca7wmsajhzdxgz1k07dfbac0z1paww4d2inr164b8q";
-      name = "mailimporter-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/mailimporter-16.12.3.tar.xz";
+      sha256 = "08yj4i6jy08hk62mxw299sh2n5pknzxanmzr96n6lf8g1jcf2l21";
+      name = "mailimporter-16.12.3.tar.xz";
     };
   };
   marble = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/marble-16.12.2.tar.xz";
-      sha256 = "0p7ka2hl0f9ghpmyh124p57dy1ynhw0dszihg4rbbrjfjj65vig0";
-      name = "marble-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/marble-16.12.3.tar.xz";
+      sha256 = "08dykrmiq1jk9yv83sjj6s3gps56bw0hxjbvb90bzd1g0kh0c82j";
+      name = "marble-16.12.3.tar.xz";
     };
   };
   mbox-importer = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/mbox-importer-16.12.2.tar.xz";
-      sha256 = "00q7x30bl1fwfgwvqmgbspp74bmjm40d30rykq052v1cp6n0c060";
-      name = "mbox-importer-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/mbox-importer-16.12.3.tar.xz";
+      sha256 = "04sxijnyr13yjqkd1wm14bxm3k7r17dv24mfb3kbf804s7g8hvq7";
+      name = "mbox-importer-16.12.3.tar.xz";
     };
   };
   messagelib = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/messagelib-16.12.2.tar.xz";
-      sha256 = "0b65248mc6qamj1wcpv73v1ywda9gk2s2y20vjf35lmv5xi4cz88";
-      name = "messagelib-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/messagelib-16.12.3.tar.xz";
+      sha256 = "1s5r5w231lzy3csljd5qil54ibm9mjs7c9hbw1whqmn4kd0vaz15";
+      name = "messagelib-16.12.3.tar.xz";
     };
   };
   minuet = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/minuet-16.12.2.tar.xz";
-      sha256 = "1sv9b1lq2dyvlwq0bmmnxak60nz83wbwnw1d8w3n5xadssarbr1s";
-      name = "minuet-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/minuet-16.12.3.tar.xz";
+      sha256 = "15c0mw8qj7r6192h39lvsmiy3pqlfqzari4qjg2x44j5gq02ab3c";
+      name = "minuet-16.12.3.tar.xz";
     };
   };
   okteta = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/okteta-16.12.2.tar.xz";
-      sha256 = "1xq1bjpy7g8qn9d7dfgy00kf5bdcpvj1489b65yrlmyi382m5k7s";
-      name = "okteta-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/okteta-16.12.3.tar.xz";
+      sha256 = "14wmacbxc5kc3y5y5lsdxgsswi1jdvlxsd0xqcims50xjpb8znpd";
+      name = "okteta-16.12.3.tar.xz";
     };
   };
   okular = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/okular-16.12.2.tar.xz";
-      sha256 = "020z6wlycip067j398lznqcspi3b6dx1zds9ibhxw9zzh3ms92kc";
-      name = "okular-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/okular-16.12.3.tar.xz";
+      sha256 = "1gilr9nviv51pcnmqdfw7834knvyfd11ggdjvinxvbpz61832niv";
+      name = "okular-16.12.3.tar.xz";
     };
   };
   palapeli = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/palapeli-16.12.2.tar.xz";
-      sha256 = "1vkkq9r9r85x46xx91gqyhpagx1xscrvlkx4knd72rcxfygipzf9";
-      name = "palapeli-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/palapeli-16.12.3.tar.xz";
+      sha256 = "13s9ybj8a1f39z66syj88vx8rygdbb969b1d5r01msav3lk8ar3j";
+      name = "palapeli-16.12.3.tar.xz";
     };
   };
   parley = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/parley-16.12.2.tar.xz";
-      sha256 = "0fvkhph41y5ig3nwmb4zfh8n3sip52r5al3vn4yll2ndkbwdkgjb";
-      name = "parley-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/parley-16.12.3.tar.xz";
+      sha256 = "0vmbn8188brp4bysyzmkgsa8nnn9zdqb7q6x3mi1xg7ralzfjw71";
+      name = "parley-16.12.3.tar.xz";
     };
   };
   picmi = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/picmi-16.12.2.tar.xz";
-      sha256 = "0j0jhvw8b18sskvd32snk4g7xpjk3kqfw9kpvfri0qayrshcxk2c";
-      name = "picmi-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/picmi-16.12.3.tar.xz";
+      sha256 = "0v44n05b6v46qmfrgq6b0q8bifnz5ax1f6sjrg6940q99kp2cxx4";
+      name = "picmi-16.12.3.tar.xz";
     };
   };
   pimcommon = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/pimcommon-16.12.2.tar.xz";
-      sha256 = "1c4h1g6hpa7hw3ka2r561q813if031vriz646skin840jwdhnv7m";
-      name = "pimcommon-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/pimcommon-16.12.3.tar.xz";
+      sha256 = "179ig6rwxil1ssm7k2cy7ny3vf2dbhsjn39c0ic70r03q3lzbhll";
+      name = "pimcommon-16.12.3.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/pim-data-exporter-16.12.2.tar.xz";
-      sha256 = "14gkkyvcwa7q1yq6qhswq4ch9gcp1ddpjyf46d0550z1rkpws28m";
-      name = "pim-data-exporter-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/pim-data-exporter-16.12.3.tar.xz";
+      sha256 = "14xvh2gn3vc3i94fv96xbv7gxnwj8xxg3zkgfdlayajp3sz7c3yw";
+      name = "pim-data-exporter-16.12.3.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/pim-sieve-editor-16.12.2.tar.xz";
-      sha256 = "03a3imm5zs4p6zlp3m0pdc22cii26cnkgl1s1059lhmd3g3dhl85";
-      name = "pim-sieve-editor-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/pim-sieve-editor-16.12.3.tar.xz";
+      sha256 = "03gnq2hlvw92gg8rf2bwrvf83nrgcvy6xanvwn3vcrqjfg55vb1k";
+      name = "pim-sieve-editor-16.12.3.tar.xz";
     };
   };
   pim-storage-service-manager = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/pim-storage-service-manager-16.12.2.tar.xz";
-      sha256 = "1kcbrg9h3c5khyabs5n6adqljj60vks7npb8iy649y0rx2qc2fn9";
-      name = "pim-storage-service-manager-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/pim-storage-service-manager-16.12.3.tar.xz";
+      sha256 = "0ii1f5gv430i8h2c4xdy35rz7w9py53xans8zwgpj6ir6x6gfkb0";
+      name = "pim-storage-service-manager-16.12.3.tar.xz";
     };
   };
   poxml = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/poxml-16.12.2.tar.xz";
-      sha256 = "17sv19rg1d65h6ks11k7f8zx6yliyhk1j2fxnc81l8md1flarfm0";
-      name = "poxml-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/poxml-16.12.3.tar.xz";
+      sha256 = "1cpc49hnslc2iabgnvda7967mmrdzykjydi8py67ycr9k1gx6pm5";
+      name = "poxml-16.12.3.tar.xz";
     };
   };
   print-manager = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/print-manager-16.12.2.tar.xz";
-      sha256 = "1amhl13n7i5z1jfhyrhvigk0bhh9myag7kk83bqkxffsx0lzzwbw";
-      name = "print-manager-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/print-manager-16.12.3.tar.xz";
+      sha256 = "1mjzqq7yhm1s4jbr6nhy1i1lm27134j6g7b04mmzk3hbgd8lkr99";
+      name = "print-manager-16.12.3.tar.xz";
     };
   };
   rocs = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/rocs-16.12.2.tar.xz";
-      sha256 = "1gd0wdvp3c4s8br23fqqa0cp2vwfjp3xqkj1y3xf6pzv01sk7n7g";
-      name = "rocs-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/rocs-16.12.3.tar.xz";
+      sha256 = "17iz9ql988mj1vsvywd8w5w7qmbncxal71maf3rldadwmadkvzbl";
+      name = "rocs-16.12.3.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/signon-kwallet-extension-16.12.2.tar.xz";
-      sha256 = "187xjbjw9a34p9cjjhijmwg8n7m83qikxa5q8nsffd48pl7pag2i";
-      name = "signon-kwallet-extension-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/signon-kwallet-extension-16.12.3.tar.xz";
+      sha256 = "0fnqdcin471hlw694vb6z9ybgw31778rhnryc7zps40kjwfdxhcc";
+      name = "signon-kwallet-extension-16.12.3.tar.xz";
     };
   };
   spectacle = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/spectacle-16.12.2.tar.xz";
-      sha256 = "1snz8kgnwm2cbfa6y9awb3d0markfmmbgkjs1k0xs938mqam4507";
-      name = "spectacle-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/spectacle-16.12.3.tar.xz";
+      sha256 = "1fca71a59sgicq9zi8d0im0xpg7iz93s96h3clxxc6p493vsjkx6";
+      name = "spectacle-16.12.3.tar.xz";
     };
   };
   step = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/step-16.12.2.tar.xz";
-      sha256 = "0ghr054c644hvay0k4xsahrl8bwnd9w8yqq3slrdblhs7z3c7iqk";
-      name = "step-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/step-16.12.3.tar.xz";
+      sha256 = "0pyvhlfrklc2xxylb0nlnpqx5xi0pp4zyb3xbzj87wmvcw7v5n6r";
+      name = "step-16.12.3.tar.xz";
     };
   };
   svgpart = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/svgpart-16.12.2.tar.xz";
-      sha256 = "0z9a7654f3n5870d02zm8a9dpymc3jxgmf79wavsp8jjr8sdgy6g";
-      name = "svgpart-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/svgpart-16.12.3.tar.xz";
+      sha256 = "0frzqp504dzqwqs9lh544xxa8i6sqi6qj533mqbzkqbjx310ka3w";
+      name = "svgpart-16.12.3.tar.xz";
     };
   };
   sweeper = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/sweeper-16.12.2.tar.xz";
-      sha256 = "0g0iw89l27v4ivqzsrv9j1q4dgihk80nvgf2cfagadfd50hmifr4";
-      name = "sweeper-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/sweeper-16.12.3.tar.xz";
+      sha256 = "1vf4840l233gji4sjkg9gz2pr98kin5sz37kj645z75vikwmk3al";
+      name = "sweeper-16.12.3.tar.xz";
     };
   };
   syndication = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/syndication-16.12.2.tar.xz";
-      sha256 = "0vgpbr46ibyb097pbqmvpl934d4zwz3gb0fkyc23gwpxq1fgsizp";
-      name = "syndication-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/syndication-16.12.3.tar.xz";
+      sha256 = "11qa0jya3fjvhwsq98aag92ha20y7x758fvc4xi3800rbj8nlc58";
+      name = "syndication-16.12.3.tar.xz";
     };
   };
   umbrello = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/umbrello-16.12.2.tar.xz";
-      sha256 = "1g4856mvj9vzm3k86nqm9sfynall1wcj3mvnc80jji7aazmpkl6z";
-      name = "umbrello-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/umbrello-16.12.3.tar.xz";
+      sha256 = "1a4jhfmh2p1vsx8702ham550blkjj42ibwigcink6s9cadwk90cl";
+      name = "umbrello-16.12.3.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "16.12.2";
+    version = "16.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.12.2/src/zeroconf-ioslave-16.12.2.tar.xz";
-      sha256 = "1wqiakgc82zylvssxrm2askw6rjw89x85dws7q9zw13hdpvh12ss";
-      name = "zeroconf-ioslave-16.12.2.tar.xz";
+      url = "${mirror}/stable/applications/16.12.3/src/zeroconf-ioslave-16.12.3.tar.xz";
+      sha256 = "0p7kfx7bg3yvd44vg608s2znzfahkihan67zgyf3gmjllbzvp55b";
+      name = "zeroconf-ioslave-16.12.3.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix
index 734ebb9cd862..986b3fe8f77c 100644
--- a/pkgs/applications/misc/albert/default.nix
+++ b/pkgs/applications/misc/albert/default.nix
@@ -17,6 +17,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postPatch = ''
+    sed -i "/QStringList dirs = {/a    \"$out/lib\"," \
+      src/lib/albert/src/pluginsystem/extensionmanager.cpp
+  '';
+
   fixupPhase = ''
     wrapQtProgram $out/bin/albert
   '';
diff --git a/pkgs/applications/misc/calcurse/default.nix b/pkgs/applications/misc/calcurse/default.nix
index 9211ef0ab83e..3f22d1629e27 100644
--- a/pkgs/applications/misc/calcurse/default.nix
+++ b/pkgs/applications/misc/calcurse/default.nix
@@ -1,18 +1,23 @@
-{stdenv, fetchurl, ncurses, gettext}:
+{stdenv, fetchurl, ncurses, gettext, python3, makeWrapper }:
 
-stdenv.mkDerivation {
-  name = "calcurse-4.0.0";
+stdenv.mkDerivation rec {
+  name = "calcurse-${version}";
+  version = "4.2.2";
 
   src = fetchurl {
-    url = http://calcurse.org/files/calcurse-4.0.0.tar.gz;
-    sha256 = "0d33cpkbhyidvm3xx6iw9ljqdvl6477c2kcwix3bs63nj0ch06v2";
+    url = "http://calcurse.org/files/${name}.tar.gz";
+    sha256 = "0il0y06akdqgy0f9p40m4x6arn66nh7sr1w1i41bszycs7div266";
   };
 
-  buildInputs = [ncurses gettext];
+  buildInputs = [ncurses gettext python3 ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  meta = {
+  postInstall = ''
+    makeWrapper ${python3}/bin/python3 $out/bin/calcurse-caldav 
+      '';
+
+  meta = with stdenv.lib; {
     description = "A calendar and scheduling application for the command line";
-    version = "4.0.0";
     longDescription = ''
       calcurse is a calendar and scheduling application for the command line. It helps
       keep track of events, appointments and everyday tasks. A configurable notification
@@ -21,7 +26,7 @@ stdenv.mkDerivation {
       be used to filter and format appointments, making it suitable for use in scripts.
     '';
     homepage = http://calcurse.org/;
-    license = stdenv.lib.licenses.bsd2;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/chirp/default.nix b/pkgs/applications/misc/chirp/default.nix
index 469da1f6ec42..67d37489feb0 100644
--- a/pkgs/applications/misc/chirp/default.nix
+++ b/pkgs/applications/misc/chirp/default.nix
@@ -1,25 +1,20 @@
 { stdenv, fetchurl, libxml2Python, libxslt, makeWrapper
-, python, pyserial, pygtk
-}:
-let
-  version = "20161018";
-in
+, python, pyserial, pygtk }:
+
 stdenv.mkDerivation rec {
   name = "chirp-daily-${version}";
-  inherit version;
+  version = "20170311";
 
   src = fetchurl {
-    url = "http://trac.chirp.danplanet.com/chirp_daily/daily-${version}/chirp-daily-${version}.tar.gz";
-    sha256 = "0f3r919az4vvcgxzqmxvhrxa2byzk5algy7srzzs15ihkvyxcwkb";
+    url = "http://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
+    sha256 = "0mvj650vm3bfk94b174gl99fj4jigrx38f1iciz1cp3gn8hcrcpj";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
   buildInputs = [
-    makeWrapper
     pyserial pygtk libxml2Python libxslt pyserial
   ];
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
   installPhase = ''
     mkdir -p $out/bin $out/share/chirp
     cp -r . $out/share/chirp/
diff --git a/pkgs/applications/misc/colort/default.nix b/pkgs/applications/misc/colort/default.nix
new file mode 100644
index 000000000000..554c7d8c78bb
--- /dev/null
+++ b/pkgs/applications/misc/colort/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation {
+  name = "colort-unstable-2017-03-12";
+
+  src = fetchFromGitHub {
+    owner = "neeasade";
+    repo = "colort";
+    rev = "8470190706f358dc807b4c26ec3453db7f0306b6";
+    sha256 = "10n8rbr2h6hz86hcx73f86pjbbfiaw2rvxsk0yfajnma7bpxgdxw";
+  };
+
+  makeFlags = ["PREFIX=$(out)"];
+
+  meta = with stdenv.lib; {
+    description = "A program for 'tinting' color values";
+    homepage = https://github.com/neeasade/colort;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.neeasade ];
+  };
+}
diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix
index 0892f8899324..7461f6853f47 100644
--- a/pkgs/applications/misc/copyq/default.nix
+++ b/pkgs/applications/misc/copyq/default.nix
@@ -1,21 +1,25 @@
-{ stdenv, fetchurl, cmake, qt4, libXfixes, libXtst}:
+{ stdenv, fetchFromGitHub, cmake, qt4, libXfixes, libXtst}:
 
-let version = "2.5.0";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "CopyQ-${version}";
-  src  = fetchurl {
-    url    = "https://github.com/hluk/CopyQ/archive/v${version}.tar.gz";
-    sha256 = "7726745056e8d82625531defc75b2a740d3c42131ecce1f3181bc0a0bae51fb1";
+  version = "2.9.0";
+
+  src  = fetchFromGitHub {
+    owner = "hluk";
+    repo = "CopyQ";
+    rev = "v${version}";
+    sha256 = "1gnqsfh50w3qcnbghkpjr5qs42fgl6643lmg4mg4wam8a852s64f";
   };
 
-  buildInputs = [ cmake qt4 libXfixes libXtst ];
+  nativeBuildInputs = [ cmake ];
+  
+  buildInputs = [ qt4 libXfixes libXtst ];
 
   meta = with stdenv.lib; {
-    homepage    = "https://hluk.github.io/CopyQ";
+    homepage    = https://hluk.github.io/CopyQ;
     description = "Clipboard Manager with Advanced Features";
     license     = licenses.gpl3;
-    maintainers = with maintainers; [ willtim ];
+    maintainers = [ maintainers.willtim ];
     # NOTE: CopyQ supports windows and osx, but I cannot test these.
     # OSX build requires QT5.
     platforms   = platforms.linux;
diff --git a/pkgs/applications/misc/devilspie2/default.nix b/pkgs/applications/misc/devilspie2/default.nix
index 96b429691155..4a7c4d7ec304 100644
--- a/pkgs/applications/misc/devilspie2/default.nix
+++ b/pkgs/applications/misc/devilspie2/default.nix
@@ -2,18 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "devilspie2-${version}";
-  version = "0.39";
+  version = "0.42";
 
   src = fetchurl {
-    url = "http://download.savannah.gnu.org/releases/devilspie2/devilspie2_0.39-src.tar.gz";
-    sha256 = "07b74ffc078e5f01525d9da7a1978b4c1a9725b814b344f83a1a203cf4caae09";
+    url = "http://download.savannah.gnu.org/releases/devilspie2/devilspie2_${version}-src.tar.gz";
+    sha256 = "119zb9x5i3y4cp30h4113psqxb5d7zxiyijpq02g8kds1wqvrx8i";
   };
 
-  buildInputs = [ intltool pkgconfig glib gtk lua libwnck3 ];
-
-  patchPhase = ''
-    sed -i -e s@/usr/local@$out@ Makefile
-  '';
+  nativeBuildInputs = [ intltool pkgconfig ];
+  buildInputs = [ glib gtk lua libwnck3 ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share/man/man1
@@ -22,7 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Devilspie2 is a window matching utility";
+    description = "A window matching utility";
     longDescription = ''
       Devilspie2 is a window matching utility, allowing the user to
       perform scripted actions on windows as they are created. For
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 28b5f02e813a..0fde5c8644eb 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -2,11 +2,11 @@
 
 python2Packages.buildPythonApplication rec {
   name = "electrum-${version}";
-  version = "2.7.18";
+  version = "2.8.1";
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "1l9krc7hqhqrm5bwp999bpykkcq4958qwvx8v0l5mxcxw8k7fkab";
+    sha256 = "1398s9d8j04is24il2xjb6xkj666pj21bsr90xglpsmfa1js9z7g";
   };
 
   propagatedBuildInputs = with python2Packages; [
@@ -15,22 +15,22 @@ python2Packages.buildPythonApplication rec {
     jsonrpclib
     pbkdf2
     protobuf3_0
-    pyasn1
-    pyasn1-modules
+    pyaes
     pycrypto
     pyqt4
+    pysocks
     qrcode
     requests
-    slowaes
     tlslite
 
     # plugins
-    trezor
     keepkey
+    trezor
+
     # TODO plugins
-    # matplotlib
-    # btchip
     # amodem
+    # btchip
+    # matplotlib
   ];
 
   preBuild = ''
@@ -43,8 +43,11 @@ python2Packages.buildPythonApplication rec {
   postInstall = ''
     # Despite setting usr_share above, these files are installed under
     # $out/nix ...
-    mv $out/lib/python2.7/site-packages/nix/store/*/share $out
+    mv $out/lib/python2.7/site-packages/nix/store"/"*/share $out
     rm -rf $out/lib/python2.7/site-packages/nix
+
+    substituteInPlace $out/share/applications/electrum.desktop \
+      --replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix
index 82c224e7db16..b3424f367f1a 100644
--- a/pkgs/applications/misc/emem/default.nix
+++ b/pkgs/applications/misc/emem/default.nix
@@ -2,29 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "emem";
-  version = "0.2.32";
+  version = "0.2.45";
   name = "${pname}-${version}";
 
   inherit jdk;
 
   src = fetchurl {
     url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
-    sha256 = "1ril6ljbm7mczcfgbjnswcxpxpnp0kv949bhv1f6q42pxxj1wj75";
+    sha256 = "1qjlz0sqjhx11vw8cc39h0sjgnfkrhgh94pv84z37b8hn42qingb";
   };
 
-  buildInputs = [ ];
-
   phases = [ "buildPhase" "installPhase" ];
 
   buildPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/java
+    mkdir -p $out/bin $out/share/java
   '';
 
   installPhase = ''
     cp $src $out/share/java/${pname}.jar
 
-    cat > $out/bin/${pname} <<EOF
+    cat > $out/bin/${pname} << EOF
 #! $SHELL
 $jdk/bin/java -jar $out/share/java/${pname}.jar "\$@"
 EOF
diff --git a/pkgs/applications/misc/htmldoc/default.nix b/pkgs/applications/misc/htmldoc/default.nix
deleted file mode 100644
index e8274418ae16..000000000000
--- a/pkgs/applications/misc/htmldoc/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, fltk, openssl, libpng, libjpeg }:
-stdenv.mkDerivation rec {
-  name = "htmldoc-1.8.27";
-  src = fetchurl {
-    url = http://ftp.easysw.com/pub/htmldoc/1.8.27/htmldoc-1.8.27-source.tar.bz2;
-    sha256 = "04wnxgx6fxdxwiy9vbawdibngwf55mi01hjrr5fkfs22fcix5zw9";
-  };
-  buildInputs = [ fltk openssl libpng libjpeg ];
-  meta = {
-    homepage = http://www.htmldoc.org/;
-    description = "Converts HTML files to indexed HTML, PS or PDF";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ viric ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix
index 310f8feb2fd4..287efc898122 100644
--- a/pkgs/applications/misc/hyper/default.nix
+++ b/pkgs/applications/misc/hyper/default.nix
@@ -11,11 +11,11 @@ let
   ];
 in
 stdenv.mkDerivation rec {
-  version = "0.8.3";
+  version = "1.3.1";
   name = "hyper-${version}";
   src = fetchurl {
-    url = "https://github.com/zeit/hyper/releases/download/${version}/hyper-${version}-amd64.deb";
-    sha256 = "1683gc0fhifn89l9h67yz02pk1xz7p5l3qpiyddr9w21qr9h3lhq";
+    url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}.deb";
+    sha256 = "1i1rnq10a9kid8lggrd1gp9g08v98la8idnyk4kx4vn0svqy7nvl";
   };
   buildInputs = [ dpkg ];
   unpackPhase = ''
@@ -26,9 +26,8 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p "$out/bin"
     mv opt "$out/"
-    ln -s "$out/opt/Hyper/Hyper" "$out/bin/Hyper"
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:\$ORIGIN" "$out/opt/Hyper/Hyper"
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" "$out/opt/Hyper/resources/app/node_modules/child_pty/build/Release/exechelper"
+    ln -s "$out/opt/Hyper/hyper" "$out/bin/hyper"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:\$ORIGIN" "$out/opt/Hyper/hyper"
     mv usr/* "$out/"
   '';
   dontPatchELF = true;
diff --git a/pkgs/applications/misc/inspectrum/default.nix b/pkgs/applications/misc/inspectrum/default.nix
index 536582e4ee71..6ec968ecc94d 100644
--- a/pkgs/applications/misc/inspectrum/default.nix
+++ b/pkgs/applications/misc/inspectrum/default.nix
@@ -1,18 +1,35 @@
-{ stdenv, fetchFromGitHub, pkgconfig, cmake, boost, fftwFloat, qt5, gnuradio }:
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, cmake
+, boost
+, fftwFloat
+, qt5
+, gnuradio
+, liquid-dsp
+}:
 
 stdenv.mkDerivation rec {
   name = "inspectrum-${version}";
-  version = "20160403";
+  version = "20170218";
 
   src = fetchFromGitHub {
     owner = "miek";
     repo = "inspectrum";
-    rev = "27381dbb30f59267a429c04d17d792d3953a6b99";
-    sha256 = "0y4j62khq6fcv2qqlqi0kn2ix821m5gcqzg72nhc2zzfb3cdm9nm";
+    rev = "d8d1969a4cceeee0ebfd2f39e791fddd5155d4de";
+    sha256 = "05sarfin9wqkvgwn3fil1r4bay03cwzzhjwbdjslibc5chdrr2cn";
   };
 
-  buildInputs = [ pkgconfig cmake qt5.qtbase fftwFloat boost gnuradio ];
-  
+  buildInputs = [
+    pkgconfig
+    cmake
+    qt5.qtbase
+    fftwFloat
+    boost
+    gnuradio
+    liquid-dsp
+  ];
+
   meta = with stdenv.lib; {
     description = "Tool for analysing captured signals from sdr receivers";
     homepage = https://github.com/miek/inspectrum;
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
new file mode 100644
index 000000000000..ba1a266a42f5
--- /dev/null
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "kanboard-${version}";
+  version = "1.0.40";
+
+  src = fetchzip {
+    url = "https://kanboard.net/kanboard-1.0.40.zip";
+    sha256 = "1phn3rvngch636g00rhicl0225qk6gdmxqjflkrdchv299zysswd";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/share/kanboard
+    cp -rv . $out/share/kanboard
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Kanban project management software";
+    homepage = "https://kanboard.net";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/applications/misc/keepass-plugins/keeagent/default.nix b/pkgs/applications/misc/keepass-plugins/keeagent/default.nix
new file mode 100644
index 000000000000..cd83d2a44e1d
--- /dev/null
+++ b/pkgs/applications/misc/keepass-plugins/keeagent/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildEnv, fetchzip, mono }:
+
+let
+  version = "0.8.1";
+  drv = stdenv.mkDerivation {
+    name = "keeagent-${version}";
+
+    src = fetchzip {
+      url = http://lechnology.com/wp-content/uploads/2016/07/KeeAgent_v0.8.1.zip;
+      sha256 = "16x1qrnzg0xkvi7w29wj3z0ldmql2vcbwxksbsmnidzmygwg98hk";
+      stripRoot = false;
+    };
+
+    meta = {
+      description = "KeePass plugin to allow other programs to access SSH keys stored in a KeePass database for authentication";
+      homepage    = http://lechnology.com/software/keeagent;
+      platforms   = with stdenv.lib.platforms; linux;
+      license     = stdenv.lib.licenses.gpl2;
+      maintainers = [ ];
+    };
+
+    pluginFilename = "KeeAgent.plgx";
+
+    installPhase = ''
+      mkdir -p $out/lib/dotnet/keepass/
+      cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename
+    '';
+  };
+in
+  # Mono is required to compile plugin at runtime, after loading.
+  buildEnv { name = drv.name; paths = [ mono drv ]; }
diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix
index 3961138658f7..b0590fdc38f7 100644
--- a/pkgs/applications/misc/kiwix/default.nix
+++ b/pkgs/applications/misc/kiwix/default.nix
@@ -104,6 +104,7 @@ stdenv.mkDerivation rec {
     description = "An offline reader for Web content";
     homepage = http://kiwix.org;
     license = licenses.gpl3;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ robbinch ];
   };
 }
diff --git a/pkgs/applications/misc/mpvc/default.nix b/pkgs/applications/misc/mpvc/default.nix
new file mode 100644
index 000000000000..fffa95952622
--- /dev/null
+++ b/pkgs/applications/misc/mpvc/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, socat, fetchFromGitHub, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "mpvc-unstable-2017-03-18";
+
+  src = fetchFromGitHub {
+    owner = "wildefyr";
+    repo = "mpvc";
+    rev = "aea5c661455248cde7ac9ddba5f63cc790d26512";
+    sha256 = "0qiyvb3ck1wyd3izajwvlq4bwgsbq7x8ya3fgi5i0g2qr39a1qml";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+  installFlags = [ "PREFIX=$(out)" ];
+
+  postInstall = ''
+    wrapProgram $out/bin/mpvc --prefix PATH : "${socat}/bin/"
+  '';
+
+  buildInputs = [ socat makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "A mpc-like control interface for mpv";
+    homepage = https://github.com/wildefyr/mpvc;
+    license = licenses.mit;
+    maintainers = [ maintainers.neeasade ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index 2f023412faf5..49bcd4fe90a7 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee
-, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg }:
+, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre }:
 
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
@@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig vala ];
   buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler
-    libpthreadstubs makeWrapper librsvg ];
+    libpthreadstubs makeWrapper librsvg pcre ];
+
+  cmakeFlags = stdenv.lib.optionalString stdenv.isDarwin "-DMOVIES=OFF";
 
   postInstall = ''
     wrapProgram $out/bin/pdfpc \
@@ -27,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = https://pdfpc.github.io/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/applications/misc/ptask/default.nix b/pkgs/applications/misc/ptask/default.nix
new file mode 100644
index 000000000000..abb1fb596fac
--- /dev/null
+++ b/pkgs/applications/misc/ptask/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, makeWrapper, gtk3, json_c, taskwarrior }:
+
+stdenv.mkDerivation rec {
+  name = "ptask-1.0.0";
+
+  src = fetchurl {
+    url = "http://wpitchoune.net/ptask/files/${name}.tar.gz";
+    sha256 = "13nirr7b29bv3w2zc8zxphhmc9ayhs61i11jl4819nabk7vy1kdq";
+  };
+
+  buildInputs = [ gtk3 json_c ];
+
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+
+  patches = [ ./tw-version.patch ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/ptask" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+      --prefix PATH : "${taskwarrior}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://wpitchoune.net/ptask/;
+    description = "GTK-based GUI for taskwarrior";
+    license = licenses.gpl2;
+    maintainer = [ maintainers.spacefrogg ];
+  };
+}
diff --git a/pkgs/applications/misc/ptask/tw-version.patch b/pkgs/applications/misc/ptask/tw-version.patch
new file mode 100644
index 000000000000..995fffeda2f8
--- /dev/null
+++ b/pkgs/applications/misc/ptask/tw-version.patch
@@ -0,0 +1,11 @@
+--- a/src/tw.c	2017-02-21 22:56:19.289037608 +0100
++++ b/src/tw.c	2017-02-21 22:57:04.726814256 +0100
+@@ -116,7 +116,7 @@
+ 	    || !strcmp(ver, "2.3.0")
+ 	    || !strcmp(ver, "2.4.0")
+ 	    || !strcmp(ver, "2.4.1")
+-	    || !strcmp(ver, "2.5.0"))
++	    || !strcmp(ver, "2.5.1"))
+ 		return 1;
+ 	else
+ 		return 0;
diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix
index f65435ba7b23..0ea530b6bf1c 100644
--- a/pkgs/applications/misc/pwsafe/default.nix
+++ b/pkgs/applications/misc/pwsafe/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, wxGTK, libuuid, xercesc, zip , libXt, libXtst
-, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, ykpers
+, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, yubikey-personalization
 }:
 
 stdenv.mkDerivation rec {
@@ -14,12 +14,12 @@ stdenv.mkDerivation rec {
   };
 
   makefile = "Makefile.linux";
-  makeFlags = "YBPERS_LIBPATH=${ykpers}/lib";
+  makeFlags = "YBPERS_LIBPATH=${yubikey-personalization}/lib";
 
   buildFlags = "unicoderelease";
   buildInputs = [ wxGTK libuuid gettext perl zip
                   xercesc libXt libXtst libXi xextproto
-                  pkgconfig libyubikey ykpers ];
+                  pkgconfig libyubikey yubikey-personalization ];
 
   postPatch = ''
     # Fix perl scripts used during the build.
diff --git a/pkgs/applications/misc/qmetro/default.nix b/pkgs/applications/misc/qmetro/default.nix
new file mode 100644
index 000000000000..932d8156a79a
--- /dev/null
+++ b/pkgs/applications/misc/qmetro/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, qmake4Hook, unzip, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "${project}-${version}";
+  project = "qmetro";
+  version = "0.7.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${project}/${name}.zip";
+    sha256 = "1zdj87lzcr43gr2h05g17z31pd22n5kxdwbvx7rx656rmhv0sjq5";
+  };
+
+  nativeBuildInputs = [ qmake4Hook unzip ];
+
+  buildInputs = [ qt4 ];
+
+  postPatch = ''
+    sed -e 's#Exec=/usr/bin/qmetro#Exec=qmetro#' -i rc/qmetro.desktop
+    echo 'LIBS += -lz' >> qmetro.pro
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://sourceforge.net/projects/qmetro/;
+    description = "Worldwide transit maps viewer";
+    license = licenses.gpl3;
+
+    maintainter = with maintainers; [ orivej ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix
index ba8b946f3fbb..0aeb7d7eb8fc 100644
--- a/pkgs/applications/misc/qsyncthingtray/default.nix
+++ b/pkgs/applications/misc/qsyncthingtray/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase qtwebengine ];
   nativeBuildInputs = [ qmakeHook ];
   enableParallelBuilding = true;
-  
+
   postInstall = ''
     mkdir -p $out/bin
     cp binary/QSyncthingTray $out/bin
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     maintainers = with maintainers; [ zraexy ];
     platforms = platforms.all;
+    broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
   };
 }
diff --git a/pkgs/applications/misc/robomongo/default.nix b/pkgs/applications/misc/robomongo/default.nix
index ebd97f6621d4..41de15bca518 100644
--- a/pkgs/applications/misc/robomongo/default.nix
+++ b/pkgs/applications/misc/robomongo/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation {
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.amorsillo ];
+    broken = true;
   };
 }
diff --git a/pkgs/applications/misc/sc-im/default.nix b/pkgs/applications/misc/sc-im/default.nix
index 75d08ec81883..6d9e1c9fcf23 100644
--- a/pkgs/applications/misc/sc-im/default.nix
+++ b/pkgs/applications/misc/sc-im/default.nix
@@ -1,23 +1,25 @@
-{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2, pkgconfig }:
+{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2, libzip, libxls, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.0";
+  version = "0.5.0";
   name = "sc-im-${version}";
 
   src = fetchFromGitHub {
     owner = "andmarti1424";
     repo = "sc-im";
     rev = "v${version}";
-    sha256 = "1v1cfmfqs5997bqlirp6p7smc3qrinq8dvsi33sk09r33zkzyar0";
+    sha256 = "1vdn9p9srvdksxznrn65pfigwrd7brlq8bac3pjfqsvf8gjnzq61";
   };
 
-  buildInputs = [ yacc ncurses libxml2 pkgconfig ];
+  buildInputs = [ yacc ncurses libxml2 libzip libxls pkgconfig ];
 
   buildPhase = ''
     cd src
 
-    sed -i "s,prefix=/usr,prefix=$out," Makefile
-    sed -i "s,-I/usr/include/libxml2,-I$libxml2," Makefile
+    sed -e "\|^prefix  = /usr/local|   s|/usr/local|$out|" \
+        -e "\|^#LDLIBS += -lxlsreader| s|^#||            " \
+        -e "\|^#CFLAGS += -DXLS|       s|^#||            " \
+        -i Makefile
 
     make
     export DESTDIR=$out
diff --git a/pkgs/applications/misc/taskjuggler/Gemfile b/pkgs/applications/misc/taskjuggler/Gemfile
new file mode 100644
index 000000000000..77cbaeeed793
--- /dev/null
+++ b/pkgs/applications/misc/taskjuggler/Gemfile
@@ -0,0 +1,2 @@
+source 'http://rubygems.org'
+gem 'taskjuggler'
diff --git a/pkgs/applications/misc/taskjuggler/Gemfile.lock b/pkgs/applications/misc/taskjuggler/Gemfile.lock
new file mode 100644
index 000000000000..d1642e76fa65
--- /dev/null
+++ b/pkgs/applications/misc/taskjuggler/Gemfile.lock
@@ -0,0 +1,21 @@
+GEM
+  remote: http://rubygems.org/
+  specs:
+    mail (2.6.3)
+      mime-types (>= 1.16, < 3)
+    mime-types (2.6.1)
+    taskjuggler (3.5.0)
+      mail (>= 2.4.3)
+      term-ansicolor (>= 1.0.7)
+    term-ansicolor (1.3.2)
+      tins (~> 1.0)
+    tins (1.6.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  taskjuggler
+
+BUNDLED WITH
+   1.10.5
diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix
new file mode 100644
index 000000000000..23252d0c4807
--- /dev/null
+++ b/pkgs/applications/misc/taskjuggler/default.nix
@@ -0,0 +1,15 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv {
+  name = "taskjuggler-3.5.0";
+
+  inherit ruby;
+  gemdir = ./.;
+
+  meta = {
+    description = "A modern and powerful project management tool";
+    homepage    = http://taskjuggler.org/;
+    license     = lib.licenses.gpl2;
+    platforms   = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/taskjuggler/gemset.nix b/pkgs/applications/misc/taskjuggler/gemset.nix
new file mode 100644
index 000000000000..e65ab3451a62
--- /dev/null
+++ b/pkgs/applications/misc/taskjuggler/gemset.nix
@@ -0,0 +1,47 @@
+{
+  "mail" = {
+    version = "2.6.3";
+    source = {
+      type = "gem";
+      sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
+    };
+    dependencies = [
+      "mime-types"
+    ];
+  };
+  "mime-types" = {
+    version = "2.6.1";
+    source = {
+      type = "gem";
+      sha256 = "1vnrvf245ijfyxzjbj9dr6i1hkjbyrh4yj88865wv9bs75axc5jv";
+    };
+  };
+  "taskjuggler" = {
+    version = "3.5.0";
+    source = {
+      type = "gem";
+      sha256 = "0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2";
+    };
+    dependencies = [
+      "mail"
+      "term-ansicolor"
+    ];
+  };
+  "term-ansicolor" = {
+    version = "1.3.2";
+    source = {
+      type = "gem";
+      sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys";
+    };
+    dependencies = [
+      "tins"
+    ];
+  };
+  "tins" = {
+    version = "1.6.0";
+    source = {
+      type = "gem";
+      sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz";
+    };
+  };
+}
diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix
index 091d51d33059..d417140b29bf 100644
--- a/pkgs/applications/misc/timewarrior/default.nix
+++ b/pkgs/applications/misc/timewarrior/default.nix
@@ -13,11 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  installPhase = ''
-    mkdir -p $out/{bin,share/man/man1}
-    cp -rv doc/man/*.1 $out/share/man/man1
-    cp src/timew $out/bin/
-  '';
+  patches = [ ./install-all-themes.patch ];
 
   meta = with stdenv.lib; {
     description = "A command-line time tracker";
diff --git a/pkgs/applications/misc/timewarrior/install-all-themes.patch b/pkgs/applications/misc/timewarrior/install-all-themes.patch
new file mode 100644
index 000000000000..c6e8d3b0dbf7
--- /dev/null
+++ b/pkgs/applications/misc/timewarrior/install-all-themes.patch
@@ -0,0 +1,27 @@
+From e4a14c61bff3a55de42718dc11b282c4d5342995 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Tue, 14 Mar 2017 07:51:02 -0500
+Subject: [PATCH] doc/themes: install all themes, not just 'dark.theme'.
+
+---
+ doc/themes/CMakeLists.txt | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/doc/themes/CMakeLists.txt b/doc/themes/CMakeLists.txt
+index a954576..3a3b453 100644
+--- a/doc/themes/CMakeLists.txt
++++ b/doc/themes/CMakeLists.txt
+@@ -2,5 +2,8 @@ cmake_minimum_required (VERSION 2.8)
+ 
+ message ("-- Configuring theme documentation")
+ 
+-install (FILES README     DESTINATION ${TIMEW_DOCDIR}/doc/themes)
+-install (FILES dark.theme DESTINATION ${TIMEW_DOCDIR}/doc/themes)
++install (FILES README           DESTINATION ${TIMEW_DOCDIR}/doc/themes)
++install (FILES dark.theme       DESTINATION ${TIMEW_DOCDIR}/doc/themes)
++install (FILES dark_blue.theme  DESTINATION ${TIMEW_DOCDIR}/doc/themes)
++install (FILES dark_green.theme DESTINATION ${TIMEW_DOCDIR}/doc/themes)
++install (FILES dark_red.theme   DESTINATION ${TIMEW_DOCDIR}/doc/themes)
+-- 
+2.12.0
+
diff --git a/pkgs/applications/misc/xastir/default.nix b/pkgs/applications/misc/xastir/default.nix
new file mode 100644
index 000000000000..9b27e8fc7947
--- /dev/null
+++ b/pkgs/applications/misc/xastir/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, autoreconfHook
+, curl, db, gdal, libgeotiff
+, libXpm, libXt, motif, pcre
+, perl, proj, rastermagick, shapelib
+}:
+
+let
+  version = "208";
+in
+stdenv.mkDerivation {
+  name = "xastir-"+version;
+
+  src = fetchFromGitHub {
+    owner = "Xastir";
+    repo = "Xastir";
+    rev = "707f3aa8c7ca3e3fecd32d5a4af3f742437e5dce";
+    sha256 = "1mm22vn3hws7dmg9wpaj4s0zkzb77i3aqa2ay3q6kqjkdhv25brl";
+  };
+
+  buildInputs =
+    [ autoreconfHook
+      curl db gdal libgeotiff
+      libXpm libXt motif pcre
+      perl proj rastermagick shapelib
+    ];
+
+  configureFlags =
+    [ "--with-motif-includes=${motif}/include" ];
+
+  meta = with stdenv.lib; {
+    description = "Graphical APRS client";
+    homepage = https://xastir.org;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.ehmry ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index 30d38183c8f2..60af439e94bb 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     license = licenses.bsd3;
     maintainers = with maintainers; [ offline peterhoeg ];
+    broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
   };
 }
diff --git a/pkgs/applications/misc/xrq/default.nix b/pkgs/applications/misc/xrq/default.nix
new file mode 100644
index 000000000000..c0c5616db79a
--- /dev/null
+++ b/pkgs/applications/misc/xrq/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, libX11}:
+
+stdenv.mkDerivation rec {
+  name = "xrq-unstable-2016-01-15";
+
+  src = fetchFromGitHub {
+	  owner = "arianon";
+	  repo = "xrq";
+    rev = "d5dc19c63881ebdd1287a02968e3a1447dde14a9";
+    sha256 = "1bxf6h3fjw3kjraz7028m7p229l423y1ngy88lqvf0xl1g3dhp36";
+  };
+
+  installPhase = ''
+    make PREFIX=$out install
+  '';
+
+  outputs = [ "out" "doc" ];
+
+  buildInputs = [ libX11 ];
+
+  meta = {
+    description = "X utility for querying xrdb";
+    homepage = https://github.com/arianon/xrq;
+    license = stdenv.lib.licenses.mit;
+    platforms = with stdenv.lib.platforms; unix;
+  };
+}
diff --git a/pkgs/applications/misc/ykpers/default.nix b/pkgs/applications/misc/ykpers/default.nix
deleted file mode 100644
index 0fa9b5f66b26..000000000000
--- a/pkgs/applications/misc/ykpers/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, pkgconfig, libusb1, libyubikey}:
-
-stdenv.mkDerivation rec
-{
-  version = "1.17.2";
-  name = "ykpers-${version}";
-
-  src = fetchurl
-  {
-    url = "http://opensource.yubico.com/yubikey-personalization/releases/${name}.tar.gz";
-    sha256 = "1z6ybpdhl74phwzg2lhxhipqf7xnfhg52dykkzb3fbx21m0i4jkh";
-  };
-
-  buildInputs = [pkgconfig libusb1 libyubikey];
-
-  meta =
-  {
-    homepage = "http://opensource.yubico.com/yubikey-personalization/";
-    description = "YubiKey Personalization cross-platform library and tool";
-    license = "bsd";
-    maintainers = [ stdenv.lib.maintainers.calrama ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 02b7ec34cfcd..f202aee38283 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -94,12 +94,12 @@ let
 
   flash = stdenv.mkDerivation rec {
     name = "flashplayer-ppapi-${version}";
-    version = "24.0.0.221";
+    version = "25.0.0.127";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
           + "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "0vqvb098wms9v2r1xm9yq4cpn1h9dr1y7izfy2rwg3y7gr8ycv80";
+      sha256 = "1gf0ncclkk3h4vj9kkhbqj1nnnm54gwm5mdcs4p4pl8i339scs14";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 32a3713682e7..20a7743439a0 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 = "0mwwscybips1kazl0rva3jdswfzfb7yp90ggqgk27z2ndp0qj8b3";
-    sha256bin64 = "17n0jcysxi99v8hwlg7f69nrs2y5z87644145a8r53l809hkvkrk";
-    version = "57.0.2987.21";
+    sha256 = "0bbr5wr5icrw5101dlhyn20pg28mah7w4vk365i4gf6a1zvyrd8n";
+    sha256bin64 = "0dx9ivjc7avm0zgw0jcx5mmlzapwc2lp1sdjpwgd4y0iai1zr3yw";
+    version = "57.0.2987.98";
   };
   dev = {
-    sha256 = "18gsj415cdlllp95q8pv1s3hhjg8cmjb6kwrvbr5mjdvsvj0ianf";
-    sha256bin64 = "0z58rwz00bq61d24h8jynhzxanbh0m9wi04jbczci3681b4zyiyh";
-    version = "58.0.3000.4";
+    sha256 = "1i6qr1ypjww3q59lqg60xpns8xqxxrkd0yrpyx96alb1bp22x85p";
+    sha256bin64 = "1ahp99p4hi8r2bvkdpnkakwkpmmnndjn299axc7cafz85zs6z9vl";
+    version = "58.0.3029.14";
   };
   stable = {
-    sha256 = "1q2kg85pd6lv036w7lsss5mhiiva9rx4f0410sbn9bnazhghib4s";
-    sha256bin64 = "1s64smkpjmnlw7ym14v3g3lcpagsgavmnlq6wkgci80kyvwasd3w";
-    version = "56.0.2924.87";
+    sha256 = "0bbr5wr5icrw5101dlhyn20pg28mah7w4vk365i4gf6a1zvyrd8n";
+    sha256bin64 = "1qs8pmfasf3j84pjf4fnf6yb0pfa2hdgicskvfmr1sqy7c7yg348";
+    version = "57.0.2987.98";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index 5e8891385d5e..06aca4b58e31 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -1,925 +1,925 @@
 {
-  version = "52.0";
+  version = "52.0.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ach/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ach/firefox-52.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "2fc16b1e570004de7dc43b52f6b0123fc650a7717bfcdd1bab161149f8ad7fab7558df6ce48b7a66cf06d773e5edc25087c2642e3a37d34c6c775660730ae7af";
+      sha512 = "9005c3ebc0eebb7e1b29384e931ed5c2b888d0d55c8a3f34133dda908b82df0a437c5f2a6f91288396306e161fd82df2cca4f2c49685f898760b125b6d7743dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/af/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/af/firefox-52.0.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "0f74ac773789bc2089b9280af5e995f46f92f34c4c90ef4d6d972bb6c67e8cf77857909b88f0419894edaf6057bd0affa4b4551d89e3e3b938b2ae84911a80b7";
+      sha512 = "8b5e3fba883af6b097ec61bb79d3e024e55c59e9f1c3f443f74e944b9b71d56ac8ce7199bbdabff06087e0082db618636d3fc832fdde926a35877046c7baf740";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/an/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/an/firefox-52.0.1.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "fee74bac85e8b35ca16cbe81aca1d5e180ee6794ebee146d483315ee861f5c4f80797885a2a1a4d6d759fb787fa5e4a252ab66ad6cd5102a1dbaa346ed89d5ab";
+      sha512 = "cf0949e99606dc9f961da9f8324f96f5873ea3f7fc0454aebbf982b43704ae71575371fc8bad84b036348f206e9112ef251a0939185f39d3f0ff15aa3dcccbc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ar/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ar/firefox-52.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "2d2f2daf74f829683959411f712c26ae232db3c3e079ef54ee4b12cea20b58a270df580f9256eda9bfb0cbf90bad3890c8d58a5576cea9f5a25e6c17dd581b67";
+      sha512 = "202e602cea8fab71cf3b0cad522986904fa328e181599d7005e7668a115edc3eedc3d03a66eee3a3f2ff3b07b36b43394ab90e5ddd915c89550302c203ce0a27";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/as/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/as/firefox-52.0.1.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "4da8d96beadc799c27d72c56f1294dca5c8e76b5a8bbb2a9637bbbb16ecb47aa563abdc0bae5078eec040c019052e233608feac180596f8dd0787a42c8500222";
+      sha512 = "9eaaad262dbe64e70d21b651f847abeac51c66fc9ee6116847440e4217dae28bbc28d54c8d90ec7e35dc614170c86fd66bbe4d7d4e26359769d3022c3b1194fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ast/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ast/firefox-52.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "7184213214f8687a8de9bf1dd8326c98777e613a47c8e6b3bc283e94c09c5fd11d2360a4df334ca1447bd773614f6b8673ffb67a5323a2d0887efbfd3aad6f97";
+      sha512 = "93bbd1bffd278e0b9ad3f137bfaf28ba0defc95c7c9c646daf034be198051fff59e3905bac5fbddb7e6e4565e21424e0de7fa1d223ff9367d165877fcea88675";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/az/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/az/firefox-52.0.1.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "d9a791b2a679438686896ebcb995600138fb1cd88310f720afa33e302cb161550dbc628a8f3b2699217ec9275a54920197c2a2e8a9ff8671c0b6d29fe372c60e";
+      sha512 = "a7a431a8d9aff2ed8dec35b60c0802825a69ced5de4683c006feaaf2f7e05c5d19f3944fa2598be2dc6b3013e6483a0897a5924d648a8663e2a7f2647d86d491";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/bg/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/bg/firefox-52.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "1a1f7d34375273786cd2efe5c138aecf55839cc223520a6d31eab84446860f480521e380fa76003fff7a9fb5b41668bb20995c9f8ae50e11dc453e0ea6de3b4b";
+      sha512 = "edf77b166ce81c45f823d1e672ad17b9da4fa598322110c57866d32366e4df99c5b61ad96a5dd6696c5c7af4d8af941d32eedaa4e998e3cdfec1fb7512e2e503";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/bn-BD/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/bn-BD/firefox-52.0.1.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "283255c0527e44e43b9de32940886f038735537f04a83d6ed17dcee7c157ec3cedf1f6e043c7365782417040c9494560623d22552e9b9aebd5ef0a18c6dd38b8";
+      sha512 = "97b39ab362e5c99be87408bf69ac25fa9385a6fa9131e0cb653ab04993e379de1624df6cede9862535cb301244ab16e8356c243ce15970a0e292317c84399426";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/bn-IN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/bn-IN/firefox-52.0.1.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "973d32d9e8106964bd6fe15064e0bfa851e935f7fecd353e199f88a0dbe5287a2e65740f079a43dcdf35a76a8d0c98d2f24c45e8b92738e38b0a71766d980cd5";
+      sha512 = "8b49ee12c9e9516348268a595b51a808dedb505b94c35ac55e357046e9346998ccc2b94e7540a749dec2c87b3ad6be95dad2f00edf8873feacef2fed162bba2c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/br/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/br/firefox-52.0.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "2b7180ecc0bdd038faabd837e6ce09442e8254d997f50d709fc1e4779f502ebe8d4bf0e3a90657601a9f67a09d88361da0cf354929a043116e613eb9c709f704";
+      sha512 = "b464d2da9bb8a734974e35740c8609ceafc7b731feffdc250fb16d9210c895f582f9e3faac3f70484d76b8c37f435163d6b3d1c0f9c1388f9bd1f473eaad42fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/bs/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/bs/firefox-52.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "9033d98af42e5affe3f5b80dfc16ea6b08660c5a06326a50540b41463ba7356a51e9a1107fa1a698ebd0fb828100050a504a380811c8f1047aa580be28b7d9c9";
+      sha512 = "f323bfb8893c0899810e7f58ce72e569771de10e50d1f711a52df627bd074d95532d09bd9c3dc5579876ef32ba3302e3ec6799f7d8e93fa4830d6584d8a69e1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ca/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ca/firefox-52.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "d0ab3be67b331f3a6c18cb1a4036820ecb7e67187ba0fd6fda59b9b6a707482c065dd21d3623796007e5b5cb492f16b95a0a759f950b830c45909910fef8ff74";
+      sha512 = "717cba2c2f690051e60a71f74e0b33d7792ddcf574cf65388de6780bf9bed90c231187a39357332bd389be83279a3b00778a04149adfaefbb6a1047077ff886c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/cak/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/cak/firefox-52.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "6fe7403947b46fcd7535ff86259c4fd1beb36c22b4461f9ed676e38c01feaae6ae80a7711e15340e7a22605ce05b32ebd1786806c96a1e4a30b322d040acd868";
+      sha512 = "53c5a18b593450cac1336b6b16767bde7e3feb8575a5f32e00f57963daaea6a14276679378dddbeed4bf729ce55e929670ff79a65e2b3bc2da882d19a4c750af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/cs/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/cs/firefox-52.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "31c326df9d697dc5ddba65eb5d3c998c8ecbcda7a14712fda4909fc2ebaaa257247472d315e9d58e17cfa7feb75225cb1d8d20632381e35c3b65f47d21fa0885";
+      sha512 = "464b3b2d86256fa941a8cbbc04e68452961e8562194abc14e3e972a15ac7ccd59472e41e9a3c80ea92e5ddebaf2f56c6ff297efdfa25d3d9a892ce6d75612c14";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/cy/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/cy/firefox-52.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "7c56c2780de97448f796763aef6df581639b27feced5c06e8184da2c242d0cc6500f0e1692e7e2c70f324bd9fba1f1b780146c6e969d89d2053c935cb120ef19";
+      sha512 = "00fc374e844bc59793e60d7813c7c2a255d6fcd62994455eb55a014743bec81b2eb5fa31ba39219d1d7ecfc79751f62913b3dd786d62227bdfb030f7c2d24c3c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/da/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/da/firefox-52.0.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "e3033e0cf9100454e8fe93476a4b9935f1783f2f5489fabe9c2b495efa1af935546f8350178bb89ed71917f7fb11baedbbf90bc95922bb4c8d8214972bb61938";
+      sha512 = "d61608a98197a6c48bc38edbcdfa7cc821fba8221c16534ffe67e6a013e5b1ba23011c3524a8e8f2b07e6f5c86952854cadb4c8b8d04f945f2e6dbfb1fb4aeff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/de/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/de/firefox-52.0.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "9aa9a36751e14d30e7ac34680e216785d657952254e67b1cf3de33288907019790bd4f865a142551118dbbe12ddbfd28129fc74bc83d3fd96f1c250874f680da";
+      sha512 = "af188724c00163656584d8e28bab102ac3660353a6f78c703b9fa336f1996e7b3598144d0862e31de595b0b40d5345527dbd2c515009f93af9c4452f7faafd25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/dsb/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/dsb/firefox-52.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "ac543d1f58c287979bc392618051c1d525d72cfd8d51a2eafb611954be12889f40b842ef30b37001686529f8d436d259a56ec37d50e14c096781a0c44de3ed2e";
+      sha512 = "a15754dab9300b45db4369e84f5adad3231763d0de944c589ebb90789b80116233ad159f90ce6ab5275e6e53266e09b1095905fcbca3b857318608174a776a13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/el/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/el/firefox-52.0.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "190d0f6eb4b9b34e8535b90444e90983fedc89aec81ae0fa3c22860bee552a1b165e3e3e0531698cbbcb0d24c175479b96a772891d099d39ea3654029dc5e36b";
+      sha512 = "fbefdf3d5f155e726132eac8eb61e2f94352a5377502b9f56e128c386e7950b4a9718c1c50782ef2e98cb2e4c5bb4eeacc11f200ca36c97baa0ad0adbe14b9ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/en-GB/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/en-GB/firefox-52.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "6dbbd4b3a0033fa0fa0eeeca1e141154f90cb1217371a4c5be89f468e8a3529dfac0d9cd624b9cd4d1f93ba52028de8cef3678605f68597e587f644215212bf3";
+      sha512 = "6d492447da62f9d0f759c67b50b88bad0346a9d932f3eea2959b105395488dceb2a773f51c3e75ca97fca4426c3110ce1209fbbed4900f9d7bab1d78e5ec6883";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/en-US/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/en-US/firefox-52.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "55e553adbb74b246a3638f8fb2db5ed4dfe9342d3f2b8fa8924290a45697b68b8cf56ff8b1722326511d6da700f181d686b9e9234a0becded70298b85d41e305";
+      sha512 = "186ddb8b223a968c4a4364dd0ea6a1492149e2290056f3fda58a1436f37312374c1e07775244debecd1044eb51586f43b893b82add94971eacbc86414757c0fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/en-ZA/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/en-ZA/firefox-52.0.1.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "fef8c97af1e77e077206527f6ec0e06c1176039caad06e9880958c3fc34f4cb121d0a234f1bb1c1beca12877e403b1995ff46ffafcd7ab7849966e961b13c913";
+      sha512 = "1aa8e9c6de59af862b0578b6ff44d3a0e98827c6ddb8ad31d4e6de3f26768b7e302252bb76a7c9c8e0494b49d820806b00d9d89c1618eb44d307bcece7345f01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/eo/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/eo/firefox-52.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "44d5497fd194c5743f2da30ebb19cfd5705c94469bba39803cc94e76b87a7a41c1e5f500b44fb28a7a36b1d4f3cd23c582fdf1c6769c226b4aff3808f31aa23e";
+      sha512 = "5f1b247a37d72c0587ade24f4f4a9fb79f25bd8395e5777524a877d0854cfbb921b62e07a4662d8992d02fc1de6c318d2e28cd3cbeef5ec26ee9f2ef25e87939";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/es-AR/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/es-AR/firefox-52.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "56a43da6b90755174727734c7d5e2c73cb27c3d81d563b0e50a30e5c7314a6e7af0bec1f51087079caac92fb826c36001c2ca31d526ab4f1051be77a3140551e";
+      sha512 = "e6f1f54b43da0740b14bed00b45db2ae2d23735cbf9baff26b5d828f2e20161b8527d10ac2c2a63351122b7d3f8a2ac4b0d546f136ad063b75eab7255b16ab29";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/es-CL/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/es-CL/firefox-52.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "85a8bc7d4496703350e7c8652d8517ea719b4ff7600b2070f41d815eeaf184dc0110d1a75a8e7d85905d44eab7db1e5f98f6ae2f19efc51123fca79e8ac78b44";
+      sha512 = "9cb2f8c9aac77caeff715e687d239d9a57567e079c61efeec5647eaa65bde141251285509ea066a4f8a053986119cdf731a6d7ba182660ade5e2948cdee0352d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/es-ES/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/es-ES/firefox-52.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "7ccf29e7fb6c4259e146601b6d3bce643b2b5424a5940804d6e8c1baa58c0c4b3ee3c1eeb58caef42e4c799c7b3ede6fcff8db117f3de042fb7a52638b658826";
+      sha512 = "21254e11b51050a422ba68ac9df14be6f7f672518a7473e874145f7ff07f9071ae315c0d7395940c38caa8735bf53242f63658f3c2a9cfe12320525e24ded2d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/es-MX/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/es-MX/firefox-52.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "dcf32d58b6fd5bb7b631305e7be42182a13b0abf0be1f5fc22c969449b152c536ca65892d20d85f5799bf14627449e0b61de3a67cc9f33e23f8494070f7ffa27";
+      sha512 = "98629639d6f6cf4c59ef294dc6b1bc3677babaf9130506e940e288beb4253406862484f1a0953accd25ee10492a5bb3578bbf692b61e7ee36a0b238e7ce6f317";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/et/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/et/firefox-52.0.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "d67c35211d0220d4f9961ae6fd2664b4e4d5e8341f97f1505c6acdd9bbc57ded445dd167d31efe938b00e2f64240e48bae06d7ae295032e5eef382412fc8ea60";
+      sha512 = "affc635c93901437f078bc4bb07c7f22939429ad20e0ef5171ee53762fe31124115892d77519d6ff59f86d19170ba239cd895273ac84f26aec4283323d7f7682";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/eu/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/eu/firefox-52.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "2ae3709537afaaf0bfce3d40ecbd38946258de2a246013c64ed6ba6fbd2ef2898c3c0ba2cb6ec512060353a0e1864b75c3358a709ee940713f45fcdff94e952a";
+      sha512 = "2891294c7e382ac55a9c210d7e824479baa281eec8fdbd6cad6d1dea0baf08caa9051f49530c1aca11b71ce5d50fa475a1e192490c232170ffdb9aafa47d1458";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/fa/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/fa/firefox-52.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "ab880a914c5bb3ccfc99814c6c3ff53bb4b5fe151bd4db081cd7f84cbbfe5b85f14550fa83abedef140583d0084562dbf9fd46643716022e7155d19333f979b4";
+      sha512 = "b7df64d26a1155616ef70a8cb99192ab5d9624a4b0649f5829dccdd2fe833cf4aac3aaff86939adb228487b9a75e7fbddd6bbecb3345a3a42113863cf466cb0f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ff/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ff/firefox-52.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "b3859fd606829d519fbd66c15cde7f22b21129e503e785666e2e76ed8ba9ddb4f2fdac99d0fd45a295f2384e6cb0a92b9b49641a9ec00842590d236a4b49bf43";
+      sha512 = "1341979a105df3a1cd5beca0e99ed6cf177e5245ee550decb2df3b06c867cf629522fda9826a69826a1e5676d728d16315e3822a71f523691d68a5114e68fb6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/fi/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/fi/firefox-52.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "b0bd095d475c786d2e5af898cbbde4e06cca3995363af180b7d56a03830aa30ddabaaae64ba685724778b613262074f5eb3ab17784b547f502ac9170919956cf";
+      sha512 = "01347d4f9d4cf31b3d2c2bca5206ef80123ef4f3b96cab6d9aaee503c497df2ae0a8099e28e9de410a3baee4d7b950f2c840056b690b528dbae5759fdad7e3cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/fr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/fr/firefox-52.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "70cfef5874adcbfbedd07a7e6a838d3a7cc0bba3a14d009abb84ec6307b89c5568e5dee13ab435a69a5d8d16083f051da6d7fd01583001dfb4aa514d6820c082";
+      sha512 = "6d5eb134e9b75cdc0f0e4f4119c74f7aa73bd5c4512ebd0371c4ec330ca0c5414b9e6d398ae67284d73011e42ce6ab6e8ef4014cb7d6133d284abae159eae2cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/fy-NL/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/fy-NL/firefox-52.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "e21d8d72c62f504cb46d13a4d386834f4c3fba4e13a7b7851f0a991d52ef68cd8a51283e3c2ab9d1edf18c6955126b0ac397de9f5fc2fbef2e31ffb1ae953964";
+      sha512 = "71e9ad99c3bfe723285ce4437a9b1a5506279186b8f144520e3479ff463d792ce3a53b7681a03de055d69849382616986f383ddc5e59eecd5502fd6a6f745819";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ga-IE/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ga-IE/firefox-52.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "b341e6dd7e0506c9ebde9b21bf3a265b476bfbeb6b74f32eb6f062769ee8e70f58e64157165dd8d099fa444a6beff97092e4eb960a98f56938fa387a602cd794";
+      sha512 = "9fae8bdc0b63bc38672f9f7cd3fe6d995d2f2131d4d4ca5f18dca0be21294e8e2328dcca6e630467929764a300f6fd9b82c080afe02a072d4e81f1874894e1b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/gd/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/gd/firefox-52.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "fa799e7d9fea0e4ce8f9de26e0adbf113dc95a42174dc70386a1407dede25108d8d27dc41be2929947fec362bd6bb10cda3da0e506cb4c15b77c94cba896885d";
+      sha512 = "750dfe9668cc811e9b72e792223640bda908e5273f03b46e2af68614a070fee1fad999119d750e74eb42c6118dd5b4212c0cd75b3d8f9dc842c6af907938390e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/gl/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/gl/firefox-52.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "f9ffa106084fb083173e07131cfdbde5a45513e14adb5e87d60710ddd43e7be909b212e11eb2c0f3062d973c509d14d89784deb6f68f9fbe83a5bb54efd0f706";
+      sha512 = "dda00c0b6f88dc20516f65781ff9d96e45934c1f92138a1444aa83264a2aea85ea075376af91f71c5311c684a5f9aa9cccb63d67b4a3f2a96045540a161d36df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/gn/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/gn/firefox-52.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "0e2656122941ab02a9fbd4c4614058851b1dbc9f3bc65935fdf357ae29a23bbacbaefcf24d610ae991058debaadd2d17ed308a2fb9c44d3b9430bf31702fed7d";
+      sha512 = "4638c96bb72a53c2c8add3c7f767d58a9dc62ac812665aaa1c46ce840d3f4367a9cd7024794b38ab7e8c2e21ecd2bc94ceb38606dbd1f53b8b2dc1751fd1bb5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/gu-IN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/gu-IN/firefox-52.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "1c440a46044ab52b547bb949ff10da02dcf156f6195b2ccde058ce9f43ea866cef96365132302609547969afb9c5ca267eb51c917f6794e23d98dd3f98df5cd6";
+      sha512 = "41af30d770df6c5dde5e55e61ac4f5ac8a6b28bac27c554ab023171ad5eaa973c3b80f64e3ca9fb5db9c7d7943c9c9438ab7b37880f673a1a418e70ddde74624";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/he/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/he/firefox-52.0.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "22a01a470d56d22707987b84a0bf0a89b5f21c8b77c4255c0a5caa85b9549ac6a9af7f210ea7537d51f48c3ed84096de4df2474d8b2cd59e89b26f3f561d0d4c";
+      sha512 = "023359000792e3ad54764abbb46c3708f248730e5f1c8c067b1bdb81d1fbde83ef44233ab3177fad322b50329c5663aa7a0c89e820a2c8efdafe5b92f134a0e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/hi-IN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/hi-IN/firefox-52.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "89d11d581bfee9ef435226c367097270482da889df318e837230aeb28aa4d112bb357ecbe4a1a2c71d43286d10a0a9a1255ed0123f46793f3a121558d70a086c";
+      sha512 = "c2f26a610fec1c18333a01a5e7d44af1303366e9bb071ee945588b5886ce17670ea34c5bda3be647b4067dbb9a6e3f7c9c0751f7a39cc8463bf6c690e2460198";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/hr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/hr/firefox-52.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "b0b5a0263803b01ed338bd37350ca85184b7fdffc7296e5cbde6d4dc5e3ea1a25035602e8d00090643804f82d9006b6b300d7aebdfd7b58af1a588aa22419b0b";
+      sha512 = "68c04f03fe526b16552a734bc2ddad6dbbe276572586a3ffbe0ad90b8bda7f943fc107eccc9679f0778ca1fc61c475a3b519581c105ff526ff4d4896a6c41eaf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/hsb/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/hsb/firefox-52.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "0fedac52dab1961c98a90ccd981c9362aa7f5697c0a2654c0529f33cd8c2e7d7efb0a36589478431cd34b876388bbabb8eb1aafd455afa76d85945ee975a2c61";
+      sha512 = "b07a88ad8c041444a46ae81608de6048e05366fa0756270b4266c2a613246eaba0d7993e589556a92425558a106aa5e7a18d69423d680cd44cfaea6c64a64fc7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/hu/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/hu/firefox-52.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "729c194c24228e008e7464d75b7572fc6287841e24c3cb83c94e0799f70428b405c9effb16cbe0e354c001756eff2c780987a909a2984e3a33a78d09b096164d";
+      sha512 = "14ac0e6a21bed1fd94f67bd04e4b93133c7a1e37b66b84effd2212df0561b88762dc1f4a218487077c060f72fa13cac14d5f8d0d70e016bcef624b6a2c2cef0b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/hy-AM/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/hy-AM/firefox-52.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "9fb96724588559e800cc39adba0619b6d1efeb0fb13f6e0b93e8a59cb1042bc73297bf97c46d838add2cadcd0ad3dcf97fe329c6447f11165770d573a24e7585";
+      sha512 = "8d7808b549c8faee13a06671bd81c46fd896ea479a15723af0e8c70874c70993df3bab9a6013efddc2932cce910a0b52ed5a3ba853bf44fb0b18da6d4251755f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/id/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/id/firefox-52.0.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "8958cfb1abbf21148c82dece6cf656b543df31bc9125e87f4de01b4c749cc5ef4e4190587b2a14c91ecb27c97f198f1de151c5c32683f61c0855120ad738ec9d";
+      sha512 = "ac3929a73f46bdc6ebc1d185fc53368590beadd0614e8447f390c52ee213459e49eb05a822128572fa2d4c4b128b93e7c1a4b94dfa4c2a4c071ea679d495db72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/is/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/is/firefox-52.0.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "14b989d96abd7a21aa5fdc222e803e73744c232d861b392da266e10b2f2be3e72eaa84f57665491c0c7b590ce3724805024c54262f1523c8debe48cb8b318027";
+      sha512 = "e9b49b02dfa2ca87a273803c6a84c981d731e0320fce30a4580fa31d93c9ff06ea4d55f49efe771b008a5af3539a3c8e0fb9ccbd855bef951846dc687219ea4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/it/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/it/firefox-52.0.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "1d9b164ae2b4c2265bc2101b409de63fd10f1181a660a61348ea1fd01171fca2f38e716f1a35c5f680fd246532debd18274919bc3dc2f421be0bcb0b7706d8f7";
+      sha512 = "4fe510002bdd30d0d713ea112819365f55fc41de024877dfc02b217fe7ce825e5283838f81acdd0456418b5cfa70c42f071ca36668908b257ada23659042cb12";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ja/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ja/firefox-52.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "7cf13ec3bf7bb2e19096732ca8d2f1436296e4955302a8329d80d1ba295c2c622785b370dcc7253070fdbc133a4223e438d37d3b2c2b4fd823c84261907029de";
+      sha512 = "a56937787b4f6fe0fe079ee13a362a6cbbcf8160e0ce08d57d58bca7f14ca4fa34ea62c7ec1081aeefeb271c6f010a31a00ff31bb8d3d913b41382fceb9a3e3d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ka/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ka/firefox-52.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "88a54a3c07aa02e1da990b93975879b29dd87b3c4743357a4a029bd58e793539a039695306de9abf4a01161d61f22049f5a7df2eddb8124b3034be68434412fb";
+      sha512 = "3138f39d4a346f1c38ac28c498bd27c34b541c1b389eb0bfcc1957e1da098fe9b2209d46e362eba66eb833a07e77e056e44c179651b7daa88e706c20f26ab0c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/kab/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/kab/firefox-52.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "31c9197ae7411208cf9fb543da9ea8e21a770ce160a1f109aeba0ee98beea8a760f74d3ba526d8c75b47510bb0475d523592379e511f3a881279b4af49ea2ba8";
+      sha512 = "8539be22d54dee4a51207bf686260a85c66eabc19efb17d397604d19711776c310f1ceb2bb7e67be797216ba52b8eb6fbafbc63561db8dbff1d62b02baafd6ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/kk/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/kk/firefox-52.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "62cf335828c4ee0f834187c99e2faf03ffe15693d5a7a6d0f9e2756f60f0f014aeb3fa507bbc8dd28a856c98254979c98d5756413c7a7d597b02a2f98bcb5ab9";
+      sha512 = "4df849e9011631763f6a16ebe2e1bee6a0dfc25acebdee417b0b023e1c6279f91ec73ed2703c206b66a55e220425037ed11bf0a4d022d5a94ba8506537c26fd4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/km/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/km/firefox-52.0.1.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "efc614494cb18f21756bb25211c4bdce58af1f43ae927b63c655cd76605a1ee6ea95dedd6398fcf8ef81da2811d8a0e0c46a108a55882e7deea9b27ff089e1c3";
+      sha512 = "b9d063f695030b801502265ff5f93bd56a0812c45c032cfaba2354ff103e8e5c5ecc3ea43a23922c27b36e68887a9180746fe173de428c48c9a9069ab07e3c7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/kn/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/kn/firefox-52.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "0bfcb783ae230f187133f2fa5eb1fc8d77712e34eb41f73bd64bac7501d28f11bbbf79e7fc0b9a8f00d499b27f7d77917050de7b4c90f0c71387cce149c6e745";
+      sha512 = "bad628d1438caaf285d14cd68ccd1f7d7021d1a7cbd28f6b86f3368e8eb7dd4c5eb60d5b75b645fa41b88ece5925e09b87eb69f2b187a1ce63e813537e0baaca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ko/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ko/firefox-52.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "de4d4f1982351f7013524ee8df8d394888755296724c7c578dc59c5adacf42845aafb31156f69828de49163d72a89f31003140d81b59934bc87ad35e856b9369";
+      sha512 = "d1069067daaee4a20eb41efaaeb211554e110b9ff35d3a71e48248eaa1da6c12242fe66f41a1e38bc53dceb731e1f46e0b77b25a128c4546b2103e817a895ceb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/lij/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/lij/firefox-52.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "c38525ef79e48ad5e9bc004f2e297598bd86c3aaa578dc525b66b26b5c6b2419daf99b6d45f64739a0d62a03dd281bba2d53b68d4eebdc9ea033b37adc840246";
+      sha512 = "eacc7cb06e9d2bf006c5de5ff52063d76198f0444e66e0352a5cf337f722ec7648baf8555ac5da115254f35471ba176d2f7f5ba3a166005534327481a3c566d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/lt/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/lt/firefox-52.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "ce6a5628317e81dc1b61a2ff3b5a0347624921bda728ac8b4de19d43270bdf294b1e9f1c8f9460594d53a94707a041ec2a4cdfd7363e1a4c273edc9dd68095e1";
+      sha512 = "04e2984a9060fbb5315aea2f6cc822fb56c6bb73f44e95b410aea0e2748e15f31ff3e6ad869215d13df881300cf1caf55c6fdaf47fbc14472d103772d3ed06c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/lv/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/lv/firefox-52.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "43fb630b7202264d98cbefd1b9e7c30c804e6023251e161f5f0d3250d5975b385a3beee08142f32b2c140ab0ed223dbf1909294b3e82def4b0ff7794f5695daa";
+      sha512 = "2dfba1438c807e6f19bf659e17a6847f3d84cb6e1afde89026a5b54083ec5a040366a81a9a3d2653f121ab3ddaa8f2d9bf7c5d49d61370f29bad2f0c705137aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/mai/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/mai/firefox-52.0.1.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "3db01d1c2b2bc22ab8ad67fcee00c93106b48b2c8859c726d4efb0d66f86088ac2e31ccd4bac5ec76754a9948c77739e7e0473447b227d3ef11743f655705cff";
+      sha512 = "44ef596b16c11621b9064cef9c441be0d2a859429d59b7f6bdd760eeaaa7c487071da0610f1f2723ab1784a41931dcea31681ed91f9f5075b6dee3657e69feb5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/mk/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/mk/firefox-52.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "75d8ca10d3ab0e28947e17a5f64ba5fcad21a9ac68784dc2d0cd80d02ff8faafe6aabcb7b26a7c1f05f665ab18fa276e2f28af0fa8487399e6c466ecbb0128a4";
+      sha512 = "52246cd03b0b9157a641ac25bd159a605ee2ae799c795f61fd5987b5057f0c364df07339e67cbe475fc0c053d1bb5f2244accdefb1e705b5201702272d210712";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ml/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ml/firefox-52.0.1.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "7fcf6674469b994b12c8e31fda52be57d8ea9947aeb32dd35f00ac4e0c66d651542b4efaa646c66099bd64c42aeb0358f3a52e4d164b7e91a10bd487eaf23e6e";
+      sha512 = "a5548a153520fe7b930aa2f5645c3b6c73a957d564aa811b548fcc4a4814357fa2f1ca701948aadc2109f0c6ecf5117cda0f0752fbf981f3f65a46ee71543234";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/mr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/mr/firefox-52.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "8784880ce70eb5d0ea160f9f26b4446ffb5ad6796299d36912440076f0cce5f59d3a59aaf7e79eb7b2dad5b5c5001498276891b72d77bc8e9a7df6aaab6bf412";
+      sha512 = "863e5c767b9c071f4cd24562b6259fd758b834f091d3e22be26ed7e81d242861fb6a0d401fcd1156b1a3d750243e37bdc4f0ff716024d3eff1dd783bf2153e06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ms/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ms/firefox-52.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "faaa9c67122e362d011db6b5c403375994f397b3a0270d70468154a8f6f1328dec85f6cb9f3fdb239f3b778a605bb83e64f9b5e1ee99d104fc3abd63fa7a1d17";
+      sha512 = "a60877264b3ff2d2b0343f6030f2da7b07f6c21a4d805cf1d125297f49c7bc2b93980293e428c6cbc955b39407def434e503654084e8f1054290786734d89cd4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/nb-NO/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/nb-NO/firefox-52.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "755275081354ab0dbd6ba801b918a59df40af7ea94760042c32dfd08c5625fe94104d0eab83a80baaf93b631d65cf9619fa93c49165521cf05e2fde738bf6edf";
+      sha512 = "2fbff650d3881898e6feb998bb00a77d320ac11d4974bc9ef3f77b6df0bdd07ba2486bf358691163e5cd11d11444c63aca728316bbb3e4ba15b1067d3a9b7962";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/nl/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/nl/firefox-52.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "05c4dabc37487d7ebc379ccab1c062b43124934c885b277d13b7f6adb8563bab04cc55e0c1824d4a66154db6ca6f10ace14deb962645098cc76ba7291db80e35";
+      sha512 = "9ebf1a1fbd185f1992793b8c13cacd4ef26b7b51c239d69395c02903ba412382bdf21638fb60723f1b3a407ff2591fcf95836a75d4f4d1a660968b9aac513708";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/nn-NO/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/nn-NO/firefox-52.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "fde805c087400922a86557511bfdc8fde97843a7a8e0d138dc83c291219bd29dea404b356d0ff87c1ed907e6e749f73962772b1a3d821505451daf6356327d81";
+      sha512 = "9e9fa5784fb5d5f1239f511cdbbcebb7b2dce412f7a038d9dc4a3c5890764621d8949d788de1fd83a2f7bc83e909f0f60591ae1cdcf26d6c09600877cc540a5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/or/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/or/firefox-52.0.1.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "47e2bd4cc1c955429f5c28e9ae92833ff7e9211bb1251e01f55a6e0e1709c107d7012c4da3e367c2481e67ba3f2091c9145d93b2920362eea4c33be9904ceacc";
+      sha512 = "aba2e5b466aa4f84453937f7750933be5bd0d2005843d4d3c4589fe8a08c622432ad63f59c2fd9150c47591a949a7d1da565cafb6e835ade711f882a4d21114a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/pa-IN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/pa-IN/firefox-52.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "4fe0d44c5b3282b6788656a9d0da4681dae7e5737106fc18d10b339d95359035a8a746f3b5c4364b8beb321f82c9e17059d9eb51b79f5173b60aa0541f51359a";
+      sha512 = "698d2541b460bbda27aa1295d790e7c452d372ae32ddb311b6d80e3f90e298a836f86c4c26778ec5060913f716bf8d5bce2364d5d4df8ba74ca883a80770d461";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/pl/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/pl/firefox-52.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "d7f1077f616b9d264ad62c04c1734fcf67729f6fdb0a7f3be4a36b33d9ba247550a42b93c8da0c7f2dc1f552278c104a3efaa80bf4cefb1aacf806025b1c1c12";
+      sha512 = "bf1025eed0a522a8fb9c05c08750d4c471c56181ade3bb3424e8031ca1510d3890484b4e911da8df5ed78956059f4d7bbffc1c82ea40864f96ec4bdc79f550e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/pt-BR/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/pt-BR/firefox-52.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "5cadc49cbd2dbf2af20d99620c7015b2cafa687c1739badcbca0c2daa3435b454fa0fcb001e6ab45d685a950be91963d6649218eeabd6895f530a7f5d007bfd3";
+      sha512 = "07dd9bfe0e4f5d1ed239d512b2af4b4153f86c5f94f6464898263e6688daec1b4da5a9e8758f819034f17857a57417afd7a5fc67439fbad1153d5d2d9cafe28b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/pt-PT/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/pt-PT/firefox-52.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "f661dbf60b6b844e7fc085492905b2a568a36170150f1712e10ebcc32f9ab57a805b6b9292c2e4451ee72559120867b0b5c589e97ec4efa1ec64c60a2e283317";
+      sha512 = "7a21921dc0a45a2967e7ece3177f014b8d84e0e08634882785f30f28860a3d56b1b5b224da101bf1bdbd322a6ce354db566a1c51e99d7266a7f532509bc21688";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/rm/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/rm/firefox-52.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "bea3e8846a1030df7513e8d383cbb82f693951803bbc5954658996052f301747fe2a67cff3ffea2f5b7abdceb028c67c3e66a6189615bc2f90f9c03e53e0cf2e";
+      sha512 = "2fdc2e2ec175a6df36a26b5eb7be11455d51ef4d0d66b52f6036f4c743cbe95894aa6c9b904a3911801a798e4f7e53002879ba2f2aca3da14f23cc481276f7b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ro/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ro/firefox-52.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "9534563f065de5083af1eaff3ff4bd82079c848092f63fad4b0009e475bb4cc23a8a0c17085c00798b16ff2fb9e3b79f6c3b8e981d9ea083e6f3b8c5edcf3ab1";
+      sha512 = "ac4731507c44d65eaf156a4a783e1dd3603e0c86b735c3a488f8b4a7ea4f506db42ceb068a917e1a8f4452213f68ad9779a894180ab7f7856b5e55791660bb14";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ru/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ru/firefox-52.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "0cd86a2595715c73a367cac8528abfc07b930274be56f2fe0672161aa27b9e409d9a241ff822d566fed8f4ea7d4795b358e10d929ec77c4992386ad31d49aca9";
+      sha512 = "8b67edacf0fc53168074da44c7a8b2452b0e22cef093b6573333e04df9fc2402d2a55b14ec3139e4cce6eb90d611ac1bb22e4f9f548aa65523941b9786ea23bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/si/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/si/firefox-52.0.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "44c760a5c134fe22d0df3e846913f126b2a93129c542e6e4a0d1ad2704d5f275148776568864af08fd4d1f5b50d03d67bb9ca4d07203061522c1974469a27a4b";
+      sha512 = "15b24357e2cbcc2d3903da8cac5179cf56e1b4bd68b693a154960614cca39ac0c55129905448c94f5adea063455c3edbc9b32f5f530c8979fbf48347c7fb359f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/sk/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/sk/firefox-52.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "1af8e84bb1e518e5d21a78a14f4adcbbadc0c3d08afc45923975a320e76492db97f3e0cdc90ea999ff6eb02ef7d717b817bf1ec6ce13d4bbd8e92cad3ce8c6e7";
+      sha512 = "5d5b398b8f0157cb84ac8dd8a0bb091504ad34d1ba4b6daa02b9082fd900878d8dbdd5a8069df7d8e8938d4062145132bce9edbc81238362f761a92d6bbcbe5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/sl/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/sl/firefox-52.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "9d7ca89124f2e1831a762ed210ce89a1ca4cd683382c38083744d1902d357fd7d34e3e573bd54d929a5f03633686f365bdca3ba750c950e97e14209eee65c4fd";
+      sha512 = "0add0946e185b8f926115f0699227b661784a94afc56b2c9c9e03f27b790da8d73748016e86ea9260b16278699cdd72b4603a5bca72e0d9955ccff2807ff82f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/son/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/son/firefox-52.0.1.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "aa1d0fc504c528e1f2984bf226285e452ded5ab1d650065cea7c3510b0b22c6c87d7cdc4ff4af902a10e471dfad9cb5d513951ef377c28bac250ebef2b67250d";
+      sha512 = "97140c16c3b77352c2e3f56b4afd61c575d6e302dd98c333375a01e75a487297bbf429ff42a88e291f1dd2883d4119611a7e524e535b73ccf6de3215de29dead";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/sq/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/sq/firefox-52.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "b2d59c0e085d7e5be9a81dce19e025d36898dd804a549c3304a5bd4853bc2884f3ad6b88ace53f320eb0f1648bb1be9034b8cd153bdca3a8b1a391d0a3c743fa";
+      sha512 = "9c97f6df5b0393ce34f33ee3ec06d21a70e6221c2aee65ff7c115ca5a7f7e82e3e3ccaef5e41c33d72281109ee03664f63240f20c15f6de254a712ad8a0187c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/sr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/sr/firefox-52.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "1de0f66b93b22185a58ecae73c1be5497c4d5e2c2f62d9d91775717023e1793cc08fd2ee12e03a39aa008fce8c5a344de92777b00d53dbcf4c80948a627ab329";
+      sha512 = "dbe2f803ef838ea0da7188a566619cc547e272d458a138b5d3b7d1109e708d3d1c72901276f745bec2ad65ec68112ad88523400f805dad48841b9f2e6266aac5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/sv-SE/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/sv-SE/firefox-52.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "2f763fc403c14032a2588a2aff730a04c8b3aa4f8b3fa3f812f316db99753a6e9238eba544102800192c879f6c6e5e30e94a1dd11f3cdc77ca79d95e59716d9b";
+      sha512 = "555206c262c0ffd953937ffd58ed840585345739ff2868fee0e81df93d2b7bcd8b22ae567a13ea5f67cf06f7065fdc09dcd321a326e974f58f86225dbae93627";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/ta/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/ta/firefox-52.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "e5096461c09ad9cb8e059772f9ccc90592cd11300ea2055746450b7a32b1d2e6a6ef07fc6c5cd31f7afbecbb23dc231b7608e85b3c1a7530599cd9523c3058b0";
+      sha512 = "fd577c71ec42c92a88fd05fc723fba543eeee80114e90b5939d053080574ebfefb2c9d31bd6f0d2625bd4113ec4ed94aa9dcf637a17a7bc0eeb5289552f41d01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/te/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/te/firefox-52.0.1.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "e2ff646646643faab7b63cc1114354e03ce1dafdd7f9aae23b0c56a61e64a707e684fc13707d20e8a00f191cf540afc985521cacc70e66cbd50ce06e78ebe6d0";
+      sha512 = "9b9f893c25394102f026d0be65173802aeee0999031cdf4a7c3e4964df5075bec2a1a3ebf029014b4a50623f8265672992ad78214a551fcaf776adf659ed5fb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/th/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/th/firefox-52.0.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "724470cf2f1cc4b64f8e2b3c2b49a6fbe67702f76d123f171e637980ab0fadd28731ec31680389dab4ef216e5cd82ff2e3ae1f8eea86e9c8c329406fa41af44e";
+      sha512 = "6511ec6a5c1229181849af9040fb2cdf12d13907731522312bc130880c78d698d3b8d0ec8bb31d080399de7f3beb29c2fe45b6d9d9d3a9c550996c1cf9496607";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/tr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/tr/firefox-52.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "eadd1ff93b30212388e4bfb911ed7302badc30f64016366ca2eac69098fd4ab79c8bf7d352d9b91f1fd9c512693585b9673b2aee0ed739dac8db2cf913e1597e";
+      sha512 = "26a076902a0eefed3f893ea72da54e233dc13d5bc0abcbb95cd75c68778526eb961d23315018456539811548ee66030d7b1ba02049574b6b2f6eed9bac16b8be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/uk/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/uk/firefox-52.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "2a01e79f7ca1a497605597a2fa164927d5ad6798aa70e8e4f2f72711a6f928ab3a06fe8be288ed220ea7e4e59d24d3283ff9a437ef5359e39392f35e053b33f7";
+      sha512 = "d9f4cc9900a77e7de0cc0859af7ed1c83447b9a3cac52c4453a6294a6b85bb3b95b6c6385b65014a73fd92fdc4b014eb5c28ed0ca1aa60a75eaccd3272f67157";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/uz/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/uz/firefox-52.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "882daeb95ec0d8ebd5d6c29b06fe55bc66284cbe0b3d8e404798e0db0d33f27cf3df12a7c4f74f122e8a15bbbcdcad3c97f699c66d813821758019d3e1dd0f3f";
+      sha512 = "a7cf647e57651ceee739af19008877b409791f86d75592e240dadeb0559cbce6316cca3c396f044a5b4d8daa3e0a11e96cc61e3f6c9addf3a22ef59dcaaf370f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/vi/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/vi/firefox-52.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "bef28fbebef2fe622230d72176387bbf4aa115f4aec8b78b4276b1a7c23ad25bb2f92edefa44f989253e7235db6d69f595fa2467a00bd1813b7bc29077347b8c";
+      sha512 = "84e91aa0f8e92b0bb24ff53742e19869c3757343e1c05cbf2fc90aa14bf3917d3ec357f4757dc2932ffb1dd823104c42d6020e0f156a1f7cc21e696462c5d05d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/xh/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/xh/firefox-52.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "dcfdf95811886bea9baa8eb1a46eb4f9419bbeaf1f54d713efc5a3d7d7beaec0d18c79a77221eb7fc246b99aa16193f91de92225fc9c3e8cb795bc9e49887d93";
+      sha512 = "cf97e6aac1723263608a29df8df9e67c9ddeea18f3043f10a4c8f22331f519e6a30d76f2e2b2d42e1f5e24a31812e57387198391b14d726c6c5dd2488e94a820";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/zh-CN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/zh-CN/firefox-52.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "2650644609f4b2ce2a4d82072fcb95e188334cc0190b9dd2bc13e40a035f60029fffc65fea1a6d644eaa049d31503a68095aa1f8b1df8ac9435708f86741a13b";
+      sha512 = "74e10d0cf2e47f4133b25a9351a3a13cd634a4a17986dc896c32accd25fb4f09dab7c141faba5574015da83bb193087b64434a51fdd820b1ca6af82a2672beeb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/zh-TW/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-x86_64/zh-TW/firefox-52.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "3c2439185cb7935203dfb774e23dc0cb759f1357b599a026edd93d24c0617bbcb19eded53cb5c55ccadba3f4bc4fe85351c141337d94ee28c102b024e893ae2f";
+      sha512 = "2f024be661d830f179c5e19bb36415becefcdb2a98a750a09cd80f9a3a9e09f9c3ab113e51ac16ce185f42e3e4d00bfa906f7597f58b0282f3d5a98c690fc981";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ach/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ach/firefox-52.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "672908e232cb36c8d88229ff9c0cf427363a3e046cd3df21398b67897a179637972e01c08e89623bda23fa4ddbc7c76a2d7f1184a7299665269324f5fe0429fd";
+      sha512 = "520a791d0c86a60a7f789451f690fde6cab934e536b5acce4b47e56e95c8d775c9bb5bdeec32e4a694ddfc7bb0301758fbda5b575ca1baec6d134df39b6861ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/af/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/af/firefox-52.0.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "a6f22c97a43b7ac6d001599f280d01e8cebc1910e6af958d0c9d2058ac2af5b42dab1dc3ac00aac1d2f61d068bff351beaf9514a6baf335a10f3efa0205b4ed7";
+      sha512 = "4fa7361db2a87f5c133e262e7006844f9d734765c589f97843fdd3b95127c37e040f9634e11f295ab67a1ceb08fefafc8592658e3730be7d1be7680decdecf61";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/an/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/an/firefox-52.0.1.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "26b0b7629a11b8ffa20b10eb635c375088d1725a5c829b4f7dfb25d5df3c1a465ec7fc8ce56e36a81794c99ecb758b8462ead8ac4d6f79242c5f6931630e29da";
+      sha512 = "8cd72218d6b9eff75cc009224ca28da2b668c786b111f2761190eb85e5467f980b3ff577cb1de30806b049d92a820aebb854572489140c22e4509f165fb53943";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ar/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ar/firefox-52.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "cccc951ad72024eb5790d2a7d668d4103d76ccd6e760504ca7e2e0755d3e41e426f87c6720d53a7668e17cd7b74cfb0ec22d3ff5f23d6cd547e43f97c7f9c609";
+      sha512 = "a7fcfe0d20d28d15d40f15c6af83e1bef20db2ca8f74e669fb1912b3d7b411b83b8f2081e653048fcce0914800f71f3b07c8119c01f9ea9cc039f94c47681279";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/as/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/as/firefox-52.0.1.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "1dc216d63a3ba302f532a35d523ff4a3c234c17ae5ad755586ead5fd18b7e530c48c4fd5f8d3a30b679d89a45ed927a5e5a1d6f911f2fe0528989bcaa9128ece";
+      sha512 = "ad2cd9bbfb85458108a2b32aa07a090d05554cf8d60e113035cd92ac877e0a0a7fa2f7ed6a3061bb17977464d635843c4e1902071496b1ba898c74458c2878b3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ast/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ast/firefox-52.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "384211024df02a1a463a078a255093b8a43b728e7062025cefdc1409c7be63ea97ed74b2f843251b0df6622629d11d667a795e478f1eafdcb6ac5ad2a48cfdfd";
+      sha512 = "2fa3f46e646ab0a4774f827de282b8a54f324dd801d30b256988bab79bf2356723f0e0a1d401c04e429e8e4cf91a0a4b4c0b5ac0c793cb3d2fcf82b6bb311832";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/az/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/az/firefox-52.0.1.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "75bdd785a96262d00e7c2ae01cf7314cc6767f99e65e1e73b580fb7e16c93216a8e6180a3cd7dbb479bd5c2d172bfcfc9664cf8977aa9ae6678c0dc9aaca826e";
+      sha512 = "0d63c772859254b591e62ab45c542247eca411a8230afd8b0dea6b358d6db6e0dfdde43e05337be554c922caa40f13ff6db38e0526572531f32c9f0baa400bd8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/bg/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/bg/firefox-52.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "888872d2c630a2e3966a50a1789a8d68f199431ae62b81dec5ac06c0fee37524fbba3fcfd035b7869a3bfcc076cdcab6344e449de3df226cfd6c819898e67e4c";
+      sha512 = "2eb0521db20b5cd659c733a18cbb04cf4c15ffdd89482e12df2886d388a85634848108b2ec6508637afae9e36b5ad0ae7b9ee611ba531605db4cae60f1e61ed2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/bn-BD/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/bn-BD/firefox-52.0.1.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "10277429342c915c2043f4865a5b22741bc729fb8592b9527a42f000943756e9ad8116af30857966d6cb6ae6877ddb6ba2a53e719a4ee42b19963548bf66d9b6";
+      sha512 = "f0d2ff957dfb93a11c2a374a30dfb800e39ffa309f2b50419fea33488d4098fcc7e1429d434825c4854a5d27240625f2c1643496d15eaa58853fdcc91a93a601";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/bn-IN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/bn-IN/firefox-52.0.1.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "31819eea3f2b0d2c90a3bc6f4a60207eba4d1eae568b45cb5d8f48dd500702161d5469c2ab3369358140a413041c1cfd9ce62e892fe5bb0db525b5481fc6a44b";
+      sha512 = "2ed01637decdc6e11c686665aaaf1628793590352d804b3f524778c7fc5f1af6e866d28dd1a90acdec105fca392f6aad3e37a4a8d32264e790436df401d60005";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/br/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/br/firefox-52.0.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "3320933ae550ab188c8f7f6ad8d317b19439ffe85089e37e23edd24f5ac088b67af4c0968646030683dc02f64ee5c2068cce6f8250114024c8e24f2a9eff0b77";
+      sha512 = "19172c0112eb0ddd67da1f2bd8b759a901f9ce29ee6a85b889317e6f8aa9ea85a9ca6bdab6bfefaa8d65a9b7081300acc5b4eb3bf69b8ffea2eb7de4ba448636";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/bs/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/bs/firefox-52.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "9ac88212fb64d404c43a2292c8a4ab164ea1fae08249cab6fd8dfeded5e51304ae5b2d870a074c49e8ae14c820742d50700072fb6e5584dcd5ce2a06d7c85899";
+      sha512 = "eb4bf2dc8c9d74775a227254f0895d9b10c5e3f72a6c37bf9709eaef555a208b6b455e35e8122e5f96ade59956b7481df5807f4787092b642a6affaf870b8d52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ca/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ca/firefox-52.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "ea1b4565917e7ffba47a7a030cfa69b8405163ef533c01668a5a65159f2f82b9737f43796fb583306d81216f664afe090e8483c37f348d6d107b5924020d6580";
+      sha512 = "7bea06ab95279b5daba518d8d30a506f0f79c3b54f36796318213ac1c2e19aa0763774a0746315f564501930e4930105affacd4997b19f6142c1063b45e5427c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/cak/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/cak/firefox-52.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "a409ae71e157ca692d9919c00ba63679f2e3fe726537fcd49cf38ddae613806be5b9c773a0205013d48815055b6333110d283c48a9651ffb912ba6dedf74accd";
+      sha512 = "c5366697fa4d91ea125bf16073191174158497e548453c310292851fc582b05a70768339397a4076b5347c8f9b4d2ef0ff62a03217295f4eb8717a4027c8562a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/cs/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/cs/firefox-52.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "f236da19b0bea73127a52997a461d704ff7472c3fbac29a57ba54ed18a765eceee6a0a46eceaa70d84de610f7dcdb53fcebdc5b2fb013fb0385e2ffd1fc602cf";
+      sha512 = "80fa7b6e3bff168c3b82d3fc188ec7dd33bac07d4d2629df205ebacd7b795638d4fca0ea80aed5d2ff9128d1bbd66ee48512a6b19c8934a8949db7e85f444642";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/cy/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/cy/firefox-52.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "ace481c656d40e5bb88cacc82220b8384ed7bbb686974caab399f52b362f86c2390306eccc5709ff48d5086493e16dbc8e8f387454eef01e8baeffc05dacc5f8";
+      sha512 = "5d7e8741b2880f96c9778e84a07e905ce5c31df4db703ead9f5a8aa23b6ec2a478b760adc02a6747adbcb1f8098716ab0bce2a0cd00de1379961f41682e980a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/da/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/da/firefox-52.0.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "50e87a5326f1fba31ae8fe289a022b778136483d0454e81e440198d8e71c29405fbd2c53ea7975b30430d7734298d7e01cc5a9fdc3d3d3adfe6ccb33b4ebda17";
+      sha512 = "ca122f0ab79a17d7c07df8607fb9b0018197319f8a644aec4b56328193009e2fa7f9f0b4a9b4a78027f13702c25061443e3412f9be62bbf4eaf793676b1e7fd5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/de/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/de/firefox-52.0.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "6cab0138fc67670dde0f1b3481d1a6f8d0126d8f336340a52cb87f0cd30942fabdc2a670351f09a63e875a6203f0893c995eec8a556e4240aaf599d0767f4d3e";
+      sha512 = "a813a51c347d34fd9c34d9d65289644946008000d8d93fc3df7ff3f7de66f3cb7fca134af2c6e139dbcb58bf5deecfbdb4b10208bd2f7c424fc00a1d48ece9ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/dsb/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/dsb/firefox-52.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "f31b7a88244f60f419bf9a4e64dfd1ee93f406ac0d10ad2c4e63e0cb6260f03fcce45b904433fccad0e3c17b9d6fb999b4810e843be645a9ef283e16e6ae1992";
+      sha512 = "bf2a32dc433dcfcf44d205ce54fe8e2697f1485abacf11fb4cb2b7a1a24d149f85b07684f3127db3a44f83b652db1d56fb416d1f809eaef83383a70dbff5bbbe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/el/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/el/firefox-52.0.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "5a61e800101e0f550d1916fa5bc90fc0bbc201379d5f283cb01901385bc7949a658aab272fbec48d5732907ec7355d8e84c73a46611d46daae31439a64c0bcf0";
+      sha512 = "7d7192af4849b104c7b0c410ef27b708ecaac96fabed438baad76d086dcd2bd46e364a163f59b545d941510fbffa82c39785d9957f6cd6d99f0b3786b3d14a35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/en-GB/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/en-GB/firefox-52.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "226f999af2ab4274e7e1e83360b432d25609668814ff54480c3df4d081c0f52c617e89d79dafa86f949e7ef8b5b5ac4f873299c90eb97028ca68593179631452";
+      sha512 = "d19127e4e8ef347b50cff1c1960d0e6ad9e248810d9b346a9fa04b9ebcb8fd6207d3b313aa5ac3fb69fce1f096d5594584e9458f061948ca5efd242d779fcd33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/en-US/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/en-US/firefox-52.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "00cb5b343e186110d0e55fd28d9f11184af27b697a2e63dad0ea6bbacb274ce946574e6395dcd812ca8d1fdc0bf12968af7abddaa0183ba995452423b2a886aa";
+      sha512 = "10a22069e479cf6bb63c4ddaf796b557bc3ab557e17b88fbf4acad26280df5ad46af32d1d39ab85f5d16b58b5d4be5a9b79f5a081cb23a1c4ef9bf6ff69a054b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/en-ZA/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/en-ZA/firefox-52.0.1.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "0c66e49588b1b73fdbed23a1de4eecf9a5920c378deb7ebab415d5f7a159983b198ae4191da177170b8015d4975d83271385e3ecce26148d7c0859442ed877a8";
+      sha512 = "d716e7f3b435234477c68c9ec92c8f1912db6d9e10b8d77519f4731e2423143ee2974fe187f69532e93d0994257844e374e05ee5829e8ffb9d73915eee8dd67d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/eo/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/eo/firefox-52.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "8246ee3309d4dbf8126132a97407f8af71915a3578f6ebf37693262e3be3658454eb12266b00acf62ee7c987985804bf7c4171225b5ec5ebf2cc97927e626049";
+      sha512 = "088fae14d0ccac9b243e0457ee842b260051a802d3b47318b4b9d6d723af8b272a0c0c0541deca98459c928c5b271e22cc500c70992d3b2e64655ab15bb397b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/es-AR/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/es-AR/firefox-52.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "b962232b534b0603b7bdcd7af4ac05fe136ca7920f9c37f889a203f42a50ead56053f93a49d153edd04e0d4e865ce71a210673514b86d624c1c4820217f76b8e";
+      sha512 = "aff8ffd7a042f1ef80ba7fd725efdd022b5a8862714888af1e736a1d08ca1df5974ff39f3b465061c3f6c60bdc975432f04dde651165309f9095ef98b51a53b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/es-CL/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/es-CL/firefox-52.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "034e713a9c5f844fcd2f5911d96dd672c61a3fff9870ab38daab8561d9660b295deb6238b3acc31b0755a043d4c72ea914151a4ffac7a8199ff679d8b1b31272";
+      sha512 = "d8042352f0e54257ce7c96233832cd63d0cb4a0e4d6988a1299a81c9cad01190545c254045f993bff5ae5b2330a6b81baeff582a204674ec236e43ba6492e629";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/es-ES/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/es-ES/firefox-52.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "8ed0e9d6215aea8c6ffb4212e400063674805329a4cc5135a0d016e04370190349bf166b111c67b43369e43833f8715e53268327696375fc68811e023f55694c";
+      sha512 = "5e6d4473335146bfdc9655b4d610ae94e5cda83e2411c495c4196690c029d7ad37775e727afebcca0ef3325f27278508fb51c61cb978392bee7723eb2e501b8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/es-MX/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/es-MX/firefox-52.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "a33c8a1ba9e576ac05d3991979028a504cdeddec376fbaf2f2bcca6e4d9fc1edab2f8b34c12f282764b96c49a837bf9d5038a292bb96013233c8e9c60ae65fa7";
+      sha512 = "c59952163414d8a1147ea182ad70af0c2223c2f8497248e7e9585c378b95247c88a89c5c08fa6a80fd39bf71f7bbc60126fc9c103f4d8f4eb6dfd400675666b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/et/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/et/firefox-52.0.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "4647857b00ddfaf765d1d1cada904d35a2ffae0e0c1d3e2aad073090441d19c5e48b2e837a58ad9d1c20ecff7e44a3bb39f4486c8fb6d84720360e8a5b14827b";
+      sha512 = "a2f17512791b57a94f23a5581978517a9bdf817d313fb8378e7e4e34347fe67ac525ea50d19a73436dd0d8de7ca6a227d16bbbf5458c669fffd5731b868c9854";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/eu/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/eu/firefox-52.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "327aeee163aa44517914a71971f620116fc68def75e8fc929401c696902f5b6dc35f9c4ca6bc3b4f93f0d116d499e1cf0c49e9296b8e730b3a6d7f644976f109";
+      sha512 = "df4cc75f28a3a0f58b2baa78505e4a9624301e42c3f263f0f46c73a5c36915488de98e8eeaa36544de6881a21fde33c8cb78500dd335a6e904c5fb30df3b6a85";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/fa/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/fa/firefox-52.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "01e489e74b45cf8acb05ec87c4d853ebde51ca228487b8fee9dfece11aac9ed58f0e6a6c2fc6c9935189421d534b2f36e4b51016636c1010a4e93b670aaf9e3c";
+      sha512 = "faf68fba10608a010bec43cc0bd994fab084de47ed7dd4908bf33fbf90369f115ab6964481558763a06ef603ce6ffc4d97db48006a3dfc92fefaf13b8c97e6d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ff/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ff/firefox-52.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "b561312de7a9b67ceee00ed5730d8c5951f69d134b93077da06d5bb78f0d26e6a2e89f3acf1141c410f590b1d04c0d50beb78f27007e7bf99255d1dd27fc7347";
+      sha512 = "199159e04b958f9e485a5d643dce371fc19840bd7e9a4f95d7f1281d5eb860e30950583e569e806e0eae90c757917d6bf1bd32d8cadf07ce7b3c82b5771e0f55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/fi/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/fi/firefox-52.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "c9fa17537106470d29c2a632df636efe33cccc44ee7cc496321b09dd0c69329fff0063d1a2fb52c336235327923f3ce564ea6bbf513148dceb8d647903663e7e";
+      sha512 = "a5ae3dd65552ddc5c8bb843c9860ce070e793ecf67b35a77e005e54c5bfef1174beb0df114b7fb380ad3635465f84e4167f2b247c34a82b9a2208cdfe55986b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/fr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/fr/firefox-52.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "ec5639f4c9c0f1f6bb30aa8e1269b1d772277b34bd5beb965e52a7ab6558da1e481876765cffa21f04f5a13e6cbfef53150051ac0089c3e35949afeb79e1ba10";
+      sha512 = "a6f0d89b4a6d52fddbac39db1947f8671544bea26b8ed0b2759030398fa5d1e7865fa1200b67da6a8400a470e402bac0dcb97afc49c20de6a101c224ec9d00ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/fy-NL/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/fy-NL/firefox-52.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "9a2b1e4df459dca591f20d5d389196c4d61ad90b968ade5bdbc006f80ffc7aecf4b6d004bba11bc196be490fa93fb0be5f26dba698518130c9cde120ef11f1cf";
+      sha512 = "0facf3356011c6300283eff40bd8311f7e3f75f0eaf46a673f06a0aab807498758d943adc8015e4e649f66041d35107509de402a2514d108075d4398e0201300";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ga-IE/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ga-IE/firefox-52.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "ed90e0ac43699ddd648a99c008ec775a2cbb34c5de34fb9ce369e1cde7beb8cd98c3d1f56e45910e121bb91f39112a9e7ffeb97f8847bb7ffac76bbfb9aeb762";
+      sha512 = "7023456136343eb9aaf5ead84df355c03f5cf7d02928ae3ec8e7ba6d7ada3e6aa020bd8b79f9dbf8f8b5d9c2ea15a37d136cbcff215f77452ad75f40a3ff8001";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/gd/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/gd/firefox-52.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "e79d439d2977b10027d6518b7e8dac32e3da9b38cf72a8ebe2521c255bb41682515db2809fac94bcdcddb5e172e090e76ee990f9670fd8b59cab85f17e61222e";
+      sha512 = "342b1ee75b201661fb588a5f6d8530014378512465ed9beb69608fb9fb32fc7f9308cfe4592ff16f325952b3224c27c16a6c5f0e2236b9eabf048f6b096c8510";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/gl/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/gl/firefox-52.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "ebee1f0b709590d60451be8b8ade78340905b098f08f86214a5816e58f173830902717b68a393c91c5274cbbf8da0fa8915800069e5bb2e48c0973e54c07af9c";
+      sha512 = "af25290d169e7b0a4a52e71bbfd2b635347410cd1405a3433dbd14e500d16a8ffc311c25787c2a736abab0361dd1f601de770d8080b023544573e66a14652971";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/gn/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/gn/firefox-52.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "479bae9554c8a8061fb98528ed80a7093444daad909820e7c2ffa3a13384a8b3711ff599fb767345f7edac1ba5eca5aba3cced9a7c1a60577a90c0b7db334813";
+      sha512 = "124f5bce4eecd640618e62707b16f8def80fc045c20fceba65a2dad488d60bc8a5ce2e112cb766dc2b463e3d6bd72b4eda612d7c66e727f36c4f3b85cec2b5af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/gu-IN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/gu-IN/firefox-52.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "ea7f2fa1f5d90e613496affc5f58dea0621fdd36a4c7b04d3559b72b2606941cd315d7de575c649678c3c0e454961c1d8b4a360d1661f6e4fd4e8426cd8aea62";
+      sha512 = "17d6e909835cfec67f1e3dd4971e1bdd80c07488e5390a21525604ed923be9b7bb3eae18c3d011cc85d83d10d124041c14af2cb49b79b4e8df94f6f38012963b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/he/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/he/firefox-52.0.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "b757a756643c0093757b843b784bafab71d1d7e50e5bc2b2b47b29479dc27ac754ab5d8cfed842cff58de309ec276fe0c0c0ce72adf87dabbcb46f0514eecef8";
+      sha512 = "70de0d3266df3f9665706f693faebd8c3c29fe1fd7e8c1f391d1366cb094c1178f18baa3947593a3674c2d3c21e1713a5161118c4f241e6c88c47e9b1ec818ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/hi-IN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/hi-IN/firefox-52.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "7fc338870ecedd35d24ed8f20bfcc82d9ca26465704554f3d808f2fed855866d24cf68038651c4975f73a8ec6f90a297160a367132bf1e9b22a69797b311ab02";
+      sha512 = "fd8a3250fc495115b83b1b4d360c24ad263fe52f6333dccc527807c6a30060b1afbeda1b95e2a86b0f9ae8b6f63165e4c6c8b58f443bbc89f4c9291870a4d2de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/hr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/hr/firefox-52.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "c7be8964891258fce40e7d9062914d6ef418f80ac94c864448e292720f14b58ff1dcedac9cd7aff125a2819ef45c7ebdbb277a1ff87b6e8f1b5ac5e4d4e445b6";
+      sha512 = "561996e2fc7a3c2b9450b87e57cb6cdb6bcf7f454b6736c7d9ca764a85834dea40673f7142513c58624c95ee4f70c21122e54d678c1b9d5edb7273ac3d63cb6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/hsb/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/hsb/firefox-52.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "6468362c84079699b82aa0899c4605241e9c55d42acaba84d80120b52aa81be339d9ebb90140ae06b2f33475b972aacf74c6c37fbe7a66b59db314bcd01b9313";
+      sha512 = "0ef7119929a28c267e94c5fa7afe583b5da6571753a437a7213c84cbfc18c6459da36595dade5187d7e7b8cfb83efd9430ef43400b85318b661512bc8c12a1bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/hu/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/hu/firefox-52.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "0c5f56ab09225ced4072e6852be50a352ceb6befda8ba8f420431a6ca3a7d376e73ad11c38044eb7fc1a3a5a8a3dc8f49eba1fea0f17c96401be5a94276e937a";
+      sha512 = "2f27911819f6a625ddf77e02da900f219563e6b070aca76f2c08b9f432c1f15b83eaf09558df4cc1e8a0186938ac4a328f1ceaafa109411dcd270db66f189099";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/hy-AM/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/hy-AM/firefox-52.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "c3af17826b66b8faf265c2f2bf8bfd565f916163f3050e8c7d83ca5426749f7c93174be34cfa8b0d0dce6d4ee175ad6977f0fff890f072af1419fd0c8c61145a";
+      sha512 = "dde5aede668eda9fbc212f3b18a2326b24a50f399bc70e2c21f65a1f4df574c614d95be6ef55642829c78507d1ae360fc476e599521a39419e2eede1b6cad586";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/id/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/id/firefox-52.0.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "c12627f8fdc7fce12b5803f989e2a038d041482a86f23ca279e2fc1c54509bc98cc11995dce4a5858b85d9755fe8c44c2171bc1c4371a3e86dba1926caa36553";
+      sha512 = "63155285ab64209dfbd71bd5357d754889414b99ff45e9eb393b0ca8938c17152ade97251e3ef48d1d3f197cfa9f2ab1cb57000940216748c43a08174f7d9447";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/is/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/is/firefox-52.0.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "4adf2f31a05f19cc0d075bc47be810cf813535c0152e2e131b0e0017478733e0db2d81cf26867d9701122d3494bc4bc1693e34351ea60e2ca261efea3634a599";
+      sha512 = "d01c9eaa33cba50f6fef6da0313eff25e2d45c025d0ed3694abaeed833cd84590ecf6d9b7bd7ee5dcfcbdf678b4ec0f39c6a8eddec670124c9a4d79711cd6d4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/it/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/it/firefox-52.0.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "5fcae4a024210439ab71d41435768283e3cd4ff06d8cbd24e6482559797118398974d42753afb5ddab086cf41f46183827cd3532262625a036c5f22b7de3c9af";
+      sha512 = "40a3934d0c9ee388f80d20ccd38a718ee782aa0a8c1e02d14d68eda8c84454c05dcb944396f5c1b092c3fe8820176314e46f232f734079f84bfd04e4b7767618";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ja/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ja/firefox-52.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "4a881b1c24cd0d679799373c5b13b5e0c4f03f2ffe4128669db300963a19918b99453446e504f5c25e87331fdc09a300bd6ce567894bf56453a84937d8a4c882";
+      sha512 = "506302d0fe4d1198d10f6a12a38e7266585830d2648e1a4a8d5bd58c21836fcc55682137c3b706f4a3c6feee37f88828df8de850a8fba40d3d572e84381c8a1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ka/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ka/firefox-52.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "c6c120d64184c6171140c23e547b982419f3df12ff5c49ed0a5f7643feabd0d8af0899e9a764b3359d05492bd28598235ca6dc90d0af7dd7cde126243ebf47e1";
+      sha512 = "4d2719f82d245067f7c90da659081e7a5a9f083fae6456911aaeb042863a3796d739b08ff912a6c6ce163121e9b124d96ffd3e557afd2cc238ced8c62fdd4ea5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/kab/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/kab/firefox-52.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "f97796c3ed9fb03637decfa6e3fbf53373d8091668ad7adeb778eed173dc3e8e7665ca1aacfa13b2e09410bb5a93e3e3ecf4333292713c55013ba33a93998362";
+      sha512 = "8c173f08c9d83877fe96c270a22ed96dd101d5e7be0eb0225f592457f5a201946a4582147851058ee8c6bcf03890277ae225e145b7b6a824b412cb8ac3643a2f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/kk/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/kk/firefox-52.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "df59e8f662db504fe5368c135a265e0e6f985b14f3402ee0330dee218c699b9828790f3a37081cdf6fca95708770bd1ade2d3140f3c7c804ce624efc74cc2e27";
+      sha512 = "e08260dbd8c179eccf7ecf0fd036e94542652856360ce927a9430d7c9cd8e966c9b71496ac9b98dcf1a0f10b54800bb84b382b797e2d1daf5ea3742692dc6d5c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/km/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/km/firefox-52.0.1.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "29a03004cce0216508ba7b6f9fdf6f2e9407293c0e95d142d30045cd4ecf347c713c07d12c486dbd7e619e57e500bee15ce6eb539fe9314b7101f6f4fd35cfa8";
+      sha512 = "1bb1d99790cbe604e7c6ffc00b9e29b971391257ff3a04787bdce35d79c2c2ebde81037d4597d5f854fccebf9d8e13b73eb3caa11ec2cc50ed82a7db1da6213f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/kn/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/kn/firefox-52.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "11af63e757722279bb71270349f952e35771a08c3fc182f5a24b02b192775b84d966393c10f19034ef762ea7105b79354642b735e04817465afe90c818ba78ff";
+      sha512 = "426b524506c6d50a7b4625fb3cb0737bfc0f40f1d620f8d59ca60f642d6d5072abeb279722916d285a32653c9d3dffdea480ed7b76bbe81b199082c3af88e3d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ko/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ko/firefox-52.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "51f8c8a08f605877dbfb44eaf2c552221458780cd5b3f8a4124b096c36543dbe9aef1e4dbf7d8b3775d31a5fdfde2d8b71d1f8b1f7beaa826efb211d8751b9bb";
+      sha512 = "f24bb055650deb5bafc50105e5eccd1dfd09cd114175ca727c7f955b9e7fecf2be1e9e43df80ca1b986e43c991b6e960281c33654b08ea10e1a7612306253a4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/lij/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/lij/firefox-52.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "a8420d626862c54ea298c75bcb19bd90e55c713ca3b6d6802e8a4d8e7c02ddcd260d11392c9011e6fe807c17b3cedfa579d356e766b531819c89e24cdd4d7977";
+      sha512 = "d53e5e7b56c38f514de40215304982fce5f1d6600ee18fb3cb1f7b9da41b419c74ce1afa2c27bc6b93fa77b7240a3eb020b016dc4f40c744c775626939982686";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/lt/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/lt/firefox-52.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "0c577c917af487d700501205e3267d42db0c1b12c8a3168a053e90cabc1a2a4a111355c0f7a1331367afeaf8f20f662b155738ed9ebb1fc987d8086704b938a4";
+      sha512 = "0c8fe608177aa128573ee86e15788878ba431fb7436c041754d6107189bb46a323b8966402c31175089ab2b343bb44c4dceaf11ee170503817ffb0e2905fef9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/lv/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/lv/firefox-52.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "3df4ca413c2f388d65aef69600be089062731bc3521de3ccb706e1185b5cb40505ac5c9325c8f5d1d91fe8b366d461998eaadd42e090dee1dc4f8b81e0822182";
+      sha512 = "e3d831a73ced3e2e5bc41657c1d0628209f464884d44c242948e3a3c56c956af6f06e6cdd2e85b2ee25300a28aef09c755324db928ba6f7ba3582348afa44c73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/mai/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/mai/firefox-52.0.1.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "a614b5b82df1b71a3880a7ba75bfcf7bd0047b6be7a49126ce2620a6b76590a9798e142f23dff99a67d569978ba565ddd7a33e3ece69cd2c33cf74c3674cf27b";
+      sha512 = "74cde9da097068a888894d61bcaba89ff61efa003586e01083ca06f6d69aeda1831ca68d88b7e00b9eb917e0c2c7085c6486f50190ce50879a431670e347c0e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/mk/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/mk/firefox-52.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "029d1a4196ef641b4da250520f852bf2cd27a4396620fa699777a9f470a019070384098bcc25a8d01410cb2e353cc13df60ca7b8a4fdaf89bbcfe9cf50484e6e";
+      sha512 = "8c9394b7a4ec6cf251071eeee4ffb60ae74c2c0b0cc77ed7b87ed1933220503a9e24438d7f286bca8d667d174f0669573c55dbab961875fead0be92ac5a2ab10";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ml/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ml/firefox-52.0.1.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "078cb38737ff67e92cfb56fa5a9b18ba39479a92d23e2d70c0a45ddf7533f422f8887db6d4c6483da761ef15b93798e1c8edcf9d469ab484b53bb02d256d531b";
+      sha512 = "68c76f6b39c4e43f618aaab34dde32c0ce35c846d0992098606d0103998a0f8ebd15c296569c7afba7bc85f8916f36a3ab0142a226f2468b74b588af1ffb9bb8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/mr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/mr/firefox-52.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "e16481b30598b84768ceef0e3b50f4f022b0b19d48c01f24f4fb2848244a07c8dc3babfcaadfb237dad6f41434e2fec8a51217850fc6af3f2ce8025eb9b68352";
+      sha512 = "b9732c556ef495c208dc45287d578fc508436365f067f930a9ec44e8cd0c6a9b0e668a07d206d56a9234e37bb80edd1a3b86f97e8b97f102c9b665eb95f58e3c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ms/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ms/firefox-52.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "bee27e45bda71129c09ad7c26fc678713bbf1ae066d07adab661a96ea4fe0cb7a2ee561541932ae7869b5fdb2367332001aec45cb3a776c23fd98f96a376a770";
+      sha512 = "4c87190253012cdf66129820d50c7e039ae846e4d22564582f9e653847e99a17c4225e3dca222e4d88ae4971756e9e6a116c00bd3d54642709d0935212880ebc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/nb-NO/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/nb-NO/firefox-52.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "e07bb11cc2158ae8d1d5d5c0d3d9380c50aa11091a55f444a7b84cdaa271cacbf2dac42a39f21aaa636bc51678707b54e2ed393f4c2156fa1e407dd0659ca1cb";
+      sha512 = "3e2b6d33fa7bb6d955781e33c09d36db223baec583ee84bf96d5cac1ea6adad8cde1c929dab075eb1ba44e425c6bb199028536ce1da9f49583508549a806155e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/nl/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/nl/firefox-52.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "b3fdc32a487c7c9f519f8f4de6c547054ed58ec85c76991d6268040844012b85b8a85aa7add09fab2e25fbb0a5f9a645cfc5b51d8a18b735f64678cf0ceddb3c";
+      sha512 = "d13f5483c76d27b10a1b6f95d8c6f45c1d46b606f10b73ea0f8fe182eb1e07e3a708eaf6c5f8e1cbaa8b8832f98613362f7b781f45be4ccb529e48bf25444408";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/nn-NO/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/nn-NO/firefox-52.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "b78a4caffd59c8610b783c743f6896db2bffd40a910c394473ec7258525557d922bcd8f993d12c2aacc49763f4f1afa0872658d5dc03be662a285b04b54872ff";
+      sha512 = "1e44236fe14462c0922114fc39d45c3b7ffc1d1f51a247d403447dc406820c66b4617f7646b358fb240d220ecda3317d05bb46f127f1bca0460e7be687671c1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/or/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/or/firefox-52.0.1.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "2c68f1b4c0becb38ebc75720a1af76a2dd1031bb05d4c9aab05b17d486ec18d3fd3733a4d729b29fc7d1dbcf8ca8a9cdde75429c790de62f3930bf3ab7a52bbf";
+      sha512 = "609ed1aae8c84d2aa1e4c4ce034dee90aee36a01599855b91949e422d63a39aecfe3a7a7038130a9cb93e1874cd0036ad809641c84bfde2ad8893f7c46cb6d39";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/pa-IN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/pa-IN/firefox-52.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "69022b727226221c9f412ef47340fa4aa4d9495f617add10f343bac457353aa9bb3eee1ebbcbe16d06625e6fa4f77fbc1d6ce2ba021b90acbbfff8e4bc49e62d";
+      sha512 = "3c5689b2a6d594ceee2b52eedf22ef73fa9138a36abaf9f873b4cead3473dc51e2c53c436fcbeaf247d2b74cb7a880dce72086a99a24a3e19be8f37521d2a8ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/pl/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/pl/firefox-52.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "3852945b017f4d88f0dd59b824fe5d67a904d736d9b9e180d116ed77a4da66d9a5a624c7706b11885d50817aae3a8890b0e6fee0b01f121a5ffe9ceac4184541";
+      sha512 = "3222b352e3f9bc05fa1e5cd96c763cc6b4b7b119cee94886bb6191657789f30f31a49e786b3c46607129c639de658c0d3c53494d556d7d31a17204ec338868a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/pt-BR/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/pt-BR/firefox-52.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "59c7d15417a2f81dbadfa23e27b08fef1d9e4d37f93642ced7dad81158e47d12ea28b620af7ebadb419f90f2a340b9b87dbc5321a77a4580573cc8fa4e0b7368";
+      sha512 = "e2ec0b35ad75c2e8f4d8fea32ea84b59fcdc939d83aec878d84c1d5140d1884fa977fb767be203068a4073b5752f5a1a9b646ded10ad87a47bf8f14f8aa8bd09";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/pt-PT/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/pt-PT/firefox-52.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "ec95ff787a5dd3f7b736e97e50333828bbd1726b6c88f95502aa92b245d00eb8bb8ce43f665f75f993c530498ce49642aa99d2466fd7b65921390991859c50e0";
+      sha512 = "bff1ff7109c1da0954685031a25c397828b2ab299f82447a46f773179bda440ab35dd687375b12524d03c48ee46f24ef54ebf02449e332fcef20c84bed7c6394";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/rm/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/rm/firefox-52.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "88c28449200c951bbb8a08dccbff253176d62e61776c58900fff1f0bfb9daeb65e3d49f0e4a9bb8a962af40b1174d1878c4162cf6aafee65c643b35cd7535565";
+      sha512 = "98771e89b0747de5da54878fc112b4686006891dba3e213c1460f8ad4b8a97d16f68f6969105c4f6e920e78d0fba09326aaf1d4a5f3d3acb9c5aff699e3ffd73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ro/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ro/firefox-52.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "ca333f714287da738d469b32285d9b1496268656206ae4f648896adca89007950548456340b8efbbae61f26b3692f474c1af9112a9d0bc8064502e25a447e6c0";
+      sha512 = "87445f515ab98e5363fd613e50c920d8545feb6e8dbd18eda15fd0e383e4d1525c7d80d6ea50ecae0fde1cb9880a6daabbdded058d009da6fedd3df8d224576c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ru/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ru/firefox-52.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "75a19e48ac59114456a6e32f1c7557d6ab9a21377c440e88cd018620f85d14d8ef2538e271f04052c47e311d9eeba78a99d5a0f7550d1c4223d86301365dc763";
+      sha512 = "8f7d007fbc550731a42817ae2a9e71eae660fa016e868ec076ef32404e2720d20edc9e56b54d1dff41b2d6771a96bca3052e178e8620646b9a798077135dd498";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/si/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/si/firefox-52.0.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "6423857acae37915ebdd69b1e5868bbe7d8b578f48e7c87fc4ce2dadbb812098a37627c53cc7d56dc66a9431bb8a995e28dc837ebc50cc14ce3edc0cfc6e7733";
+      sha512 = "01ac64cd7a60d606ac9974b7ed1cf6a33d5ee7c99d3afd0514bad6580560e55cf5466c83b8309f09188a68335a556d9e2d5ed5e3d35da4d53fe34c31d4054f26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/sk/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/sk/firefox-52.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "19e49096ff410d3abf571895c73af14a1977ea2b44f9aab917f7d6df6cf172187f40e13faaaab095ff659b5ef17457ce315c7af8de60bf50e599048d2cac4a24";
+      sha512 = "516342913ad7e38f0f4ee2baeeb5cb0640a46d9aaa0d0f4fb9d0762cabb88639efaabe158bbdf1a22afed05f99b77271cb5e432eed2ff606f79fdb754d5a553e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/sl/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/sl/firefox-52.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "aa81792a46431668d7c73c937e88997adc1fc79f570d1984d48ef328ba2543aa4e3b0bba83084cad75c911566e762d8f6c689bd938367ce5940bef52fb218823";
+      sha512 = "239c2137bf2b2f873874f5d58d245179b55687e69f6d170c2f6d2acdfd90d0cc1a95383ea2a03de2a6a93dae6145651fbc18aefaf4a34ffbafdb9fb6fd30b7f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/son/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/son/firefox-52.0.1.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "db4e58058f5a96ff86716a94ac5cfd08d286770560ce9d2dd0b4e66c2b2cb2de49044d0add4e47afea815910435b89c4ded953d4c8908bcf2bd0b006d8eb2e1e";
+      sha512 = "a4f896919679ae68abace99a38a44b0b4c97ec190fd076fb732c5f4fdaf37dcebc0ba8d8ce79273fc1118f010bdefb304a6d1d6de0aecd7404795d31501af511";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/sq/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/sq/firefox-52.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "412b08900c697b8aacca05a0e8e972d5f8a94c659fcb43883ee53e5e70ebefa6ef96ae25b7053bc0652a1600b2fc552effa62add6ad126a2ff00614b7c956873";
+      sha512 = "9cab63ca40a6389d55ea3cc3fed3efb545784f7f3a257b79f440b72ac891e800f52aaf02e732ad2ecf99aa1810db7b88900f1f6b77cb2c6d2daa3a61210df62e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/sr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/sr/firefox-52.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "2a6d6d5c4d8215b08e0de5f85c9bb20df27975a27ef81f7706c78d6315fa73adb99b7676237463d73a376ebfe1960702291b38100e9035d4f9961270e07a5a50";
+      sha512 = "22ac168005c7675d32f2e9524d0356e2de305289dffd0be60334663adbcab48584fdf1dc0990381561aca65711d01b4b007546152d30716fec97bf1486fb788d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/sv-SE/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/sv-SE/firefox-52.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "6c12add3fc10a2bba6603418662e02331d6266a4df5b05a25a921f5da3f5235366e7114dabf2cd8d41b27b43932f14ebfdf10d30baea9b065a1d6a419ec887ec";
+      sha512 = "a958aebdaaf7737000a4a6ce7d86b299287bdcfa810a230334ace7a25a277cb17193d373d54724dfb5acf64e78e3c573d2d0c2ce0921ca545e133bfdb20c167d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/ta/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/ta/firefox-52.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "63532f2d237a8533ce87872e939cab06345cafb7e51488972c51f9a63f16bcc768d21a13574b798bf09ae9412b827f95cf3acda33a08082e764a9fbbc026a044";
+      sha512 = "107e51b9990dd0438d6fd45fe02582474f5c14dc3a07a8fa2598cca25cacedcf7f7580f8f80c7094eeb7af9cfbda125d469d4da4c2091d8d7a6ae0eeb80fdbc2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/te/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/te/firefox-52.0.1.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "42a37106d3921dbc65dd4ef1729513c6bc97cb9b0a7412c44223d07b49b5b2d48b3275fff1454cc022935d32741a434fbc45387a2151629c24f832a04b9baee8";
+      sha512 = "13f611011ee3c82df3aca2dfa4e6c4edf933bebe394f162e30af7c5bd27db3e141fdbb34e3491130605c6af9913a2a95d41d2b3a74cc4f31264e0bc7893bdb45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/th/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/th/firefox-52.0.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "6707469f29aad81f15e9522e49373b39988598f40ad4e4afee0fcdee9551e66aa74d94d31268fa0fb62f7ef69f6eda177d7b30408691af694ad6475db30c5612";
+      sha512 = "f7d474dbd9cec1c84406ff1f56249896c37e0d7f4c2e7b513dae1e2d2f1278c88cdfa56dd291e4d63746060f0d8e9a71d34f4e5b3004165b70e274e5bfa7e1b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/tr/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/tr/firefox-52.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "6c6ecc7d4fcbb967217b1c174a993b711485eec530cbc171d64b9f777b867b4ee1a6e17ea3fe054fa3c1e6255c28c3ffcdc3beccd28546977714f0d5cada7871";
+      sha512 = "51a785b556800301ad6a3dde8fee0606d74f00bab1b75fe188d83cfba67a4de2dde402e542cef62eae04059217d5e5acf29f62691c03d4e024f85264778872aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/uk/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/uk/firefox-52.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "d7cd7d0b100ad257c92444d9637e924d5900b9b99f04e205149e79e59c757fae741ec3f6cd01842efe1c7f219c594cece5d7a9345925a8765ee4d3245afe5215";
+      sha512 = "76f12345ce05edfebd0c5c14b894a0affdcae45899c46a229eeff1930bbd1302f7e1d80f007f0e3b831d8b1460b86a7f607924c24c39160768cf254825178a39";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/uz/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/uz/firefox-52.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "c1ded0aa9b6975a71b5132349521f745648bd2cf74aacf71764120cfb5c663ffc23615e62bfa662feab8c6e8c2cc40f8d0bc5b707c8cf7619de9b712d893a7f9";
+      sha512 = "7d6ec5c13514721741cfb569769137ea28516279b494b77fc066be89ebdef629d5c15f878ad62d794e5c1e345bc8e2851dbdfb9575f09c8d848d1a61c638463a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/vi/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/vi/firefox-52.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "fd19f568b5467df2f92ffb4367bbac35ff36979c875847433da573cee0f6fc24cac1c538e197a53c1a920bc274e4715a3f3734df131fc00ae8972b1a14218418";
+      sha512 = "c27e0109761f2199c7013abbd206abb24bc33a60d1b87f39ca50a05fc44c4436507b94cf72c7cac9dd30ee0613bf2b32b27272878a446185166f3c83e35ca1db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/xh/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/xh/firefox-52.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "58d10220a9ae70cddd7e814071a57f944654edd58abf8dba6a083a9de0d6b1887f09e3e6756896ca65d49622dd2981dc7abafdb655187650b7aff7023b87c60d";
+      sha512 = "8c46324dd71f3ef17e998911100c451701fdcbecc460facffd1ea43074ceec54b1b84070168496ef38706fd52a69306de76709ba100214c3c9d11252c1fe7d9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/zh-CN/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/zh-CN/firefox-52.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "59fd16400cde462fc339e5df5dd8c21dcea02cc8d46268ee01566d0a5e3188d51bb71ece2516fa2ca141b8f93fe35aa97af92841f0a7211760708f01d5cbcc36";
+      sha512 = "6bb1e84bdea7b61ac4cc4b145478a167993bc843a4171d97bc9f6a06969eee72f527c25f3b2add2ba5341aa1aa5995b3cfe6d691a4e1ed315cec0df522911313";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0/linux-i686/zh-TW/firefox-52.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/52.0.1/linux-i686/zh-TW/firefox-52.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "f288f83fc827221d46e656c5217e16b2fe23d1d9cde279ccf64824ded9135c4ea0ea3d3657a22aaab6e42f679a7c1040fe5de0875f57ae568712f1e6287177b1";
+      sha512 = "172364ccbacf6918571440cb9910eabb43457deba65449d95adfff550ac3d56b3118d21f862050a6df97ff173f079e8f2c48b41a01ec160da263bf7903c737b3";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 68e3bf1b2022..66004787542d 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -30,6 +30,10 @@ common = { pname, version, sha512, updateScript }: stdenv.mkDerivation rec {
     inherit sha512;
   };
 
+  # this patch should no longer be needed in 53
+  # from https://bugzilla.mozilla.org/show_bug.cgi?id=1013882
+  patches = lib.optional debugBuild ./fix-debug.patch;
+
   buildInputs =
     [ pkgconfig gtk2 perl zip libIDL libjpeg zlib bzip2
       python dbus dbus_glib pango freetype fontconfig xorg.libXi
@@ -148,8 +152,8 @@ in {
 
   firefox-unwrapped = common {
     pname = "firefox";
-    version = "52.0";
-    sha512 = "bffe5fd9eee240f252bf8a882c46f04551d21f6f58b8da68779cd106ed012ea77ee16bc287c847f8a7b959203c79f1b1d3f50151111f9610e1ca7a57c7b811f7";
+    version = "52.0.1";
+    sha512 = "535e2cc0ee645d4ebe9f1d2d1f4fbb16ff5d1745ce493add6b2e323ca3b0907c3054705c5a15eaadb314d5d6474ba1825554fd1ff0780ab7f76fd3f9672a6974";
     updateScript = import ./update.nix {
       attrPath = "firefox-unwrapped";
       inherit writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl;
@@ -158,8 +162,8 @@ in {
 
   firefox-esr-unwrapped = common {
     pname = "firefox-esr";
-    version = "52.0esr";
-    sha512 = "7e191c37af98163131cbba4dcc820a4edc0913d81c3b2493d9aad0a2886e7aed41a990fa5281ccfb08566ecfdfd7df7353063a01ad92d2ec6e1ce19d277b6e67";
+    version = "52.0.1esr";
+    sha512 = "c1f0aea279254e7788f62bba7892840edd2b667f385a649d374c9e783b93ec7faf9e5ebfccd04cd94f46da37aeb6bd7785d17faca2ad441a0b6e8587917faab2";
     updateScript = import ./update.nix {
       attrPath = "firefox-esr-unwrapped";
       versionSuffix = "esr";
diff --git a/pkgs/applications/networking/browsers/firefox/fix-debug.patch b/pkgs/applications/networking/browsers/firefox/fix-debug.patch
new file mode 100644
index 000000000000..ba92bbc47403
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/fix-debug.patch
@@ -0,0 +1,77 @@
+
+# HG changeset patch
+# User Michelangelo De Simone <mdesimone@mozilla.com>
+# Date 1479198095 28800
+# Node ID fde6e9ccfc72fbc0fcd93af7a40436b216e7ea1a
+# Parent  687eac6845a77d2cac5505da9c8912885c2a9e57
+Bug 1013882 - TestInterfaceJS should be packaged only if it's available. r=glandium, a=jcristau
+
+MozReview-Commit-ID: IEHesdoU4Sz
+
+diff --git a/b2g/installer/package-manifest.in b/b2g/installer/package-manifest.in
+--- a/b2g/installer/package-manifest.in
++++ b/b2g/installer/package-manifest.in
+@@ -570,17 +570,17 @@
+ @RESPATH@/components/InputMethod.manifest
+ #ifdef MOZ_B2G
+ @RESPATH@/components/inputmethod.xpt
+ #endif
+ 
+ @RESPATH@/components/SystemUpdate.manifest
+ @RESPATH@/components/SystemUpdateManager.js
+ 
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @RESPATH@/components/TestInterfaceJS.js
+ @RESPATH@/components/TestInterfaceJS.manifest
+ @RESPATH@/components/TestInterfaceJSMaplike.js
+ #endif
+ 
+ ; Modules
+ @RESPATH@/modules/*
+ 
+diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
+--- a/browser/installer/package-manifest.in
++++ b/browser/installer/package-manifest.in
+@@ -554,17 +554,17 @@
+ @RESPATH@/components/PresentationControlService.js
+ @RESPATH@/components/PresentationDataChannelSessionTransport.js
+ @RESPATH@/components/PresentationDataChannelSessionTransport.manifest
+ 
+ ; InputMethod API
+ @RESPATH@/components/MozKeyboard.js
+ @RESPATH@/components/InputMethod.manifest
+ 
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @RESPATH@/components/TestInterfaceJS.js
+ @RESPATH@/components/TestInterfaceJS.manifest
+ @RESPATH@/components/TestInterfaceJSMaplike.js
+ #endif
+ 
+ ; [Extensions]
+ @RESPATH@/components/extensions-toolkit.manifest
+ @RESPATH@/browser/components/extensions-browser.manifest
+diff --git a/mobile/android/installer/package-manifest.in b/mobile/android/installer/package-manifest.in
+--- a/mobile/android/installer/package-manifest.in
++++ b/mobile/android/installer/package-manifest.in
+@@ -381,17 +381,17 @@
+ 
+ @BINPATH@/components/CaptivePortalDetectComponents.manifest
+ @BINPATH@/components/captivedetect.js
+ 
+ #ifdef MOZ_WEBSPEECH
+ @BINPATH@/components/dom_webspeechsynth.xpt
+ #endif
+ 
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @BINPATH@/components/TestInterfaceJS.js
+ @BINPATH@/components/TestInterfaceJS.manifest
+ @BINPATH@/components/TestInterfaceJSMaplike.js
+ #endif
+ 
+ @BINPATH@/components/nsAsyncShutdown.manifest
+ @BINPATH@/components/nsAsyncShutdown.js
+ 
+
diff --git a/pkgs/applications/networking/browsers/links2/default.nix b/pkgs/applications/networking/browsers/links2/default.nix
index be2a836a085c..befe3cb21f93 100644
--- a/pkgs/applications/networking/browsers/links2/default.nix
+++ b/pkgs/applications/networking/browsers/links2/default.nix
@@ -16,10 +16,11 @@ stdenv.mkDerivation rec {
     sha256 = "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp";
   };
 
-  buildInputs =
-    [ libev librsvg libpng libjpeg libtiff gpm openssl xz bzip2 zlib ]
-    ++ stdenv.lib.optionals enableX11 [ libX11 libXau libXt ]
-    ++ stdenv.lib.optional enableDirectFB [ directfb ];
+  buildInputs = with stdenv.lib;
+    [ libev librsvg libpng libjpeg libtiff openssl xz bzip2 zlib ]
+    ++ optionals stdenv.isLinux [ gpm ]
+    ++ optionals enableX11 [ libX11 libXau libXt ]
+    ++ optional enableDirectFB [ directfb ];
 
   nativeBuildInputs = [ pkgconfig bzip2 ];
 
@@ -39,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = http://links.twibright.com/;
     description = "A small browser with some graphics support";
     maintainers = with maintainers; [ raskin urkud viric ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 9e0b0852bf8a..72a1f171dec6 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -73,25 +73,25 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-${version}";
-  version = "24.0.0.221";
+  version = "25.0.0.127";
 
   src = fetchurl {
     url =
       if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/24/flash_player_npapi_linux_debug.${arch}.tar.gz"
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/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
-          "10f8m5zc8p4xbhihbl785lws1kpv6smnbhx4ydzf8ai3mlv3y241"
+          "0d37rwbqszl593pggph8pm8jwn05fppys7q8vk1jrk9jaz262iva"
         else
-          "1rz9rkbvln8wdkfmsnnq936xs6969qma141jc4qx408419q7v3hg"
+          "0lhngdx1q51kfpw3a961h9p9n1fnspk9pmg21i069hvd0h143arx"
       else
         if arch == "x86_64" then
-          "1cb4mvslphj3bcchgr7lcswz8kk8si0s60rl5266mi53byplhw08"
+          "1yasj9xzmb6ly9209b1hmrqrzxrr1bafsfjszsr3yf994hql6nzn"
         else
-          "1vcyp9041171xkcnz05dlk3n7bnbcb9qbh4sy5wfgjkqsyd6i5bl";
+          "02vs12cm6fpl2fif1lij9y15m89wk6aizc8sbjiw6w59wixn3p9d";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
index 248fe63ab0c6..178b86b61c66 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -57,19 +57,19 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-standalone-${version}";
-  version = "24.0.0.221";
+  version = "25.0.0.127";
 
   src = fetchurl {
     url =
       if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/24/flash_player_sa_linux_debug.x86_64.tar.gz"
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/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";
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "0cy81cml72ayx2wa0fd9vgp2wzny866jasahndg01v0jfxcxw5rz"
+        "07a8x1n997lmkxj74bkygh60shwzxzcvfxpz07pxj1nmvakmin51"
       else
-        "0xgiycd47mzmwvmhbi0ig3rd7prksfdpcd4h62as1m9gs1ax4d7l";
+        "0rzxfcvjjwbd1m6pyby8km4g5834zy5d5sih7xq3czds9x0a2jp2";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 4c186fcf5ea9..a07fc04b02ea 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.9.1";
+  version = "0.10.1";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "0pf91nc0xcykahc3x7ww525c9czm8zpg80nxl8n2mrzc4ilgvass";
+    sha256 = "57f4915f0f2b1509f3aa1cb9c47117fdaad35b4c895e9223c4eb0a6e8af51917";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/surf/webkit2.nix b/pkgs/applications/networking/browsers/surf/webkit2.nix
new file mode 100644
index 000000000000..4a7b3d44e797
--- /dev/null
+++ b/pkgs/applications/networking/browsers/surf/webkit2.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchzip
+, pkgconfig, wrapGAppsHook
+, glib, glib_networking, gsettings_desktop_schemas, gtk2, libsoup, webkitgtk
+, patches ? null
+}:
+
+let
+  # http://git.suckless.org/surf/log/?h=surf-webkit2
+  rev = "37e43501d80710533f3ec0bd61ee84916c8524a4";
+  sha256 = "1q388rzm4irpaam4z8xycbyh5dgkjlar5jn1iw7zfls1pbpzr5br";
+  date = "2017-03-06";
+in
+
+stdenv.mkDerivation rec {
+  name = "surf-webkit2-${date}";
+
+  src = fetchzip {
+    url = "http://git.suckless.org/surf/snapshot/surf-${rev}.tar.gz";
+    inherit sha256;
+  };
+
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  buildInputs = [ glib glib_networking gsettings_desktop_schemas gtk2 libsoup webkitgtk ];
+
+  inherit patches;
+
+  installFlags = [ "PREFIX=/" "DESTDIR=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "A simple web browser based on WebKit/GTK+";
+    longDescription = ''
+      Surf is a simple web browser based on WebKit/GTK+. It is able to display
+      websites and follow links. It supports the XEmbed protocol which makes it
+      possible to embed it in another application. Furthermore, one can point
+      surf to another URI by setting its XProperties.
+    '';
+    homepage = http://surf.suckless.org;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ joachifm ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index 80747e44bf53..ea25fa6ccb57 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -27,5 +27,6 @@ buildGoPackage rec {
     homepage = https://github.com/kubernetes/kops;
     license = licenses.asl20;
     maintainers = with maintainers; [offline];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 0040d0ca8238..bf69eac318dc 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, which, go, go-bindata, makeWrapper, rsync
+{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync
 , iptables, coreutils
 , components ? [
     "cmd/kubeadm"
@@ -18,16 +18,16 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "kubernetes-${version}";
-  version = "1.5.2";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "1ps9bn5gqknyjv0b9jvp7xg3cyd4anq11j785p22347al0b8w81v";
+    sha256 = "1xhz6m6ly6ffj60id9ms1liijlrik8n2pxyzb5m77ym3zf7rxlpl";
   };
 
-  buildInputs = [ makeWrapper which go rsync go-bindata ];
+  buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
 
   outputs = ["out" "man" "pause"];
 
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   postBuild = ''
     ./hack/generate-docs.sh
-    (cd build/pause && gcc pause.c -o pause)
+    (cd build/pause && cc pause.c -o pause)
   '';
 
   installPhase = ''
@@ -59,12 +59,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    # Remove references to go compiler
-    while read file; do
-      cat $file | sed "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" > $file.tmp
-      mv $file.tmp $file
-      chmod +x $file
-    done < <(find $out/bin $pause/bin -type f 2>/dev/null)
+    find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' +
   '';
 
   meta = {
@@ -72,6 +67,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     homepage = http://kubernetes.io;
     maintainers = with maintainers; [offline];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index fcc17df3fc46..19fe89ea4491 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -1,47 +1,77 @@
-{ stdenv, lib, fetchurl, makeWrapper, docker-machine-kvm, kubernetes, libvirt, qemu }:
+{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, go-bindata, kubernetes, libvirt, qemu, docker-machine-kvm, makeWrapper }:
 
 let
-  arch = if stdenv.isLinux
-         then "linux-amd64"
-         else "darwin-amd64";
-  checksum = if stdenv.isLinux
-             then "0cdcabsx5l4jbpyj3zzyz5bnzks6wl64bmzdsnk41x92ar5y5yal"
-             else "12f3b7s5lwpvzx4wj6i6h62n4zjshqf206fxxwpwx9kpsdaw6xdi";
+  binPath = [ kubernetes ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ libvirt qemu docker-machine-kvm ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [];
 
-# TODO: compile from source
-
-in stdenv.mkDerivation rec {
-  pname = "minikube";
+  # Normally, minikube bundles localkube in its own binary via go-bindata. Unfortunately, it needs to make that localkube
+  # a static linux binary, and our Linux nixpkgs go compiler doesn't seem to work when asking for a cgo binary that's static
+  # (presumably because we don't have some static system libraries it wants), and cross-compiling cgo on Darwin is a nightmare.
+  #
+  # Note that minikube can download (and cache) versions of localkube it needs on demand. Unfortunately, minikube's knowledge
+  # of where it can download versions of localkube seems to rely on a json file that doesn't get updated as often as we'd like,
+  # so for example it doesn't know about v1.5.3 even though there's a perfectly good version of localkube hosted there. So
+  # instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
+  # currently https://storage.googleapis.com/minikube/k8s_releases.json. Note that we can't use 1.5.3 with minikube 0.17.1
+  # expects to be able to pass it a command-line argument that it doesn't understand. v1.5.4 and higher should be fine. There
+  # doesn't seem to ae any official release of localkube for 1.5.4 yet so I'm temporarily grabbing a version built from the
+  # minikube CI server.
+  localkube-binary = fetchurl {
+    url    = "https://storage.googleapis.com/minikube-builds/1216/localkube";
+    # url    = "https://storage.googleapis.com/minikube/k8sReleases/v${kubernetes.version}/localkube-linux-amd64";
+    sha256 = "1vqrsak7n045ci6af3rpgs2qwjnrqk8k7c3ax6wzli4m8vhsiv57";
+  };
+in buildGoPackage rec {
+  pname   = "minikube";
+  name    = "${pname}-${version}";
   version = "0.17.1";
-  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://storage.googleapis.com/minikube/releases/v${version}/minikube-${arch}";
-    sha256 = "${checksum}";
+  goPackagePath = "k8s.io/minikube";
+
+  src = fetchFromGitHub {
+    owner  = "kubernetes";
+    repo   = "minikube";
+    rev    = "v${version}";
+    sha256 = "1m61yipn0p3cfavjddhrg1rcmr0hv6k3zxvqqd9fisl79g0sdfsr";
   };
 
-  phases = [ "installPhase" "fixupPhase" ];
+  # kubernetes is here only to shut up a loud warning when generating the completions below. minikube checks very eagerly
+  # that kubectl is on the $PATH, even if it doesn't use it at all to generate the completions
+  buildInputs = [ go-bindata makeWrapper kubernetes ];
+  subPackages = [ "cmd/minikube" ];
 
-  buildInputs = [ makeWrapper ];
+  preBuild = ''
+    pushd go/src/${goPackagePath} >/dev/null
 
-  binPath = lib.makeBinPath [ docker-machine-kvm kubernetes libvirt qemu ];
+    mkdir -p out
+    cp ${localkube-binary} out/localkube
 
-  installPhase = ''
-    install -Dm755 ${src} $out/bin/${pname}
-  '';
+    go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets ./out/localkube deploy/addons/...
 
-  fixupPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/bin/minikube"
+    ISO_VERSION=$(grep "^ISO_VERSION" Makefile | sed "s/^.*\s//")
+    ISO_BUCKET=$(grep "^ISO_BUCKET" Makefile | sed "s/^.*\s//")
 
-    wrapProgram $out/bin/${pname} \
-      --prefix PATH : ${binPath}
+    export buildFlagsArray="-ldflags=\
+      -X k8s.io/minikube/pkg/version.version=v${version} \
+      -X k8s.io/minikube/pkg/version.isoVersion=$ISO_VERSION \
+      -X k8s.io/minikube/pkg/version.isoPath=$ISO_BUCKET"
+
+    popd >/dev/null
+  '';
+
+  postInstall = ''
+    mkdir -p $bin/share/bash-completion/completions/
+    MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
   '';
 
+  postFixup = "wrapProgram $bin/bin/${pname} --prefix PATH : ${stdenv.lib.makeBinPath binPath}";
+
   meta = with stdenv.lib; {
-    homepage = https://github.com/kubernetes/minikube;
+    homepage    = https://github.com/kubernetes/minikube;
     description = "A tool that makes it easy to run Kubernetes locally";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ ebzzry ];
-    platforms = with platforms; linux ++ darwin;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ ebzzry copumpkin ];
+    platforms   = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix
index ae3415adef9a..1d39534bc16c 100644
--- a/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/pkgs/applications/networking/cluster/nomad/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "nomad-${version}";
-  version = "0.5.4";
+  version = "0.5.5";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/nomad";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "nomad";
     inherit rev;
-    sha256 = "0x7bi6wq7kpqv3wfhk5mqikj4hsb0f6lx867xz5l9cq3i39b5gj3";
+    sha256 = "17xq88ymm77b6y27l4v49i9hm6yjyrk61rdb2v7nvn8fa4bn6b65";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/terraform/0.8.5.nix b/pkgs/applications/networking/cluster/terraform/0.8.5.nix
new file mode 100644
index 000000000000..7f927b586705
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform/0.8.5.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "terraform-${version}";
+  version = "0.8.5";
+
+  goPackagePath = "github.com/hashicorp/terraform";
+
+  src = fetchFromGitHub {
+    owner  = "hashicorp";
+    repo   = "terraform";
+    rev    = "v${version}";
+    sha256 = "1cxwv3652fpsbm2zk1akw356cd7w7vhny1623ighgbz9ha8gvg09";
+  };
+
+  postInstall = ''
+    # remove all plugins, they are part of the main binary now
+    for i in $bin/bin/*; do
+      if [[ $(basename $i) != terraform ]]; then
+        rm "$i"
+      fi
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for building, changing, and versioning infrastructure";
+    homepage = "https://www.terraform.io/";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [
+      jgeerds
+      zimbatm
+    ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 7dc2c5ed4982..7e5a1121be91 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -1,34 +1,59 @@
 { stdenv, lib, buildGoPackage, fetchFromGitHub }:
 
-buildGoPackage rec {
-  name = "terraform-${version}";
-  version = "0.8.8";
+let
+  generic = { version, sha256 }:
+  buildGoPackage rec {
+    name = "terraform-${version}";
 
-  goPackagePath = "github.com/hashicorp/terraform";
+    goPackagePath = "github.com/hashicorp/terraform";
 
-  src = fetchFromGitHub {
-    owner  = "hashicorp";
-    repo   = "terraform";
-    rev    = "v${version}";
+    src = fetchFromGitHub {
+      owner  = "hashicorp";
+      repo   = "terraform";
+      rev    = "v${version}";
+      inherit sha256;
+    };
+
+    postInstall = ''
+      # remove all plugins, they are part of the main binary now
+      for i in $bin/bin/*; do
+        if [[ $(basename $i) != terraform ]]; then
+          rm "$i"
+        fi
+      done
+    '';
+
+    preCheck = ''
+      export HOME=$TMP
+    '';
+
+    doCheck = true;
+
+    meta = with stdenv.lib; {
+      description = "Tool for building, changing, and versioning infrastructure";
+      homepage = https://www.terraform.io/;
+      license = licenses.mpl20;
+      maintainers = with maintainers; [ jgeerds zimbatm peterhoeg ];
+    };
+  };
+
+in rec {
+  terraform_0_8_5 = generic {
+    version = "0.8.5";
+    sha256 = "1cxwv3652fpsbm2zk1akw356cd7w7vhny1623ighgbz9ha8gvg09";
+  };
+
+  terraform_0_8_8 = generic {
+    version = "0.8.8";
     sha256 = "0ibgpcpvz0bmn3cw60nzsabsrxrbmmym1hv7fx6zmjxiwd68w5gb";
   };
 
-  postInstall = ''
-    # remove all plugins, they are part of the main binary now
-    for i in $bin/bin/*; do
-      if [[ $(basename $i) != terraform ]]; then
-        rm "$i"
-      fi
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Tool for building, changing, and versioning infrastructure";
-    homepage = "https://www.terraform.io/";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [
-      jgeerds
-      zimbatm
-    ];
+  terraform_0_9_0 = generic {
+    version = "0.9.0";
+    sha256 = "1v96qgc6pd1bkwvkz855625xdcy7xb5lk60lg70144idqmwfjb9g";
   };
+
+  terraform_0_8 = terraform_0_8_8;
+  terraform_0_9 = terraform_0_9_0;
+  terraform = terraform_0_9;
 }
diff --git a/pkgs/applications/networking/cluster/terragrunt/0.9.8.nix b/pkgs/applications/networking/cluster/terragrunt/0.9.8.nix
new file mode 100644
index 000000000000..ec13cbe35bca
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terragrunt/0.9.8.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform, makeWrapper }:
+
+buildGoPackage rec {
+  name = "terragrunt-${version}";
+  version = "0.9.8";
+
+  goPackagePath = "github.com/gruntwork-io/terragrunt";
+
+  src = fetchFromGitHub {
+    rev    = "v${version}";
+    owner  = "gruntwork-io";
+    repo   = "terragrunt";
+    sha256 = "0aakr17yzh5jzvlmg3pzpnsfwl31njg27bpck541492shqcqmkiz";
+  };
+
+  goDeps = ./deps.nix;
+
+  buildInputs = [ makeWrapper ];
+
+  preBuild = ''
+    buildFlagsArray+=("-ldflags" "-X main.VERSION=v${version}")
+  '';
+
+  postInstall = ''
+    wrapProgram $bin/bin/terragrunt \
+      --set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/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/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index e2641b2d6571..28fc7fcc6662 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -17,6 +17,10 @@ buildGoPackage rec {
 
   buildInputs = [ makeWrapper ];
 
+  preBuild = ''
+    buildFlagsArray+=("-ldflags" "-X main.VERSION=v${version}")
+  '';
+
   postInstall = ''
     wrapProgram $bin/bin/terragrunt \
       --set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 628905a6b057..3721f7ed4af6 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 = "20.4.19";
+  version = "21.4.25";
   sha256 =
     {
-      "x86_64-linux" = "1970zrvk2pbs7fa7q4rqc8c1vvsvcris8ybnihazh5pqii91s16l";
-      "i686-linux"   = "1p3fdjrin5v9ifz6lba1pvb2pw3nmsiqq0jp56vgdk5jzmky23km";
+      "x86_64-linux" = "1pgab1ah6rl30rm4dj0biq5714pfzd5jjd2bp0nmhdqn1hm5vmhv";
+      "i686-linux"   = "05kn8qman8ghknb0chrlmcxrxg7w6l79frkaqj6blgnhanh13h4n";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix
index bf6da8c207a0..b7bc2c6c67a0 100644
--- a/pkgs/applications/networking/esniper/default.nix
+++ b/pkgs/applications/networking/esniper/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
 
-stdenv.mkDerivation {
-  name = "esniper-2.32.0";
+stdenv.mkDerivation rec {
+  name = "esniper-2.33.0";
 
   src = fetchurl {
-    url    = "mirror://sourceforge/esniper/esniper-2-32-0.tgz";
-    sha256 = "04lka4d0mnrwc369yzvq28n8qi1qbm8810ykx6d0a4kaghiybqsy";
+    url    = "mirror://sourceforge/esniper/${stdenv.lib.replaceStrings ["."] ["-"] name}.tgz";
+    sha256 = "1pck2x7mp7ip0b21v2sjvq86fz12gzw6kig4vvbrghz5xw5b3f69";
   };
 
   buildInputs = [ openssl curl ];
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 984616173cb6..95e0c502749b 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
 
-let version = "3.24.0"; in
+let version = "3.25.0"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1bacrl8lj90hqbh129hpbgqj78k1i84j83rkzn507jnykj4x8p9x";
+    sha256 = "1b1lb1zvm887xy3q9i5ziqvwk4ww2pd81a1msbwjrxzy5lq5ykhh";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index def683882dc9..45aafba57f30 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -14,11 +14,11 @@
 let unwrapped = stdenv.mkDerivation rec {
   name = "pidgin-${version}";
   majorVersion = "2";
-  version = "${majorVersion}.11.0";
+  version = "${majorVersion}.12.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/pidgin/${name}.tar.bz2";
-    sha256 = "0crkggjj6y07v1kdwil9vw532b0vrs6p33nmlvdkpnl60m2169pp";
+    sha256 = "1y5p2mq3bfw35b66jsafmbva0w5gg1k99y9z8fyp3jfksqv3agcc";
   };
 
   inherit nss ncurses;
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
new file mode 100644
index 000000000000..c4d13ac7643d
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, cmake
+, qt5, libidn, qca2-qt5, libXScrnSaver, hunspell
+, libgcrypt, libotr, html-tidy, libgpgerror
+}:
+
+stdenv.mkDerivation rec {
+  name = "psi-plus-${version}";
+  version = "0.16.575.639";
+
+  src = fetchFromGitHub {
+    owner = "psi-plus";
+    repo = "psi-plus-snapshots";
+    rev = "${version}";
+    sha256 = "0mn24y3y4qybw81rjy0hr46y7y96dvwdl6kk61kizwj32z1in8cg";
+  };
+
+  resources = fetchFromGitHub {
+    owner = "psi-plus";
+    repo = "resources";
+    rev = "8f5038380e1be884b04b5a1ad3cc3385e793f668";
+    sha256 = "1b8a2aixg966fzjwp9hz51rc31imyvpx014mp2fsm47k8na4470d";
+  };
+
+  postUnpack = ''
+    cp -a "${resources}/iconsets" "$sourceRoot"
+  '';
+
+  cmakeFlags = [
+    "-DENABLE_PLUGINS=ON"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    qt5.qtbase qt5.qtmultimedia qt5.qtx11extras qt5.qttools qt5.qtwebkit
+    libidn qca2-qt5 libXScrnSaver hunspell
+    libgcrypt libotr html-tidy libgpgerror
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "XMPP (Jabber) client";
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
index c035fc626651..f4f4aac5efa7 100644
--- a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
@@ -1,49 +1,53 @@
-{stdenv, fetchurl, pythonPackages}:
+{stdenv, fetchurl, python27Packages, file }:
 
 let
-  inherit (pythonPackages) python;
-in stdenv.mkDerivation rec {
-  url = "ftp://ftp.goffi.org/sat/sat-0.2.0.tar.bz2";
-  name = stdenv.lib.nameFromURL url ".tar";
-  src = fetchurl {
-    inherit url;
-    sha256 = "14qqgsgqns1xcp97nd3jcxrq54z1x5a6kimqxy029hh7ys813mf1";
-  };
-
-  buildInputs = with pythonPackages; 
+  inherit (python27Packages) python;
+in
+  stdenv.mkDerivation rec {
+    name = "salut-a-toi";
+    version = "0.6.1";
+    pname = "sat-${version}";
+
+    src = fetchurl {
+      url = "ftp://ftp.goffi.org/sat/${pname}.tar.bz2";
+      sha256 = "0kn9403n8fpzl0hsb9kkzicsmzq2fjl627l31yykbqzc4nsr780d";
+    };
+
+    buildInputs = with python27Packages; 
     [
       python twisted urwid beautifulsoup wxPython pygobject2
-      wokkel dbus-python pyfeed wrapPython setuptools
+      wokkel dbus-python pyfeed wrapPython setuptools file 
+      pycrypto pyxdg
     ];
 
-  configurePhase = ''
-    sed -i "/use_setuptools/d" setup.py
-    sed -e "s@sys.prefix@'$out'@g" -i setup.py
-    sed -e "1aexport PATH=\"\$PATH\":\"$out/bin\":\"${pythonPackages.twisted}/bin\"" -i src/sat.sh
-    sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/${python.sitePackages}"" -i src/sat.sh
+    configurePhase = ''
+      sed -i "/use_setuptools/d" setup.py
+      sed -e "s@sys.prefix@'$out'@g" -i setup.py
+      sed -e "1aexport PATH=\"\$PATH\":\"$out/bin\":\"${python27Packages.twisted}/bin\"" -i src/sat.sh
+      sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/${python.sitePackages}"" -i src/sat.sh
 
-    echo 'import wokkel.muc' | python 
-  '';
+      echo 'import wokkel.muc' | python 
+    '';
 
-  buildPhase = ''
-    ${python.interpreter} setup.py build
-  '';
+    buildPhase = ''
+      ${python.interpreter} setup.py build
+    '';
 
-  installPhase = ''
-    ${python.interpreter} setup.py install --prefix="$out"
+    installPhase = ''
+      ${python.interpreter} setup.py install --prefix="$out"
 
-    for i in "$out/bin"/*; do
+      for i in "$out/bin"/*; do
       head -n 1 "$i" | grep -E '[/ ]python( |$)' && {
         wrapProgram "$i" --prefix PYTHONPATH : "$PYTHONPATH:$out/${python.sitePackages}"
       } || true 
-    done
-  '';
-  
-  meta = {
-    homepage = "http://sat.goffi.org/";
-    description = "A multi-frontend XMPP client";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [raskin];
-    license = stdenv.lib.licenses.gpl3Plus;
-  };
-}
+      done
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://sat.goffi.org/;
+      description = "A multi-frontend XMPP client";
+      platforms = platforms.linux;
+      maintainers = [ maintainers.raskin ];
+      license = licenses.gpl3Plus;
+    };
+  }
diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
index 9bed654b9b38..d9a3dfc690dd 100644
--- a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
+++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchgit, python3Packages }:
 
 python3Packages.buildPythonPackage {
-  name = "scudcloud-1.40";
+  name = "scudcloud-1.44";
 
   # Branch 254-port-to-qt5
-  # https://github.com/raelgc/scudcloud/commit/43ddc87f123a641b1fa78ace0bab159b05d34b65
+  # https://github.com/raelgc/scudcloud/commit/65c304416dfdd5f456fa6f7301432a953d5e12d0
   src = fetchgit {
       url = https://github.com/raelgc/scudcloud/;
-      rev = "43ddc87f123a641b1fa78ace0bab159b05d34b65";
-      sha256 = "1lh9naf9xfrmj1pj7p8bd3fz7vy3gap6cvda4silk4b6ylyqa8vj";
+      rev = "65c304416dfdd5f456fa6f7301432a953d5e12d0";
+      sha256 = "0h1055y88kldqw31ayqfx9zsksgxsyqd8h0hwnhj80yn3jcx0rp6";
   };
 
   propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ];
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 59ce03cc0f45..c0d50a86c71f 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.5.1";
+  version = "2.5.2";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -45,7 +45,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "1rrhgqmz0ajv2135bzykv3dq0mifzf5kiycgrisk2sfxn6nwyyvj";
+        sha256 = "0mg8js18lnnwyvqksrhpym7d04bin16bh7sdmxbm36iijb9ajxmi";
       }
     else
       throw "Slack is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/irc/shout/default.nix b/pkgs/applications/networking/irc/shout/default.nix
index 9d3e3ba449c3..bf041a8845a3 100644
--- a/pkgs/applications/networking/irc/shout/default.nix
+++ b/pkgs/applications/networking/irc/shout/default.nix
@@ -11,7 +11,7 @@ let
 
 in nodePackages.buildNodePackage rec {
   name = "shout-${version}";
-  version = "0.51.1";
+  version = "0.53.0";
 
   src = fetchFromGitHub {
     owner = "erming";
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 18ea017cb8c8..e61386a6819f 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -2,14 +2,14 @@
 , cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }:
 
 stdenv.mkDerivation rec {
-  version = "20170128";
+  version = "20170306";
   name = "neomutt-${version}";
 
   src = fetchFromGitHub {
     owner = "neomutt";
     repo = "neomutt";
     rev = "neomutt-${version}";
-    sha256 = "082ksn4fsj48nkz61ia0hcxz3396p6a4p9q8738w15qkycq23c20";
+    sha256 = "0nlazabwj4czi30m84ppga275hkr51glyndizqzg540q9wp1acz4";
   };
 
   nativeBuildInputs = [ which autoconf automake ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 1b9c1ac1622f..851b87374951 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -38,6 +38,7 @@
 , coreutils
 , gnused
 , gnugrep
+, gnupg
 }:
 
 assert stdenv.isLinux;
@@ -148,7 +149,7 @@ stdenv.mkDerivation {
     '';
 
   passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
-    inherit name writeScript xidel coreutils gnused gnugrep curl;
+    inherit name writeScript xidel coreutils gnused gnugrep curl gnupg;
     baseName = "thunderbird";
     basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
     baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 556101f6f952..286911e05c6b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -1,585 +1,585 @@
 {
-  version = "45.7.1";
+  version = "45.8.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ar/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ar/thunderbird-45.8.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "e1c0092e9068c5b687443c66e51d0a66821b509d554ae49563ceb5ca7f9f1429b47b084d39d9b8c7726aad79d61ad09b3b256118560b77ae9a179152d4914147";
+      sha512 = "b56803f7047547e0ffbe7491062e82a82b19dabf8d4a7483834720166b0fb913f4a0252bebb5653abfaaf526998a5af0c31ff8a62ad8f5ec7d9736a6d581a7d6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ast/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ast/thunderbird-45.8.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "0dfa480291f654fcd3af50711b3634202b81e9661a037a98d1e32e7b51bdc0395331fa99d8806a49873f23a02be95a383bfbdf001f905eac42d9b132d1e170ee";
+      sha512 = "c49d973c8b138743ea8fa0bca75f2de01ce1d051b15b5d9e6516ad7a8e489028d2198ba460abcb62a06f0738994f00885d0e26e98b5f3311dddb258622ef6f36";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/be/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/be/thunderbird-45.8.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "fd705a8bdbe5bb6e8c7e120495021b538f75ca8d5c485d9d224392808c5397e149004c2262e2dbf982d5248a7ab036ed82980665be7628cf87e789b5d4ed4e19";
+      sha512 = "8e5463a97d93c70fd9fb3b5cda89ad916c7ae2abc89974536dbe2af0633e696c839a97e8dfbf35bb3c1efc7ccf1c588c5ab3e595a0cea519596ac2c112f8012f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/bg/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/bg/thunderbird-45.8.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "f6ceb36dfd93e10b29a8d5322604c1fe17d1ef96113e79bd3c5a0f9912b4a77f8a182f676919ad5a58c15ef9555fc2ab07d8c2f375654057cdf2efc0be9a1ea1";
+      sha512 = "912056b19247376e3f8f4f8da493391c9e094abe2723091cf22c83017fcaefa3402e3465db99ea2a4413ea3fdecb9eb6170e8091a2ce3bc191061e9697daf0cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/bn-BD/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/bn-BD/thunderbird-45.8.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "d3dfebeb5d6a301449130c94c7cbdea50e8c29c2571b408d89b3a632a164056605bc0e15dc2957f677d639ca9712088d94c62d26c0b2ade4faadb159978519c8";
+      sha512 = "a221336fae5a44312b1fbf8027c9a6088152f96cf2e5ff55239c0256f6b824c92eddba4442b5efa9e4ae1ed81b3a7114d85fa08a785eb73a20aa0f2b86f73107";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/br/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/br/thunderbird-45.8.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "1de73392b72d595504314e36c2c8cda7ee781a246dab443ba8f1cf46027c40a85a1e7a8626bfc46901940a08d89de69c2779a0702e5271da3f703aa299ae4767";
+      sha512 = "ba3d2a59ef9347cb1c23716bd308f62cdcf1399ea6a2c35ede563fa2af48e49a8ca9954f986f55e41c80647cceb218d664ebed0c7053e3ef4a0ea12395bd01d0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ca/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ca/thunderbird-45.8.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "e481f63846a437dd1326820f455ec7c50ae56e638bc771814c4a53b5fcd7b397e0b6d7886965f4ebc94c15d33eeabb947c65a72ddad8ebd6a0549ec5df94be73";
+      sha512 = "f64e2eaa1208fbcc8be61e28ceedc113101fd6a9d7b2ac23299f36913b7c696b7a3fbb83934c4ea2ca8d23d632891a22e48ce3001425fea54f7669599da136cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/cs/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/cs/thunderbird-45.8.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "148114a531d1dd467fa59690836dee75e2640dca5b448175424d56224867676990561693e12faef7ea53b0e0a87cb039a5f7b35432901703f135cfb99f48e53f";
+      sha512 = "130c73d25b581988fc14f734d39bdea4d777258ba35f56f421b234a79a00cc4f322912977af0feab0b3d4ac72e3fd3d13eb26465da7b2d81d8ccbf05a42b8c0e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/cy/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/cy/thunderbird-45.8.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "6ee390cc87fc717cb1e413e5e2b46eb1f7335f617877f9c190075f808f9e0f7d21f59a41a651f2bce14323a46994c499056c6ba3308dfc28a2733f125e200a0e";
+      sha512 = "a3894db9cef7368ee824ea7015b62d378a7e8733b86eaa5fa59645fea4fe9bd9bcb1752ed12678d6ac052b42060d2a3282f23c25c4451362a0c941001352a352";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/da/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/da/thunderbird-45.8.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "1246c3338ec1c66ec0631cd3dd2e2ddfa2f55eaac2ebf36d6fc78a58cdafe15b5bb02c542447fa7aeac56eb9dce2501951b998c605844ce37fe8bb4868c100c7";
+      sha512 = "ae037f835dd51fc4b140ca0165f75ff26a305715a8536929d46c487d4db1e77cb10f101faea6a612579b021db597b63045deaaa7db1cea2b3d4160d8ef423a4d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/de/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/de/thunderbird-45.8.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "ba651c2f07eceb4c20a9997bd518c322b025467e3474a56c17e1c35ea9dab7c3ac08295f573cdb7c4967e531dfcaa76facf4185ecc12a66436690817c73c0454";
+      sha512 = "71255dfb152f4f204399b6ecaa837a468bce5582fb9f358a1d7bdd073e2aecd41a7302a0096f1429d20bd67a92d012172308e8df9aebde141bb7da828b158cd5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/dsb/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/dsb/thunderbird-45.8.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "5fcbb029e59b50e3c8762acdcb561f3541a1056bd467f2830b316ef39b9f55f88797693ef4c281d8411c678bfbe86abde74483f0b9418e185fe80463487da489";
+      sha512 = "39f02422d754637044fe4c75c9d677c43ff6a87229893c3eb637ff6b9c8adf541833aa929b70f2b783aa1fcf998e112645809c6256070fa746c4c95885c9232e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/el/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/el/thunderbird-45.8.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "36fa1fe8d3b52ee95275acfcda8eeda175f9ff5d44b7fcd0e33df2a27fd4c815d79b647265e9c32bfdcd9f1900bc98195bee6de5e580abb452ca47003a438b40";
+      sha512 = "3cf4cce1398e945a3cb41e5432aa0c2ed1fa386e8e553816b1478a12e1248ac709de8d21a938e6c3cd801fffb58fe6e10776b8b96bb295b5fa016492f70031e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/en-GB/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/en-GB/thunderbird-45.8.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "15973247dab22789b8c63f5617fd1d85aa2a889e78d1bfd8ade002d769bf81857cf7d84c6302c168c5923ccdd08ea561df4fca1f17f0fe3337608af161c6e86e";
+      sha512 = "609ebe7d015af9dfd3b88ebfb04d67691314ac91d3df7cff91df3f20ba7fb12db5f44dff5c773b4b7c858cc4bc5817119fcfabff03ec550ce250a5289aaea9ab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/en-US/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/en-US/thunderbird-45.8.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "4acce7404bad1bef72d1ba0630a6d9e7678716121b5520d399c3e47096a5b82c03b797a3680428d1c8447121d403de227d7f327001a27092db8df438f1d88d18";
+      sha512 = "4294c93adb8f38617b2898c91d0362b3ab327158e1810d2304f2481bdc4e0e06e1fd2a2d6748cb491cc6c732a039fa3dd83dac801b12ec7be2d7c8cf7e986286";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/es-AR/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/es-AR/thunderbird-45.8.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "68e7e8b134d6b3a6b44ecf9deaaa4fe58a2ba2324621722300eb39c74f6d4801edb7532ff81a2a22f473b55d227caefce4e5460b9527fee2bc7e9b765b4a66e9";
+      sha512 = "ded0d52934a5b74e4eff172037c1abe9c15cb522897daee5173739f4a149c1891309a366d3aded2f1306c447970e72b1a2930a9adce07d57287f7f5f0e8eec73";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/es-ES/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/es-ES/thunderbird-45.8.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "80517102d930a0613254f5f2ebbccfadc27606664e957b217e899b2d519f1a7fd189caa17756ae9849f870b97ed8a589c327d3239d2312368a94583434a31bf9";
+      sha512 = "523c9b931d9ef8319c5a30463035d84946d97b07a9714b2357637f9992a3dcda4536a29933a29340d4e4951ff2bc540d587ab290a16033bfc510ac911c32d3e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/et/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/et/thunderbird-45.8.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "3399aaf7a8eb812b4ed4c56e8e6619c9e7018e552bc810f9a20773854cdaaa3a4382754fafde2809bb945885059c1613e3832071bdc55d32816aac49e38acc9e";
+      sha512 = "376e5cd8f50c4b10c4f71b6410528965f256b69c17f3d0d103efe6bdd28ed96d0fc47dcfb709dce617757c3cec603c5a16ac675ae12e17b093db3d1184c8ebfb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/eu/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/eu/thunderbird-45.8.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "4b7ace6485b3d9f14a924a9827226c3337f4b95107b94e51925524aea6eff2d446868f7a7f350c22ef7dec0c3c04c0fbb79f9eac9c1db0070195ce402559b3c6";
+      sha512 = "8dba4439fadb14028903eb552ad08c62b0a63559ff5332fd2d5434179fe28a75d754b6769d1a171d7e580ec6d86fdfcad8ae6230c14c4e9aa981944013dc5b86";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fi/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/fi/thunderbird-45.8.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "42330fa494ff9e09ddddaa5828fd6e984f4e016d45f90638a72d958f1d0d52458c4d66492c4bf3a9a57fad32ebb24ecd4d43efc51795f738f50d7385b3090015";
+      sha512 = "40d579d59beae9070cf548f340d5b36d67d0456bb0f9569330dcaf4667d6cef71be1be4d32ffbb49446c8921486153e50d5c33ad87746f605e4d3a79b4b74a69";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/fr/thunderbird-45.8.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "53696b4b77c2dfc4eeb03059429dbf38dc31910664ef7638ce291adee5d9e0bcfb1b8a19524a96fed02594b664d125e9c4791aac674c03e9dbb272544f429cb1";
+      sha512 = "80b489cb98c0a39c641c0d49cb750cd737594e6de1c9b0559208535a41f95855afbbaf987ab0cfedf5fb5b2fa1589d538b7eada05114d7259d3789fa399e20e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fy-NL/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/fy-NL/thunderbird-45.8.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "2c8a487a2a77451d2d4c239a16cdf114e1d9ef37d7c0a1f2dd2e3e9ba6270004e39fc38828b363805ac530b2f6cd3016594dfcccf2db37525f9700866d6a513f";
+      sha512 = "6bd13607375c513be19ae9f86e806ca94d4acb087700fdf85842cd2a7eecab66735b9ca5130b013d09dcaab12134d894bb991774727d67ff71ef2cef4b0f9b49";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ga-IE/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ga-IE/thunderbird-45.8.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "127d0cfc24b8e3e00aedee39aa400af198c7e48239fce97dde27416ac517108957d5f18735e5106eaba0433321f406ca9c82d774a83f1e58dc297b80e55a33dd";
+      sha512 = "de4744accb4332e8509a1cb439f29d773d67f42d3964e11df83e790e6f720063b3368d3a120f746829d61741abb18baaf1f2afd9dc3bffde1ae2a118025d7973";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/gd/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/gd/thunderbird-45.8.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "48dca91d52b3f71a76c3a08003247bcfe498342b3e2e6158f58087251a9248959d17a7c91437475892a5b5124d9a76a1f0cc99c118e34c763ae4227fc4776dd9";
+      sha512 = "98f73337263ea57e609bab9f8f0537c15c385448c48b84185d9c8cde8550d2d2fb6adc31735c7a45eff5d1872047f7137e168b977a5686401c1f0aa21a38effb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/gl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/gl/thunderbird-45.8.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "92993f4090d641ee6573ec08c9ed25d3126e0e9796568aaa77296e859fd70069ce0f63f017fc08a3e01d65dd9864063f8ec089ee8e43197d511358b53259fb76";
+      sha512 = "b255dcc44f33c9b8d74ba664350cb6423245a146134e64292f7bd0850ddeafedfd691d8c5e4db51c019df92283b094a8d152441512aef33971ac8959a2904656";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/he/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/he/thunderbird-45.8.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "c7e78d6aa2920fa81820b54a3f1047d42089e65fcc424ff663ef287cf581aec7b11fec33c309c88ae5986c9a78d3967dbc3cccd6efadbacfb145e36d2409e514";
+      sha512 = "4c8406c16bae204a1aeb075dd061eb3a70585e439c29f585fed4bb7ee3c1d599f8fb2f12f2ad9d0521550729d7ad1a0b097349a3a318be89a37d10b749fa4fc1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/hr/thunderbird-45.8.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "0160db00133e4564b9ca0ddcb2771abd343bd3cef1bfc09303805bc0aaa01a5cbeeb6a23effd2e8256ae5457a2fddc149156d1702705531c728134845945dc56";
+      sha512 = "e855a5753de07b4f4435356571178149c0eb26d9b0b81bbd41de89e88bcf30c3d970514c3548a389cf719917f29899185e1bed9d18c4b467f2d31e00d271623b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hsb/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/hsb/thunderbird-45.8.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "012f4544e60f7a917ffd49fd6668da548e6e44ce666a86f61cc0e36e53806db16496824bd20b253d079e27d5601ddb6cc1ee290c600e116c922bb842a2232294";
+      sha512 = "8afc5a73b43ae6b43595028213ff6e21da813f9e9a93aad498e583c4ad5fcc2c5eb90ecdf911a32a68710c36a742ca1a0cc89b987789aaeb9995716783e0fff3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hu/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/hu/thunderbird-45.8.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "ff13587b1098f0d503c6f3b81c2a9f3c075d192517e0dee6d9fe324927a6dce8686d989a34c3d36cff7a8e2bd6a074aee5fc96f7527ec3fd78cc0c96f4279b2c";
+      sha512 = "da48fd9398349c6dd583391413add0b789d1500dd1481758a62121052bedaa739406011b5a3747fca810c74140c98498eb8c49a092ff3f184627bbc3469df90c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hy-AM/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/hy-AM/thunderbird-45.8.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "84f3ca15346c821dcb9efdcfbc2b599a68b608cf8dc28145e0aac80babcf3b82da456a0816f2e31ed47b19c47f3afa9a265f864de6662fdd4fa8586d520ea025";
+      sha512 = "588c3670d7748453e273f515255c29e5644e521f9710d1f87360a2031334f9353adba4e219b0f90c3c028102e5e02a0ffe07071a6fddea2bd2a1d972c04e1537";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/id/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/id/thunderbird-45.8.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "2310cca9ced00d10b932eb6d27797b53e427f997671b836a5d03bc3f263fd469ea3dc5a2ba35a71da6b73e4dec83c60fc31203329562d6250ec573a38c55f115";
+      sha512 = "a9acd62a369249370f7c6b70bb48aaa8af06de2439b328d92ddd3092cb95fd59df679a451f42173e6901d0e9fce9159e295331479d5128fc50ca7a2c93129bbb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/is/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/is/thunderbird-45.8.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "710f180201035cde81d8e07cbc7e9e83289a160f6679393d2dd70c48c92f5b3568c0f7290e18613945abee052433f31c2b3b11019cb95cb8f6b23f04e985741d";
+      sha512 = "76aee81433e6d8f2f7906d754069a5aab3ff8caa2b3d503a730eefcc42ddc1ea2018049419015dd4725344dbb54d821633f10f1d0c0139ee62c230f7643c5ee9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/it/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/it/thunderbird-45.8.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "d5596d86c425f2d1251947a6d66558d87ec22a20490db23c267c514b98ddb9acebc30180c6c29a242ead4bf079fb8e9bc35414210c1d294dc735923f0ab29d3d";
+      sha512 = "c7912a63ab9141a32e8f9040522900b10bb56360fd387b8b47af860814fa1541ab7ec1c59eb6376b7aacc2a22faa046d05c4a1ae81ef12bf553fdf546cfc403a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ja/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ja/thunderbird-45.8.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "954e41ec6842e4ea40c84354a3499085d5fa754c0a8fe581fd0e1ddafb84c218b0afc6b84d6b89448573372ca8170563f4732eb0e00388d5daf918fc9eccab5b";
+      sha512 = "03f414eba62f4188bb7a368653f89f0b8d48e850751cab0fb6d706912787aa098a32934bd5c7b3026e466b23df4cc6780f6b88f1f252943b2d56b53f1ea62cb6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ko/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ko/thunderbird-45.8.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "3b48ec21a87f4763e95a045f273b3077cc0f73f0cd79d0fd341bab93308ca6aa122aa1b6fe60cd9857e2af30f8b868a1ce56ca5e2418235b9207c33339abe66b";
+      sha512 = "d9c1cfba0ab167b4f3e16eb8ee37ca3acfd94477df51a2526975602882b93a4c86e7936f76263bddfc904900146b0ed570c641f4cd1d48904bd5b9f09aef91ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/lt/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/lt/thunderbird-45.8.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "e314d8aebc993a9471610d885736e50a174905cdd862eacb3cc08516fda8538cd86afbe62744a7a28947f289cd9d3847436ac4be6966097c4e2d81f74bb3aa19";
+      sha512 = "5f28db94768ba285feb1a239cfd909a588a975dea16ade7793e4e1f71f8dcee1685e7370ba23cb50b253d8252a51a38a90375e8224653bfeb37e2a1e8d969d34";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nb-NO/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/nb-NO/thunderbird-45.8.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "2d14dad1eedc2b5043adca4d8ae9ddfa7bd7c4d9c246fb5abaf552f2bd1a27cd7d64638291a82391ceb84ba83c6c4f22f9ae09c7efc1c2530cfe986654b8b27e";
+      sha512 = "e3078466c4a5aa5a2743c7224c279c908be05730a79bc541031efa48605e0b74fb4244e087f3cf526bab6c67c40da585815f11999ff29d6a3d0867614aa11e17";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/nl/thunderbird-45.8.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "fcde3900e201175fb9071b553f26dc49cad67888137df2e6ca4c7a85ffcf85aa23ca331bd4e5a3430b20615b2dbfae1ca4fe59833cd9d303f7ea6f8b73f42f64";
+      sha512 = "7e2bc54b6d72fa495ef99e132dc4e476bc233c88c1652fc625ed66b504b901fcef53b4968d63d7d468e734903b38ef897282c2122e4bfca5b492e2f4d44b51b6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nn-NO/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/nn-NO/thunderbird-45.8.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "a3e41f8fe0486a691c413104fe89009db9e4709821bac4a7062a78a6a30b083fed5a522c6d5b7c004e0e9b2131aa4bdbae85e8dae3300d2f81fd875981d79b44";
+      sha512 = "99a733996460fe3a425d7ac9d37d292ef9fdd0d1bb22aac251f592bd57f4ab2228040443ed132987cf17d971b3bb2232ba9e70aa2b6b702d73967ed55a1b3b41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pa-IN/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/pa-IN/thunderbird-45.8.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "841cf7f21b436d1194c4082ec0fd0067bed7ae625299b8f07f535708005ea3a7c217f4a6d3acd8b392e620ebdd15447f62f969c4e0c8e40e69f77c3b89402517";
+      sha512 = "d43dc96e3620c8ee1257243e725743e72c64f39123d2e4648eb5a31e45175b9b01b066b85ee9cc3d9765151bc2aee32f73b50579619968ff95918189d45358ca";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/pl/thunderbird-45.8.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "026002b4161801b9ba44442ac2b54f0897b6fd3dea3c6819a16c5b886c829308558917470e87eba1e7bfa9adf6d5a33dcce4645f24cec8b8cf7ef4773d924e65";
+      sha512 = "32f034261425fc41ad9b2c252aa456b1526526816d9ed66e92c49fbf8fb4b077405e2ead3256dac568e1470e29971ff84466854115f57f792a254f0723278054";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pt-BR/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/pt-BR/thunderbird-45.8.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "7b78eed009541c2b5e99fac1c6267f42511feab8cd26b8c6cd758c8cc4fade84195da5b4ed1dd44ba078c3ae6a3d2aeed0bdd04e37a48f585938765a7e14021e";
+      sha512 = "65f85f596241f812a548a90a1ebf3cd24733e590cbedd600ca8d1164d3d3f5db9fb9a0e152ea05025039203f192168f60fd28a03121c31cdcf14449505d57c0d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pt-PT/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/pt-PT/thunderbird-45.8.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "15f5f46ad34ab5506d462c68ae5a2c0ab1548b8588ac877863ca73c97166d10ed26a6af32c9f0f57bb94da7b0c025813585a17e52dd3238b49344995905bb705";
+      sha512 = "fab114396e6cbee135441392dfe6baa179640174edd19ec4d1854a4adb6d3310a38e162209bea0ac532e2734a9ad4c5abc1926e0a4ca2052c62697f99c374135";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/rm/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/rm/thunderbird-45.8.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "d0e70c192fdd0cc440f81173b13a09e6916355c2f65292c234e1da288e9a54ff1696e20c3a04f3a18fdb664d0fd76d8c477c7b19b0368a1d5dd889a5bfdf8f49";
+      sha512 = "e03da559d75887e2418119cc946bb9ae2f11027dc2109035e533da46c859f3dcaf8fec294a6bdcb10d164866bc5c3652ccb6b8276c58a91311c2bba63117f1fc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ro/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ro/thunderbird-45.8.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "0bd336fa6f8e1f22e8d9f8e10071518a91922d9f8b75d4e462cda1ff9a7e6a744a4d8b4412dd3d1f5617553cea67bf73599b5023dd205437ff3aa26854916e24";
+      sha512 = "f7bed7908706485e0cb26a663bdd6b0fd8ad8ad5e687a21e1c137c39d01427e3edce5ce58602bcd18a185445badefa519ecd841367f88f169591aabdf570b940";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ru/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ru/thunderbird-45.8.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "61a02467ee16e6a14b535be1b4a3ce2fa3a6bc6a61c2804e234242758361182df976f7edd0c8080637f3403436b018946c28668da09ecb9322c0eaa5fe395ba1";
+      sha512 = "7775b9054e95d373d188e496287b2cbea1ddcd12c51681123642fbc181cff258d47b900b3dbf046f3de7d75e80eef5f343a50577a9db05ab2b56867a18f3c912";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/si/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/si/thunderbird-45.8.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "823e069b47f42c35c194bbfae832f71203e78f14057223bc569d8a18bc631d2d5bfdc3dfe5cb18c0bbae561b39023cb43dc26bf841a0e20e53bf336128bc1210";
+      sha512 = "3e19c7e5b62b6d0bd3598ce6bfd23631abe381f7af91275aa8e424ff2950433fd5e58e912ad13c726185e528046d3bdccdb6b3e1fa540fc0cb69b18d37caa095";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sk/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sk/thunderbird-45.8.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "c3bf6785424419f7a1240c2069abafcd1275dfdf8908fe2e80dbd395176328e7c8c0c2cad9ce7ef46a605bae9e153e6c98fa696145fe7a186e30c7a2b147dde2";
+      sha512 = "35a5b23cffb7a80aaab378ac17195b727b7776a0c91e1616fe9a66708adc08d6041efa55dd5b291eee823a5420b092671a34f930276521f0d757e3b5568e7861";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sl/thunderbird-45.8.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "bbf63ca0e0992c5102b047c5e41dd9a2dd04d38bcbb983393345a54679ddf100496082804d17c088f6dbb76bcaf1d9be39f0e45d1e1cb0abc33fef98a79bde7c";
+      sha512 = "a7b27babbcd47b4bca6e0686aefa175fab17c4ab0d7f18793a0a3755fcaf04cd85e9bf8ddaec442ab83bafede0ad9f8211add33b6cad845f7c827e3af0982f76";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sq/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sq/thunderbird-45.8.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "68f2977a84aa0a1fc94b19a3504733cb4168d5835244482e775b0200cc0e17a548cb3f4e29d81edffb9172d3faced2a8d459709ddb90e1957c6c05ff792ce05d";
+      sha512 = "796d3cd98d39fbad987387f92d23c10f4176f2e612c1fa939bbbcf86eb3de5798a9c9add31549dcae001041d0318de2186e00200190f467ebfc85e5c95797cb0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sr/thunderbird-45.8.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "d0de9ea4f4cfb619d37b957b4260477522ae1c2df9af19e6001672f7f693015c09e8e74ff0278d0107abbb0483de0c9f6d251efaa3d9175947beb8c156145ae8";
+      sha512 = "8b296aaf9314a8b0381e567ff87e8ed261ebb976c0f63d3636d03fe2e416475dad8c500058e58793a7945ae620268854f99c97b93da0ab73a40f67d801b34af9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sv-SE/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sv-SE/thunderbird-45.8.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "db4af37830a458808b9450b414b7e25aede621c602b344cfbb62f00fb610747ee48fe3a7aceb1a58c0b1fc397415ea7a9e0888e0cbd7116922f2bc28d09c6426";
+      sha512 = "59e0eb3a4e1cc65fc34369b0854d7029bfe108b3cc3550bde26628d88d82c0031bbf13ed8564c7508b2acae5ffc9a912f1cbb991bc5cecf2a210bcdb181e2a05";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ta-LK/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ta-LK/thunderbird-45.8.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-x86_64";
-      sha512 = "1db6844293dce004878176cb76df68e7c7b3fd1147b4e78bf647d155d1a7efe01e5126c088c96d26f78dd2c9de98e0703b7eedef1f2de1584a0cb835f9123c1b";
+      sha512 = "86719203c04b90e2d359ede21ef3bca7e2190b131a78ba4ccf6a7d9644bcb2971b541cb3c6432e6a12952a3a589769851277a257aeec594b6208918c17d76b32";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/tr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/tr/thunderbird-45.8.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "f05b1f63839a9d38431b9c1bce8a2f31ad242edc4df5b327f9f0a562dca1f94a9f3947ba55a517cca5dab9a96fc44b938496bf72086f1dd8d1399aa3170167a1";
+      sha512 = "5b7fa2e0881dceeb0ac371a0d84209cb9e9c414ee617766ff898b50c2b21956919410be26cc0b1e30997931519fcc491c63c6e30144a2c57af8b7b8f61cd192d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/uk/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/uk/thunderbird-45.8.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "303d6b4ea136dba2217301f6c42bd91e45ff635ffa1ab38ec0633d963a1bafc1625475bbd24383e5b9dcf233a19ab0a712e70891614e14207b651c4e65016456";
+      sha512 = "8be8b331dce88d3244007066036741af4794559237811ab8d45dffe3e850383de636bb75a510d4a0500a2a78aa86d06768073a5626f5bf2676eb4d8e355eddcd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/vi/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/vi/thunderbird-45.8.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "3f712c97073ff191bf2e16d61877711ca4faac204e85b2394015d53a4f600a3c0fa352787ccddf863379ebefce4020b3526f957f2556620e4632bcb20204421c";
+      sha512 = "60ff68fc5190679b4faf2e80f89b8061348f24c0426f632fc2e523be2d47b0477b2ca122fe4c9a77e8baa91d5c55ef0204fba74f65a1d7e77727abb9846c93df";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/zh-CN/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/zh-CN/thunderbird-45.8.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "d986a5e9a60512ca4d398fc4fb503aa7980947eee68dfcd5c4a73bcc8b324c20c6a3be66855eece6d0d77019e6b22d8ae220058948488d197063f55a291a8865";
+      sha512 = "a7da3633bb13627a81681e2539472291e0ffbef2921ae59c7fa541b0115f761295221501ea7b4e71975ba89dff559aa0f4ae1be196983854021bef823cd7c40d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/zh-TW/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/zh-TW/thunderbird-45.8.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "7dee7ced1c48aa6019eb80c66d2c68af9b5afe89ba3c147bd83e78532fab84fbdba8afce934ef8bb55a82837b84475797cad25710001e22fa522823bc60d6a96";
+      sha512 = "dc16cdd23ad53baa7b0863aa889a9222a14ae8e81794efad08dfffc4a6282655fcce3ff64187ce149c06d808a0010af8a084bafc59e253f094d501ee6bebbbef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ar/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ar/thunderbird-45.8.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "0453a451bc0ef3704cf54121f7781f11c2a35c29fa407b36a1159bdb462daf35ac13da1cb0deca19b5b9456a4bc68c8bcfa12384dde82441a8e69c5376875d5a";
+      sha512 = "21c08dc4ae1655ddf62ab03ab68ff0d5fc3efd6c8cd3ccc6d757b0b684365a3316b4cf4fac5a51b21be27a5e3067fbc875bdac1a8bca5cceab6e048c10f0f177";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ast/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ast/thunderbird-45.8.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "4bc10c64922604b95dfb310f0415a8e49552378c51025511265e7f1e7f2cf7bd8f9e9c6b3e45f8806f2df9fd02db451014cae4de7c2e5ce57e48dc1288cb30b3";
+      sha512 = "3669b524e5d5800f9ef3c1c6b5f874c29ba6fbb336cebbfc9a88f857e73f9bf90ccdb0fa2f1723d4e883947e71dc0333391b9021166b5acf2e39ca3d7bf02ff1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/be/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/be/thunderbird-45.8.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "0fb8f8d0a2c7ea4455c0ff90b85e4ef6b0b6f8ccd08f9f9d4852743ebc1f6a6277011be82be979142097fe8cba853d244afad30749aaa423bd9ffcde9fc3a00a";
+      sha512 = "f49f90f1998a5b7dec1e3a862b8f76bc11445d99f66cc6503675fc6629a028624e55dac5245da777b6e3acffcba24305ed199674343cb610861da9c7671c342f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/bg/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/bg/thunderbird-45.8.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "6d586700050d399e4058eb03931bc6915ec56a9270462a7a60846f66b884aea9627526b87b14a654166e30b8a1d43412ba8acfcb12ba4af8d3fd4fd15d4d7cbb";
+      sha512 = "b46e78338269dc6c65f0eb2bcd2cb4a0dffd5c100b4b1905582c8189f79abc975f55c7edf06e1f0edbb641de86f3b6aba1ca9028d11f4fa08ea8bd1c276e41f6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/bn-BD/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/bn-BD/thunderbird-45.8.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "1cfa845129724a098cb913b3bcaf7174ab125321b35f58279ec9c11c04f7f991b37bb9000eeea4003cf033f6f0089992ebd0d7ebf1d6f8b4d7c558eb8c850d99";
+      sha512 = "d349c503a13ae9b951af173a43f4f8dcbd5cab43d5a6219fe5b00e1d37efa7a0ceeeda36576f31f51bac615d6e4307611496e8036af4f9fc40dd3dfb495a6b6c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/br/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/br/thunderbird-45.8.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "951631129aff5cbfc2695e1a5dddd88e855d57716ce335a15ae069b7bb4572d082495ddad9caea202c5d36f46f599cdcb8f028def63252f7888fb2ba24f4437f";
+      sha512 = "4afebf7eab2f7205a8760f04e566ba8d54bc2974cbd132262eedeaf880d29aaaba48ebd731bb8dd7ca537e6cc3fe444c1ae4168e3e08b7e17c55e70f763fbadb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ca/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ca/thunderbird-45.8.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "cae03ff18fb33f6d097836e5e7f5884f64e7c594eaaf77cb3a0e1f46214b878ef2de51c750bf1f849f5cfddc68da21c3fb72927ddf6824a89ae51e44378123fc";
+      sha512 = "6b5e9abc4fc05ed580d35baeb6c7b1462daef2352f751e318b9a7bf16d032d8a8240f83d54fa17d02a9a967e7477a36808587a9183df4274f10b59059c55fede";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/cs/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/cs/thunderbird-45.8.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "ea9ec870c91cc2eaab758a3585e20779d24734e62c285f1f591646f9aba92e33c6a7966b0b1e484f28ba0a2f40d74f918dc899c87518f052b793fb5d1cc867ce";
+      sha512 = "1410e7bb8ffc8a4c515b1c023ffa6eedc960632c05e5e7f4675aee9e972877dfc73d09ef14deb1c308bfcc1a6333e62b24af582410854b62acf4d889c7d54158";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/cy/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/cy/thunderbird-45.8.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "082d8f2fa527a75b8a388f84085a709cde9d9c455aaa2615f35bad0eb6962de0af163d515e0481edcbba29fb858095aebb05c0a3f25f33e1e14f7136b83a73d9";
+      sha512 = "28b50a2fb0703f80fc9fb91d1add2305e71f2ddac99cfd086c8559f29b5a420e9e5e3d370f0b84a32f5c358661566b070844ccd0b33447ed4c5a427eec03cfa0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/da/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/da/thunderbird-45.8.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "9ccb84b78ec7fbef596b64e76fae50bbc8af63eb0c0d37c6f81e1353f3afc242c0e3be9495d4b0125fc0500e0b4569df3e00d5e302f93f7007bcdf3089cf0c22";
+      sha512 = "c38cffe6416ca50c78651d24d5466d6e06b2cbaa66062eb13381c4402d39a7bd55aae10cbe3400ba0fe5983309f2d70d3058a46054911399a057679b09b451be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/de/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/de/thunderbird-45.8.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "a493f5e2c4c787f7c8f15d1d2da6f457a52af3deee161d3d9c031525eff48d2aeb294b6745e3ada079026f727db06baaca943d0711aeedb8df5bcd37c3f13286";
+      sha512 = "101ee34b890f1f3f9bc3eedf4936b8ef1fc9edd2f5af79b9c8375326d430585fc564a76a0bbc81bb119ce9a638af60055d578b5e6f1f760100171696351f13c1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/dsb/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/dsb/thunderbird-45.8.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "4d1e7a0bf3f55d913aaa47c37ed5529c59240168f2a53faa4367d3c47e900e136d25446b2b4e465d05b3857fdf3671e9bc7f98be6fe7b42c1ec926d0216d6022";
+      sha512 = "a6dd564baa36402d082d5bc2b5bc6002a5abd66b9bd545a0962fc844f4800390e527b9deaa6ca4f197d98265bd85e7d52624e32be17b2efc96b136d4a0108109";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/el/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/el/thunderbird-45.8.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "145bf4a0db9b2fd3b16637fed966d6c0f0d184eeb7ce373024609b869219720f73feb0c10b13c761a4214a88d68ceeee234ac50694ac16599a92e2fe6ea61e4a";
+      sha512 = "d5611f341f3322adeb5e94f9dc83dc0de26d6dbaaaa45a904fb9add1770f77b86db57693aa3c89f69c1aeb27e98793475c900643b78a70284911a63791048069";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/en-GB/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/en-GB/thunderbird-45.8.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "1d3deeccfbba4a871a54eb4ad6077be1cf2e6fc7adb0ad0c04b3638db3b7fb3cbf66b55737befaef034d0b1671e9a53bdadc8d9ee7b3b9eb33a7c64e53ce5b2e";
+      sha512 = "b8c71ccef1793589f5cbbac8e12ad1aef833131a51a0029c75b08e26f28b3d5dfa821a84654efffae1e41c23cf5575cfb1b55de29e9c29b1a5adc1632581129f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/en-US/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/en-US/thunderbird-45.8.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "b1340885d6c92da79ad99f9f491ca1f15429aca73759d4e5055c212f33af96f7a7d4446eec6bc37ffcff4371213051188d7211c021da50f25b85fcf445ca58dc";
+      sha512 = "dbc77f7814b3a085fdf54536d77db69ad893b0230ca1930fb5fbf916cc09e421cdf8987e7f75d726f1fe31f3c7ed0afc584da1d1b1636a2750e9e0454a6de45f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/es-AR/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/es-AR/thunderbird-45.8.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "307473247bbcf0064380b4d9f9bb12ea796c32dfc012af2d4246466aab880dc040a92f06e0917acdf2f930a9df0cc0fce39b17e4ff710ea2311f4b2250b90f53";
+      sha512 = "f161bccff6692a9652568530faa89012e2a7438814fc87f816cbbf93d40425133ef24250a6d1b9990bc772e9ce86d778f905d844166527ab6020687bbede4688";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/es-ES/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/es-ES/thunderbird-45.8.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "3245ee600a95e1f59e8e7aabb521be96d88c1e59ae5cd29cc78825ed2c8c2abd1135dce1c2272d1eef2716717719947ca4b223359e1c56df406569b55226de61";
+      sha512 = "51ca5165f83366f0fd73fa900640b35d572656d123d14663b737e140c1903a816ca8e2980c2c121b1e0a512e9211ceef745c34d3fd8c04b21cbec84b868b468a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/et/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/et/thunderbird-45.8.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "b1cd90842d3888e555799cef84bd2e8d3eeb0c73abd4af9bab2a9db2b24ee90770f39d1376e63df567f8ab63778f6cde305ea8ba2a070aad36d6809a676a2344";
+      sha512 = "a8524b1a72353ddf3d2b883b3936606b9eb3f1898aea05530c38d7d57fd03ad9c36085996fe3442f085ddf668e2fc909a704939c370ba1d2d0684253a10fa965";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/eu/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/eu/thunderbird-45.8.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "6278435a0f46cbd40514780beacda014c8528a79bb5d9be1366b0dd46dc71aa1f7a387311511e8d04cea3e78dd84157b97307df5bb69797b6d39cd299be18a33";
+      sha512 = "6c3f12ccd7dd48258ff5972163da3617f3038f4f670223617f1b7734181234eaef5be4762156650c0398c4791fc82cfb397149f62e14bc6c873d279eaca92fb3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fi/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/fi/thunderbird-45.8.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "000fbb4519ed626af2dfaec3d588f4ce567212b8a01c4aeae34b1f9e8ec6086ad45b90b57412fe830b8e236606d686e05c807e60bc2078df1364fd9f58d06d0e";
+      sha512 = "2d417c63a5c5d5203bea96f88a51ac4b501dee7575bb43fcda3ea523e76e65dacaf16c3f6ad772b25a242aa8016fb36c4f3a04c86431ade23389a97b7cac25cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/fr/thunderbird-45.8.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "5120e880f297f8899ee6067660d65cf1ffd66d3ae6c16a888ab5e5e1b32f48a58aefef9a7023b1a8860987a5ca6399d69fd6df8e12838c00c305c3854c18582f";
+      sha512 = "2c64e8a21306b6129a87333ff1c29ebba10f708d67636042bf6daf40bf01e5ef954038afae8d0d76c42d83ed0c8074525b13b60791f0d0e21108053c9b81822e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fy-NL/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/fy-NL/thunderbird-45.8.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "2e3b2a7cdcd4e5bcae6e46f86c5a4956f164ec37f4cb657ac18c1233c5b36b8c0f041e6930ea15adbcd8269662f9315e2822a9ed43be38a5fae8b7c747812035";
+      sha512 = "fe444a91350d3c30e6254e526f5a506aedaebc92ed9632df6a4d2ee5c8f18246601bc8b853eadd54c0b02c2647cae21514a0c1767ff506bb3fd048aa431d5b7a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ga-IE/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ga-IE/thunderbird-45.8.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "b4567af9057eaffe812feb43fa195474094fe1c0d804eb79a9dc936b93662cdfafd1c1f4bba51adda57abed677473fe2bd5e5ce9523659c931035b617a1e3ad7";
+      sha512 = "73979022d045433b27f71a7278d518b2ee42a7250b166327bfd2f94c2f747acf2d14a9ea55e254f6ade0ccc3ffdc898f61e8dfaa9c7e2b8450fdee195db97b5b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/gd/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/gd/thunderbird-45.8.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "1200cfb333861d2bd5013cfa5c764f202b7a2febadff5f4c8c0bc648f744af19362b07147e720c06046d4ceae7fac186c5bc33c1b637104241493f960a5c307c";
+      sha512 = "e856393fe16f57ecbcdc796dd027d8f426f9c1b39fd51c4bcea8ceb82934087ab71d87e7c04ae67b12de6d063994ee4eb607cca9889c7e500272600f80d65f6c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/gl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/gl/thunderbird-45.8.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "10ec0d042e14c80d65af5ce7a271844553e4bfb96f349a16d94c5caed3c33fa35fb2065ec99b2ae1dfb7b1e47059f6f3ce730d6d293efdd380862fe18b03c877";
+      sha512 = "c1e8ae50ce6495e9706ff1ef4fb790c53be407eaa738e86f2a788feaa16e5e903386f59bc986497d2ae9e5dff8489007a16c0f2b8b9c37456d180794dfa82642";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/he/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/he/thunderbird-45.8.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "7d7edbf3fd840fcf80c3d3491fcf9cbeed923b597840bdc16e7e43097cd5843554030e2690ff178f10ad97b0f447760bd06da87b4cae545dfb32c3b0f4668b68";
+      sha512 = "6caf34bd52e21809eb80ed88b104ed1a47a1c29abdc3b3f4059fb183a0b844449936362a1839d888e4d224ee987890982d37d27c32102cfe8029bea1371847cd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/hr/thunderbird-45.8.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "28a2e3e0dcabecced0a9b66a5e11434fcbabe11257508eb481513e56a82d13c5bf36e79d8174fcd0080b0b310df4ada6f92f3d24fb67658d40db66823d18e0a6";
+      sha512 = "230f0bd3eddf99811d8fc60e988772ed107b75981beceec053d861f977e1e3c5261c0ea51475410aeff50efd0a4e378b5e666cdd4b2bfd76ad0ae465142a28a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hsb/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/hsb/thunderbird-45.8.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "760c99978bc2a326fa5e5d8f9b4a6fc9420a8a3c95251b42dc3db26bb399942a5fdd08f3eff3eaea9f3bc96ca85b0523abdae3f72b7400f8bed136e906a8e79f";
+      sha512 = "389b0fab729562e09c17d7ca251675ed4d333f4a79932b5ef2ffeda9d3e683adb95b7f4e4cb192fcf9416826a8aa470b7f8ae4211165b50d7a5a21fe39ba199a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hu/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/hu/thunderbird-45.8.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "4118ae0a62d7c8c6e68f7468040361091f98197c8135ba88ba9165ff3c807ae3ec8ac7e587224e9f45cb49290abe7c85aa11518714440db0f797f426fb73b5d5";
+      sha512 = "2d0ec213b7cf3f875518841e0c08bc6b4134173606098cd0515e93206bf2419377041d44a2737c98b17a198998b80453763e695cabedc283ebbdfb42a60abd70";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hy-AM/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/hy-AM/thunderbird-45.8.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "664dade424cdca68158c98e531dc0b46ee5482f728b4f172684061da029c7dac76d80bcaa4c0228ff929a19e6bf11fd08890b3ed71fa6e23f442dba174de84da";
+      sha512 = "f77164c2fc3a083e13a11417f77454a885fd4ac77a0b7695c0d2bf8169b54afcd06c32e7c78cb6bbb4ac447a3d690a423344cdab59bc6fdfe83d82bac5d0be0d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/id/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/id/thunderbird-45.8.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "58e48787ec26d8cfaa7be233055d95982d073ae8a1a01e4556d239e18598939ab6077f0aaa4b14051c6460730f89c1710a6dbb54ce5aaaa75967418f324073ab";
+      sha512 = "24c383b106de72a3741d7333aa4ec53c091d41ab3638c91f5f88f8d2952d25e77223e95a728611bdfd1cbe2d4418447e588069c286f90ffec0d12c7f245c07fd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/is/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/is/thunderbird-45.8.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "77e95822a92855c41ed557574ab3f0e464d8be21146139a1cbff243ae76b035ae0912e92c07513d4c5fc9d522a2da1a738dc7ab790f9327ecc6d94c0d577a124";
+      sha512 = "bae6f4fa377bb76ffd8d5257f525ce43f151f44f07eaeb5c4109a3440965c36a622c41d6577113bf111335d51d211e18b1c9decac6d9c1dea6303f90b7368f94";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/it/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/it/thunderbird-45.8.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "835a2059b02ffd019fefa2988bc2f05f456e5fc8b05badc7f5477a6958ba8fac1bc3539cc66ce6eca73fe86b4c70a172b609fa365e83593ff97405e9bbb533cd";
+      sha512 = "6b6082972ea030e2564bffaf4e9349d33800b840c0b185bb646c53d0578a1b6360a3d85cdf1dbc534a648d34138f1c8cd26d1c0297c99795e93b93b145a100c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ja/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ja/thunderbird-45.8.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "11b6f0d2326bb89a6cf6d8452d2312eb8f7af616a0fcd43dd2b2263f52397c1c0a0a3ad7ceb67dd09b81a624adb95ed8a905bd7c9dba5f1d2a94114776257ff6";
+      sha512 = "66c8808d49986675e9049e77328cf7b1d2fad163b193b8442ca39be1b605bce0180e29b239141509cfec6302f053eaf2197513d5d482beb6c498f6a0ae8bbd9b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ko/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ko/thunderbird-45.8.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "69f804d87a17072803b6e081dedcea57d633036299eaee9599b7df83604dd599234236b5b5b647da25c066633ee481e196fe9b219bc3da29d07b6dd55fdbf4f1";
+      sha512 = "bdb8a9d6172b6f56d29b29043c484547c9a9dc7bd1477bd8ac4aaa4bf07c0ceffe2ae1560458acefefad66e4487d62746f60b6ec56d5d91603937b0c339d5625";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/lt/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/lt/thunderbird-45.8.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "4534bc70c43b108e59d7e7c15cb53e32f54c20e0ad21a5c0e1d309b3fec32db870ab8cb268d59b8964c526c28382cd89753ccc978e34d0aedd5c87eeeb525a5e";
+      sha512 = "dd70d123787ef85ee1c596346bf4c40a99907c2ece2116f7fb4536cb078d162f9afe0f92b466b713d6b75bf92960de32a3b3dedd861946da5b2e946187d4ebc5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nb-NO/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/nb-NO/thunderbird-45.8.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "13d4f6b638d6005ec854cac82b16c02dc347d0cd1eb804a056c106fb1031c11982973abbfbd319f4925264a1095cce8bede670f68c2efc9bd4be49ceb6b2f2a3";
+      sha512 = "caf4d3d27db952fce1f34d5c641194d555c2443b86fbecdf68869cafeed0d532d7379212f4338401743e6e26531dd98111f75bddc5e2a3af42a3a7731ec3039b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/nl/thunderbird-45.8.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "b6e49ff5a473dee02bb749481924fdbb345be2d532119dde93f80396a29da726b0450e2f2ee522454c8dcef74b09dfcb57474264873b873beeaa6edc81853fb2";
+      sha512 = "dd5071174889bdda282c496c4aa05158887fffc652d4c557320fab2c11e16b0cbb7e5121ef20b423d703dfbf9da52983ff288b9377ecedabfdba496f9c99eb6b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nn-NO/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/nn-NO/thunderbird-45.8.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "3992cb6ca869e9470bb30042ba3c8d1710511a2170504a5a65cafa4a9091492903509ddd366c29f5e9e7ada9ac657416972002a297a57550a418031a7ed6ee0f";
+      sha512 = "edd6a1384ed0060398cffb4598a7014aa13cfe83891a4cd4972db2ed6eaae5068703944a6e14b033409eaf6b6426838a0a3d708b9d83eb08907f39469fde4435";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pa-IN/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/pa-IN/thunderbird-45.8.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "6aca05743fe7383490cd94281fe1d0c64451832e128b8b3da5d2643bf59f05cdcfe2130ba5218f7e314ac7c55b126ad62d4d24f987b215bfe767a17d6a8eeeed";
+      sha512 = "9e6227d28dc844621d1d9ac6c5536505dea0cc1d1b3d161bedf13b75a3255c5c681ce5b38bb510150f8db1add7f149119a8b5ce5b98c5f4dfe2427db6ad58581";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/pl/thunderbird-45.8.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "0b8969b08e11792c547d666843799459e27d3732f4e56ab64d7624df4360e6cf65fc2cce538ffd0a287f239cf6c57ebe7aad68bd397c0f56a85dcc499f35e4a5";
+      sha512 = "8da6ec38d37df6202b751f112031e590777e587e23437cb7a4dcfeb958b27928e2f01cbd1682daa96c143df756b3c8f31f7516ca8cb30a884db2dc03f130f960";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pt-BR/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/pt-BR/thunderbird-45.8.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "4a921106175214b7fd029e27e19f4442a50076d08c2bf6f6ad4b27c1c37730d2f90ac4bd058363395777d336e5170bdd48276f71b0d253375d32daac9af66412";
+      sha512 = "00a7ffd7509d538b9fe3e801d5c2ad069edd62665a7ce045381213b78226646b1cfe6356b5c873904277330b674608711e15f18dcf4664218b9c61048cf88e40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pt-PT/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/pt-PT/thunderbird-45.8.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "f64a4396570349d2f520f8eeca157a012e028cba1e3cf592f5e11807997b4501a2af829dd4920ffac5fee8c50bd691d037aa86bbe9396305352ed4710e854e25";
+      sha512 = "f12f544c9eb3a33f861791af9afcc987b72607c2456d7f741046ef9ad36f12552d4e9cf2682ac3f8adc108dc9d36c9fc1b013714b50ae894f72cbe367914f14b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/rm/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/rm/thunderbird-45.8.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "540d6db390cbe93dbb607f84286e445da5234b01c55846f3d3a91cc61d30d1d32f0216fbfefc0ab0d7a60c5369a63aaab385c73362adf1a0595db57282dad01e";
+      sha512 = "9a8497f13a459d5dde822edeb9516d98beed220d75735a2f620c69b1f5e75e68987420aac6bb2a77775b6b34c2e0daa277c15d1491a6a02bb0f9658a40a16526";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ro/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ro/thunderbird-45.8.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "37cede489bb3082efa853f310dec5293baa411abcf15e9f193a760768cfc2b9f7be952bb6225bf901a0097bc19e77d9133c0e6dfed880c6e33cef250e80ff0f1";
+      sha512 = "2c9c650647079eb754e471757cae6b5844ae8e19bf01ce25d91a73832483507f90e604caf11305760cab719fe4f830cace5b9313b7e2a6f07a92427f35441c55";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ru/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ru/thunderbird-45.8.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "b091376e3937712f5f92ac789dbe39b90e1b486b4409325341dadb06d4a4a3ff4fa9438d8da2fb5b7923beab4ec6b568d6be309cd22a68c277c822614205734d";
+      sha512 = "4cbbe88691fd265b4d98aab61c5763f6baea168ea4cae222425973023174f765e7fa6b97fdef959ac0788a632f742715eb7e565113344147d43c228ece7f08ae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/si/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/si/thunderbird-45.8.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "bb53ecebf56785d7ede52b7a0afed0a01e6248d537ccd8bcd236a837fed86b3f390cf9493f1c2d6d6d58c0d349cd6cfef2a59996fd7766ee77f25dc1af75faca";
+      sha512 = "a270a871187dc95d05cb79d9f4df7947aa58b875c2b0c588c2646f806e7e0eaeb1a62f69d38e78d40399f1c588f043b26d06c0d77cedc9949d8e3d8b026ad4a5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sk/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sk/thunderbird-45.8.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "c13c32cf17b0291bf049c2790fce2066e8b07aa2f30fb7bbecaf8cb88b4660bbf07506cb04e5aa8b756a35371d25c5a793b54d0134a81027946d35109e7714a9";
+      sha512 = "8cfd22b92789766c179dbb70739fcf68907c4b215e70d164c83e50f67f2c834f515176e30788ba1fcd58717fdf5642c9e1ef05640a06470146ee942737744c83";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sl/thunderbird-45.8.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "be0d2a0e501f074329b815f61c1ce04337499c7a88f58e3526e762b47c82ccd975c22063a363a338e22bfc12ad3403107751f66376b1d269101b660e391e7437";
+      sha512 = "fbf54d81b006625f526ab496e9ec7acf9698f7c95415d61aa4bd91896db07bce9d13c835ec944f164678fca9f49be16b69d6e8b728914ec84a5a8d733d3941b4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sq/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sq/thunderbird-45.8.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "1aadc162591de3467af622c3e1fc7655885d7831d2faa470a5f53b2fb12a42dfbd44f3a942dc4089a28235942ba0e46749810a88adbb396e1417f7ed0fc07586";
+      sha512 = "f8dee08b3a4e049392f7c407e9403b972c755493fe638e7917181b8281a86d70f2d1113e69b785be756774bb9aef4cb493084bc8d0d12bda0f928f4cd468f569";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sr/thunderbird-45.8.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "aab1299fb2e2b022bfaaa6403461bd2f5ed70d5fea77ea29936fea465984cc57bfa1ed5be1e8968138e757118d1caa3eb664388fddb04d0008abe932035c818e";
+      sha512 = "8c8fba2fc92d91f086679b6ba451eed1af4fef5c56747260f9907300f057aab354d7f8ebc411fa25821bc006a551f26e0ddf29b344846a30dc493cfef30c7375";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sv-SE/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sv-SE/thunderbird-45.8.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "11ce9c1b444adb242e826d4e1e8ab88e2272ac6b77f68f9d2a860c75e421c7b69f1841d0a4fef0b9b4d3a636678f0d57d5abb985f5fda6b5afd6cfb319f39b14";
+      sha512 = "caf3911023d48fc48f4834be424c01cb22bd7383582c8bfc15468401a1558351659e93955103625872b5ea3351570bf216b34e93bff9bf535eccd1789f493bca";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ta-LK/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ta-LK/thunderbird-45.8.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-i686";
-      sha512 = "e46dff7831a6805917d2982347e4899aea9c726bcbf1e0b081c8ead225d585df1d0e9c485729d28483fd7ea8e0e5a47598fa9146f0138ed8ed65162c8191a381";
+      sha512 = "99a0db9f4e7d9f05e8398f76f0dcce418d0230b8a325a1289b690a87a43febd0c17f52248bb6070ad7bd2dc60d6e877a78f1c4a23c8888b105160f131b31ec1c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/tr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/tr/thunderbird-45.8.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "158e4d49beae2af88c9aeddf5933e58a73541d0acc960d3965159662dd18ec876fd9a598b7bdba31261f8eeccf1595eb5e66ace3656658b3557c1482b7a4263f";
+      sha512 = "79379c3dc58d330949aa5a0338fb38e6334ca47c964842bf090a9431e5b7267f871aaa519dd35262ed9d6e042188e998e95eb7a63c77b3592db09a81bdd95267";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/uk/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/uk/thunderbird-45.8.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "0d298daa6b416b60b696d57ae7508f56749f1fdc7f8d4ca3514fc106b91567fcc3bf41881cce398d431c0aa0b6bb9d5913d25abcded8e68628fe54fae3cbec25";
+      sha512 = "a2f0efb561fd84e5881bb93145f86f9445eb6cb3ce5ce0e209fc896c797e9a554d180ed1009f369bc12790b8d03d09d429dd3d52fda4ce48d7642009c1a9920a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/vi/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/vi/thunderbird-45.8.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "f3e21ff0bf5b0b57bf6a3d1564ec0194c4c4b8987e0db89c84662e091131601526cd1b109e113fa8738d6b16d61220df1ef6c09acfd46c154de7e86dd9aa744b";
+      sha512 = "14a7352ac3254aa0a748e98e208f48ee0b764853b37889077f651ed1d1a401d98c35dd6cd09bb5b25a7f8c5d5c3a7b02319ddf4dcdaa7a5440aa5caae9f09a32";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/zh-CN/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/zh-CN/thunderbird-45.8.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "ad624ccf882b3703de853d67b9fb2d53fa4a69a20353638dc108750b35b486f2333307e7fb947e39a76f32cc204459347fe9c52e5c6c60c8b9210d9f7ca68632";
+      sha512 = "5b991ccc4daafe744f1fffdc51882bdc72d5fadd1e570e0ff3670f7d7201a67151797a26f0222fe8cfa0ddefff45f0741da6c04d924367705347858cc028a945";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/zh-TW/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/zh-TW/thunderbird-45.8.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "877e9fbfd4421fecb01d94142ae753c7b90b7a1430a01dfdfbf916e4505a1b647fc3f75d896558437e7d5c4ae3a0aefe0892881f4bec7ce9ab672d7b44c337b3";
+      sha512 = "231abcab55934962d3b8dec164ddf48b8b7bfc0e8cd70251479351d8be5d2605e2bb823bbf6c3002bba6c431461b0bfd570f101f31b5adf7c70804610262b856";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index d4ddfcfc4a69..6990c12439d7 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -14,7 +14,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "45.7.1"; in
+let version = "45.8.0"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.xz";
-    sha512 = "aa1231169cfe243a257e6b9088281b85d0cf75207e3b9ebeda7792567a86f6098fb5c74dc397e3eeeb1925d221d2fb1b17df8762afd115eff9ad4d1370a49e56";
+    sha512 = "f8ba08d874fb1a09ac9ba5d4d1f46cefe801783ba4bf82eee682ac2ecc4e231d07033a80e036ad04bda7780c093fb7bc3122a23dc6e19c12f18fb7168dc78deb";
   };
 
   patches = [ ./gcc6.patch ];
diff --git a/pkgs/applications/networking/mpop/default.nix b/pkgs/applications/networking/mpop/default.nix
index b2cc30b6f1f3..3d0d576bffb1 100644
--- a/pkgs/applications/networking/mpop/default.nix
+++ b/pkgs/applications/networking/mpop/default.nix
@@ -1,24 +1,27 @@
 { stdenv, fetchurl, openssl, pkgconfig, gnutls, gsasl, libidn, Security }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
-  version = "1.2.4";
+  version = "1.2.6";
   name = "mpop-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/mpop/${name}.tar.xz";
-    sha256 = "158zl6clxrl2id4kvdig2lvdvm0vg2byqcgn1dnxfjg5mw16ngwk";
+    sha256 = "0p1ix63jh64dibrlccch8q7gxl9nn18wd2qpyr5z1h4gs2fpmv4z";
   };
 
-  buildInputs = [ openssl pkgconfig gnutls gsasl libidn ]
-    ++ stdenv.lib.optional stdenv.isDarwin Security;
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ openssl gnutls gsasl libidn ]
+    ++ optional stdenv.isDarwin Security;
 
   configureFlags =
-    stdenv.lib.optional stdenv.isDarwin [ "--with-macosx-keyring" ];
+    optional stdenv.isDarwin [ "--with-macosx-keyring" ];
 
   meta = {
       description = "POP3 mail retrieval agent";
-      homepage = "http://mpop.sourceforge.net/";
-      license = stdenv.lib.licenses.gpl3Plus;
-      platforms = stdenv.lib.platforms.unix;
+      homepage = http://mpop.sourceforge.net/;
+      license = licenses.gpl3Plus;
+      platforms = platforms.unix;
     };
 }
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
index a35cfdffece2..ccd1b5cfeae4 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, fetchurl, cmake, qt4, pkgconfig, qtkeychain, sqlite }:
+{ stdenv, fetchurl, cmake, qt5, pkgconfig, qtkeychain, sqlite }:
 
 stdenv.mkDerivation rec {
-  name = "owncloud-client" + "-" + version;
-
-  version = "2.2.3";
+  name = "owncloud-client-${version}";
+  version = "2.3.0";
 
   src = fetchurl {
     url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
-    sha256 = "00bx9wrgvbdhi9vx30qfgkdz0k8nxlj313pac34cchx5xpij3jgq";
+    sha256 = "10ah4zmnv4hfi50k59qwk990h1a4g95d3yvxqqrv4x1dv8p2sscf";
   };
 
-  buildInputs =
-    [ cmake qt4 pkgconfig qtkeychain sqlite];
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ qt5.qtbase qt5.qtwebkit qtkeychain sqlite ];
 
   cmakeFlags = [
-  "-UCMAKE_INSTALL_LIBDIR"
+    "-UCMAKE_INSTALL_LIBDIR"
   ];
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Synchronise your ownCloud with your computer using this desktop client";
     homepage = https://owncloud.org;
-    maintainers = with stdenv.lib.maintainers; [ qknight ];
-    meta.platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.qknight ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index cdafea3be79f..17548d824417 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,11 +10,11 @@ assert guiSupport -> (dbus_libs != null);
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "qbittorrent-${version}";
-  version = "3.3.10";
+  version = "3.3.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "1lm8y5k9363gajbw0k9jb1cb7zg0lz5rw2ja0kd36h68rpm7qr9c";
+    sha256 = "0q57ahhlx7r5k1ji87gbp4rvjfvhirlmcx5nbwrfvqmxsigar4j8";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
index dc80d7d34dec..694b7541bbaf 100644
--- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
+++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -1,21 +1,26 @@
-{ stdenv, autoconf, automake, libtool, makeWrapper, fetchgit, pkgconfig
-, intltool, gtk3, json_glib, curl }:
+{ stdenv, autoconf, automake, libtool, makeWrapper, fetchFromGitHub, pkgconfig
+, intltool, gtk3, json_glib, curl, glib, autoconf-archive, appstream-glib }:
 
 
 stdenv.mkDerivation rec {
   name = "transmission-remote-gtk-${version}";
-  version = "1.2";
+  version = "1.3.1";
 
-  src = fetchgit {
-    url = "https://github.com/ajf8/transmission-remote-gtk.git";
-    rev = "aa4e0c7d836cfcc10d8effd10225abb050343fc8";
-    sha256 = "0qz0jzr5w5fik2awfps0q49blwm4z7diqca2405rr3fyhyjhx42b";
+  src = fetchFromGitHub {
+    owner = "transmission-remote-gtk";
+    repo = "transmission-remote-gtk";
+    rev = "${version}";
+    sha256 = "02q0vl7achx9rpd0iv0347h838bwzm7aj4k04y88g3bh8fi3cddh";
   };
 
-  buildInputs = [ libtool autoconf automake makeWrapper pkgconfig intltool
-                  gtk3 json_glib curl ];
+  preConfigure = "./autogen.sh";
 
-  preConfigure = "sh autogen.sh";
+  nativeBuildInputs= [ 
+    autoconf automake libtool makeWrapper 
+    pkgconfig intltool autoconf-archive 
+    appstream-glib
+  ];
+  buildInputs = [ gtk3 json_glib curl glib ];
 
   preFixup = ''
     wrapProgram "$out/bin/transmission-remote-gtk" \
diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix
index 57d04e528452..cf7afc37b8bb 100644
--- a/pkgs/applications/networking/remote/citrix-receiver/default.nix
+++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix
@@ -41,10 +41,12 @@ stdenv.mkDerivation rec {
 
       ${homepage}
 
+      (if you do not find version ${version} there, try https://www.citrix.com/downloads/citrix-receiver/)
+
       Once you have downloaded the file, please use the following command and re-run the
       installation:
 
-      nix-prefetch-url file://${name}
+      nix-prefetch-url file://$PWD/${name}
     '';
   };
 
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index fd709aa76603..375a948c1f20 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, pkgconfig, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
 , gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, makeDesktopItem, python, libcap, glib
 , libssh, zlib, cmake, extra-cmake-modules
-, withGtk ? false, gtk3 ? null, pango ? null, cairo ? null, gdk_pixbuf ? null
+, withGtk ? false, gtk3 ? null, librsvg ? null, gsettings_desktop_schemas ? null, wrapGAppsHook ? null
 , withQt ? false, qt5 ? null
 , ApplicationServices, SystemConfiguration, gmp
 }:
@@ -23,11 +23,15 @@ in stdenv.mkDerivation {
     sha256 = "049r5962yrajhhz9r4dsnx403dab50d6091y2mw298ymxqszp9s2";
   };
 
+  nativeBuildInputs = [
+    bison cmake extra-cmake-modules flex
+  ] ++ optional withGtk wrapGAppsHook;
+
   buildInputs = [
-    bison cmake extra-cmake-modules flex gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt libgpgerror gnutls
-    geoip c-ares python glib zlib
-  ] ++ (optionals withQt  (with qt5; [ qtbase qtmultimedia qtsvg qttools ]))
-    ++ (optionals withGtk [ gtk3 pango cairo gdk_pixbuf ])
+    gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt
+    libgpgerror gnutls geoip c-ares python glib zlib
+  ] ++ optionals withQt  (with qt5; [ qtbase qtmultimedia qtsvg qttools ])
+    ++ optionals withGtk [ gtk3 librsvg gsettings_desktop_schemas ]
     ++ optionals stdenv.isLinux  [ libcap libnl ]
     ++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ];
 
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index adbadba411c9..93b4fc764674 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "rclone-${version}";
-  version = "1.35";
+  version = "1.36";
 
   goPackagePath = "github.com/ncw/rclone";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "ncw";
     repo = "rclone";
     rev = "v${version}";
-    sha256 = "15dmppb7qgr3vg76dsv770l51lmsl8n8k3rvbnhhks5a2cz0kf2i";
+    sha256 = "1vx75ihg2j0chml8hwvngjkjw647cai9gicfy8ss6xsrm46w59b3";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 95ab09542a07..2cb4f0a5922e 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,11 +1,6 @@
-{ stdenv, lib, fetchFromGitHub, go, pkgs }:
+{ stdenv, lib, fetchFromGitHub, go, pkgs, removeReferencesTo }:
 
-let
-  removeExpr = ref: ''
-    sed -i "s,${ref},$(echo "${ref}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" \
-  '';
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   version = "0.14.24";
   name = "syncthing-${version}";
 
@@ -16,7 +11,7 @@ in stdenv.mkDerivation rec {
     sha256 = "15jjk49ibry7crc3sw5zg09zsm5ir0ph5c0f3acas66wd02rnvl1";
   };
 
-  buildInputs = [ go ];
+  buildInputs = [ go removeReferencesTo ];
 
   buildPhase = ''
     mkdir -p src/github.com/syncthing
@@ -48,7 +43,7 @@ in stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    find $out/bin -type f -exec ${removeExpr go} '{}' '+'
+    find $out/bin -type f -exec remove-references-to -t ${go} '{}' '+'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index f51b41d85686..88d1ae7fae13 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -9,14 +9,16 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "znc-${version}";
-  version = "1.6.4";
+  version = "1.6.5";
 
   src = fetchurl {
-    url = "http://znc.in/releases/${name}.tar.gz";
-    sha256 = "070d6b1i3jy66m4ci4ypxkg4pbwqbzbzss1y1ycgq2w62zmrf423";
+    url = "http://znc.in/releases/archive/${name}.tar.gz";
+    sha256 = "1jia6kq6bp8yxfj02d5vj9vqb4pylqcldspyjj6iz82kkka2a0ig";
   };
 
-  buildInputs = [ openssl pkgconfig ]
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ openssl ]
     ++ optional withPerl perl
     ++ optional withPython python3
     ++ optional withTcl tcl
diff --git a/pkgs/applications/office/libreoffice/default-primary-src.nix b/pkgs/applications/office/libreoffice/default-primary-src.nix
index 919ab01f5f6e..245d2a5fce1a 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 = "3";
-  patch = "0";
-  tweak = "3";
+  patch = "1";
+  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 = "0vjmc8id9krpy9n4f0yil8k782cdzwmk53lvszi7r32b3ig23f84";
+    sha256 = "1zsl0z0i8pw532x2lmwd64ms6igibkkjhwf01zmm2kpnr9ycsijp";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index f583660c6232..59389a69e7c8 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 = "1ld1zj2f0cbyr0fkibsiazyrb4qkshc9yqkfmq7b64hhp9zsa8a3";
+      sha256 = "1r386qkfmlq7p1zly4xl0s0shp1d3rq9hwm1403ap22qpgrcgqyb";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "0zqs9g6hqjv5z0yzi0ag4ii158249c70ppqhg1v60haip40xan6z";
+      sha256 = "03n2lj6zhjg585zq9z458mj29dshni25p1v959a2z1xa3jzwfjfz";
     };
 
   };
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 375db389da99..8ac7bc2eda02 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.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 = "curl-7.52.1.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/curl-7.52.1.tar.gz";
+    sha256 = "a8984e8b20880b621f61a62d95ff3c0763a3152093a9f9ce4287cfd614add6ae";
+    md5 = "4e1ef056e117b4d25f4ec42ac609c0d4";
+    md5name = "4e1ef056e117b4d25f4ec42ac609c0d4-curl-7.52.1.tar.gz";
   }
   {
     name = "libe-book-0.1.2.tar.bz2";
@@ -294,11 +294,11 @@
     md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
   }
   {
-    name = "hunspell-1.4.1.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/33d370f7fe5a030985e445a5672b2067-hunspell-1.4.1.tar.gz";
-    sha256 = "c4476aff0ced52eec334eae1e8d3fdaaebdd90f5ecd0b57cf2a92a6fd220d1bb";
-    md5 = "33d370f7fe5a030985e445a5672b2067";
-    md5name = "33d370f7fe5a030985e445a5672b2067-hunspell-1.4.1.tar.gz";
+    name = "hunspell-1.6.0.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/047c3feb121261b76dc16cdb62f54483-hunspell-1.6.0.tar.gz";
+    sha256 = "512e7d2ee69dad0b35ca011076405e56e0f10963a02d4859dbcc4faf53ca68e2";
+    md5 = "047c3feb121261b76dc16cdb62f54483";
+    md5name = "047c3feb121261b76dc16cdb62f54483-hunspell-1.6.0.tar.gz";
   }
   {
     name = "hyphen-2.8.8.tar.gz";
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index 6897597e7ef8..b973a4192bba 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -72,6 +72,13 @@ in stdenv.mkDerivation rec {
   configureScript = "./autogen.sh";
   dontUseCmakeConfigure = true;
 
+  # ICU 58, included in 5.3.x
+  patches = [(fetchurl {
+    url = "https://gerrit.libreoffice.org/gitweb?p=core.git;a=patch;h=3e42714c76b1347babfdea0564009d8d82a83af4";
+    sha256 = "10bid0jdw1rpdsqwzzk3r4rp6bjs2cvi82h7anz2m1amfjdv86my";
+    name = "libreoffice-5.2.x-icu4c-58.patch";
+  })];
+
   postUnpack = ''
     mkdir -v $sourceRoot/src
   '' + (stdenv.lib.concatMapStrings (f: "ln -sfv ${f} $sourceRoot/src/${f.md5 or f.outputHash}-${f.name}\nln -sfv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party)
diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix
index 2981a0f7f890..30b8809f2247 100644
--- a/pkgs/applications/office/mmex/default.nix
+++ b/pkgs/applications/office/mmex/default.nix
@@ -2,7 +2,7 @@
 
 
 let
-  version = "1.3.1";
+  version = "1.3.3";
 in
   stdenv.mkDerivation {
     name = "money-manager-ex-${version}";
@@ -10,7 +10,7 @@ in
     src = fetchgit {
       url = "https://github.com/moneymanagerex/moneymanagerex.git";
       rev = "refs/tags/v${version}";
-      sha256 = "1cmwmvlzg7r85qq23lbbmq2y91vhf9f5pblpja5ph98bsd218pc0";
+      sha256 = "0r4n93z3scv0i0zqflsxwv7j4yl8jy3gr0m4l30y1q8qv0zj9n74";
     };
 
     buildInputs = [ sqlite wxGTK30 gettext ];
diff --git a/pkgs/applications/science/biology/ants/default.nix b/pkgs/applications/science/biology/ants/default.nix
new file mode 100644
index 000000000000..fa40e53aa0a5
--- /dev/null
+++ b/pkgs/applications/science/biology/ants/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, cmake, itk, vtk }:
+
+stdenv.mkDerivation rec {
+  _name    = "ANTs";
+  _version = "2.1.0";
+  name  = "${_name}-${_version}";
+
+  src = fetchFromGitHub {
+    owner  = "stnava";
+    repo   = "ANTs";
+    rev    = "4e02aa76621698e3513330dd9e863e22917e14b7";
+    sha256 = "0gyys1lf69bl3569cskxc8r5llwcr0dsyzvlby5skhfpsyw0dh8r";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ itk vtk ];
+
+  cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE" ];
+
+  checkPhase = "ctest";
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/stnava/ANTs;
+    description = "Advanced normalization toolkit for medical image registration and other processing";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/science/biology/emboss/default.nix b/pkgs/applications/science/biology/emboss/default.nix
index 331820276553..2110a9bcfaba 100644
--- a/pkgs/applications/science/biology/emboss/default.nix
+++ b/pkgs/applications/science/biology/emboss/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, readline, perl, libX11, libpng, libXt, zlib}:
+{stdenv, fetchurl, readline, perl, libharu, libX11, libpng, libXt, zlib}:
 
 stdenv.mkDerivation {
   name = "emboss-6.6.0";
@@ -6,16 +6,14 @@ stdenv.mkDerivation {
     url = "ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz";
     sha256 = "7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e";
   };
-  # patch = fetchurl {
-  #   url = ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-9.gz;
-  #   sha256 = "1pfn5zdxrr71c3kwpdkzmmsqvdwkmynkvcr707vqh73h9cjhk3c1";
-  # };
 
-  buildInputs = [readline perl libpng libX11 libXt zlib];
+  buildInputs = [ readline perl libharu libpng libX11 libXt zlib ];
 
-  # preConfigure = ''
-  #   gzip -d $patch | patch -p1
-  # '';
+  configureFlags = [ "--with-hpdf=${libharu}" "--with-pngdriver=${zlib}" ];
+
+  postConfigure = ''
+    sed -i 's@$(bindir)/embossupdate@true@' Makefile
+  '';
 
   meta = {
     description     = "The European Molecular Biology Open Software Suite";
diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix
index 40fb9bfb160b..e931c6fcf9d5 100644
--- a/pkgs/applications/science/logic/hol/default.nix
+++ b/pkgs/applications/science/logic/hol/default.nix
@@ -83,5 +83,6 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     maintainers = with maintainers; [ mudri ];
     platforms = with platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index 45f8dd1960b7..aee4831034d8 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "geogebra-${version}";
-  version = "5-0-331-0";
+  version = "5-0-338-0";
 
   preferLocalBuild = true;
 
   src = fetchurl {
     url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
-    sha256 = "135g2xqafgs1gv98vqq2jpfwyi1aflyiynx1gmsgs23jxbr218v2";
+    sha256 = "1namwib3912zjizgl9swan0fwgmq9kvfq5k5y8lz818vh4lv88kx";
   };
 
   srcIcon = fetchurl {
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index 9e17fe60c295..af4cda874730 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk
-, imagemagick, liblapack, python, openssl, libpng
+{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk, gnused_422
+, imagemagick, liblapack, python, openssl, libpng 
 , which
 }:
 
@@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "http://old.files.sagemath.org/src-old/${name}.tar.gz";
     sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9";
+
   };
 
-  buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg tk imagemagick liblapack
-                  python openssl libpng which];
+  buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg gnused_422 tk imagemagick liblapack
+                  python openssl libpng which ];
 
   patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index b9b7f2e543ff..281a39149867 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -66,6 +66,8 @@ rec {
 
   git-imerge = callPackage ./git-imerge { };
 
+  git-octopus = callPackage ./git-octopus { };
+
   git-radar = callPackage ./git-radar { };
 
   git-remote-hg = callPackage ./git-remote-hg { };
diff --git a/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix b/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix
new file mode 100644
index 000000000000..f8d871bdcf30
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, git, perl, makeWrapper }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "git-octopus-${version}";
+  version = "1.4";
+
+  installFlags = [ "prefix=$(out)" ];
+
+  buildInputs = [ makeWrapper ];
+
+  # perl provides shasum
+  postInstall = ''
+    for f in $out/bin/*; do
+      wrapProgram $f --prefix PATH : ${makeBinPath [ git perl ]}
+    done
+  '';
+
+  src = fetchFromGitHub {
+    owner = "lesfurets";
+    repo = "git-octopus";
+    rev = "v${version}";
+    sha256 = "14p61xk7jankp6gc26xciag9fnvm7r9vcbhclcy23f4ghf4q4sj1";
+  };
+
+  meta = {
+    homepage = https://github.com/lesfurets/git-octopus;
+    description = "The continuous merge workflow";
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
+    maintainers = [maintainers.mic92];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch b/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
index bafd65e8c93e..0e0697dfb211 100644
--- a/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
+++ b/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
@@ -1,11 +1,14 @@
 diff -ru git-2.7.4-orig/http.c git-2.7.4/http.c
 --- git-2.7.4-orig/http.c	2016-03-17 21:47:59.000000000 +0100
 +++ git-2.7.4/http.c	2016-04-12 11:38:33.187070848 +0200
-@@ -544,6 +544,7 @@
+@@ -544,6 +544,10 @@
  #if LIBCURL_VERSION_NUM >= 0x070908
  	set_from_env(&ssl_capath, "GIT_SSL_CAPATH");
  #endif
-+	set_from_env(&ssl_cainfo, "SSL_CERT_FILE");
++	if (getenv("NIX_SSL_CERT_FILE"))
++	  set_from_env(&ssl_cainfo, "NIX_SSL_CERT_FILE");
++	else
++	  set_from_env(&ssl_cainfo, "SSL_CERT_FILE");
  	set_from_env(&ssl_cainfo, "GIT_SSL_CAINFO");
  
  	set_from_env(&user_agent, "GIT_HTTP_USER_AGENT");
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 70ca7a74b236..28d89fb32d04 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "gitkraken-${version}";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "https://release.gitkraken.com/linux/v${version}.tar.gz";
-    sha256 = "56b5657f5c13fa1d8f6b7b9331194cbc8c48c0b913e5f0fb561d0e9af82f7999";
+    sha256 = "0a3ed917e6e937af4dd180144fbb4ad8b99b35b5d8c1f0684a55de38189a812d";
   };
 
   libPath = stdenv.lib.makeLibraryPath [
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
     description = "The downright luxurious and most popular Git client for Windows, Mac & Linux";
     license = licenses.unfree;
     platforms = platforms.linux;
-    maintainers = [ ];
+    maintainers = with maintainers; [ xnwdd ];
   };
 }
diff --git a/pkgs/applications/version-management/peru/default.nix b/pkgs/applications/version-management/peru/default.nix
index 28df4f7fc312..01369b9685dc 100644
--- a/pkgs/applications/version-management/peru/default.nix
+++ b/pkgs/applications/version-management/peru/default.nix
@@ -1,25 +1,26 @@
-{ stdenv, fetchurl, python3Packages }:
-
-let 
-  pythonPackages = python3Packages;
-in pythonPackages.buildPythonApplication rec {
+{ stdenv, fetchFromGitHub, python3Packages }:
 
+python3Packages.buildPythonApplication rec {
   name = "peru-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
 
-  src = fetchurl {
-    url = "mirror://pypi/p/peru/${name}.tar.gz";
-    sha256 = "d51771d4aa7e16119e46c39efd71b0a1a898607bf3fb7735fc688a64fc59cbf1";
+  src = fetchFromGitHub {
+    owner = "buildinspace";
+    repo = "peru";
+    rev = "${version}";
+    sha256 = "0hvp6pvpsz0f98az4f1wl93gqlz6wj24pjnc5zs1har9rqlpq8y8";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ pyyaml docopt ];
+  propagatedBuildInputs = with python3Packages; [ pyyaml docopt ];
 
   # No tests in archive
   doCheck = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/buildinspace/peru;
     description = "A tool for including other people's code in your projects";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    platforms = platforms.unix;
   };
-}
\ No newline at end of file
+
+}
diff --git a/pkgs/applications/version-management/rapidsvn/default.nix b/pkgs/applications/version-management/rapidsvn/default.nix
index 9397aa8a1e19..7b3c7aafa44e 100644
--- a/pkgs/applications/version-management/rapidsvn/default.nix
+++ b/pkgs/applications/version-management/rapidsvn/default.nix
@@ -1,11 +1,12 @@
-{stdenv, fetchurl, wxGTK, subversion, apr, aprutil, python}:
+{ stdenv, fetchurl, fetchpatch, wxGTK, subversion, apr, aprutil, python }:
 
-stdenv.mkDerivation {
-  name = "rapidsvn-0.12.0-1";
+stdenv.mkDerivation rec {
+  name = "rapidsvn-${version}";
+  version = "0.12.1";
 
   src = fetchurl {
-    url = http://www.rapidsvn.org/download/release/0.12/rapidsvn-0.12.0-1.tar.gz;
-    sha256 = "1i3afjmx99ljw1bj54q47fs0g1q9dmxxvr4ciq7ncp5s52shszgg";
+    url = "http://www.rapidsvn.org/download/release/${version}/${name}.tar.gz";
+    sha256 = "1bmcqjc12k5w0z40k7fkk8iysqv4fw33i80gvcmbakby3d4d4i4p";
   };
 
   buildInputs = [ wxGTK subversion apr aprutil python ];
@@ -13,6 +14,10 @@ stdenv.mkDerivation {
   configureFlags = [ "--with-svn-include=${subversion.dev}/include"
     "--with-svn-lib=${subversion.out}/lib" ];
 
+  patches = [
+    ./fix-build.patch
+  ];
+
   meta = {
     description = "Multi-platform GUI front-end for the Subversion revision system";
     homepage = http://rapidsvn.tigris.org/;
diff --git a/pkgs/applications/version-management/rapidsvn/fix-build.patch b/pkgs/applications/version-management/rapidsvn/fix-build.patch
new file mode 100644
index 000000000000..ca4bc394c2c6
--- /dev/null
+++ b/pkgs/applications/version-management/rapidsvn/fix-build.patch
@@ -0,0 +1,122 @@
+--- a/src/svncpp/client_ls.cpp
++++ b/src/svncpp/client_ls.cpp
+@@ -25,6 +25,7 @@
+ #include "svn_client.h"
+ #include "svn_path.h"
+ #include "svn_sorts.h"
++#include "svn_version.h"
+ //#include "svn_utf.h"
+ 
+ // svncpp
+@@ -35,6 +36,7 @@
+ #include "m_is_empty.hpp"
+ 
+ 
++#if SVN_VER_MAJOR == 1 && SVN_VER_MINOR < 8
+ static int
+ compare_items_as_paths(const svn_sort__item_t *a, const svn_sort__item_t *b)
+ {
+@@ -84,6 +86,72 @@ namespace svn
+   }
+ }
+ 
++#else
++
++#include <algorithm>
++
++static svn_error_t* store_entry(
++        void *baton,
++        const char *path,
++        const svn_dirent_t *dirent,
++        const svn_lock_t *,
++        const char *abs_path,
++        const char *,
++        const char *,
++        apr_pool_t *scratch_pool)
++{
++  svn::DirEntries *entries = reinterpret_cast<svn::DirEntries*>(baton);
++  if (path[0] == '\0') {
++    if (dirent->kind == svn_node_file) {
++      // for compatibility with svn_client_ls behaviour, listing a file
++      // stores that file name
++      entries->push_back(svn::DirEntry(svn_path_basename(abs_path, scratch_pool), dirent));
++    }
++  } else {
++    entries->push_back(svn::DirEntry(path, dirent));
++  }
++  return SVN_NO_ERROR;
++}
++
++static bool sort_by_path(svn::DirEntry const& a, svn::DirEntry const& b)
++{
++  return svn_path_compare_paths(a.name(), b.name()) < 0;
++}
++
++namespace svn
++{
++  DirEntries
++  Client::list(const char * pathOrUrl,
++               svn_opt_revision_t * revision,
++               bool recurse) throw(ClientException)
++  {
++    Pool pool;
++    DirEntries entries;
++
++    svn_error_t * error =
++      svn_client_list3(pathOrUrl,
++                       revision,
++                       revision,
++                       SVN_DEPTH_INFINITY_OR_IMMEDIATES(recurse),
++                       SVN_DIRENT_ALL,
++                       FALSE, // fetch locks
++                       FALSE, // include externals
++                       &store_entry,
++                       &entries,
++                       *m_context,
++                       pool);
++
++    if (error != SVN_NO_ERROR)
++      throw ClientException(error);
++
++    std::sort(entries.begin(), entries.end(), &sort_by_path);
++
++    return entries;
++  }
++}
++
++#endif
++
+ /* -----------------------------------------------------------------
+  * local variables:
+  * eval: (load-file "../../rapidsvn-dev.el")
+--- a/src/svncpp/dirent.cpp	2017-03-19 15:48:58.956827337 +0100
++++ b/src/svncpp/dirent.cpp	2017-03-19 15:50:19.111527279 +0100
+@@ -47,7 +47,7 @@
+     {
+     }
+ 
+-    Data(const char * _name, svn_dirent_t * dirEntry)
++    Data(const char * _name, const svn_dirent_t * dirEntry)
+         : name(_name), kind(dirEntry->kind), size(dirEntry->size),
+         hasProps(dirEntry->has_props != 0),
+         createdRev(dirEntry->created_rev), time(dirEntry->time)
+@@ -78,7 +78,7 @@
+   {
+   }
+ 
+-  DirEntry::DirEntry(const char * name, svn_dirent_t * DirEntry)
++  DirEntry::DirEntry(const char * name, const svn_dirent_t * DirEntry)
+       : m(new Data(name, DirEntry))
+   {
+   }
+--- a/include/svncpp/dirent.hpp	2017-03-19 15:50:54.860506116 +0100
++++ b/include/svncpp/dirent.hpp	2017-03-19 15:50:58.314407598 +0100
+@@ -41,7 +41,7 @@
+     /**
+      * constructor for existing @a svn_dirent_t entries
+      */
+-    DirEntry(const char * name, svn_dirent_t * dirEntry);
++    DirEntry(const char * name, const svn_dirent_t * dirEntry);
+ 
+     /**
+      * copy constructor
diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix
index 2bff15adc69d..2fd45ec7fc02 100644
--- a/pkgs/applications/version-management/src/default.nix
+++ b/pkgs/applications/version-management/src/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, python, rcs, git }:
+{ stdenv, fetchurl, python, rcs, git, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "src-1.11";
+  name = "src-${version}";
+  version = "1.12";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/src/${name}.tar.gz";
-    sha256 = "07kj0ri0s0vn8s54yvkyzaag332spxs0379r718b80y31c4mgbyl";
+    sha256 = "1m6rjbizx9win3jkciyx176sfy98r5arb1g3l6aqnqam9gpr44zm";
   };
 
-  buildInputs = [ python rcs git ];
+  buildInputs = [ python rcs git makeWrapper ];
 
   preConfigure = ''
     patchShebangs .
@@ -16,10 +17,16 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "prefix=$(out)" ];
 
-  meta = {
+  postInstall = ''
+    wrapProgram $out/bin/src \
+      --suffix PATH ":" "${rcs}/bin"
+  '';
+
+  meta = with stdenv.lib; {
     description = "Simple single-file revision control";
     homepage = http://www.catb.org/~esr/src/;
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ calvertvl ];
   };
 }
diff --git a/pkgs/applications/video/gnome-mplayer/default.nix b/pkgs/applications/video/gnome-mplayer/default.nix
index 1096a64887b0..e2980c7108f4 100644
--- a/pkgs/applications/video/gnome-mplayer/default.nix
+++ b/pkgs/applications/video/gnome-mplayer/default.nix
@@ -4,12 +4,14 @@ stdenv.mkDerivation rec {
   name = "gnome-mplayer-1.0.4";
 
   src = fetchurl {
-    url = "http://gnome-mplayer.googlecode.com/files/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/gnome-mplayer/${name}.tar.gz";
     sha256 = "1k5yplsvddcm7xza5h4nfb6vibzjcqsk8gzis890alizk07f5xp2";
   };
 
   buildInputs = [pkgconfig glib gtk2 dbus dbus_glib GConf];
-  
+
+  hardeningDisable = [ "format" ];
+
   meta = {
     homepage = http://kdekorte.googlepages.com/gnomemplayer;
     description = "Gnome MPlayer, a simple GUI for MPlayer";
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index b8a161649889..31d69536e522 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -8,64 +8,71 @@
 # making licenses more clear and reducing compile time/install size.
 #
 # Only tested on Linux
-#
-# TODO: package and use libappindicator
 
-{ stdenv, config, fetchurl,
-  python2, pkgconfig, yasm,
-  autoconf, automake, libtool, m4,
-  libass, libsamplerate, fribidi, libxml2, bzip2,
-  libogg, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac,
+{ stdenv, lib, fetchFromGitHub,
+  python2, pkgconfig, yasm, harfbuzz, zlib,
+  autoconf, automake, cmake, libtool, m4, jansson,
+  libass, libiconv, libsamplerate, fribidi, libxml2, bzip2,
+  libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac,
   lame, ffmpeg, libdvdread, libdvdnav, libbluray,
   mp4v2, mpeg2dec, x264, x265, libmkv,
   fontconfig, freetype, hicolor_icon_theme,
   glib, gtk3, intltool, libnotify,
   gst_all_1, dbus_glib, udev, libgudev, libvpx,
-  wrapGAppsHook,
-  useGtk ? true
+  useGtk ? true, wrapGAppsHook ? null, libappindicator-gtk3 ? null
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.10.5";
+  version = "1.0.3";
   name = "handbrake-${version}";
 
-  buildInputsX = stdenv.lib.optionals useGtk [
-    glib gtk3 intltool libnotify
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus_glib udev
-    libgudev
-    wrapGAppsHook
-  ];
+  src = fetchFromGitHub {
+    owner  = "HandBrake";
+    repo   = "HandBrake";
+    rev    = "${version}";
+    sha256 = "1r8yzs0xih03p5ybx5096zkvlwxhcmg34047awmda1wq3z3rdjh5";
+  };
+
+  nativeBuildInputs = [
+    cmake python2 pkgconfig yasm autoconf automake libtool m4
+  ] ++ (lib.optionals useGtk [
+    intltool wrapGAppsHook
+  ]);
 
-  nativeBuildInputs = [ python2 pkgconfig yasm autoconf automake libtool m4 ];
   buildInputs = [
-    fribidi fontconfig freetype hicolor_icon_theme
-    libass libsamplerate libxml2 bzip2
-    libogg libtheora libvorbis libdvdcss a52dec libmkv fdk_aac
+    fribidi fontconfig freetype jansson zlib
+    libass libiconv libsamplerate libxml2 bzip2
+    libogg libopus libtheora libvorbis libdvdcss a52dec libmkv fdk_aac
     lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264 x265 libvpx
-  ] ++ buildInputsX;
+  ] ++ (lib.optionals useGtk [
+    glib gtk3 libappindicator-gtk3 libnotify
+    gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus_glib udev
+    libgudev
+  ]);
 
-  src = fetchurl {
-    url = "http://download.handbrake.fr/releases/${version}/HandBrake-${version}.tar.bz2";
-    sha256 = "1w720y3bplkz187wgvy4a4xm0vpppg45mlni55l6yi8v2bfk14pv";
-  };
+  dontUseCmakeConfigure = true;
 
   preConfigure = ''
-    # Fake wget to prevent downloads
-    mkdir wget
-    echo "#!/bin/sh" > wget/wget
-    echo "echo ===== Not fetching \$*" >> wget/wget
-    echo "exit 1" >> wget/wget
-    chmod +x wget/wget
-    export PATH=$PATH:$PWD/wget
+    patchShebangs scripts
+
+    echo 'TAG=${version}' > version.txt
+
+    # `configure` errors out when trying to read the current year which is too low
+    substituteInPlace make/configure.py \
+      --replace developer release \
+      --replace 'repo.date.strftime("%Y-%m-%d %H:%M:%S")' '""'
+
+    substituteInPlace libhb/module.defs \
+      --replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
 
     # Force using nixpkgs dependencies
     sed -i '/MODULES += contrib/d' make/include/main.defs
     sed -i '/PKG_CONFIG_PATH=/d' gtk/module.rules
-
-    patch -p1 -R < ${./handbrake-0.10.3-nolibav.patch}
   '';
 
   configureFlags = [
+    "--disable-df-fetch"
+    "--disable-df-verify"
     "--enable-fdk-aac"
     (if useGtk then "--disable-gtk-update-checks" else "--disable-gtk")
   ];
@@ -74,21 +81,16 @@ stdenv.mkDerivation rec {
     cd build
   '';
 
-  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ x265 ];
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}")
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://handbrake.fr/;
     description = "A tool for ripping DVDs into video files";
     longDescription = ''
       Handbrake is a versatile transcoding DVD ripper. This package
       provides the cli HandbrakeCLI and the GTK+ version ghb.
     '';
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.wmertens ];
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ wmertens ];
     # Not tested on anything else
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index e8dc1227ef87..ce6935a26064 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoconf, automake
-, drake, ruby, file, xdg_utils, gettext, expat, qt5, boost
-, libebml, zlib, libmatroska, libogg, libvorbis, flac
+{ stdenv, fetchFromGitHub, pkgconfig, autoconf, automake, libiconv
+, drake, ruby, docbook_xsl, file, xdg_utils, gettext, expat, qt5, boost
+, libebml, zlib, libmatroska, libogg, libvorbis, flac, libxslt
 , withGUI ? true
 }:
 
@@ -10,21 +10,23 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mkvtoolnix-${version}";
-  version = "9.8.0";
+  version = "9.9.0";
 
   src = fetchFromGitHub {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "1hnk92ksgg290q4kwdl8jqrz7vzlwki4f85bb6kgdgzpjkblw76n";
+    sha256 = "1jiz23s52l3gpl84yx4yw3w445jqzcimvnvibvrv3a21k29hyik1";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby ];
+  nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby docbook_xsl libxslt ];
 
   buildInputs = [
     expat file xdg_utils boost libebml zlib libmatroska libogg
     libvorbis flac
-  ] ++ optional withGUI qt5.qtbase;
+  ]
+  ++ optional stdenv.isDarwin libiconv
+  ++ optional withGUI qt5.qtbase;
 
   preConfigure = "./autogen.sh; patchShebangs .";
   buildPhase   = "drake -j $NIX_BUILD_CORES";
@@ -39,6 +41,7 @@ stdenv.mkDerivation rec {
     "--disable-precompiled-headers"
     "--disable-static-qt"
     "--with-gettext"
+    "--with-docbook-xsl-root=${docbook_xsl}/share/xml/docbook-xsl"
     (enableFeature withGUI "qt")
   ];
 
@@ -47,6 +50,7 @@ stdenv.mkDerivation rec {
     homepage    = http://www.bunkus.org/videotools/mkvtoolnix/;
     license     = licenses.gpl2;
     maintainers = with maintainers; [ codyopel fuuzetsu rnhmjoj ];
-    platforms   = platforms.linux;
+    platforms   = platforms.linux
+      ++ optionals (!withGUI) platforms.darwin;
   };
 }
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 61630c9a15c7..a6238d9e808a 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -22,15 +22,17 @@ let
   optional = stdenv.lib.optional;
 in stdenv.mkDerivation rec {
   name = "obs-studio-${version}";
-  version = "18.0.0";
+  version = "18.0.1";
 
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
     rev = "${version}";
-    sha256 = "0qjv1l69ca8l8jihpkz7yln7gr7168k8c7yxgd8y23dp1db9hdrm";
+    sha256 = "0mvjmkq5zlcppjqy18933w7r7rz1mpr2jpf8ipd0famdlgyacix6";
   };
 
+  patches = [ ./segfault-patch-systray.patch ];
+
   nativeBuildInputs = [ cmake
                       ];
 
diff --git a/pkgs/applications/video/obs-studio/segfault-patch-systray.patch b/pkgs/applications/video/obs-studio/segfault-patch-systray.patch
new file mode 100644
index 000000000000..c66b07bb57ad
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/segfault-patch-systray.patch
@@ -0,0 +1,40 @@
+From c31e0f682431508ccd2d3c0f74e6e16fc71445d8 Mon Sep 17 00:00:00 2001
+From: Cray Elliott <MP2E@archlinux.us>
+Date: Fri, 10 Mar 2017 03:48:36 -0800
+Subject: [PATCH] Fix segfault in Linux when no system tray exists
+
+previously, switching workspaces while obs-studio is running resulted in a
+segfault if no system tray was available
+---
+ UI/window-basic-main.cpp | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
+index 8590dd75..024854d6 100644
+--- a/UI/window-basic-main.cpp
++++ b/UI/window-basic-main.cpp
+@@ -2916,13 +2916,15 @@ void OBSBasic::closeEvent(QCloseEvent *event)
+
+ void OBSBasic::changeEvent(QEvent *event)
+ {
+-	if (event->type() == QEvent::WindowStateChange &&
+-	    isMinimized() &&
+-	    trayIcon->isVisible() &&
+-	    sysTrayMinimizeToTray()) {
+-
+-		ToggleShowHide();
+-	}
++  if (trayIcon) {
++	  if (event->type() == QEvent::WindowStateChange &&
++	      isMinimized() &&
++	      trayIcon->isVisible() &&
++	      sysTrayMinimizeToTray()) {
++
++	  	ToggleShowHide();
++	  }
++  }
+ }
+
+ void OBSBasic::on_actionShow_Recordings_triggered()
+--
+2.12.0
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index c428c56b313b..c07670b5de65 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub
+{ stdenv, lib, fetchFromGitHub, removeReferencesTo
 , go, libapparmor, apparmor-parser, libseccomp }:
 
 with lib;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "16p8kixhzdx8afpciyf3fjx43xa3qrqpx06r5aqxdrqviw851zh8";
   };
 
-  buildInputs = [ go ];
+  buildInputs = [ removeReferencesTo go ];
 
   preBuild = ''
     ln -s $(pwd) vendor/src/github.com/docker/containerd
@@ -26,10 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    # remove references to go compiler
-    while read file; do
-      sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-    done < <(find $out/bin -type f 2>/dev/null)
+    find $out -type f -exec remove-references-to -t ${go} '{}' +
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 903ee98a0e1b..b8667997b16e 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, pkgconfig, go-md2man
-, go, containerd, runc, docker-proxy, tini
+{ stdenv, lib, fetchFromGitHub, makeWrapper, removeReferencesTo, pkgconfig
+, go-md2man, go, containerd, runc, docker-proxy, tini
 , sqlite, iproute, bridge-utils, devicemapper, systemd
 , btrfs-progs, iptables, e2fsprogs, xz, utillinux, xfsprogs
 , procps
@@ -11,14 +11,14 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "docker-${version}";
-  version = "1.13.1";
-  rev = "092cba3"; # should match the version commit
+  version = "17.03.0-ce";
+  rev = "60ccb22"; # should match the version commit
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "docker";
     rev = "v${version}";
-    sha256 = "0l9kjibnpwcgk844sibxk9ppyqniw9r0np1mzp95f8f461jb0iar";
+    sha256 = "0ml9aan8x4w8kfz7dm9vvl8b1a0vq09si9b7z50xz84040cjhnr9";
   };
 
   docker-runc = runc.overrideAttrs (oldAttrs: rec {
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
     src = fetchFromGitHub {
       owner = "docker";
       repo = "runc";
-      rev = "9df8b306d01f59d3a8029be411de015b7304dd8f";
-      sha256 = "1yvrk1w2409b90gk55k72z7l3jlkj682x4h3b7004mkl9bhscqd9";
+      rev = "a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70";
+      sha256 = "0n7vr47fhpyxx5vdnp453qp4cq50w4hwgq3ldyj5878d91iir7l1";
     };
     # docker/runc already include these patches / are not applicable
     patches = [];
@@ -37,8 +37,8 @@ stdenv.mkDerivation rec {
     src = fetchFromGitHub {
       owner = "docker";
       repo = "containerd";
-      rev = "aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1";
-      sha256 = "0vidbsgyn77m98kisrqnbykva0zmk1ljprgqhbfp5lw16ac6qj8c";
+      rev = "977c511eda0925a723debdc94d09459af49d082a";
+      sha256 = "0hmcj8i70vv3a3bbdawrgi84a442m09x5mpc7fgn8dd3v031lcbc";
     };
   });
   docker-tini = tini.overrideAttrs  (oldAttrs: rec {
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
   });
 
   buildInputs = [
-    makeWrapper pkgconfig go-md2man go
+    makeWrapper removeReferencesTo pkgconfig go-md2man go
     sqlite devicemapper btrfs-progs systemd
   ];
 
@@ -126,12 +126,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    # remove references to go compiler, gcc and glibc
-    while read file; do
-      sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-      sed -ri "s,${stdenv.cc.cc},$(echo "${stdenv.cc.cc}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-      sed -ri "s,${stdenv.glibc.dev},$(echo "${stdenv.glibc.dev}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-    done < <(find $out -type f 2>/dev/null)
+    find $out -type f -exec remove-references-to -t ${go} -t ${stdenv.cc.cc} -t ${stdenv.glibc.dev} '{}' +
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 8d462395ce07..e5620b6ce456 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -54,38 +54,92 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patches = [
+  patches = let
+    upstreamPatch = name: commit: sha256: fetchurl {
+      name = "${name}.patch";
+      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=${commit}";
+      inherit sha256;
+    };
+  in [
     ./no-etc-install.patch
 
+    # bugfixes
     (fetchurl {
-      name = "CVE-2017-2615.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=62d4c6bd5263bb8413a06c80144fc678df6dfb64";
-      sha256 = "0miph2x4d474issa44hmc542zxmkc7lsr4ncb7pwarq6j7v52l8h";
+      name = "qemu-vnc-do-not-disconnect-on-EAGAIN.patch";
+      url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/vnc-do-not-disconnect-on-EAGAIN.patch?h=debian/qemu_2.8%2bdfsg-3";
+      sha256 = "1nqhfgfw1pzhid094pk204qy36r6n7w1yilsiwabgcsyxs5bymnh";
     })
 
-    (fetchurl {
-      name = "CVE-2017-5667.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=42922105beb14c2fc58185ea022b9f72fb5465e9";
-      sha256 = "049vq70is3fj9bf4ysfj3s44iz93qhyqn6xijck32w1x6yyzqyx4";
-     })
+    (upstreamPatch "qemu-fix-win7-xhci" "7da76e12cc5cc902dda4c168d8d608fd4e61cbc5"
+      "0m1ggbxziy7vqz9007ypzg23cni8cc4db36wlnhxz0kdpq70c6x0")
+
+    (upstreamPatch "qemu-xhci-free-completed-transfers" "f94d18d6c6df388fde196d3ab252f57e33843a8b"
+      "0lk19qss6ky7cqnvis54742cr2z0vl8c64chhch0kp6n83hray9x")
 
+    # security fixes from debian
     (fetchurl {
-      name = "CVE-2017-5898.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=c7dfbf322595ded4e70b626bf83158a9f3807c6a";
-      sha256 = "1y2j0qw04s8fl0cs8i619y08kj75lxn3c0y19g710fzpk3rq8dvn";
-     })
+      name = "CVE-2016-9602.patch";
+      url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/9pfs-symlink-attack-fixes-CVE-2016-9602.patch?h=debian/qemu_2.8%2bdfsg-3";
+      sha256 = "0f7m1k3hbw9v0dwqn53ds36s7s334vlidvbn0682s9r2sq0sjlkv";
+    })
 
     (fetchurl {
-      name = "CVE-2017-5931.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=a08aaff811fb194950f79711d2afe5a892ae03a4";
-      sha256 = "0hlih9jhbb1mb174hvxs7pf7lgcs7s9g705ri9rliw7wrhqdpja5";
-     })
+      name = "CVE-2017-2630.patch";
+      url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/nbd_client-fix-drop_sync-CVE-2017-2630.patch?h=debian/qemu_2.8%2bdfsg-3";
+      sha256 = "1gdxaari53iwgj3gyczz30rhg8lj6xqycxym4snw9z5vmkyj1bbq";
+    })
 
     (fetchurl {
-      name = "CVE-2017-5973.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=f89b60f6e5fee3923bedf80e82b4e5efc1bb156b";
-      sha256 = "06niyighjxb4p5z2as3mqfmrwrzn4sq47j7raipbq9gnda7x9sw6";
-     })
+      name = "CVE-2017-6058.patch";
+      url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/vmxnet3-fix-memory-corruption-on-vlan-header-stripping-CVE-2017-6058.patch?h=debian/qemu_2.8%2bdfsg-3";
+      sha256 = "0w8az2cr116mnijxjd4aprl8dvfdj76gm7ddajmngdslxiax601f";
+    })
+
+    # security fixes from upstream
+    (upstreamPatch "CVE-2016-7907" "81f17e0d435c3db3a3e67e0d32ebf9c98973211f"
+      "0dzghbm3jmnyw34kd40a6akrr1cpizd9hdzqmhlc2ljab7pr1rcb")
+
+    (upstreamPatch "CVE-2016-10155" "eb7a20a3616085d46aa6b4b4224e15587ec67e6e"
+      "1xk00fyls0hdza11dyfrnzcn6gibmmcrwy7sxgp6iizp6wgzi3vw")
+
+    (upstreamPatch "CVE-2017-2615" "62d4c6bd5263bb8413a06c80144fc678df6dfb64"
+      "0miph2x4d474issa44hmc542zxmkc7lsr4ncb7pwarq6j7v52l8h")
+
+    (upstreamPatch "CVE-2017-2620" "92f2b88cea48c6aeba8de568a45f2ed958f3c298"
+      "1kz12qmvfccy7xilsrxahbs67jycv4zjfbijxivadvx9klxs1n58")
+
+    (upstreamPatch "CVE-2017-5525" "12351a91da97b414eec8cdb09f1d9f41e535a401"
+      "190b4aqr35p4lb3rjarknfi1ip1c9zizliqp1dd6frx4364y5yp2")
+
+    (upstreamPatch "CVE-2017-5526" "069eb7b2b8fc47c7cb52e5a4af23ea98d939e3da"
+      "05xgzd3zldk3x2vqpjag9z5ilhdkpkyh633fb5kvnz8scns6v86f")
+
+    (upstreamPatch "CVE-2017-5579" "8409dc884a201bf74b30a9d232b6bbdd00cb7e2b"
+      "0lbcyhif1kdcy8my0bv8aqr2f421kmljcch3plrjzj9pgcm4sv83")
+
+    (upstreamPatch "CVE-2017-5667" "42922105beb14c2fc58185ea022b9f72fb5465e9"
+      "049vq70is3fj9bf4ysfj3s44iz93qhyqn6xijck32w1x6yyzqyx4")
+
+    (upstreamPatch "CVE-2017-5667-fix" "913a87885f589d263e682c2eb6637c6e14538061"
+      "0nm1k2r9n6r86dvjr16hxak2vcsinj7ijlqw5i6f4y5h2sh37wr5")
+
+    (upstreamPatch "CVE-2017-5856" "765a707000e838c30b18d712fe6cb3dd8e0435f3"
+      "03pjkn8l8rp9ip5h5rm1dp0nrwd43nmgpwamz4z1vy3rli1z3yjw")
+
+    (upstreamPatch "CVE-2017-5857" "5e8e3c4c75c199aa1017db816fca02be2a9f8798"
+      "1kz14rmxf049zl5m27apzpbvy8dk0g47n9gnwy0nm70g65rl1dh8")
+
+    (upstreamPatch "CVE-2017-5898" "c7dfbf322595ded4e70b626bf83158a9f3807c6a"
+      "1y2j0qw04s8fl0cs8i619y08kj75lxn3c0y19g710fzpk3rq8dvn")
+
+    (upstreamPatch "CVE-2017-5931" "a08aaff811fb194950f79711d2afe5a892ae03a4"
+      "0hlih9jhbb1mb174hvxs7pf7lgcs7s9g705ri9rliw7wrhqdpja5")
+
+    (upstreamPatch "CVE-2017-5973" "f89b60f6e5fee3923bedf80e82b4e5efc1bb156b"
+      "06niyighjxb4p5z2as3mqfmrwrzn4sq47j7raipbq9gnda7x9sw6")
+
+    (upstreamPatch "CVE-2017-5987" "6e86d90352adf6cb08295255220295cf23c4286e"
+      "09yfxf93cisx8rhm0h48ib1ibwfs420k5pqpz8dnz33nci9567jm")
 
   ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch;
 
diff --git a/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch b/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
index 9578d595129f..33c4ffff6fe5 100644
--- a/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
+++ b/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
@@ -1,8 +1,8 @@
 diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
-index 3f271fc..dc273f4 100644
+index 45e9a1f9b0..494ee00c66 100644
 --- a/hw/9pfs/9p-local.c
 +++ b/hw/9pfs/9p-local.c
-@@ -45,6 +45,23 @@
+@@ -84,6 +84,23 @@ static void unlinkat_preserve_errno(int dirfd, const char *path, int flags)
  
  #define VIRTFS_META_DIR ".virtfs_metadata"
  
@@ -23,10 +23,10 @@ index 3f271fc..dc273f4 100644
 +    return 0;
 +}
 +
- static char *local_mapped_attr_path(FsContext *ctx, const char *path)
+ static FILE *local_fopenat(int dirfd, const char *name, const char *mode)
  {
-     int dirlen;
-@@ -128,6 +145,8 @@ static int local_lstat(FsContext *fs_ctx, V9fsPath *fs_path, struct stat *stbuf)
+     int fd, o_mode = 0;
+@@ -161,6 +178,8 @@ static int local_lstat(FsContext *fs_ctx, V9fsPath *fs_path, struct stat *stbuf)
      if (err) {
          goto err_out;
      }
@@ -35,28 +35,17 @@ index 3f271fc..dc273f4 100644
      if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
          /* Actual credentials are part of extended attrs */
          uid_t tmp_uid;
-@@ -462,6 +481,11 @@ static ssize_t local_pwritev(FsContext *ctx, V9fsFidOpenState *fs,
-     return ret;
- }
+@@ -280,6 +299,9 @@ static int fchmodat_nofollow(int dirfd, const char *name, mode_t mode)
+ {
+     int fd, ret;
  
-+static inline int maybe_chmod(const char *path, mode_t mode)
-+{
-+    return is_in_store_path(path) ? 0 : chmod(path, mode);
-+}
++    if (is_in_store_path(name))
++        return 0;
 +
- static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
- {
-     char *buffer;
-@@ -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);
--        ret = chmod(buffer, credp->fc_mode);
-+        ret = maybe_chmod(buffer, credp->fc_mode);
-         g_free(buffer);
-     }
-     return ret;
-@@ -621,6 +645,8 @@ static int local_fstat(FsContext *fs_ctx, int fid_type,
+     /* FIXME: this should be handled with fchmodat(AT_SYMLINK_NOFOLLOW).
+      * Unfortunately, the linux kernel doesn't implement it yet. As an
+      * alternative, let's open the file and use fchmod() instead. This
+@@ -661,6 +683,8 @@ static int local_fstat(FsContext *fs_ctx, int fid_type,
      if (err) {
          return err;
      }
@@ -65,13 +54,28 @@ index 3f271fc..dc273f4 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)
+@@ -795,8 +819,11 @@ static int local_symlink(FsContext *fs_ctx, const char *oldpath,
+         if (err) {
+             goto out;
+         }
+-        err = fchownat(dirfd, name, credp->fc_uid, credp->fc_gid,
+-                       AT_SYMLINK_NOFOLLOW);
++        if (is_in_store_path(name))
++            err = 0;
++        else
++            err = fchownat(dirfd, name, credp->fc_uid, credp->fc_gid,
++                           AT_SYMLINK_NOFOLLOW);
+         if (err == -1) {
+             /*
+              * If we fail to change ownership and if we are
+@@ -911,7 +938,9 @@ static int local_chown(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
+         goto out;
+     }
+ 
+-    if ((credp->fc_uid == -1 && credp->fc_gid == -1) ||
++    if (is_in_store_path(name)) {
++        ret = 0;
++    } else if ((credp->fc_uid == -1 && credp->fc_gid == -1) ||
          (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);
+         ret = fchownat(dirfd, name, credp->fc_uid, credp->fc_gid,
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index 7f19121b7f5b..3ce183d90e26 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, go-md2man
+{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, go-md2man
 , go, pkgconfig, libapparmor, apparmor-parser, libseccomp }:
 
 with lib;
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = ["fortify"];
 
-  buildInputs = [ go-md2man go pkgconfig libseccomp libapparmor apparmor-parser ];
+  buildInputs = [ removeReferencesTo go-md2man go pkgconfig libseccomp libapparmor apparmor-parser ];
 
   makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor'';
 
@@ -61,10 +61,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    # remove references to go compiler
-    while read file; do
-      sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-    done < <(find $out/bin -type f 2>/dev/null)
+    find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix
new file mode 100644
index 000000000000..1952102e71a2
--- /dev/null
+++ b/pkgs/applications/virtualization/virt-manager/qt.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, qtbase, qtmultimedia, qtsvg, makeQtWrapper
+, lxqt, libvncserver, libvirt, pixman, spice_gtk, spice_protocol
+}:
+
+stdenv.mkDerivation rec {
+  name = "virt-manager-qt-${version}";
+  version = "0.42.67";
+
+  src = fetchFromGitHub {
+    owner  = "F1ash";
+    repo   = "qt-virt-manager";
+    rev    = "${version}";
+    sha256 = "0hskaffc84wf8h9qck5xg840jw8x2krfy6cw4hqnq946z9lbyanr";
+  };
+
+  cmakeFlags = [
+    "-DBUILD_QT_VERSION=5"
+  ];
+
+  buildInputs = [
+    qtbase qtmultimedia qtsvg lxqt.qtermwidget
+    libvirt libvncserver pixman spice_gtk spice_protocol
+  ];
+
+  nativeBuildInputs = [ cmake pkgconfig makeQtWrapper ];
+
+  postFixup = ''
+    for f in $out/bin/* ; do
+      wrapQtProgram $f
+    done
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://f1ash.github.io/qt-virt-manager;
+    description = "Desktop user interface for managing virtual machines (QT)";
+    longDescription = ''
+      The virt-manager application is a desktop user interface for managing
+      virtual machines through libvirt. It primarily targets KVM VMs, but also
+      manages Xen and LXC (linux containers).
+    '';
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index f63eeb603068..b8de872d6ff4 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, libxml2, gtk3, gtkvnc, gmp
 , libgcrypt, gnupg, cyrus_sasl, shared_mime_info, libvirt, libcap_ng, yajl
-, gsettings_desktop_schemas, makeWrapper, xen, numactl
+, gsettings_desktop_schemas, makeWrapper, xen, numactl, libvirt-glib
 , spiceSupport ? true, spice_gtk ? null, spice_protocol ? null, libcap ? null, gdbm ? null
 }:
 
@@ -11,19 +11,20 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   baseName = "virt-viewer";
-  version = "2.0";
+  version = "5.0";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
-    sha256 = "0dylhpk5rq9jz0l1cxs50q2s74z0wingygm1m33bmnmcnny87ig9";
+    sha256 = "0blbp1wkw8ahss9va0bmcz2yx18j0mvm6fzrzhh2ly3sja5ysb8b";
   };
 
   buildInputs = [
     pkgconfig intltool glib libxml2 gtk3 gtkvnc gmp libgcrypt gnupg cyrus_sasl
     shared_mime_info libvirt libcap_ng yajl gsettings_desktop_schemas makeWrapper
-    xen numactl
-  ] ++ optionals spiceSupport [ spice_gtk spice_protocol libcap gdbm ];
+    numactl libvirt-glib
+  ] ++ optionals spiceSupport [ spice_gtk spice_protocol libcap gdbm
+  ] ++ optional (stdenv.system == "x86_64-linux") xen;
 
   postInstall = ''
     for f in "$out"/bin/*; do
diff --git a/pkgs/applications/virtualization/xhyve/default.nix b/pkgs/applications/virtualization/xhyve/default.nix
index b7205ac000e2..c519784a6233 100644
--- a/pkgs/applications/virtualization/xhyve/default.nix
+++ b/pkgs/applications/virtualization/xhyve/default.nix
@@ -1,19 +1,25 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchurl, Hypervisor, vmnet, xpc, libobjc }:
 
 stdenv.mkDerivation rec {
-  name = "xhyve-${version}";
-  version = "0.2.0";
+  name    = "xhyve-${version}";
+  version = "1f1dbe305";
 
   src = fetchurl {
-    url = "https://github.com/mist64/xhyve/archive/v${version}.tar.gz";
-    sha256 = "0g1vknnh88kxc8aaqv3j9wqhq45mm9xxxbn1vcrypj3kk9991hrj";
+    url    = "https://github.com/mist64/xhyve/archive/1f1dbe3059904f885e4ab2b3328f4bb350ea5c37.tar.gz";
+    sha256 = "0hfix8yr90szlv2yyqb2rlq5qsrxyam8kg52sly0adja0cpwfjvx";
   };
 
+  buildInputs = [ Hypervisor vmnet xpc libobjc ];
+
   # Don't use git to determine version
-  buildFlags = ''
-    CFLAGS=-DVERSION=\"${version}\"
+  prePatch = ''
+    substituteInPlace Makefile \
+      --replace 'shell git describe --abbrev=6 --dirty --always --tags' "$version"
   '';
 
+
+  makeFlags = [ "CFLAGS+=-Wno-shift-sign-overflow" ''CFLAGS+=-DVERSION=\"${version}\"'' ];
+
   installPhase = ''
     mkdir -p $out/bin
     cp build/xhyve $out/bin
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 0a1256d67a48..8a088daec1ac 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, luaPackages, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf
+{ stdenv, fetchFromGitHub, 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
@@ -9,10 +9,13 @@
 
 with luaPackages; stdenv.mkDerivation rec {
   name = "awesome-${version}";
-  version = "4.0";
-  src = fetchurl {
-    url    = "http://github.com/awesomeWM/awesome-releases/raw/master/${name}.tar.xz";
-    sha256 = "0czkcz67sab63gf5m2p2pgg05yinjx60hfb9rfyzdkkg28q9f02w";
+  version = "4.1";
+  
+  src = fetchFromGitHub {
+    owner = "awesomewm";
+    repo = "awesome";
+    rev = "v${version}";
+    sha256 = "1qik8h5nwjq4535lpdpal85vas1k7am3s6l5r763kpdzxhfcyyaj";
   };
 
   nativeBuildInputs = [
@@ -22,8 +25,10 @@ with luaPackages; stdenv.mkDerivation rec {
     imagemagick
     makeWrapper
     pkgconfig
-    xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs
+    xmlto docbook_xml_dtd_45 
+    docbook_xsl findXMLCatalogs
   ];
+   
   propagatedUserEnvPkgs = [ hicolor_icon_theme ];
   buildInputs = [ cairo dbus gdk_pixbuf gobjectIntrospection
                   git lgi libpthreadstubs libstartup_notification
diff --git a/pkgs/applications/window-managers/bevelbar/default.nix b/pkgs/applications/window-managers/bevelbar/default.nix
new file mode 100644
index 000000000000..582f9cb61f8e
--- /dev/null
+++ b/pkgs/applications/window-managers/bevelbar/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, libX11, libXrandr, libXft }:
+
+stdenv.mkDerivation rec {
+  name = "bevelbar-${version}";
+  version = "16.11";
+
+  src = fetchFromGitHub {
+    owner = "vain";
+    repo = "bevelbar";
+    rev = "v${version}";
+    sha256 = "1hbwg3vdxw9fyshy85skv476p0zr4ynvhcz2xkijydpzm2j3rmjm";
+  };
+
+  buildInputs = [ libX11 libXrandr libXft ];
+
+  installFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "An X11 status bar with fancy schmancy 1985-ish beveled borders";
+    inherit (src.meta) homepage;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.neeasade ];
+  };
+}
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 861313431b07..ef3ad8fda251 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
-    export cmakeFlags="-DPREFIX=$out"
+    export cmakeFlags="-DPREFIX=$out -DCFGDIR=/etc/icewm"
   '';
 
   meta = {
diff --git a/pkgs/applications/window-managers/windowmaker/default.nix b/pkgs/applications/window-managers/windowmaker/default.nix
index a8b5be83234e..d83c4493accb 100644
--- a/pkgs/applications/window-managers/windowmaker/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   name = "windowmaker-${version}";
-  version = "0.95.7";
+  version = "0.95.8";
   srcName = "WindowMaker-${version}";
 
   src = fetchurl {
     url = "http://windowmaker.org/pub/source/release/${srcName}.tar.gz";
-    sha256 = "1acph0nq6fsb452sl7j7a7kcc87zqqaw7qms1p8ijar19dn4hbc4";
+    sha256 = "12p8kljqgx5hnic0zvs5mxwp7kg21sb6qjagb2qw8ydvf5amrgwx";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -36,8 +36,8 @@ stdenv.mkDerivation rec {
       contributions being made by programmers from around the world.
     '';
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
 
diff --git a/pkgs/applications/window-managers/wtftw/default.nix b/pkgs/applications/window-managers/wtftw/default.nix
new file mode 100644
index 000000000000..0ff3367e3aee
--- /dev/null
+++ b/pkgs/applications/window-managers/wtftw/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, rustPlatform, cargo, libXinerama, libX11, xlibs, pkgconfig }:
+
+rustPlatform.buildRustPackage rec {
+  name = "wtftw-0.0pre20161001";
+  src = fetchFromGitHub {
+    owner = "kintaro";
+    repo = "wtftw";
+    rev = "b72a1bd24430a614d953d6ecf61732805277cc0c";
+    sha256 = "1ajxkncqh4azyhmsdyk07r1kbhwv81vl1ix3w4iaz8cyln4gs0kp";
+  };
+
+  depsSha256 = "0z7h8ybh2db3xl8qxbzby5lncdaijixzmbn1j8a45lbky1xiix71";
+
+  buildInputs = [ libXinerama libX11 pkgconfig ];
+  libPath = stdenv.lib.makeLibraryPath [ libXinerama libX11 ];
+
+  preInstall = ''
+    cargo update
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/xsessions
+    cp -p target/release/wtftw $out/bin/
+    echo "[Desktop Entry]
+      Name=wtftw
+      Exec=/bin/wtftw
+      Type=XSession
+      DesktopName=wtftw" > $out/share/xsessions/wtftw.desktop
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tiling window manager in Rust";
+    homepage = https://github.com/Kintaro/wtftw;
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index 3ab6e730a51b..7a8a161712d6 100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -22,7 +22,8 @@ fi;
 # server's certificate.  This is perfectly safe: we don't care
 # whether the server is being spoofed --- only the cryptographic
 # hash of the output matters. Pass in extra p's to handle redirects.
-printf 'p\np\np\n' | svn export --trust-server-cert --non-interactive ${ignoreExternals:+--ignore-externals} \
+printf 'p\np\np\n' | svn export --trust-server-cert --non-interactive \
+    ${ignoreExternals:+--ignore-externals} ${ignoreKeywords:+--ignore-keywords} \
     -r "$rev" "$url" "$out"
 
 stopNest
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index 85ec52c4bde0..747052c1cb70 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -1,5 +1,6 @@
 {stdenv, subversion, sshSupport ? false, openssh ? null}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? "", ignoreExternals ? false, name ? null}:
+{url, rev ? "HEAD", md5 ? "", sha256 ? "",
+ ignoreExternals ? false, ignoreKeywords ? false, name ? null}:
 
 let
   repoName = with stdenv.lib;
@@ -7,7 +8,9 @@ let
       fst = head;
       snd = l: head (tail l);
       trd = l: head (tail (tail l));
-      path_ = reverseList (splitString "/" url);
+      path_ =
+        (p: if head p == "" then tail p else p) # ~ drop final slash if any
+        (reverseList (splitString "/" url));
       path = [ (removeSuffix "/" (head path_)) ] ++ (tail path_);
     in
       # ../repo/trunk -> repo
@@ -30,8 +33,8 @@ stdenv.mkDerivation {
   outputHashAlgo = if sha256 == "" then "md5" else "sha256";
   outputHashMode = "recursive";
   outputHash = if sha256 == "" then md5 else sha256;
-  
-  inherit url rev sshSupport openssh ignoreExternals;
+
+  inherit url rev sshSupport openssh ignoreExternals ignoreKeywords;
 
   impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
   preferLocalBuild = true;
diff --git a/pkgs/build-support/remove-references-to/default.nix b/pkgs/build-support/remove-references-to/default.nix
new file mode 100644
index 000000000000..8b1d05fc2307
--- /dev/null
+++ b/pkgs/build-support/remove-references-to/default.nix
@@ -0,0 +1,34 @@
+# The program `remove-references-to' created by this derivation replaces all
+# references to the given Nix store paths in the specified files by a
+# non-existent path (/nix/store/eeee...).  This is useful for getting rid of
+# dependencies that you know are not actually needed at runtime.
+
+{ stdenv, writeScriptBin }:
+
+writeScriptBin "remove-references-to" ''
+#! ${stdenv.shell} -e
+
+# References to remove
+targets=()
+while getopts t: o; do
+    case "$o" in
+        t) storeId=$(echo "$OPTARG" | sed -n "s|^$NIX_STORE/\\([a-z0-9]\{32\}\\)-.*|\1|p")
+           if [ -z "$storeId" ]; then
+               echo "-t argument must be a Nix store path"
+               exit 1
+           fi
+           targets+=("$storeId")
+    esac
+done
+shift $(($OPTIND-1))
+
+# Files to remove the references from
+regions=()
+for i in "$@"; do
+    test ! -L "$i" -a -f "$i" && regions+=("$i")
+done
+
+for target in "''${targets[@]}" ; do
+    sed -i -e "s|$NIX_STORE/$target-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" "''${regions[@]}"
+done
+''
diff --git a/pkgs/build-support/setup-hooks/fix-darwin-frameworks.sh b/pkgs/build-support/setup-hooks/fix-darwin-frameworks.sh
new file mode 100644
index 000000000000..e3a08b2598d9
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/fix-darwin-frameworks.sh
@@ -0,0 +1,31 @@
+# On Mac OS X, frameworks are linked to the system CoreFoundation but
+# dynamic libraries built with nix use a pure version of CF this
+# causes segfaults for binaries that depend on it at runtime.  This
+# can be solved in two ways.
+# 1. Rewrite references to the pure CF using this setup hook, this
+# works for the simple case but this can still cause problems if other
+# dependencies (eg. python) use the pure CF.
+# 2. Create a wrapper for the binary that sets DYLD_FRAMEWORK_PATH to
+# /System/Library/Frameworks.  This will make everything load the
+# system's CoreFoundation framework while still keeping the
+# dependencies pure for other packages.
+
+fixupOutputHooks+=('fixDarwinFrameworksIn $prefix')
+
+fixDarwinFrameworks() {
+    local systemPrefix='/System/Library/Frameworks'
+
+    for fn in "$@"; do
+        if [ -L "$fn" ]; then continue; fi
+        echo "$fn: fixing dylib"
+
+        for framework in $(otool -L "$fn" | awk '/CoreFoundation\.framework/ {print $1}'); do
+          install_name_tool -change "$framework" "$systemPrefix/CoreFoundation.framework/Versions/A/CoreFoundation" "$fn" >&2
+        done
+    done
+}
+
+fixDarwinFrameworksIn() {
+    local dir="$1"
+    fixDarwinFrameworks $(find "$dir" -name "*.dylib")
+}
diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh
index 4f55493ae483..96e50773138b 100644
--- a/pkgs/build-support/setup-hooks/make-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-wrapper.sh
@@ -19,98 +19,100 @@
 #                                   are read first and used as VALS
 # --suffix-contents
 makeWrapper() {
-    local original=$1
-    local wrapper=$2
+    local original="$1"
+    local wrapper="$2"
     local params varName value command separator n fileNames
-    local argv0 flagsBefore flags extraFlagsArray
+    local argv0 flagsBefore flags
 
-    mkdir -p "$(dirname $wrapper)"
+    mkdir -p "$(dirname "$wrapper")"
 
-    echo "#! $SHELL -e" > $wrapper
+    echo "#! $SHELL -e" > "$wrapper"
 
     params=("$@")
     for ((n = 2; n < ${#params[*]}; n += 1)); do
-        p=${params[$n]}
+        p="${params[$n]}"
 
         if test "$p" = "--set"; then
-            varName=${params[$((n + 1))]}
-            value=${params[$((n + 2))]}
+            varName="${params[$((n + 1))]}"
+            value="${params[$((n + 2))]}"
             n=$((n + 2))
-            echo "export $varName=\"$value\"" >> $wrapper
+            echo "export $varName=\"$value\"" >> "$wrapper"
         fi
 
         if test "$p" = "--unset"; then
-            varName=${params[$((n + 1))]}
+            varName="${params[$((n + 1))]}"
             n=$((n + 1))
             echo "unset $varName" >> "$wrapper"
         fi
 
         if test "$p" = "--run"; then
-            command=${params[$((n + 1))]}
+            command="${params[$((n + 1))]}"
             n=$((n + 1))
-            echo "$command" >> $wrapper
+            echo "$command" >> "$wrapper"
         fi
 
         if test "$p" = "--suffix" -o "$p" = "--prefix"; then
-            varName=${params[$((n + 1))]}
-            separator=${params[$((n + 2))]}
-            value=${params[$((n + 3))]}
+            varName="${params[$((n + 1))]}"
+            separator="${params[$((n + 2))]}"
+            value="${params[$((n + 3))]}"
             n=$((n + 3))
             if test -n "$value"; then
                 if test "$p" = "--suffix"; then
-                    echo "export $varName=\$$varName\${$varName:+$separator}$value" >> $wrapper
+                    echo "export $varName=\$$varName\${$varName:+$separator}$value" >> "$wrapper"
                 else
-                    echo "export $varName=$value\${$varName:+$separator}\$$varName" >> $wrapper
+                    echo "export $varName=$value\${$varName:+$separator}\$$varName" >> "$wrapper"
                 fi
             fi
         fi
 
         if test "$p" = "--suffix-each"; then
-            varName=${params[$((n + 1))]}
-            separator=${params[$((n + 2))]}
-            values=${params[$((n + 3))]}
+            varName="${params[$((n + 1))]}"
+            separator="${params[$((n + 2))]}"
+            values="${params[$((n + 3))]}"
             n=$((n + 3))
             for value in $values; do
-                echo "export $varName=\$$varName\${$varName:+$separator}$value" >> $wrapper
+                echo "export $varName=\$$varName\${$varName:+$separator}$value" >> "$wrapper"
             done
         fi
 
         if test "$p" = "--suffix-contents" -o "$p" = "--prefix-contents"; then
-            varName=${params[$((n + 1))]}
-            separator=${params[$((n + 2))]}
-            fileNames=${params[$((n + 3))]}
+            varName="${params[$((n + 1))]}"
+            separator="${params[$((n + 2))]}"
+            fileNames="${params[$((n + 3))]}"
             n=$((n + 3))
             for fileName in $fileNames; do
                 if test "$p" = "--suffix-contents"; then
-                    echo "export $varName=\$$varName\${$varName:+$separator}$(cat $fileName)" >> $wrapper
+                    echo "export $varName=\$$varName\${$varName:+$separator}$(cat "$fileName")" >> "$wrapper"
                 else
-                    echo "export $varName=$(cat $fileName)\${$varName:+$separator}\$$varName" >> $wrapper
+                    echo "export $varName=$(cat "$fileName")\${$varName:+$separator}\$$varName" >> "$wrapper"
                 fi
             done
         fi
 
         if test "$p" = "--add-flags"; then
-            flags=${params[$((n + 1))]}
+            flags="${params[$((n + 1))]}"
             n=$((n + 1))
             flagsBefore="$flagsBefore $flags"
         fi
 
         if test "$p" = "--argv0"; then
-            argv0=${params[$((n + 1))]}
+            argv0="${params[$((n + 1))]}"
             n=$((n + 1))
         fi
     done
 
     # Note: extraFlagsArray is an array containing additional flags
     # that may be set by --run actions.
-    echo exec ${argv0:+-a $argv0} "$original" \
-         $flagsBefore '"${extraFlagsArray[@]}"' '"$@"' >> $wrapper
+    # Silence warning about unexpanded extraFlagsArray:
+    # shellcheck disable=SC2016
+    echo exec ${argv0:+-a \"$argv0\"} \""$original"\" \
+         "$flagsBefore" '"${extraFlagsArray[@]}"' '"$@"' >> "$wrapper"
 
-    chmod +x $wrapper
+    chmod +x "$wrapper"
 }
 
 addSuffix() {
-    suffix=$1
+    suffix="$1"
     shift
     for name in "$@"; do
         echo "$name$suffix"
@@ -128,7 +130,10 @@ filterExisting() {
 # Syntax: wrapProgram <PROGRAM> <MAKE-WRAPPER FLAGS...>
 wrapProgram() {
     local prog="$1"
-    local hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped
-    mv $prog $hidden
-    makeWrapper $hidden $prog --argv0 '"$0"' "$@"
+    local hidden
+    hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped
+    mv "$prog" "$hidden"
+    # Silence warning about unexpanded $0:
+    # shellcheck disable=SC2016
+    makeWrapper "$hidden" "$prog" --argv0 '$0' "$@"
 }
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index cbd963e903df..c8ce86b818bc 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
   name = "iosevka-${version}";
-  version = "1.4.2";
+  version = "1.11.4";
 
-  src = fetchFromGitHub {
-    owner  = "be5invis";
-    repo   = "Iosevka";
-    rev    = "v${version}";
-    sha256 = "1h1lmvjpjk0238bhdhnv2c149s98qpbndc8rxzlk6bhmxcy6rwsk";
+  buildInputs = [ unzip ];
+
+  src = fetchurl {
+    url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/01-iosevka-${version}.zip";
+    sha256 = "0mn9pqkambsal5cvz8hzlwx7qvcdfch8g1iy7mqhgghzflfhsy8x";
   };
 
+  sourceRoot = ".";
+
   installPhase = ''
     fontdir=$out/share/fonts/iosevka
 
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix
index 3949bffaba17..23805b469ae1 100644
--- a/pkgs/desktops/enlightenment/enlightenment.nix
+++ b/pkgs/desktops/enlightenment/enlightenment.nix
@@ -4,11 +4,11 @@ mesa_glu , xkeyboard_config }:
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.21.5";
+  version = "0.21.7";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "1fslq70z4s6v9ipahnk8s5fgqnqq4njv4rlqv951r1bh1xk5lx7h";
+    sha256 = "1xvngjdsa0p901vfhrh2qpa50k32hwwhc8bgi16a9b5d9byzfhvn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
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 87a014f8f74e..c802f9636eb1 100644
--- a/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix
@@ -2,7 +2,7 @@
 , pkgconfig, gtk3, glib, libnotify, gtkspell3
 , wrapGAppsHook, itstool, shared_mime_info, libical, db, gcr, sqlite
 , gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool
-, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit, dconf }:
+, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit, dconf, openldap}:
 
 let
   majVer = gnome3.version;
@@ -24,12 +24,13 @@ in stdenv.mkDerivation rec {
                   gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit
                   nss nspr libnotify procps highlight gnome3.libgweather
                   gnome3.gsettings_desktop_schemas dconf
-                  gnome3.libgnome_keyring gnome3.glib_networking ];
+                  gnome3.libgnome_keyring gnome3.glib_networking openldap ];
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
 
-  configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar"
-                     "--disable-libcryptui" ];
+
+  configureFlags = [ "--disable-pst-import" "--disable-autoar"
+                     "--disable-libcryptui" "--with-openldap"];
 
   NIX_CFLAGS_COMPILE = "-I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0";
 
diff --git a/pkgs/desktops/gnome-3/3.22/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.22/core/libgee/default.nix
index 7b49af3c50ff..d4697c99a938 100644
--- a/pkgs/desktops/gnome-3/3.22/core/libgee/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/libgee/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
     license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix
index 71eff8a1b0fa..fbcb286f5b24 100644
--- a/pkgs/desktops/lxqt/default.nix
+++ b/pkgs/desktops/lxqt/default.nix
@@ -71,7 +71,7 @@ let
       pkgs.lxmenu-data
       pkgs.menu-cache
       pkgs.openbox # default window manager
-      qt5.qtsvg # provides QT5 plugins for svg icons
+      pkgs.qt5.qtsvg # provides QT5 plugins for svg icons
     ];
 
     corePackages = [
diff --git a/pkgs/desktops/plasma-5/startkde/startkde.sh b/pkgs/desktops/plasma-5/startkde/startkde.sh
index a403e8e05e6e..c38450516e91 100755
--- a/pkgs/desktops/plasma-5/startkde/startkde.sh
+++ b/pkgs/desktops/plasma-5/startkde/startkde.sh
@@ -14,6 +14,12 @@ if ! [ -e $HOME/.gtkrc-2.0 ] \
     cat >$HOME/.gtkrc-2.0 <<EOF
 # Default GTK+ 2 config for NixOS KDE 5
 include "/run/current-system/sw/share/themes/Breeze/gtk-2.0/gtkrc"
+style "user-font"
+{
+  font_name="Sans Serif Regular"
+}
+widget_class "*" style "user-font"
+gtk-font-name="Sans Serif Regular 10"
 gtk-theme-name="Breeze"
 gtk-icon-theme-name="breeze"
 gtk-fallback-icon-theme="hicolor"
@@ -28,6 +34,7 @@ if ! [ -e $HOME/.config/gtk-3.0/settings.ini ] \
        && [ -e /run/current-system/sw/share/themes/Breeze/gtk-3.0 ]; then
     cat >$HOME/.config/gtk-3.0/settings.ini <<EOF
 [Settings]
+gtk-font-name=Sans Serif Regular 10
 gtk-theme-name=Breeze
 gtk-icon-theme-name=breeze
 gtk-fallback-icon-theme=hicolor
@@ -79,9 +86,9 @@ kcheckrunning_result=$?
 if test $kcheckrunning_result -eq 0 ; then
     echo "KDE seems to be already running on this display."
     xmessage -geometry 500x100 "KDE seems to be already running on this display."
-	exit 1
+    exit 1
 elif test $kcheckrunning_result -eq 2 ; then
-	echo "\$DISPLAY is not set or cannot connect to the X server."
+    echo "\$DISPLAY is not set or cannot connect to the X server."
     exit 1
 fi
 
@@ -122,6 +129,7 @@ ksplashrc KSplash Theme ${THEME}.desktop
 ksplashrc KSplash Engine KSplashQML
 kdeglobals KScreen ScreenScaleFactors ''
 kcmfonts General forceFontDPI 0
+kcmfonts General dontChangeAASettings true
 EOF
 
 # preload the user's locale on first start
@@ -145,9 +153,14 @@ kdeglobalsfile=$configDir/kdeglobals
 test -f $kdeglobalsfile || {
 cat >$kdeglobalsfile <<EOF
 [General]
-XftAntialias=true
-XftHintStyle=hintmedium
-XftSubPixel=none
+fixed=Monospace,10,-1,5,50,0,0,0,0,0,Regular
+font=Sans Serif,10,-1,5,50,0,0,0,0,0,Regular
+menuFont=Sans Serif,10,-1,5,50,0,0,0,0,0,Regular
+smallestReadableFont=Sans Serif,8,-1,5,50,0,0,0,0,0,Regular
+toolBarFont=Sans Serif,8,-1,5,50,0,0,0,0,0,Regular
+
+[WM]
+activeFont=Noto Sans,12,-1,5,50,0,0,0,0,0,Bold
 EOF
 }
 
diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix
index 949008d990f8..86e04b491e57 100644
--- a/pkgs/development/compilers/closure/default.nix
+++ b/pkgs/development/compilers/closure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "closure-compiler-${version}";
-  version = "20160208";
+  version = "20170218";
 
   src = fetchurl {
     url = "http://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
-    sha256 = "19v9z8lfxfmhc4cl9fys7vnaslqiznjy1jpk5mcv468p7vysg46p";
+    sha256 = "06snabmpy07x4xm8d1xgq5dfzbjli10xkxk3nx9jms39zkj493cd";
   };
 
   phases = [ "installPhase" ];
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/share/java $out/bin
     tar -xzf $src
-    cp -r compiler.jar $out/share/java/
+    cp -r closure-compiler-v${version}.jar $out/share/java/
     echo "#!${bash}/bin/bash" > $out/bin/closure-compiler
-    echo "${jre}/bin/java -jar $out/share/java/compiler.jar \"\$@\"" >> $out/bin/closure-compiler
+    echo "${jre}/bin/java -jar $out/share/java/closure-compiler-v${version}.jar \"\$@\"" >> $out/bin/closure-compiler
     chmod +x $out/bin/closure-compiler
   '';
 
diff --git a/pkgs/development/compilers/coreclr/default.nix b/pkgs/development/compilers/coreclr/default.nix
index 558cfa35adad..b619bf6ce208 100644
--- a/pkgs/development/compilers/coreclr/default.nix
+++ b/pkgs/development/compilers/coreclr/default.nix
@@ -102,5 +102,6 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     maintainers = with stdenv.lib.maintainers; [ obadz ];
     license = stdenv.lib.licenses.mit;
+    broken = true; # CoreCLR has proven to be very difficult to package. PRs welcome if someone wants to shave that yak.
   };
 }
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index c457ae158389..b5d2ba66e752 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, python, ... }:
 
 let
-  rev = "1.37.1";
+  rev = "1.37.3";
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
 in
 stdenv.mkDerivation rec {
@@ -10,14 +10,14 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp";
-    sha256 = "08jci6h73j4pcd6iq5r4zn8c6qpd6qxc7xivxh3iama9hghmxyk9";
+    sha256 = "0s5156g6576hm31628c2wbqwl9r6vn10z5ry59psl565zz3lpg8x";
     inherit rev;
   };
 
   srcFL = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp-clang";
-    sha256 = "053svm8vnsma61jzzr8n1224brmjw4pzvklh572bm1p7yg32chaw";
+    sha256 = "0jhk20wb7275n5m9niqkzmvrr8hh5v26glkmsfmng4p66cs7jkil";
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index f94e826defbb..05df6e9359a0 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.37.1";
+  rev = "1.37.3";
   appdir = "share/emscripten";
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten";
-    sha256 = "0xl8lv0ihxsnwnhma3i34pkbz0v1yyc93ac6mdqmzv6fx2wczm04";
+    sha256 = "0pkxm8nd2zv57f2xm0c3n4xsdh2scliyy3zx04xk2bpkvskyzl7x";
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index 1721eba325bf..da4f7a606705 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -74,7 +74,10 @@ let version = "5.4.0";
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
       ++ optional langAda ../gnat-cflags.patch
-      ++ optional langFortran ../gfortran-driving.patch;
+      ++ optional langFortran ../gfortran-driving.patch
+
+      # This could be applied unconditionally but I don't want to cause a full Linux rebuild.
+      ++ optional stdenv.cc.isClang ./libcxx38-and-above.patch;
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
diff --git a/pkgs/development/compilers/gcc/5/libcxx38-and-above.patch b/pkgs/development/compilers/gcc/5/libcxx38-and-above.patch
new file mode 100644
index 000000000000..ee48901a6d0c
--- /dev/null
+++ b/pkgs/development/compilers/gcc/5/libcxx38-and-above.patch
@@ -0,0 +1,46 @@
+This is a slightly modified version of https://svnweb.freebsd.org/ports/head/lang/gcc5/files/patch-libc%2B%2B?revision=432958&view=co&pathrev=432958,
+which doesn't apply cleanly due to them using a slightly different format of patch from us. I just replaced the .orig file references with a/b paths.
+
+--- a/gcc/auto-profile.c 2015-01-18 02:25:42 UTC
++++ b/gcc/auto-profile.c
+@@ -19,11 +19,9 @@ along with GCC; see the file COPYING3.  
+ <http://www.gnu.org/licenses/>.  */
+ 
+ #include "config.h"
+-#include "system.h"
+-
+-#include <string.h>
+ #include <map>
+ #include <set>
++#include "system.h"
+ 
+ #include "coretypes.h"
+ #include "hash-set.h"
+--- a/gcc/graphite-isl-ast-to-gimple.c 2017-01-19 21:02:12 UTC
++++ b/gcc/graphite-isl-ast-to-gimple.c
+@@ -38,6 +38,7 @@ extern "C" {
+ #endif
+ #endif
+ 
++#include <map>
+ #include "system.h"
+ #include "coretypes.h"
+ #include "hash-set.h"
+@@ -75,7 +76,6 @@ extern "C" {
+ #include "tree-scalar-evolution.h"
+ #include "gimple-ssa.h"
+ #include "tree-into-ssa.h"
+-#include <map>
+ 
+ #ifdef HAVE_isl
+ #include "graphite-poly.h"
+--- a/gcc/system.h 2015-01-05 12:33:28 UTC
++++ b/gcc/system.h
+@@ -217,6 +217,7 @@ extern int errno;
+ #ifdef __cplusplus
+ # include <algorithm>
+ # include <cstring>
++# include <new>
+ # include <utility>
+ #endif
+ 
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
new file mode 100644
index 000000000000..81bed7119ea5
--- /dev/null
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -0,0 +1,552 @@
+{ stdenv, fetchurl, noSysDirs
+, langC ? true, langCC ? true, langFortran ? false
+, langObjC ? stdenv.isDarwin
+, langObjCpp ? stdenv.isDarwin
+, langJava ? false
+, langAda ? false
+, langVhdl ? false
+, langGo ? false
+, profiledCompiler ? false
+, staticCompiler ? false
+, enableShared ? true
+, texinfo ? null
+, perl ? null # optional, for texi2pod (then pod2man); required for Java
+, gmp, mpfr, libmpc, gettext, which
+, libelf                      # optional, for link-time optimizations (LTO)
+, isl ? null # optional, for the Graphite optimization framework.
+, zlib ? null, boehmgc ? null
+, zip ? null, unzip ? null, pkgconfig ? null
+, gtk2 ? null, libart_lgpl ? null
+, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
+, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
+, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
+, x11Support ? langJava
+, gnatboot ? null
+, enableMultilib ? false
+, enablePlugin ? true             # whether to support user-supplied plug-ins
+, name ? "gcc"
+, cross ? null
+, binutilsCross ? null
+, libcCross ? null
+, crossStageStatic ? true
+, gnat ? null
+, libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
+, stripped ? true
+, gnused ? null
+, binutils ? null
+, cloog # unused; just for compat with gcc4, as we override the parameter on some places
+, darwin ? null
+, flex ? null
+}:
+
+assert langJava     -> zip != null && unzip != null
+                       && zlib != null && boehmgc != null
+                       && perl != null;  # for `--enable-java-home'
+assert langAda      -> gnatboot != null;
+assert langVhdl     -> gnat != null;
+
+# LTO needs libelf and zlib.
+assert libelf != null -> zlib != null;
+
+# Make sure we get GNU sed.
+assert stdenv.isDarwin -> gnused != null;
+
+# Need c++filt on darwin
+assert stdenv.isDarwin -> binutils != null;
+
+# The go frontend is written in c++
+assert langGo -> langCC;
+
+with stdenv.lib;
+with builtins;
+
+let version = "7-20161211";
+
+    # Whether building a cross-compiler for GNU/Hurd.
+    crossGNU = cross != null && cross.config == "i586-pc-gnu";
+
+    enableParallelBuilding = true;
+
+    patches =
+      [ ]
+      ++ optional (cross != null) ../libstdc++-target.patch
+      ++ optional noSysDirs ../no-sys-dirs.patch
+      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
+      # target libraries and tools.
+      ++ optional langAda ../gnat-cflags.patch
+      ++ optional langFortran ../gfortran-driving.patch;
+
+    javaEcj = fetchurl {
+      # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
+      # `configure' time.
+
+      # XXX: Eventually we might want to take it from upstream.
+      url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
+      sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
+    };
+
+    # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
+    # binary distribution here to allow the whole chain to be bootstrapped.
+    javaAntlr = fetchurl {
+      url = http://www.antlr.org/download/antlr-4.4-complete.jar;
+      sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
+    };
+
+    xlibs = [
+      libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
+      xproto renderproto xextproto inputproto randrproto
+    ];
+
+    javaAwtGtk = langJava && x11Support;
+
+    /* Platform flags */
+    platformFlags = let
+        gccArch = stdenv.platform.gcc.arch or null;
+        gccCpu = stdenv.platform.gcc.cpu or null;
+        gccAbi = stdenv.platform.gcc.abi or null;
+        gccFpu = stdenv.platform.gcc.fpu or null;
+        gccFloat = stdenv.platform.gcc.float or null;
+        gccMode = stdenv.platform.gcc.mode or null;
+        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
+        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
+        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
+        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
+      in
+        withArch +
+        withCpu +
+        withAbi +
+        withFpu +
+        withFloat +
+        withMode;
+
+    /* Cross-gcc settings */
+    crossMingw = cross != null && cross.libc == "msvcrt";
+    crossDarwin = cross != null && cross.libc == "libSystem";
+    crossConfigureFlags = let
+        gccArch = stdenv.cross.gcc.arch or null;
+        gccCpu = stdenv.cross.gcc.cpu or null;
+        gccAbi = stdenv.cross.gcc.abi or null;
+        gccFpu = stdenv.cross.gcc.fpu or null;
+        gccFloat = stdenv.cross.gcc.float or null;
+        gccMode = stdenv.cross.gcc.mode or null;
+        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
+        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
+        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
+        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
+      in
+        "--target=${cross.config}" +
+        withArch +
+        withCpu +
+        withAbi +
+        withFpu +
+        withFloat +
+        withMode +
+        (if crossMingw && crossStageStatic then
+          " --with-headers=${libcCross}/include" +
+          " --with-gcc" +
+          " --with-gnu-as" +
+          " --with-gnu-ld" +
+          " --with-gnu-ld" +
+          " --disable-shared" +
+          " --disable-nls" +
+          " --disable-debug" +
+          " --enable-sjlj-exceptions" +
+          " --enable-threads=win32" +
+          " --disable-win32-registry"
+          else if crossStageStatic then
+          " --disable-libssp --disable-nls" +
+          " --without-headers" +
+          " --disable-threads " +
+          " --disable-libgomp " +
+          " --disable-libquadmath" +
+          " --disable-shared" +
+          " --disable-libatomic " +  # libatomic requires libc
+          " --disable-decimal-float" # libdecnumber requires libc
+          else
+          (if crossDarwin then " --with-sysroot=${getLib libcCross}/share/sysroot"
+           else                " --with-headers=${getDev libcCross}/include") +
+          # Ensure that -print-prog-name is able to find the correct programs.
+          (stdenv.lib.optionalString (crossMingw || crossDarwin) (
+            " --with-as=${binutilsCross}/bin/${cross.config}-as" +
+            " --with-ld=${binutilsCross}/bin/${cross.config}-ld"
+          )) +
+          " --enable-__cxa_atexit" +
+          " --enable-long-long" +
+          (if crossMingw then
+            " --enable-threads=win32" +
+            " --enable-sjlj-exceptions" +
+            " --enable-hash-synchronization" +
+            " --disable-libssp" +
+            " --disable-nls" +
+            " --with-dwarf2" +
+            # I think noone uses shared gcc libs in mingw, so we better do the same.
+            # In any case, mingw32 g++ linking is broken by default with shared libs,
+            # unless adding "-lsupc++" to any linking command. I don't know why.
+            " --disable-shared" +
+            # To keep ABI compatibility with upstream mingw-w64
+            " --enable-fully-dynamic-string"
+            else (if cross.libc == "uclibc" then
+              # libsanitizer requires netrom/netrom.h which is not
+              # available in uclibc.
+              " --disable-libsanitizer" +
+              # In uclibc cases, libgomp needs an additional '-ldl'
+              # and as I don't know how to pass it, I disable libgomp.
+              " --disable-libgomp" else "") +
+            " --enable-threads=posix" +
+            " --enable-nls" +
+            " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
+          );
+    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
+    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+
+  bootstrap = cross == null;
+
+in
+
+# We need all these X libraries when building AWT with GTK+.
+assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
+
+stdenv.mkDerivation ({
+  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+
+  builder = ../builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gcc/snapshots/${version}/gcc-${version}.tar.bz2";
+    sha256 = "114rrrm5d5cawmr3161d2wgjlzkb9l1imj1p7fnypwz7y85l1661";
+  };
+
+  inherit patches;
+
+  outputs = [ "out" "lib" "man" "info" ];
+  setOutputFlags = false;
+  NIX_NO_SELF_RPATH = true;
+
+  libc_dev = stdenv.cc.libc_dev;
+
+  hardeningDisable = [ "format" ];
+
+  postPatch =
+    if (stdenv.isGNU
+        || (libcCross != null                  # e.g., building `gcc.crossDrv'
+            && libcCross ? crossConfig
+            && libcCross.crossConfig == "i586-pc-gnu")
+        || (crossGNU && libcCross != null))
+    then
+      # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
+      # in glibc, so add the right `-I' flags to the default spec string.
+      assert libcCross != null -> libpthreadCross != null;
+      let
+        libc = if libcCross != null then libcCross else stdenv.glibc;
+        gnu_h = "gcc/config/gnu.h";
+        extraCPPDeps =
+             libc.propagatedBuildInputs
+          ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
+          ++ stdenv.lib.optional (libpthread != null) libpthread;
+        extraCPPSpec =
+          concatStrings (intersperse " "
+                          (map (x: "-I${x.dev or x}/include") extraCPPDeps));
+        extraLibSpec =
+          if libpthreadCross != null
+          then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
+          else "-L${libpthread}/lib";
+      in
+        '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
+           sed -i "${gnu_h}" \
+               -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
+
+           echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
+           sed -i "${gnu_h}" \
+               -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
+
+           echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
+           sed -i "${gnu_h}" \
+               -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
+        ''
+    else if cross != null || stdenv.cc.libc != null then
+      # On NixOS, use the right path to the dynamic linker instead of
+      # `/lib/ld*.so'.
+      let
+        libc = if libcCross != null then libcCross else stdenv.cc.libc;
+      in
+        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
+           for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
+           do
+             grep -q LIBC_DYNAMIC_LINKER "$header" || continue
+             echo "  fixing \`$header'..."
+             sed -i "$header" \
+                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g'
+           done
+        ''
+    else null;
+
+  inherit noSysDirs staticCompiler langJava crossStageStatic
+    libcCross crossMingw;
+
+  nativeBuildInputs = [ texinfo which gettext ]
+    ++ (optional (perl != null) perl)
+    ++ (optional javaAwtGtk pkgconfig);
+
+  buildInputs = [ gmp mpfr libmpc libelf flex ]
+    ++ (optional (isl != null) isl)
+    ++ (optional (zlib != null) zlib)
+    ++ (optionals langJava [ boehmgc zip unzip ])
+    ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
+    ++ (optionals (cross != null) [binutilsCross])
+    ++ (optionals langAda [gnatboot])
+    ++ (optionals langVhdl [gnat])
+
+    # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
+    # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
+    ++ (optional stdenv.isDarwin gnused)
+    ++ (optional stdenv.isDarwin binutils)
+    ;
+
+  NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
+
+  preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
+    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
+    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
+    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
+  '';
+
+  dontDisableStatic = true;
+
+  configureFlags = "
+    ${if stdenv.isSunOS then
+      " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
+      # On Illumos/Solaris GNU as is preferred
+      " --with-gnu-as --without-gnu-ld "
+      else ""}
+    --enable-lto
+    ${if enableMultilib then "--enable-multilib --disable-libquadmath" else "--disable-multilib"}
+    ${if enableShared then "" else "--disable-shared"}
+    ${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
+    ${optionalString (isl != null) "--with-isl=${isl}"}
+    ${if langJava then
+      "--with-ecj-jar=${javaEcj} " +
+
+      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
+      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
+      "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre "
+      else ""}
+    ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
+    ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
+    --with-gmp-include=${gmp.dev}/include
+    --with-gmp-lib=${gmp.out}/lib
+    --with-mpfr-include=${mpfr.dev}/include
+    --with-mpfr-lib=${mpfr.out}/lib
+    --with-mpc=${libmpc}
+    ${if libelf != null then "--with-libelf=${libelf}" else ""}
+    --disable-libstdcxx-pch
+    --without-included-gettext
+    --with-system-zlib
+    --enable-static
+    --enable-languages=${
+      concatStrings (intersperse ","
+        (  optional langC        "c"
+        ++ optional langCC       "c++"
+        ++ optional langFortran  "fortran"
+        ++ optional langJava     "java"
+        ++ optional langAda      "ada"
+        ++ optional langVhdl     "vhdl"
+        ++ optional langGo       "go"
+        ++ optional langObjC     "objc"
+        ++ optional langObjCpp   "obj-c++"
+        ++ optionals crossDarwin [ "objc" "obj-c++" ]
+        )
+      )
+    }
+    ${if cross == null
+      then if stdenv.isDarwin
+        then " --with-native-system-header-dir=${darwin.usr-include}"
+        else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include"
+      else ""}
+    ${if langAda then " --enable-libada" else ""}
+    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
+    ${if cross != null then crossConfigureFlags else ""}
+    ${if !bootstrap then "--disable-bootstrap" else ""}
+    ${if cross == null then platformFlags else ""}
+  ";
+
+  targetConfig = if cross != null then cross.config else null;
+
+  buildFlags = if bootstrap then
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
+    else "";
+
+  installTargets =
+    if stripped
+    then "install-strip"
+    else "install";
+
+  crossAttrs = let
+    xgccArch = stdenv.cross.gcc.arch or null;
+    xgccCpu = stdenv.cross.gcc.cpu or null;
+    xgccAbi = stdenv.cross.gcc.abi or null;
+    xgccFpu = stdenv.cross.gcc.fpu or null;
+    xgccFloat = stdenv.cross.gcc.float or null;
+    xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
+    xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
+    xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
+    xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
+    xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
+  in {
+    AR = "${stdenv.cross.config}-ar";
+    LD = "${stdenv.cross.config}-ld";
+    CC = "${stdenv.cross.config}-gcc";
+    CXX = "${stdenv.cross.config}-gcc";
+    AR_FOR_TARGET = "${stdenv.cross.config}-ar";
+    LD_FOR_TARGET = "${stdenv.cross.config}-ld";
+    CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
+    NM_FOR_TARGET = "${stdenv.cross.config}-nm";
+    CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
+    # If we are making a cross compiler, cross != null
+    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
+    dontStrip = true;
+    configureFlags = ''
+      ${if enableMultilib then "" else "--disable-multilib"}
+      ${if enableShared then "" else "--disable-shared"}
+      ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
+      ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
+      ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""}
+      --with-gmp=${gmp.crossDrv}
+      --with-mpfr=${mpfr.crossDrv}
+      --with-mpc=${libmpc.crossDrv}
+      --disable-libstdcxx-pch
+      --without-included-gettext
+      --with-system-zlib
+      --enable-languages=${
+        concatStrings (intersperse ","
+          (  optional langC        "c"
+          ++ optional langCC       "c++"
+          ++ optional langFortran  "fortran"
+          ++ optional langJava     "java"
+          ++ optional langAda      "ada"
+          ++ optional langVhdl     "vhdl"
+          ++ optional langGo       "go"
+          )
+        )
+      }
+      ${if langAda then " --enable-libada" else ""}
+      --target=${stdenv.cross.config}
+      ${xwithArch}
+      ${xwithCpu}
+      ${xwithAbi}
+      ${xwithFpu}
+      ${xwithFloat}
+    '';
+    buildFlags = "";
+  };
+
+
+  # Needed for the cross compilation to work
+  AR = "ar";
+  LD = "ld";
+  # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
+  CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
+
+  # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find
+  # the library headers and binaries, regarless of the language being
+  # compiled.
+
+  # Note: When building the Java AWT GTK+ peer, the build system doesn't
+  # honor `--with-gmp' et al., e.g., when building
+  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just
+  # add them to $CPATH and $LIBRARY_PATH in this case.
+  #
+  # Likewise, the LTO code doesn't find zlib.
+
+  CPATH = makeSearchPathOutput "dev" "include" ([]
+    ++ optional (zlib != null) zlib
+    ++ optional langJava boehmgc
+    ++ optionals javaAwtGtk xlibs
+    ++ optionals javaAwtGtk [ gmp mpfr ]
+    ++ optional (libpthread != null) libpthread
+    ++ optional (libpthreadCross != null) libpthreadCross
+
+    # On GNU/Hurd glibc refers to Mach & Hurd
+    # headers.
+    ++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs")
+                 libcCross.propagatedBuildInputs);
+
+  LIBRARY_PATH = makeLibraryPath ([]
+    ++ optional (zlib != null) zlib
+    ++ optional langJava boehmgc
+    ++ optionals javaAwtGtk xlibs
+    ++ optionals javaAwtGtk [ gmp mpfr ]
+    ++ optional (libpthread != null) libpthread);
+
+  EXTRA_TARGET_CFLAGS =
+    if cross != null && libcCross != null then [
+        "-idirafter ${getDev libcCross}/include"
+      ]
+      ++ optionals (! crossStageStatic) [
+        "-B${libcCross.out}/lib"
+      ]
+    else null;
+
+  EXTRA_TARGET_LDFLAGS =
+    if cross != null && libcCross != null then [
+        "-Wl,-L${libcCross.out}/lib"
+      ]
+      ++ (if crossStageStatic then [
+        "-B${libcCross.out}/lib"
+      ] else [
+        "-Wl,-rpath,${libcCross.out}/lib"
+        "-Wl,-rpath-link,${libcCross.out}/lib"
+      ])
+      ++ optionals (libpthreadCross != null) [
+        "-L${libpthreadCross}/lib"
+        "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
+      ]
+    else null;
+
+  passthru =
+    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
+
+  inherit enableParallelBuilding enableMultilib;
+
+  inherit (stdenv) is64bit;
+
+  meta = {
+    homepage = http://gcc.gnu.org/;
+    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
+    description = "GNU Compiler Collection, version ${version}"
+      + (if stripped then "" else " (with debugging info)");
+
+    longDescription = ''
+      The GNU Compiler Collection includes compiler front ends for C, C++,
+      Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
+      as libraries for these languages (libstdc++, libgcj, libgomp,...).
+
+      GCC development is a part of the GNU Project, aiming to improve the
+      compiler used in the GNU system including the GNU/Linux variant.
+    '';
+
+    maintainers = with stdenv.lib.maintainers; [ ];
+
+    # gnatboot is not available out of linux platforms, so we disable the darwin build
+    # for the gnat (ada compiler).
+    platforms =
+      stdenv.lib.platforms.linux ++
+      stdenv.lib.platforms.freebsd ++
+      optionals (langAda == false) stdenv.lib.platforms.darwin;
+  };
+}
+
+// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+  makeFlags = [ "all-gcc" "all-target-libgcc" ];
+  installTargets = "install-gcc install-target-libgcc";
+}
+
+# Strip kills static libs of other archs (hence cross != null)
+// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
+)
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index d75f5df370f8..5c6b62bee6f1 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -82,5 +82,4 @@ stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
     inherit (ghc.meta) license platforms;
   };
-
 }
diff --git a/pkgs/development/compilers/ghcjs/shims.nix b/pkgs/development/compilers/ghcjs/shims.nix
index 0da50570bf59..fa706699449a 100644
--- a/pkgs/development/compilers/ghcjs/shims.nix
+++ b/pkgs/development/compilers/ghcjs/shims.nix
@@ -2,6 +2,6 @@
 fetchFromGitHub {
   owner = "ghcjs";
   repo = "shims";
-  rev = "dc034a035aa73db2c5be34145732090bd74c1b57";
-  sha256 = "18r8kf7g7d2n0rhwcgiz9gsgdmgln1nmwwyj347bpn4zh17qlkqa";
+  rev = "b97015229c58eeab7c1d0bb575794b14a9f6efca";
+  sha256 = "1p5adkqvmb1gsv9hnn3if0rdpnaq3v9a1zkfdy282yw05jaaaggz";
 }
diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix
index b703a92f3ea5..f60077e89621 100644
--- a/pkgs/development/compilers/go/1.4.nix
+++ b/pkgs/development/compilers/go/1.4.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, tzdata, iana_etc, libcCross
+{ stdenv, lib, fetchurl, fetchpatch, tzdata, iana_etc, libcCross
 , pkgconfig
 , pcre
 , Security }:
@@ -114,6 +114,13 @@ stdenv.mkDerivation rec {
   patches = [
     ./remove-tools-1.4.patch
     ./creds-test-1.4.patch
+
+    # This test checks for the wrong thing with recent tzdata. It's been fixed in master but the patch
+    # actually works on old versions too.
+    (fetchpatch {
+      url    = "https://github.com/golang/go/commit/91563ced5897faf729a34be7081568efcfedda31.patch";
+      sha256 = "1ny5l3f8a9dpjjrnjnsplb66308a0x13sa0wwr4j6yrkc8j4qxqi";
+    })
   ];
 
   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 7d78f5efd104..52ffbab6dcb8 100644
--- a/pkgs/development/compilers/go/1.6.nix
+++ b/pkgs/development/compilers/go/1.6.nix
@@ -113,6 +113,13 @@ stdenv.mkDerivation rec {
   patches = [
     ./remove-tools-1.5.patch
     ./creds-test.patch
+
+    # This test checks for the wrong thing with recent tzdata. It's been fixed in master but the patch
+    # actually works on old versions too.
+    (fetchpatch {
+      url    = "https://github.com/golang/go/commit/91563ced5897faf729a34be7081568efcfedda31.patch";
+      sha256 = "1ny5l3f8a9dpjjrnjnsplb66308a0x13sa0wwr4j6yrkc8j4qxqi";
+    })
   ];
 
   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 0df2e8d6f7e9..7fa35e1fcacb 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -107,6 +107,13 @@ stdenv.mkDerivation rec {
     [ ./remove-tools-1.7.patch
       ./cacert-1.7.patch
       ./creds-test.patch
+
+      # This test checks for the wrong thing with recent tzdata. It's been fixed in master but the patch
+      # actually works on old versions too.
+      (fetchpatch {
+        url    = "https://github.com/golang/go/commit/91563ced5897faf729a34be7081568efcfedda31.patch";
+        sha256 = "1ny5l3f8a9dpjjrnjnsplb66308a0x13sa0wwr4j6yrkc8j4qxqi";
+      })
     ];
 
   SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
diff --git a/pkgs/development/compilers/go/1.8.nix b/pkgs/development/compilers/go/1.8.nix
index 00ec11abc47b..6d9ee3de5501 100644
--- a/pkgs/development/compilers/go/1.8.nix
+++ b/pkgs/development/compilers/go/1.8.nix
@@ -80,11 +80,6 @@ stdenv.mkDerivation rec {
   '' + optionalString stdenv.isLinux ''
     sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
   '' + optionalString stdenv.isDarwin ''
-
-    # Disabling `format_test.go` because it fails on Darwin for an
-    # unknown reason see: https://github.com/NixOS/nixpkgs/pull/23122#issuecomment-282188727
-    rm src/time/format_test.go
-
     substituteInPlace src/race.bash --replace \
       "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
     sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
@@ -115,6 +110,13 @@ stdenv.mkDerivation rec {
       ./cacert-1.8.patch
       ./creds-test.patch
       ./remove-test-pie-1.8.patch
+
+      # This test checks for the wrong thing with recent tzdata. It's been fixed in master but the patch
+      # works fine here for now.
+      (fetchpatch {
+        url    = "https://github.com/golang/go/commit/91563ced5897faf729a34be7081568efcfedda31.patch";
+        sha256 = "1ny5l3f8a9dpjjrnjnsplb66308a0x13sa0wwr4j6yrkc8j4qxqi";
+      })
     ];
 
   SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
diff --git a/pkgs/development/compilers/halvm/2.4.0.nix b/pkgs/development/compilers/halvm/2.4.0.nix
new file mode 100644
index 000000000000..c167f4bdd75a
--- /dev/null
+++ b/pkgs/development/compilers/halvm/2.4.0.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, binutils, autoconf, alex, happy, makeStaticLibraries
+, hscolour, xen, automake, gcc, git, zlib, libtool, enableIntegerSimple ? false
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.4.0";
+  name = "HaLVM-${version}";
+  isHaLVM = true;
+  isGhcjs = false;
+  src = fetchgit {
+    rev = "6aa72c9b047fd8ddff857c994a5a895461fc3925";
+    url = "https://github.com/GaloisInc/HaLVM";
+    sha256 = "05cg4w6fw5ajmpmh8g2msprnygmr4isb3pphqhlddfqwyvqhl167";
+  };
+  prePatch = ''
+    sed -i '312 d' Makefile
+    sed -i '316,446 d' Makefile # Removes RPM packaging
+    sed -i '20 d' src/scripts/halvm-cabal.in
+    sed -ie 's|ld |${binutils}/bin/ld |g' src/scripts/ldkernel.in
+  '';
+  configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ];
+  propagatedNativeBuildInputs = [ alex happy ];
+  buildInputs =
+   let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
+    ]; in [ bootPkgs.ghc
+            automake perl git binutils
+            autoconf xen zlib ncurses.dev
+            libtool gmp ] ++ haskellPkgs;
+  preConfigure = ''
+    autoconf
+    patchShebangs .
+  '';
+  hardeningDisable = ["all"];
+  postInstall = "$out/bin/halvm-ghc-pkg recache";
+  passthru = {
+    inherit bootPkgs;
+    cross.config = "halvm";
+    cc = "${gcc}/bin/gcc";
+    ld = "${binutils}/bin/ld";
+  };
+
+  meta = {
+    homepage = "http://github.com/GaloisInc/HaLVM";
+    description = "The Haskell Lightweight Virtual Machine (HaLVM): GHC running on Xen";
+    maintainers = with stdenv.lib.maintainers; [ dmjio ];
+    inherit (bootPkgs.ghc.meta) license platforms;
+  };
+}
diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix
index 6bc7f66ca299..f8413075ac81 100644
--- a/pkgs/development/compilers/ispc/default.nix
+++ b/pkgs/development/compilers/ispc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages, clangWrapSelf,
+{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex_2_6_1, llvmPackages, clangWrapSelf,
 testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is not supported by all Hydra agents
 }:
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     m4
     python
     bison
-    flex
+    flex_2_6_1
     llvm
     llvmPackages.clang-unwrapped # we need to link against libclang, so we need the unwrapped
   ];
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 0f2f3d12a1ce..33921ef02cd7 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.6";
+  version = "1.1";
   name = "kotlin-${version}";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "1dhliqd79hydd62xmrn2nwrcqy7lb5svkahkkpx9w3z9s5r0p8j2";
+    sha256 = "179m5y56fi50qvxsm075h0547swib7n2pfdn8a4axk9wpwldni5a";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/llvm/3.7/libc++abi.nix b/pkgs/development/compilers/llvm/3.7/libc++abi.nix
index 6a62a6256b4f..d2be57b1a5fa 100644
--- a/pkgs/development/compilers/llvm/3.7/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/3.7/libc++abi.nix
@@ -1,6 +1,12 @@
-{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
+{ stdenv, cmake, fetch, fetchpatch, libcxx, libunwind, llvm, version }:
 
-stdenv.mkDerivation {
+let
+  # Newer LLVMs (3.8 onwards) have changed how some basic C++ stuff works, which breaks builds of this older version
+  llvm38-and-above = fetchpatch {
+    url    = "https://trac.macports.org/raw-attachment/ticket/50304/0005-string-Fix-exception-declaration.patch";
+    sha256 = "1lm38n7s0l5dbl7kp4i49pvzxz1mcvlr2vgsnj47agnwhhm63jvr";
+  };
+in stdenv.mkDerivation {
   name = "libc++abi-${version}";
 
   src = fetch "libcxxabi" "0ambfcmr2nh88hx000xb7yjm9lsqjjz49w5mlf6dlxzmj3nslzx4";
@@ -16,6 +22,13 @@ stdenv.mkDerivation {
     export TRIPLE=x86_64-apple-darwin
   '';
 
+  # I can't use patches directly because this is actually a patch for libc++'s source, which we manually extract
+  # into the libc++abi build environment above.
+  prePatch = ''(
+    cd ../libcxx-*
+    patch -p1 < ${llvm38-and-above}
+  )'';
+
   installPhase = if stdenv.isDarwin
     then ''
       for file in lib/*.dylib; do
diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix
index 677c4a526ea4..55938ca016e6 100644
--- a/pkgs/development/compilers/llvm/3.9/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix
@@ -29,12 +29,23 @@ let
       sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
     '';
 
+    outputs = [ "out" "python" ];
+
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
     postInstall = ''
       ln -sv ${llvm}/lib/LLVMgold.so $out/lib
       ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
       ln -sv $out/bin/clang $out/bin/cpp
+
+      mkdir -p $python/bin $python/share/clang/
+      mv $out/bin/{git-clang-format,scan-view} $python/bin
+      if [ -e $out/bin/set-xcode-analyzer ]; then
+        mv $out/bin/set-xcode-analyzer $python/bin
+      fi
+      mv $out/share/clang/*.py $python/share/clang
+
+      rm $out/bin/c-index-test
     '';
 
     enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix
index 62f1514e2315..2c47ec5127f9 100644
--- a/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -40,8 +40,7 @@ in stdenv.mkDerivation rec {
   outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib";
 
   buildInputs = [ perl groff cmake libxml2 python libffi ]
-    ++ stdenv.lib.optionals stdenv.isDarwin
-         [ libcxxabi darwin.cctools darwin.apple_sdk.libs.xpc ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
 
   propagatedBuildInputs = [ ncurses zlib ];
 
@@ -53,11 +52,15 @@ in stdenv.mkDerivation rec {
       sha256 = "11sq86spw41v72f676igksapdlsgh7fiqp5qkkmgfj0ndqcn9skf";
     }}
   ''
-  # hacky fix: New LLVM releases require a newer OS X SDK than
-  # 10.9. This is a temporary measure until nixpkgs darwin support is
-  # updated.
+  # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+  # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
+  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
+  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
+  # a flag and turn the flag off during the stdenv build. I realize that this LLVM isn't used in the stdenv but I want to
+  # keep it consistent with 4.0. We really shouldn't be copying and pasting all this code around...
   + stdenv.lib.optionalString stdenv.isDarwin ''
-        sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
+    substituteInPlace ./projects/compiler-rt/cmake/config-ix.cmake \
+      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
   ''
   # Patch llvm-config to return correct library path based on --link-{shared,static}.
   + stdenv.lib.optionalString (enableSharedLibraries) ''
@@ -85,7 +88,6 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
-    "-DCMAKE_LIBTOOL=${darwin.cctools}/bin/libtool"
   ];
 
   postBuild = ''
diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix
index c0a33f03e0f2..6ce63209935c 100644
--- a/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/pkgs/development/compilers/llvm/4/clang/default.nix
@@ -6,7 +6,7 @@ let
     name = "clang-${version}";
 
     unpackPhase = ''
-      unpackFile ${fetch "cfe" "062n17mfsn85dx3qy1qvq8rfxi7hcbr2nj70v2dah3xmy28i3yaq"}
+      unpackFile ${fetch "cfe" "12n99m60aa680cir3ql56s1jsv6lp61hq4w9rabf4c6vpn7gi9ff"}
       mv cfe-${version}* clang
       sourceRoot=$PWD/clang
       unpackFile ${clang-tools-extra_src}
@@ -29,12 +29,23 @@ let
       sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
     '';
 
+    outputs = [ "out" "python" ];
+
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
     postInstall = ''
       ln -sv ${llvm}/lib/LLVMgold.so $out/lib
       ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
       ln -sv $out/bin/clang $out/bin/cpp
+
+      mkdir -p $python/bin $python/share/clang/
+      mv $out/bin/{git-clang-format,scan-view} $python/bin
+      if [ -e $out/bin/set-xcode-analyzer ]; then
+        mv $out/bin/set-xcode-analyzer $python/bin
+      fi
+      mv $out/share/clang/*.py $python/share/clang
+
+      rm $out/bin/c-index-test
     '';
 
     enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/llvm/4/default.nix b/pkgs/development/compilers/llvm/4/default.nix
index aed77b7513ad..999ff858d020 100644
--- a/pkgs/development/compilers/llvm/4/default.nix
+++ b/pkgs/development/compilers/llvm/4/default.nix
@@ -3,18 +3,15 @@ let
   callPackage = newScope (self // { inherit stdenv isl release_version version fetch; });
 
   release_version = "4.0.0";
-  rc = "rc4";
-  version = "${release_version}${rc}";
+  version = release_version; # differentiating these is important for rc's
 
   fetch = name: sha256: fetchurl {
-    url = "http://llvm.org/pre-releases/${release_version}/${rc}/${name}-${version}.src.tar.xz";
-    # Once 4 is released, use this instead:
-    # url = "http://llvm.org/releases/${release-version}/${name}-${version}.src.tar.xz";
+    url = "http://llvm.org/releases/${release_version}/${name}-${version}.src.tar.xz";
     inherit sha256;
   };
 
-  compiler-rt_src = fetch "compiler-rt" "1bxz2z9mxbx7211xfgsn5inwvpz53d1cqg76h8166dsli27xwkjm";
-  clang-tools-extra_src = fetch "clang-tools-extra" "0zkgnnv3srqxf44q4a5n3wpizf71mlq8w5rnwfwhdx777k94s5nx";
+  compiler-rt_src = fetch "compiler-rt" "059ipqq27gd928ay06f1ck3vw6y5h5z4zd766x8k0k7jpqimpwnk";
+  clang-tools-extra_src = fetch "clang-tools-extra" "16bwckgcxfn56mbqjlxi7fxja0zm9hjfa6s3ncm3dz98n5zd7ds1";
 
   self = {
     llvm = callPackage ./llvm.nix {
diff --git a/pkgs/development/compilers/llvm/4/libc++/default.nix b/pkgs/development/compilers/llvm/4/libc++/default.nix
index 753aded54ff7..ba8302919e1e 100644
--- a/pkgs/development/compilers/llvm/4/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/4/libc++/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "libc++-${version}";
 
-  src = fetch "libcxx" "052fc91y8084830ajfm8nkc0vghafhnfl7l89b68qsyz3ra93i3l";
+  src = fetch "libcxx" "15ngfcjc3pjakpwfq7d4n546jj0rgfdv5rpb1qv9xgv9mp236kag";
 
   postUnpack = ''
     unpackFile ${libcxxabi.src}
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
   '';
 
-  buildInputs = [ cmake llvm libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   cmakeFlags = [
       "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
diff --git a/pkgs/development/compilers/llvm/4/libc++abi.nix b/pkgs/development/compilers/llvm/4/libc++abi.nix
index 23269f605f09..559b6b26bc52 100644
--- a/pkgs/development/compilers/llvm/4/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/4/libc++abi.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "libc++abi-${version}";
 
-  src = fetch "libcxxabi" "02z8d0q42wfmnnd0rd1yg2x4y50rfrv1k9rq00a86b6803dc7p45";
+  src = fetch "libcxxabi" "1n416kv27anabg9jsw6331r28ic30xk46p381lx2vbb2jrhwpafw";
 
   buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
 
diff --git a/pkgs/development/compilers/llvm/4/lld.nix b/pkgs/development/compilers/llvm/4/lld.nix
index e62e50b2d316..549fa863c151 100644
--- a/pkgs/development/compilers/llvm/4/lld.nix
+++ b/pkgs/development/compilers/llvm/4/lld.nix
@@ -10,7 +10,7 @@
 stdenv.mkDerivation {
   name = "lld-${version}";
 
-  src = fetch "lld" "00wy4qczh4s6g49sbfmyk21845zx5qc2qpm39bznqz8ynpnh4phc";
+  src = fetch "lld" "00km1qawk146pyjqa6aphcdzgkzrmg6cgk0ikg4661ffp5bn9q1k";
 
   buildInputs = [ cmake llvm ];
 
diff --git a/pkgs/development/compilers/llvm/4/lldb.nix b/pkgs/development/compilers/llvm/4/lldb.nix
index 4fec3ad1a894..6e6fdf012dd6 100644
--- a/pkgs/development/compilers/llvm/4/lldb.nix
+++ b/pkgs/development/compilers/llvm/4/lldb.nix
@@ -17,7 +17,7 @@
 stdenv.mkDerivation {
   name = "lldb-${version}";
 
-  src = fetch "lldb" "14dy1j48nw10w8brkpmla2vjjwfr1mrsl9wfabjfx1j85ywp3h69";
+  src = fetch "lldb" "0g83hbw1r4gd0z8hlph9i34xs6dlcc69vz3h2bqwkhb2qq2qzg9d";
 
   patchPhase = ''
     # Fix up various paths that assume llvm and clang are installed in the same place
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index 1470e7d510fa..83a14b7fc4dd 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -21,7 +21,7 @@
 }:
 
 let
-  src = fetch "llvm" "1ljb5y5wgypk3sy8zcd5qdgsm5hw8vl7cy6874mbf4gnk9k809b1";
+  src = fetch "llvm" "1giklnw71wzsgbqg9wb5x7dxnbj39m6zpfvskvzvhwvfz4fm244d";
   shlib = if stdenv.isDarwin then "dylib" else "so";
 
   # Used when creating a version-suffixed symlink of libLLVM.dylib
@@ -41,16 +41,18 @@ in stdenv.mkDerivation rec {
   outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib";
 
   buildInputs = [ perl groff cmake libxml2 python libffi ]
-    ++ stdenv.lib.optionals stdenv.isDarwin
-         [ libcxxabi darwin.cctools darwin.apple_sdk.libs.xpc ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
 
   propagatedBuildInputs = [ ncurses zlib ];
 
-  # hacky fix: New LLVM releases require a newer OS X SDK than
-  # 10.9. This is a temporary measure until nixpkgs darwin support is
-  # updated.
+  # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+  # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
+  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
+  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
+  # a flag and turn the flag off during the stdenv build.
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
+    substituteInPlace ./projects/compiler-rt/cmake/config-ix.cmake \
+      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
   ''
   # Patch llvm-config to return correct library path based on --link-{shared,static}.
   + stdenv.lib.optionalString (enableSharedLibraries) ''
@@ -85,7 +87,6 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
-    "-DCMAKE_LIBTOOL=${darwin.cctools}/bin/libtool"
   ];
 
   postBuild = ''
diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix
index a30a97ce9ce5..eb090e8b38ad 100644
--- a/pkgs/development/compilers/nasm/default.nix
+++ b/pkgs/development/compilers/nasm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nasm-${version}";
-  version = "2.11.08";
+  version = "2.12.02";
 
   src = fetchurl {
     url = "http://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2";
-    sha256 = "0ialkla6i63j8fpv840jy7k5mdf2wbqr98bvbcq0dp0b38ls18wx";
+    sha256 = "097318bjxvmffbjfd1k89parc04xf5jfxg2rr93581lccwf8kc00";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/openjdk-darwin/8.nix b/pkgs/development/compilers/openjdk-darwin/8.nix
index 1d12d59998a1..2f3391f70e0d 100644
--- a/pkgs/development/compilers/openjdk-darwin/8.nix
+++ b/pkgs/development/compilers/openjdk-darwin/8.nix
@@ -1,10 +1,16 @@
 { stdenv, fetchurl, unzip, setJavaClassPath, freetype }:
 let
+  jce-policies = fetchurl {
+    # Ugh, unversioned URLs... I hope this doesn't change often enough to cause pain before we move to a Darwin source build of OpenJDK!
+    url    = "http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
+    sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
+  };
+
   jdk = stdenv.mkDerivation {
     name = "zulu1.8.0_66-8.11.0.1";
 
     src = fetchurl {
-      url = http://cdn.azulsystems.com/zulu/bin/zulu1.8.0_66-8.11.0.1-macosx.zip;
+      url = "http://cdn.azulsystems.com/zulu/bin/zulu1.8.0_66-8.11.0.1-macosx.zip";
       sha256 = "0pvbpb3vf0509xm2x1rh0p0w4wmx50zf15604p28z1k8ai1a23sz";
       curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/";
     };
@@ -15,6 +21,9 @@ let
       mkdir -p $out
       mv * $out
 
+      unzip ${jce-policies}
+      mv -f ZuluJCEPolicies/*.jar $out/jre/lib/security/
+
       # jni.h expects jni_md.h to be in the header search path.
       ln -s $out/include/darwin/*_md.h $out/include/
     '';
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 2c785d2a721d..e70fee3605b6 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation ( rec {
   name = "ponyc-${version}";
-  version = "0.10.0";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "ponyc";
     rev = version;
-    sha256 = "1v314abmhlqsj8iyab61cf8nb4kbddv1ycnw29z53mpbmivk4gn0";
+    sha256 = "08wh8rh17bf043glvn7778bwpxyzpm95kgfll645hf2m65n5ncsh";
   };
 
   buildInputs = [ llvm makeWrapper which ];
diff --git a/pkgs/development/compilers/ponyc/pony-stable.nix b/pkgs/development/compilers/ponyc/pony-stable.nix
index cd4859acec21..6e669c97300c 100644
--- a/pkgs/development/compilers/ponyc/pony-stable.nix
+++ b/pkgs/development/compilers/ponyc/pony-stable.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchFromGitHub, ponyc }:
 
 stdenv.mkDerivation {
-  name = "pony-stable-2016-10-10";
+  name = "pony-stable-unstable-2017-01-03";
 
   src = fetchFromGitHub {
     owner = "jemc";
     repo = "pony-stable";
-    rev = "fdefa26fed93f4ff81c323f29abd47813c515703";
-    sha256 = "16inavy697icgryyvn9gcylgh639xxs7lnbrqdzcryvh0ck15qxk";
+    rev = "0054b429a54818d187100ed40f5525ec7931b31b";
+    sha256 = "0libx8byzwqjjgxxyiiahiprzzp845xgbk09sx9bzban5cd5j0g5";
   };
 
   buildInputs = [ ponyc ];
diff --git a/pkgs/development/compilers/rust/nightlyBin.nix b/pkgs/development/compilers/rust/nightlyBin.nix
index 9916e4555c56..d8d0681a0c24 100644
--- a/pkgs/development/compilers/rust/nightlyBin.nix
+++ b/pkgs/development/compilers/rust/nightlyBin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage }:
+{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl }:
 
 let
   inherit (stdenv.lib) optionalString;
@@ -9,7 +9,7 @@ let
 
   bootstrapHash =
     if stdenv.system == "x86_64-linux"
-    then "1v7jvwigb29m15wilzcrk5jmlpaccpzbkhlzf7z5qw08320gvc91"
+    then "1d5h34dkm1r1ff562szygn9xk2qll1pjryvypl0lazzanxdh5gv5"
     else throw "missing bootstrap hash for platform ${stdenv.system}";
 
   needsPatchelf = stdenv.isLinux;
@@ -19,7 +19,7 @@ let
      sha256 = bootstrapHash;
   };
 
-  version = "2017-01-26";
+  version = "2017-03-16";
 in
 
 rec {
@@ -69,7 +69,7 @@ rec {
       license = [ licenses.mit licenses.asl20 ];
     };
 
-    buildInputs = [ makeWrapper ];
+    buildInputs = [ makeWrapper curl ];
     phases = ["unpackPhase" "installPhase"];
 
     installPhase = ''
@@ -78,6 +78,7 @@ rec {
 
       ${optionalString needsPatchelf ''
         patchelf \
+          --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \
           --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
           "$out/bin/cargo"
       ''}
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index 8e1f8dd47220..7971d7a8b23d 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
     rm "bin/"*.bat
     mv * $out
 
+    # put docs in correct subdirectory
+    mkdir -p $out/share/doc
+    mv $out/doc $out/share/doc/scala
+
     for p in $(ls $out/bin/) ; do
       wrapProgram $out/bin/$p \
         --prefix PATH ":" ${coreutils}/bin \
diff --git a/pkgs/development/compilers/souper/cmake-fix.patch b/pkgs/development/compilers/souper/cmake-fix.patch
new file mode 100644
index 000000000000..5ef289f53e93
--- /dev/null
+++ b/pkgs/development/compilers/souper/cmake-fix.patch
@@ -0,0 +1,14 @@
+--- souper-1be75fe6a96993b57dcba038798fe6d1c7d113eb-src/CMakeLists.txt.orig     2017-01-20 13:55:14.783632588 -0600
++++ souper-1be75fe6a96993b57dcba038798fe6d1c7d113eb-src/CMakeLists.txt  2017-01-20 13:55:20.505728456 -0600
+@@ -33,7 +33,10 @@
+   OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
+   OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+-set(LLVM_LIBS "${LLVM_LIBS} ${LLVM_SYSTEM_LIBS}")
++
++if (LLVM_SYSTEM_LIBS)
++  set(LLVM_LIBS "${LLVM_LIBS} ${LLVM_SYSTEM_LIBS}")
++endif()
+
+ execute_process(
+   COMMAND ${LLVM_CONFIG_EXECUTABLE} --ldflags
diff --git a/pkgs/development/compilers/souper/default.nix b/pkgs/development/compilers/souper/default.nix
index 74e1cbf68d30..6ea135ea9906 100644
--- a/pkgs/development/compilers/souper/default.nix
+++ b/pkgs/development/compilers/souper/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub, cmake, makeWrapper
-, llvmPackages_39, hiredis, z3_opt, gtest
+, llvmPackages_4, hiredis, z3_opt, gtest
 }:
 
 let
   klee = fetchFromGitHub {
-    owner = "klee";
+    owner = "rsas";
     repo  = "klee";
-    rev   = "a743d7072d9ccf11f96e3df45f25ad07da6ad9d6";
-    sha256 = "0qwzs029vlba8xz362n4b00hdm2z3lzhzmvix1r8kpbfrvs8vv91";
+    rev   = "57cd3d43056b029d9da3c6b3c666c4153554c04f";
+    sha256 = "197wb7nbirlfpx2jr3afpjjhcj7slc4dxxi02j3kmazz9kcqaygz";
   };
 in stdenv.mkDerivation {
-  name = "souper-unstable-2017-01-05";
+  name = "souper-unstable-2017-03-07";
 
   src = fetchFromGitHub {
     owner  = "google";
     repo   = "souper";
-    rev    = "1be75fe6a96993b57dcba038798fe6d1c7d113eb";
-    sha256 = "0r8mjb88lwz9a3syx7gwsxlwfg0krffaml04ggaf3ad0cza2mvm8";
+    rev    = "5faed54ddc4a0e0e12647a0eac1da455a1067a47";
+    sha256 = "1v8ml94ryw5wdls9syvicx4sc9l34yaq8r7cf7is6x7y1q677rps";
   };
 
   nativeBuildInputs = [
@@ -25,12 +25,14 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    llvmPackages_39.llvm
-    llvmPackages_39.clang-unwrapped
+    llvmPackages_4.llvm
+    llvmPackages_4.clang-unwrapped
     hiredis
     gtest
   ];
 
+  patches = [ ./cmake-fix.patch ];
+
   enableParallelBuilding = true;
 
   preConfigure = ''
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index 79745d45c2b3..dfbbaa4d4310 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -2,10 +2,10 @@
 with stdenv.lib;
 
 let
-  date = "20170220";
+  date = "20170225";
   version = "0.9.27pre-${date}";
-  rev = "e209b7dac463e228525499153103ec28173ca365";
-  sha256 = "1p8h999aqgy5rlkk47vc86c5lx8280761712nwkcgvydvixd0gd6";
+  rev = "bb93064d7857d887b674999c9b4152b44a628f9a";
+  sha256 = "12wcahj1x4qy9ia931i23lvwkqjmyhaks3wipnzvbnlnc2b03kpr";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index c707592e4ae3..985b4c9b9db1 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -116,6 +116,7 @@ go.stdenv.mkDerivation (
       local d; local cmd;
       cmd="$1"
       d="$2"
+      . $TMPDIR/buildFlagsArray
       echo "$d" | grep -q "\(/_\|examples\|Godeps\)" && return 0
       [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0
       local OUT
@@ -143,6 +144,11 @@ go.stdenv.mkDerivation (
       fi
     }
 
+    if [ ''${#buildFlagsArray[@]} -ne 0 ]; then
+      declare -p buildFlagsArray > $TMPDIR/buildFlagsArray
+    else
+      touch $TMPDIR/buildFlagsArray
+    fi
     export -f buildGoDir # parallel needs to see the function
     if [ -z "$enableParallelBuilding" ]; then
         export NIX_BUILD_CORES=1
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index f37d8b4c9c7f..85839b6492a2 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -877,4 +877,8 @@ self: super: {
 
   # https://github.com/danidiaz/streaming-eversion/issues/1
   streaming-eversion = dontCheck super.streaming-eversion;
+
+  # strict-io is too cautious with it's deepseq dependency
+  # strict-io doesn't have a working bug tracker, the author has been emailed however.
+  strict-io = doJailbreak super.strict-io;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
index e4a4f74907a8..bea914354de0 100644
--- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -126,7 +126,8 @@ self: super:
   });
 
   ghcjs-dom-jsffi = overrideCabal super.ghcjs-dom-jsffi (drv: {
-    libraryHaskellDepends = [ self.ghcjs-base self.text ];
+    setupHaskellDepends = (drv.setupHaskellDepends or []) ++ [ self.Cabal_1_24_2_0 ];
+    libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base self.text ];
     isLibrary = true;
   });
 
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index cab70ea6f6d7..b693a55de55f 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -2248,7 +2248,6 @@ extra-packages:
   - QuickCheck < 2                      # required by test-framework-quickcheck and its users
   - seqid < 0.2                         # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
   - seqid-streams < 0.2                 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
-  - servant-auth-server < 0.2.2.0       # https://github.com/plow-technologies/servant-auth/issues/25
   - split < 0.2                         # newer versions don't work with GHC 6.12.3
   - tar < 0.4.2.0                       # later versions don't work with GHC < 7.6.x
   - transformers == 0.4.3.*             # the latest version isn't supported by mtl yet
@@ -7302,8 +7301,6 @@ dont-distribute-packages:
   servant-smsc-ru:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-snap:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-subscriber:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-swagger:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-swagger-ui:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   server-generic:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   serversession-backend-persistent:             [ i686-linux, x86_64-linux, x86_64-darwin ]
   serversession-backend-redis:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-halvm-2.4.0.nix b/pkgs/development/haskell-modules/configuration-halvm-2.4.0.nix
new file mode 100644
index 000000000000..cd7857e23de9
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-halvm-2.4.0.nix
@@ -0,0 +1,59 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Suitable LLVM version.
+  llvmPackages = pkgs.llvmPackages_35;
+
+  # Disable GHC 8.0.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-boot = null;
+  ghc-boot-th = null;
+  ghc-prim = null;
+  ghci = 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;
+
+  # cabal-install can use the native Cabal library.
+  cabal-install = super.cabal-install.override { Cabal = null; };
+
+  # jailbreak-cabal can use the native Cabal library.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
+
+  # https://github.com/bmillwood/applicative-quoters/issues/6
+  applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
+    url = "https://patch-diff.githubusercontent.com/raw/bmillwood/applicative-quoters/pull/7.patch";
+    sha256 = "026vv2k3ks73jngwifszv8l59clg88pcdr4mz0wr0gamivkfa1zy";
+  });
+
+  # https://github.com/christian-marie/xxhash/issues/3
+  xxhash = doJailbreak super.xxhash;
+
+  # https://github.com/Deewiant/glob/issues/8
+  Glob = doJailbreak super.Glob;
+
+  # http://hub.darcs.net/dolio/vector-algorithms/issue/9#comment-20170112T145715
+  vector-algorithms = dontCheck super.vector-algorithms;
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 85421ba960e8..981a48055bcc 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -29,6 +29,17 @@
 
 with import ./lib.nix { inherit pkgs; };
 
+# All of the overrides in this set should look like:
+#
+#   foo = ... something involving super.foo ...
+#
+# but that means that we add `foo` attribute even if there is no `super.foo`! So if
+# you want to use this configuration for a package set that only contains a subset of
+# the packages that have overrides defined here, you'll end up with a set that contains
+# a bunch of attributes that trigger an evaluation error.
+#
+# To avoid this, we use `intersectAttrs` here so we never add packages that are not present
+# in the parent package set (`super`).
 self: super: builtins.intersectAttrs super {
 
   # Apply NixOS-specific patches.
@@ -216,20 +227,19 @@ self: super: builtins.intersectAttrs super {
   # Uses OpenGL in testing
   caramia = dontCheck super.caramia;
 
-  llvm-general-darwin = overrideCabal (super.llvm-general.override { llvm-config = pkgs.llvm_35; }) (drv: {
-      preConfigure = ''
-        sed -i llvm-general.cabal \
-            -e 's,extra-libraries: stdc++,extra-libraries: c++,'
-      '';
-      configureFlags = (drv.configureFlags or []) ++ ["--extra-include-dirs=${pkgs.libcxx}/include/c++/v1"];
-      librarySystemDepends = [ pkgs.libcxx ] ++ drv.librarySystemDepends or [];
-    });
-
-  # Supports only 3.5 for now, https://github.com/bscarlet/llvm-general/issues/142
   llvm-general =
-    if pkgs.stdenv.isDarwin
-    then self.llvm-general-darwin
-    else super.llvm-general.override { llvm-config = pkgs.llvm_35; };
+    # Supports only 3.5 for now, https://github.com/bscarlet/llvm-general/issues/142
+    let base = super.llvm-general.override { llvm-config = pkgs.llvm_35; };
+    in if !pkgs.stdenv.isDarwin then base else overrideCabal base (
+      drv: {
+        preConfigure = ''
+          sed -i llvm-general.cabal \
+              -e 's,extra-libraries: stdc++,extra-libraries: c++,'
+        '';
+        configureFlags = (drv.configureFlags or []) ++ ["--extra-include-dirs=${pkgs.libcxx}/include/c++/v1"];
+        librarySystemDepends = [ pkgs.libcxx ] ++ drv.librarySystemDepends or [];
+      }
+    );
 
   # Needs help finding LLVM.
   spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index df17c769ea2d..7205f777bcf2 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -84,7 +84,14 @@ let
         callHackage = name: version: self.callPackage (hackage2nix name version);
 
         # Creates a Haskell package from a source package by calling cabal2nix on the source.
-        callCabal2nix = name: src: self.callPackage (haskellSrc2nix { inherit src name; });
+        callCabal2nix = name: src: args:
+          let
+            # Filter out files other than the cabal file. This ensures
+            # that we don't create new derivations even when the cabal
+            # file hasn't changed.
+            justCabal = builtins.filterSource (path: type: pkgs.lib.hasSuffix ".cabal" path) src;
+            drv = self.callPackage (haskellSrc2nix { inherit name; src = justCabal; }) args;
+          in overrideCabal drv (drv': { inherit src; }); # Restore the desired src.
 
         ghcWithPackages = selectFrom: withPackages (selectFrom self);
 
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index f580de51a35c..42678e342be4 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -66,7 +66,8 @@ let
                        concatStringsSep enableFeature optionalAttrs toUpper;
 
   isGhcjs = ghc.isGhcjs or false;
-  packageDbFlag = if isGhcjs || versionOlder "7.6" ghc.version
+  isHaLVM = ghc.isHaLVM or false;
+  packageDbFlag = if isGhcjs || isHaLVM || versionOlder "7.6" ghc.version
                   then "package-db"
                   else "package-conf";
 
@@ -99,16 +100,15 @@ let
     "--with-ghc-pkg=${ghc.cross.config}-ghc-pkg"
     "--with-gcc=${ghc.cc}"
     "--with-ld=${ghc.ld}"
-    "--hsc2hs-options=--cross-compile"
     "--with-hsc2hs=${nativeGhc}/bin/hsc2hs"
-  ];
+  ] ++ (if isHaLVM then [] else ["--hsc2hs-options=--cross-compile"]);
 
   crossCabalFlagsString =
     stdenv.lib.optionalString isCross (" " + stdenv.lib.concatStringsSep " " crossCabalFlags);
 
   defaultConfigureFlags = [
     "--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
-    "--with-gcc=$CC"            # Clang won't work without that extra information.
+    "--with-gcc=$CC" # Clang won't work without that extra information.
     "--package-db=$packageConfDir"
     (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
     (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
@@ -133,8 +133,9 @@ let
 
   setupCompileFlags = [
     (optionalString (!coreSetup) "-${packageDbFlag}=$packageConfDir")
-    (optionalString (isGhcjs || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES")
-    (optionalString (versionOlder "7.10" ghc.version) "-threaded") # https://github.com/haskell/cabal/issues/2398
+    (optionalString (isGhcjs || isHaLVM || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES")
+    # https://github.com/haskell/cabal/issues/2398
+    (optionalString (versionOlder "7.10" ghc.version && !isHaLVM) "-threaded")
   ];
 
   isHaskellPkg = x: (x ? pname) && (x ? version) && (x ? env);
@@ -319,11 +320,10 @@ stdenv.mkDerivation ({
         export NIX_${ghcCommandCaps}="${ghcEnv}/bin/${ghcCommand}"
         export NIX_${ghcCommandCaps}PKG="${ghcEnv}/bin/${ghcCommand}-pkg"
         export NIX_${ghcCommandCaps}_DOCDIR="${ghcEnv}/share/doc/ghc/html"
-        export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcCommand}-${ghc.version}"
-        ${shellHook}
-      '';
+        '' + (if isHaLVM
+	       then ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/HaLVM-${ghc.version}"''
+	       else ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcCommand}-${ghc.version}"'') + "${shellHook}";
     };
-
   };
 
   meta = { inherit homepage license platforms; }
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index e04cbe08c2c7..15d66bbd6dc0 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -8,7 +8,7 @@
 assert ghcLibdir != null -> (ghc.isGhcjs or false);
 
 # This wrapper works only with GHC 6.12 or later.
-assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs;
+assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs || ghc.isHaLVM;
 
 # It's probably a good idea to include the library "ghc-paths" in the
 # compiler environment, because we have a specially patched version of
@@ -33,13 +33,14 @@ assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs;
 
 let
   isGhcjs       = ghc.isGhcjs or false;
-  ghc761OrLater = isGhcjs || lib.versionOlder "7.6.1" ghc.version;
+  isHaLVM       = ghc.isHaLVM or false;
+  ghc761OrLater = isGhcjs || isHaLVM || lib.versionOlder "7.6.1" ghc.version;
   packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
-  ghcCommand'    = if isGhcjs then "ghcjs" else "ghc";
+  ghcCommand'   = if isGhcjs then "ghcjs" else "ghc";
   crossPrefix = if (ghc.cross or null) != null then "${ghc.cross.config}-" else "";
   ghcCommand = "${crossPrefix}${ghcCommand'}";
   ghcCommandCaps= lib.toUpper ghcCommand';
-  libDir        = "$out/lib/${ghcCommand}-${ghc.version}";
+  libDir        = if isHaLVM then "$out/lib/HaLVM-${ghc.version}" else "$out/lib/${ghcCommand}-${ghc.version}";
   docDir        = "$out/share/doc/ghc/html";
   packageCfgDir = "${libDir}/package.conf.d";
   paths         = lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages);
diff --git a/pkgs/development/interpreters/clips/default.nix b/pkgs/development/interpreters/clips/default.nix
new file mode 100644
index 000000000000..cf923d409172
--- /dev/null
+++ b/pkgs/development/interpreters/clips/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "6.30";
+  name = "clips-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/clipsrules/CLIPS/6.30/clips_core_source_630.tar.Z";
+    sha256 = "1r0m59l3mk9cwzq3nmyr5qxrlkzp3njls4hfv8ml85dmqh7n3ysy";
+  };
+  buildPhase = ''
+    make -C core -f ../makefiles/makefile.gcc
+  '';
+  installPhase = ''
+    install -D -t $out/bin core/clips
+  '';
+  meta = with stdenv.lib; {
+    description = "A Tool for Building Expert Systems";
+    homepage = "http://www.clipsrules.net/";
+    longDescription = ''
+      Developed at NASA's Johnson Space Center from 1985 to 1996,
+      CLIPS is a rule-based programming language useful for creating
+      expert systems and other programs where a heuristic solution is
+      easier to implement and maintain than an algorithmic solution.
+    '';
+    license = licenses.publicDomain;
+    maintainers = [maintainers.league];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/interpreters/clisp/hg.nix b/pkgs/development/interpreters/clisp/hg.nix
index b4930e7d57d6..597f75c46456 100644
--- a/pkgs/development/interpreters/clisp/hg.nix
+++ b/pkgs/development/interpreters/clisp/hg.nix
@@ -5,8 +5,7 @@
 # - full: contains base plus modules in withModules
 { stdenv, fetchhg, libsigsegv, gettext, ncurses, readline, libX11
 , libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
-, libffi
-, libffcall
+, libffi, libffcall, automake
 , coreutils
 # build options
 , threadSupport ? (stdenv.isi686 || stdenv.isx86_64)
@@ -24,19 +23,20 @@ assert x11Support -> (libX11 != null && libXau != null && libXt != null
   && libXpm != null && xproto != null && libXext != null && xextproto != null);
 
 stdenv.mkDerivation rec {
-  v = "2.50pre20161201";
+  v = "2.50pre20170130";
   name = "clisp-${v}";
 
   src = fetchhg {
     url = "http://hg.code.sf.net/p/clisp/clisp";
-    rev = "536a48";
-    sha256 = "097igsfpn8xipnjapyf5hx6smzh04v4ncskxl747xxn6pgpq813z";
+    rev = "130e74c8ea17";
+    sha256 = "1aqaxskvghc4ipbs3m4syvzn6bzj165zqvjpw0xa696i07vkk19j";
   };
 
   inherit libsigsegv gettext coreutils;
 
   ffcallAvailable = stdenv.isLinux && (libffcall != null);
 
+  nativeBuildInputs = [ automake ]; # sometimes fails otherwise
   buildInputs = [libsigsegv]
   ++ stdenv.lib.optional (gettext != null) gettext
   ++ stdenv.lib.optional (ncurses != null) ncurses
diff --git a/pkgs/development/interpreters/erlang/R14.nix b/pkgs/development/interpreters/erlang/R14.nix
deleted file mode 100644
index 0a93726fc0af..000000000000
--- a/pkgs/development/interpreters/erlang/R14.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
-, makeWrapper, gnused, gawk }:
-
-let version = "14B04"; in
-
-stdenv.mkDerivation {
-  name = "erlang-" + version;
-
-  src = fetchurl {
-    url = "http://www.erlang.org/download/otp_src_R${version}.tar.gz";
-    sha256 = "0vlvjlg8vzcy6inb4vj00bnj0aarvpchzxwhmi492nv31s8kb6q9";
-  };
-
-  buildInputs = [ perl gnum4 ncurses openssl makeWrapper ];
-
-  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
-
-  preConfigure = ''
-    export HOME=$PWD/../
-    sed -e s@/bin/pwd@pwd@g -i otp_build
-  '';
-
-  configureFlags = "--with-ssl=${openssl.dev}";
-
-  hardeningDisable = [ "format" ];
-
-  postInstall = let
-    manpages = fetchurl {
-      url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz";
-      sha256 = "1nh7l7wilyyaxvlwkjxgm3cq7wpd90sk6vxhgpvg7hwai8g52545";
-    };
-  in ''
-    tar xf "${manpages}" -C "$out/lib/erlang"
-    for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
-      prefix="''${i%/*}"
-      ensureDir "$out/share/man/''${prefix##*/}"
-      ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
-    done
-  '';
-
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
-  '';
-
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    homepage = "http://www.erlang.org/";
-    description = "Programming language used for massively scalable soft real-time systems";
-
-    longDescription = ''
-      Erlang is a programming language used to build massively scalable
-      soft real-time systems with requirements on high availability.
-      Some of its uses are in telecoms, banking, e-commerce, computer
-      telephony and instant messaging. Erlang's runtime system has
-      built-in support for concurrency, distribution and fault
-      tolerance.
-    '';
-
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
index ed30fe1522bf..e2e0151de371 100644
--- a/pkgs/development/interpreters/erlang/R16.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -27,6 +27,11 @@ stdenv.mkDerivation rec {
       ++ optional odbcSupport unixODBC
       ++ optionals stdenv.isDarwin [ Carbon Cocoa ];
 
+  # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
+  prePatch = ''
+    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
+  '';
+
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
   preConfigure = ''
diff --git a/pkgs/development/interpreters/erlang/R16B02-8-basho.nix b/pkgs/development/interpreters/erlang/R16B02-8-basho.nix
index 5745ea5d98b3..80f524019df0 100644
--- a/pkgs/development/interpreters/erlang/R16B02-8-basho.nix
+++ b/pkgs/development/interpreters/erlang/R16B02-8-basho.nix
@@ -2,7 +2,7 @@
 , gnused, gawk, makeWrapper
 , odbcSupport ? false, unixODBC ? null
 , wxSupport ? false, mesa ? null, wxGTK ? null, xorg ? null
-, enableDebugInfo ? false 
+, enableDebugInfo ? false
 , Carbon ? null, Cocoa ? null }:
 
 assert wxSupport -> mesa != null && wxGTK != null && xorg != null;
@@ -24,11 +24,16 @@ stdenv.mkDerivation rec {
   debugInfo = enableDebugInfo;
 
   buildInputs =
-    [ perl gnum4 ncurses openssl makeWrapper autoconf264 gcc 
+    [ perl gnum4 ncurses openssl makeWrapper autoconf264 gcc
     ] ++ optional wxSupport [ mesa wxGTK xorg.libX11 ]
       ++ optional odbcSupport [ unixODBC ]
       ++ optionals stdenv.isDarwin [ Carbon Cocoa ];
 
+  # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
+  prePatch = ''
+    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
+  '';
+
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure.in erts/configure.in '';
 
   preConfigure = ''
@@ -36,22 +41,22 @@ stdenv.mkDerivation rec {
     export LANG=C
     export ERL_TOP=$(pwd)
     sed -e s@/bin/pwd@pwd@g -i otp_build
-    sed -e s@"/usr/bin/env escript"@${erlang}/bin/escript@g -i lib/diameter/bin/diameterc 
+    sed -e s@"/usr/bin/env escript"@${erlang}/bin/escript@g -i lib/diameter/bin/diameterc
   '';
 
   configureFlags= [
     "--with-ssl=${openssl.dev}"
-    "--enable-smp-support" 
-    "--enable-threads" 
-    "--enable-kernel-poll" 
-    "--disable-hipe" 
-    "${optionalString odbcSupport "--with-odbc=${unixODBC}"}" 
-    "${optionalString stdenv.isDarwin "--enable-darwin-64bit"}" 
+    "--enable-smp-support"
+    "--enable-threads"
+    "--enable-kernel-poll"
+    "--disable-hipe"
+    "${optionalString odbcSupport "--with-odbc=${unixODBC}"}"
+    "${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"
     "${optionalString stdenv.isLinux "--enable-m64-build"}"
   ];
 
   buildPhase = ''
-    ./otp_build autoconf 
+    ./otp_build autoconf
     ./otp_build setup -a --prefix=$out $configureFlags
   '';
 
@@ -89,7 +94,7 @@ stdenv.mkDerivation rec {
       telephony and instant messaging. Erlang's runtime system has
       built-in support for concurrency, distribution and fault
       tolerance.
-      This version of Erlang is Basho's version, forked from Ericsson's 
+      This version of Erlang is Basho's version, forked from Ericsson's
       repository.
     '';
 
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index 57323a587f81..0869285d4965 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -35,7 +35,12 @@ stdenv.mkDerivation rec {
       ++ optional javacSupport openjdk
       ++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
 
-  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
+  patchPhase = ''
+    # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
+    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
+
+    sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure
+  '';
 
   debugInfo = enableDebugInfo;
 
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index f9b6edc3fa4b..1ed9bfbd70a2 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchFromGitHub, perl, gnum4, ncurses, openssl
+{ stdenv, fetchurl, fetchpatch, fetchFromGitHub, perl, gnum4, ncurses, openssl
 , gnused, gawk, autoconf, libxslt, libxml2, makeWrapper
 , Carbon, Cocoa
 , odbcSupport ? false, unixODBC ? null
@@ -53,6 +53,11 @@ stdenv.mkDerivation rec {
      sha256 = "10h5348p6g279b4q01i5jdqlljww5chcvrx5b4b0dv79pk0p0m9f";
   };
 
+  # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
+  prePatch = ''
+    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
+  '';
+
   patches = [
     rmAndPwdPatch
     envAndCpPatch
diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix
index fc9db7d9bfb6..4b1e3f4cb2f9 100644
--- a/pkgs/development/interpreters/erlang/R19.nix
+++ b/pkgs/development/interpreters/erlang/R19.nix
@@ -21,7 +21,7 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"
   + "${optionalString javacSupport "-javac"}";
-  version = "19.2.3";
+  version = "19.3";
 
   # Minor OTP releases are not always released as tarbals at
   # http://erlang.org/download/ So we have to download from
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "erlang";
     repo = "otp";
     rev = "OTP-${version}";
-    sha256 = "1lsmjpz2g4hj44fz95w7sswzj40iv7jq5jk64x0095lhvxmlf57c";
+    sha256 = "0pp2hl8jf4iafpnsmf0q7jbm313daqzif6ajqcmjyl87m5pssr86";
   };
 
   buildInputs =
@@ -46,6 +46,9 @@ stdenv.mkDerivation rec {
   prePatch = ''
     substituteInPlace configure.in \
       --replace '`sw_vers -productVersion`' '10.10'
+
+    # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
+    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
   '';
 
   preConfigure = ''
@@ -92,7 +95,7 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = platforms.unix;
-    maintainers = with maintainers; [ the-kenny sjmackenzie couchemar ];
+    maintainers = with maintainers; [ yurrriq couchemar DerTim1 mdaiter ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix
new file mode 100644
index 000000000000..04f31dda26a0
--- /dev/null
+++ b/pkgs/development/interpreters/guile/2.0.nix
@@ -0,0 +1,120 @@
+{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring
+, libffi, gawk, makeWrapper, fetchpatch, coverageAnalysis ? null, gnu ? null }:
+
+# Do either a coverage analysis build or a standard build.
+(if coverageAnalysis != null
+ then coverageAnalysis
+ else stdenv.mkDerivation)
+
+(rec {
+  name = "guile-2.0.13";
+
+  src = fetchurl {
+    url = "mirror://gnu/guile/${name}.tar.xz";
+    sha256 = "12yqkr974y91ylgw6jnmci2v90i90s7h9vxa4zk0sai8vjnz4i1p";
+  };
+
+  outputs = [ "out" "dev" "info" ];
+  setOutputFlags = false; # $dev gets into the library otherwise
+
+  nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
+  buildInputs = [ readline libtool libunistring libffi ];
+  propagatedBuildInputs = [ gmp boehmgc ]
+
+    # XXX: These ones aren't normally needed here, but since
+    # `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add
+    # the needed `-L' flags.  As for why the `.la' file lacks the `-L' flags,
+    # see below.
+    ++ [ libtool libunistring ];
+
+  # A native Guile 2.0 is needed to cross-build Guile.
+  selfNativeBuildInput = true;
+
+  enableParallelBuilding = true;
+
+  patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch
+    (fetchpatch {
+      # Fixes stability issues with 00-repl-server.test
+      url = "http://git.savannah.gnu.org/cgit/guile.git/patch/?id=2fbde7f02adb8c6585e9baf6e293ee49cd23d4c4";
+      sha256 = "0p6c1lmw1iniq03z7x5m65kg3lq543kgvdb4nrxsaxjqf3zhl77v";
+    })
+  ] ++
+    (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch);
+
+  # Explicitly link against libgcc_s, to work around the infamous
+  # "libgcc_s.so.1 must be installed for pthread_cancel to work".
+
+  # don't have "libgcc_s.so.1" on darwin
+  LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
+
+  configureFlags = [ "--with-libreadline-prefix" ]
+    ++ stdenv.lib.optionals stdenv.isSunOS [
+      # Make sure the right <gmp.h> is found, and not the incompatible
+      # /usr/include/mp.h from OpenSolaris.  See
+      # <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html>
+      # for details.
+      "--with-libgmp-prefix=${gmp.dev}"
+
+      # Same for these (?).
+      "--with-libreadline-prefix=${readline.dev}"
+      "--with-libunistring-prefix=${libunistring}"
+
+      # See below.
+      "--without-threads"
+    ];
+
+  postInstall = ''
+    wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
+
+    # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for
+    # why `--with-libunistring-prefix' and similar options coming from
+    # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64.
+    sed -i "$out/lib/pkgconfig/guile-2.0.pc"    \
+        -e "s|-lunistring|-L${libunistring}/lib -lunistring|g ;
+            s|^Cflags:\(.*\)$|Cflags: -I${libunistring}/include \1|g ;
+            s|-lltdl|-L${libtool.lib}/lib -lltdl|g ;
+            s|includedir=$out|includedir=$dev|g
+            "
+  '';
+
+  # make check doesn't work on darwin
+  # On Linuxes+Hydra the tests are flaky; feel free to investigate deeper.
+  doCheck = false;
+
+  setupHook = ./setup-hook-2.0.sh;
+
+  crossAttrs.preConfigure =
+    stdenv.lib.optionalString (stdenv.cross.config == "i586-pc-gnu")
+       # On GNU, libgc depends on libpthread, but the cross linker doesn't
+       # know where to find libpthread, which leads to erroneous test failures
+       # in `configure', where `-pthread' and `-lpthread' aren't explicitly
+       # passed.  So it needs some help (XXX).
+       "export LDFLAGS=-Wl,-rpath-link=${gnu.libpthreadCross}/lib";
+
+
+  meta = {
+    description = "Embeddable Scheme implementation";
+    homepage    = http://www.gnu.org/software/guile/;
+    license     = stdenv.lib.licenses.lgpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ ludo lovek323 ];
+    platforms   = stdenv.lib.platforms.all;
+
+    longDescription = ''
+      GNU Guile is an implementation of the Scheme programming language, with
+      support for many SRFIs, packaged for use in a wide variety of
+      environments.  In addition to implementing the R5RS Scheme standard
+      and a large subset of R6RS, Guile includes a module system, full access
+      to POSIX system calls, networking support, multiple threads, dynamic
+      linking, a foreign function call interface, and powerful string
+      processing.
+    '';
+  };
+})
+
+//
+
+(stdenv.lib.optionalAttrs (!stdenv.isLinux) {
+  # Work around <http://bugs.gnu.org/14201>.
+  SHELL = "/bin/sh";
+  CONFIG_SHELL = "/bin/sh";
+})
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 6b4e6c2a7288..8a2deeddff60 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -7,11 +7,12 @@
  else stdenv.mkDerivation)
 
 (rec {
-  name = "guile-2.0.13";
+  name = "guile-${version}";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "mirror://gnu/guile/${name}.tar.xz";
-    sha256 = "12yqkr974y91ylgw6jnmci2v90i90s7h9vxa4zk0sai8vjnz4i1p";
+    sha256 = "05dmvhd1y135x7w5qfw4my42cfp6l8bbhjfxvchcc1cbdvzri0f1";
   };
 
   outputs = [ "out" "dev" "info" ];
@@ -30,16 +31,10 @@
   # A native Guile 2.0 is needed to cross-build Guile.
   selfNativeBuildInput = true;
 
-  # Guile 2.0.11 repeatable fails with 8-core parallel building because
-  # libguile/vm-i-system.i is not created in time
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
 
-  patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch
-    (fetchpatch {
-      # Fixes stability issues with 00-repl-server.test
-      url = "http://git.savannah.gnu.org/cgit/guile.git/patch/?id=2fbde7f02adb8c6585e9baf6e293ee49cd23d4c4";
-      sha256 = "0p6c1lmw1iniq03z7x5m65kg3lq543kgvdb4nrxsaxjqf3zhl77v";
-    })
+  patches = [
+    ./eai_system.patch
   ] ++
     (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch);
 
@@ -49,7 +44,7 @@
   # don't have "libgcc_s.so.1" on darwin
   LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
 
-  configureFlags = [ "--with-libreadline-prefix" ]
+  configureFlags = [ "--with-libreadline-prefix=${readline.dev}" ]
     ++ stdenv.lib.optionals stdenv.isSunOS [
       # Make sure the right <gmp.h> is found, and not the incompatible
       # /usr/include/mp.h from OpenSolaris.  See
@@ -58,7 +53,6 @@
       "--with-libgmp-prefix=${gmp.dev}"
 
       # Same for these (?).
-      "--with-libreadline-prefix=${readline.dev}"
       "--with-libunistring-prefix=${libunistring}"
 
       # See below.
@@ -71,7 +65,7 @@
     # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for
     # why `--with-libunistring-prefix' and similar options coming from
     # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64.
-    sed -i "$out/lib/pkgconfig/guile-2.0.pc"    \
+    sed -i "$out/lib/pkgconfig/guile-2.2.pc"    \
         -e "s|-lunistring|-L${libunistring}/lib -lunistring|g ;
             s|^Cflags:\(.*\)$|Cflags: -I${libunistring}/include \1|g ;
             s|-lltdl|-L${libtool.lib}/lib -lltdl|g ;
@@ -83,7 +77,7 @@
   # On Linuxes+Hydra the tests are flaky; feel free to investigate deeper.
   doCheck = false;
 
-  setupHook = ./setup-hook-2.0.sh;
+  setupHook = ./setup-hook-2.2.sh;
 
   crossAttrs.preConfigure =
     stdenv.lib.optionalString (stdenv.cross.config == "i586-pc-gnu")
@@ -98,7 +92,7 @@
     description = "Embeddable Scheme implementation";
     homepage    = http://www.gnu.org/software/guile/;
     license     = stdenv.lib.licenses.lgpl3Plus;
-    maintainers = with stdenv.lib.maintainers; [ ludo lovek323 ];
+    maintainers = with stdenv.lib.maintainers; [ ludo lovek323 vrthra ];
     platforms   = stdenv.lib.platforms.all;
 
     longDescription = ''
@@ -113,10 +107,3 @@
   };
 })
 
-//
-
-(stdenv.lib.optionalAttrs (!stdenv.isLinux) {
-  # Work around <http://bugs.gnu.org/14201>.
-  SHELL = "/bin/sh";
-  CONFIG_SHELL = "/bin/sh";
-})
diff --git a/pkgs/development/interpreters/guile/setup-hook-2.2.sh b/pkgs/development/interpreters/guile/setup-hook-2.2.sh
new file mode 100644
index 000000000000..86c1e0d3e4a9
--- /dev/null
+++ b/pkgs/development/interpreters/guile/setup-hook-2.2.sh
@@ -0,0 +1,13 @@
+addGuileLibPath () {
+    if test -d "$1/share/guile/site/2.2"
+    then
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
+    elif test -d "$1/share/guile/site"
+    then
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
+    fi
+}
+
+envHooks+=(addGuileLibPath)
diff --git a/pkgs/development/interpreters/lua-5/5.2.darwin.patch b/pkgs/development/interpreters/lua-5/5.2.darwin.patch
index b314bd2abac3..be0e206bbfc7 100644
--- a/pkgs/development/interpreters/lua-5/5.2.darwin.patch
+++ b/pkgs/development/interpreters/lua-5/5.2.darwin.patch
@@ -15,8 +15,8 @@ index d2c7db4..dc107b3 100644
  	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
  	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
  	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
-+	ln -s -f liblua.${version}.dylib $(INSTALL_LIB)/liblua.${majorVersion}.dylib
-+	ln -s -f liblua.${majorVersion}.dylib $(INSTALL_LIB)/liblua.dylib
++	ln -s -f liblua.${version}.dylib $(INSTALL_LIB)/liblua.${luaversion}.dylib
++	ln -s -f liblua.${luaversion}.dylib $(INSTALL_LIB)/liblua.dylib
  
  uninstall:
  	cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index c471a3cdc0fb..133329f4f203 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   baseName="pure";
   project="pure-lang";
-  version="0.64";
+  version="0.66";
   name="${baseName}-${version}";
   extension="tar.gz";
 
   src = fetchurl {
     url="https://bitbucket.org/purelang/${project}/downloads/${name}.${extension}";
-    sha256="01vvix302gh5vsmnjf2g0rrif3hl1yik4izsx1wrvv1a6hlm5mgg";
+    sha256="42df6832476e8bee3a7ca179671284c1edd7bc82b71062fa0de62fd2117ee676";
   };
 
   buildInputs = [ bison flex makeWrapper ];
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index 57051bb951fc..0d0cbbab2b52 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -1,33 +1,37 @@
-{ stdenv, fetchurl, pythonPackages, pkgconfig, SDL
+{ stdenv, fetchurl, pythonPackages, pkgconfig, SDL2
 , libpng, ffmpeg, freetype, glew, mesa, fribidi, zlib
+, glib
 }:
 
 with pythonPackages;
 
 stdenv.mkDerivation {
-  name = "renpy-6.17.6";
+  name = "renpy-6.99.12.4";
 
   meta = {
     description = "Ren'Py Visual Novel Engine";
     homepage = "http://renpy.org/";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
+    # This is an ancient version, last updated in 2014 (3d59f42ce); it fails to
+    # build with the most recent pygame version, and fails to run with 1.9.1.
+    broken = true;
   };
 
   src = fetchurl {
-    url = "http://www.renpy.org/dl/6.17.6/renpy-6.17.6-source.tar.bz2";
-    sha256 = "0rkynw9cnr1zqdinz037d9zig6grhp2ca2pyxk80vhdpjb0xrkic";
+    url = "http://www.renpy.org/dl/6.99.12.4/renpy-6.99.12.4-source.tar.bz2";
+    sha256 = "035342rr39zp7krp08z0xhcl73gqbqyilshgmljq0ynfrxxckn35";
   };
 
   buildInputs = [
     python cython pkgconfig wrapPython
-    SDL libpng ffmpeg freetype glew mesa fribidi zlib pygame
+    SDL2 libpng ffmpeg freetype glew mesa fribidi zlib pygame_sdl2 glib
   ];
 
-  pythonPath = [ pygame ];
+  pythonPath = [ pygame_sdl2 ];
 
   RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: "${path}") [
-    SDL SDL.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out mesa fribidi zlib
+    SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out mesa fribidi zlib
   ]);
 
   buildPhase = ''
@@ -39,12 +43,11 @@ stdenv.mkDerivation {
     cp -r renpy renpy.py $out/share/renpy
     python module/setup.py install --prefix=$out --install-lib=$out/share/renpy/module
 
-    wrapPythonPrograms
     makeWrapper ${python}/bin/python $out/bin/renpy \
-      --set PYTHONPATH $program_PYTHONPATH \
+      --set PYTHONPATH $PYTHONPATH \
       --set RENPY_BASE $out/share/renpy \
       --add-flags "-O $out/share/renpy/renpy.py"
   '';
 
-  NIX_CFLAGS_COMPILE = "-I${pygame}/include/${python.libPrefix}";
+  NIX_CFLAGS_COMPILE = "-I${pygame_sdl2}/include/${python.libPrefix}";
 }
diff --git a/pkgs/development/interpreters/ruby/rubygems-src.nix b/pkgs/development/interpreters/ruby/rubygems-src.nix
index 7ea52185d77b..7658c303a1e9 100644
--- a/pkgs/development/interpreters/ruby/rubygems-src.nix
+++ b/pkgs/development/interpreters/ruby/rubygems-src.nix
@@ -1,6 +1,6 @@
 { fetchurl
-, version ? "2.6.8"
-, sha256 ? "1v6n6s8cq5l0xyf1fbm1w4752b9vdk3p130ar59ig72p9vqvkbl1"
+, version ? "2.6.10"
+, sha256 ? "364c0eee8e0c9e8ab4879c5035832e5a27f0c97292d2264af5ae0020585280f0"
 }:
 fetchurl {
   url = "http://production.cf.rubygems.org/rubygems/rubygems-${version}.tgz";
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index b8fd4af812ab..e4eb8d3ab2ec 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,25 +1,27 @@
-{ stdenv, fetchurl, cmake, boost, gmp, mpfr, mesa_glu }:
+{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.7";
+  version = "4.9";
   name = "cgal-" + version;
 
-  src = fetchurl {
-    url = "https://github.com/CGAL/releases/archive/CGAL-${version}.tar.gz";
-    sha256 = "1hbp4qpfqvpggvv79yxr6z3w7y0nwd31zavb1s57y55yl9z3zfxy";
+  src = fetchFromGitHub {
+    owner = "CGAL";
+    repo = "releases";
+    rev = "CGAL-${version}";
+    sha256 = "044amgml1x5h17rpkck2azmxrmjvlzzykv71cjh5hlajsi88cid5";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
   #   there are also libCGAL_Qt{3,4} omitted ATM
-  buildInputs = [ cmake boost gmp mpfr ];
-  #propagatedBuildInputs = [ mesa_glu ];
+  buildInputs = [ boost gmp mpfr ];
+  nativeBuildInputs = [ cmake ];
 
   doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Computational Geometry Algorithms Library";
     homepage = http://cgal.org;
-    license = licenses.gpl3Plus; # some parts are GPLv3+, some are LGPLv3+
+    license = with licenses; [ gpl3Plus lgpl3Plus];
     platforms = platforms.all;
     maintainers = [ maintainers.raskin ];
   };
diff --git a/pkgs/development/libraries/CoinMP/default.nix b/pkgs/development/libraries/CoinMP/default.nix
index 079c0a5cf6f7..ea72bfb434b8 100644
--- a/pkgs/development/libraries/CoinMP/default.nix
+++ b/pkgs/development/libraries/CoinMP/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "CoinMP-${version}";
-  version = "1.7.6";
+  version = "1.8.3";
 
   src = fetchurl {
     url = "http://www.coin-or.org/download/source/CoinMP/${name}.tgz";
-    sha256 = "0gqi2vqkg35gazzzv8asnhihchnbjcd6bzjfzqhmj7wy1dw9iiw6";
+    sha256 = "1xr2iwbbhm6l9hwiry5c10pz46xfih8bvzrzwp0nkzf76vdnb9m1";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
index 1d26fed805eb..cee0a81ccfbd 100644
--- a/pkgs/development/libraries/SDL2_gfx/default.nix
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL2 ];
 
-  configureFlags = [ "--enable-mmx" ];
+  configureFlags = if stdenv.isi686 || stdenv.isx86_64 then "--enable-mmx" else "--disable-mmx";
 
   meta = with stdenv.lib; {
     description = "SDL graphics drawing primitives and support functions";
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
index 0919970543c5..9fef76c799b9 100644
--- a/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, SDL2, libogg, libvorbis, enableNativeMidi ? false }:
+{ stdenv, lib, fetchurl, SDL2, libogg, libvorbis, smpeg, flac, enableNativeMidi ? false, fluidsynth ? null }:
 
 stdenv.mkDerivation rec {
   name = "SDL2_mixer-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0pv9jzjpcjlbiaybvwrb4avmv46qk7iqxlnqrd2dfj82c4mgc92s";
   };
 
-  propagatedBuildInputs = [ SDL2 libogg libvorbis ];
+  propagatedBuildInputs = [ SDL2 libogg libvorbis fluidsynth smpeg flac ];
 
   configureFlags = [ "--disable-music-ogg-shared" ] ++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl";
 
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     description = "SDL multi-channel audio mixer library";
     platforms = platforms.linux;
     homepage = "https://www.libsdl.org/projects/SDL_mixer/";
+    maintainers = with maintainers; [ MP2E ];
     license = licenses.zlib;
   };
 }
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index 10ba217175c3..9bc714c5538b 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, libtool, perl
-}:
+{ stdenv, fetchurl, pkgconfig, libtool, perl }:
 
 stdenv.mkDerivation rec {
   name = "ace-${version}";
-  version = "6.3.3";
+  version = "6.4.2";
+
   src = fetchurl {
-    url=http://download.dre.vanderbilt.edu/previous_versions/ACE-6.3.3.tar.bz2;
-    sha256 = "124qk205v8rx8p7rfigsargrpxjx3mh4nr99nlyk9csdc9gy8qpk";
+    url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
+    sha256 = "0dscvlgxy0fwma63azjkdbc85mh8k751ik67s88w6w75j0psld73";
   };
 
   enableParallelBuilding = true;
 
-  buildInputs = [ pkgconfig libtool perl ];
+  nativeBuildInputs = [ pkgconfig libtool ];
+  buildInputs = [ perl ];
 
   patchPhase = ''substituteInPlace ./MPC/prj_install.pl \
     --replace /usr/bin/perl "${perl}/bin/perl"'';
@@ -25,12 +26,11 @@ stdenv.mkDerivation rec {
     > include/makeinclude/platform_macros.GNU
   '';
 
-meta = {
+  meta = with stdenv.lib; {
     description = "ADAPTIVE Communication Environment";
     homepage = http://www.dre.vanderbilt.edu/~schmidt/ACE.html;
-    license = stdenv.lib.licenses.doc;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.nico202 ];
+    license = licenses.doc;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.nico202 ];
   };
 }
-
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index 302d63aa7596..d2b605c4f19c 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -1,24 +1,32 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gettext, intltool
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, gettext, intltool
 , xmlto, docbook_xsl, docbook_xml_dtd_45
 , glib, xapian, libxml2, libyaml, gobjectIntrospection
+, pcre, itstool
 }:
 
-stdenv.mkDerivation {
-  name = "appstream-0.9.5";
+stdenv.mkDerivation rec {
+  name = "appstream-${version}";
+  version = "0.10.6";
 
-  src = fetchurl {
-    url = "https://github.com/ximion/appstream/archive/APPSTREAM_0_8_0.tar.gz";
-    sha256 = "16a3b38avrwyl1pp8jdgfjv6cd5mccbmk4asni92l40y5r0xfycr";
+  src = fetchFromGitHub {
+    owner = "ximion";
+    repo = "appstream";
+    rev = "APPSTREAM_0_10_6";
+    sha256 = "1fg7zxx2qhkyj7fmcpwbf80b72d16kyi8dadi111kf00sgzfbiyy";
   };
 
   nativeBuildInputs = [
     cmake pkgconfig gettext intltool
     xmlto docbook_xsl docbook_xml_dtd_45
-    gobjectIntrospection
+    gobjectIntrospection itstool
   ];
 
-  buildInputs = [ glib xapian libxml2 libyaml ];
+  buildInputs = [ pcre glib xapian libxml2 libyaml ];
 
+  cmakeFlags = ''
+    -DSTEMMING=off
+    '';
+      
   meta = with stdenv.lib; {
     description = "Software metadata handling library";
     homepage    = "http://www.freedesktop.org/wiki/Distributions/AppStream/Software/";
diff --git a/pkgs/development/libraries/aqbanking/sources.nix b/pkgs/development/libraries/aqbanking/sources.nix
index f53d9a9e26f1..1638c72e95f5 100644
--- a/pkgs/development/libraries/aqbanking/sources.nix
+++ b/pkgs/development/libraries/aqbanking/sources.nix
@@ -1,12 +1,12 @@
 # This file is autogenerated from update.sh in the same directory.
 {
-  gwenhywfar.version = "4.15.3";
-  gwenhywfar.sha256 = "0fp67s932x66xfljb26zbrn8ambbc5y5c3hllr6l284nr63qf3ka";
-  gwenhywfar.releaseId = "201";
+  gwenhywfar.version = "4.17.0";
+  gwenhywfar.sha256 = "1z9bm2r407x8vxk2nk6pndx0zhlk32j65z472ljkgjbh56mgzz8i";
+  gwenhywfar.releaseId = "205";
   libchipcard.version = "5.0.4";
   libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
   libchipcard.releaseId = "200";
-  aqbanking.version = "5.6.10";
-  aqbanking.sha256 = "1x0isvpk43rq2zlyyb9p0kgjmqv7yq07vgkiprw3f5sjkykvxw6d";
-  aqbanking.releaseId = "206";
+  aqbanking.version = "5.6.12";
+  aqbanking.sha256 = "08jbwmiv6f3v8iqdr44x4szna496fqcjfi6mlx04cnbx91m70lh6";
+  aqbanking.releaseId = "208";
 }
diff --git a/pkgs/development/libraries/aqbanking/update.sh b/pkgs/development/libraries/aqbanking/update.sh
index 2ba0192cbb64..8929e8bc6eb4 100755
--- a/pkgs/development/libraries/aqbanking/update.sh
+++ b/pkgs/development/libraries/aqbanking/update.sh
@@ -13,7 +13,7 @@ getCurrentVersions() {
 currentVersions="$(getCurrentVersions)"
 
 getLastestVersion() {
-    local baseurl="http://www.aquamaniac.de"
+    local baseurl="https://www.aquamaniac.de"
     local pkglist="sites/download/packages.php?package=$1&showall=1"
     local url="$baseurl/$pkglist"
     local reVersion='[0-9]+(\.[0-9]+)+' # Only release versions, no betas!
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index 7f173b211565..d5a601f09ba0 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -1,24 +1,25 @@
 { stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
 
 stdenv.mkDerivation rec {
-  version = "7.700.0";
+  version = "7.800.1";
   name = "armadillo-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "152x274hd3f59xgd27k9d3ikwb3w62v1v5hpw4lp1yzdyy8980pr";
+    sha256 = "1nxq2jp4jlvinynv0l04rpdzpnkzdsng0d5vi3hilc0hlsjnbnjs";
   };
 
-  buildInputs = [ cmake openblasCompat superlu hdf5 ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ openblasCompat superlu hdf5 ];
 
   cmakeFlags = [ "-DDETECT_HDF5=ON" ];
 
-  patches = [ ./use-unix-config-on-OS-X.patch ];
-  
+ patches = [ ./use-unix-config-on-OS-X.patch ];
+
   meta = with stdenv.lib; {
     description = "C++ linear algebra library";
     homepage = http://arma.sourceforge.net;
-    license = licenses.mpl20;
+    license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ juliendehos knedlsepp ];
   };
diff --git a/pkgs/development/libraries/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix
index 5fbc45a7c08b..e342d8ab6c09 100644
--- a/pkgs/development/libraries/assimp/default.nix
+++ b/pkgs/development/libraries/assimp/default.nix
@@ -1,19 +1,17 @@
 { stdenv, fetchFromGitHub, unzip, cmake, boost, zlib }:
 
-let
-  version = "3.2";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "assimp-${version}";
+  version = "3.3.1";
 
   src = fetchFromGitHub{
     owner = "assimp";
     repo = "assimp";
     rev = "v${version}";
-    sha256 = "09fsksbq9a8gykwmw6gaicwh2ladrln1jc1xc5yk7w6x180cbb1x";
+    sha256 = "13y44fymj13h6alig0nqab91j2qch0yh9gq8yql2zz744ch2s5vc";
   };
 
-  buildInputs = [ unzip cmake boost zlib ];
+  buildInputs = [ cmake boost zlib ];
 
   meta = with stdenv.lib; {
     description = "A library to import various 3D model formats";
diff --git a/pkgs/development/libraries/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix
index a14de67d7f39..3ea86b36a306 100644
--- a/pkgs/development/libraries/aubio/default.nix
+++ b/pkgs/development/libraries/aubio/default.nix
@@ -1,24 +1,23 @@
 { stdenv, fetchurl, alsaLib, fftw, libjack2, libsamplerate
-, libsndfile, pkgconfig, python2
+, libsndfile, pkgconfig, python3
 }:
 
 stdenv.mkDerivation rec {
-  name = "aubio-0.4.3";
+  name = "aubio-0.4.4";
 
   src = fetchurl {
     url = "http://aubio.org/pub/${name}.tar.bz2";
-    sha256 = "1azarklqggch8kkz3gbqwi2vlb6ld4lidyhp34qawr0c7h3xnb5n";
+    sha256 = "1y5zzwv9xjc649g4xrlqnim4q7pcwgzn0xrq3ijbmm5r4ckbkk9a";
   };
 
-  buildInputs = [
-    alsaLib fftw libjack2 libsamplerate libsndfile pkgconfig python2
-  ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ alsaLib fftw libjack2 libsamplerate libsndfile python3 ];
 
-  configurePhase = "${python2.interpreter} waf configure --prefix=$out";
+  configurePhase = "${python3.interpreter} waf configure --prefix=$out";
 
-  buildPhase = "${python2.interpreter} waf";
+  buildPhase = "${python3.interpreter} waf";
 
-  installPhase = "${python2.interpreter} waf install";
+  installPhase = "${python3.interpreter} waf install";
 
   meta = with stdenv.lib; {
     description = "Library for audio labelling";
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index 8864d710174a..f0dbdcc7daf6 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom
+{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom, gcc6
 , withQt4 ? true, qt4 ? null
 , withQt5 ? false, qt5 ? null }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "1kji3lhha26qr6xm9j8ic5c40zbrrb5qnwm2qxzmsfxgmrz29wkf";
   };
 
-  buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom ]
+  buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom gcc6 ]
     ++ (lib.optionals withQt4 [ qt4 ])
     ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
 
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 02b1af5ab521..545612d5c155 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babl-0.1.12";
+  name = "babl-0.1.24";
 
   src = fetchurl {
     url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
-    sha256 = "01x4an6zixrhn0vibkxpcb7gg348gadydq8gpw82rdqp39zjp01g";
+    sha256 = "02wxyaa9kjfypmg31avp2dxh16sfx9701ww6dmp0ggz5vnng2as7";
   };
 
-  meta = { 
+  meta = with stdenv.lib; { 
     description = "Image pixel format conversion library";
     homepage = http://gegl.org/babl/;
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix
index dcd35613d545..c5a6f55681ab 100644
--- a/pkgs/development/libraries/bobcat/default.nix
+++ b/pkgs/development/libraries/bobcat/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchFromGitHub, icmake, libmilter, libX11, openssl, readline
+{ stdenv, fetchFromGitHub, icmake
+, libmilter, libX11, openssl, readline
 , utillinux, yodl }:
 
 stdenv.mkDerivation rec {
   name = "bobcat-${version}";
-  version = "4.03.00";
+  version = "4.07.00";
 
   src = fetchFromGitHub {
-    sha256 = "0jkwq3f6g3vbim2jg5wfzhin89r4crnypqggp8cqimjmpkyfqnv0";
+    sha256 = "0ja6rgdw4ng10acp2c0cv9k72i5sgng03i3xi2yshlm2811lgxcs";
     rev = version;
     repo = "bobcat";
     owner = "fbb-git";
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 6adcce45d808..174e9fe47769 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -126,7 +126,7 @@ stdenv.mkDerivation {
     description = "Collection of C++ libraries";
     license = stdenv.lib.licenses.boost;
 
-    platforms = platforms.unix;
+    platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) platforms.unix;
     maintainers = with maintainers; [ peti wkennington ];
   };
 
diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix
new file mode 100644
index 000000000000..d3e655676e64
--- /dev/null
+++ b/pkgs/development/libraries/caf/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "actor-framework-${version}";
+  version = "0.15.3";
+
+  src = fetchFromGitHub {
+    owner = "actor-framework";
+    repo = "actor-framework";
+    rev = "${version}";
+    sha256 = "0202nsdriigdh6sxi1k3hddvmf1x54qpykbvf2ghfhzyh0m1q7j2";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "An open source implementation of the actor model in C++";
+    homepage = http://actor-framework.org/;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bobakker ];
+  };
+}
diff --git a/pkgs/development/libraries/cdk/default.nix b/pkgs/development/libraries/cdk/default.nix
index 614d57002cd2..a97ca5cc6980 100644
--- a/pkgs/development/libraries/cdk/default.nix
+++ b/pkgs/development/libraries/cdk/default.nix
@@ -1,11 +1,8 @@
 { stdenv, fetchurl, ncurses }:
 
-let
-  version = "5.0-20160131";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "cdk-${version}";
-  inherit version;
+  version ="5.0-20161210";
 
   buildInputs = [
     ncurses
@@ -13,13 +10,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://invisible-island.net/cdk/cdk-${version}.tgz";
-    sha256 = "08ic2f5rmi8niaxwxwr6l6lhpan7690x52vpldnbjcf20rc0fbf3";
+    sha256 = "1bazwcwz4qhxyc8jaahdd2nlm30f5dhy0f6cnix5rjjhi35mhxcy";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Curses development kit";
-    license = stdenv.lib.licenses.bsdOriginal ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.bsdOriginal ;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/ceres-solver/default.nix b/pkgs/development/libraries/ceres-solver/default.nix
index 7cd848e602aa..673fb77f01aa 100644
--- a/pkgs/development/libraries/ceres-solver/default.nix
+++ b/pkgs/development/libraries/ceres-solver/default.nix
@@ -10,18 +10,17 @@
 # google-gflags is required to run tests
 assert runTests -> google-gflags != null;
 
-let
-  version = "1.10.0";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "ceres-solver-${version}";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "http://ceres-solver.org/ceres-solver-${version}.tar.gz";
-    sha256 = "20bb5db05c3e3e14a4062e2cf2b0742d2653359549ecded3e0653104ef3deb17";
+    sha256 = "15f8mwhcy9f5qggcc9dqwl5y687ykvmlidr686aqdq0ia7azwnvl";
   };
 
-  buildInputs = [ cmake glog ]
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ glog ]
     ++ stdenv.lib.optional (google-gflags != null) google-gflags;
 
   inherit eigen;
@@ -38,8 +37,7 @@ stdenv.mkDerivation {
     description = "C++ library for modeling and solving large, complicated optimization problems";
     license = licenses.bsd3;
     homepage = "http://ceres-solver.org";
-    maintainers = with stdenv.lib.maintainers; [ giogadi ];
-    inherit version;
-    platforms = with stdenv.lib.platforms; unix;
+    maintainers = with maintainers; [ giogadi ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/cfitsio/default.nix b/pkgs/development/libraries/cfitsio/default.nix
index a3d1a46e818c..d49bd7eac1bc 100644
--- a/pkgs/development/libraries/cfitsio/default.nix
+++ b/pkgs/development/libraries/cfitsio/default.nix
@@ -1,24 +1,21 @@
 { fetchurl, stdenv }:
 
-stdenv.mkDerivation {
-  name = "cfitsio-3.21";
+ stdenv.mkDerivation {
+  name = "cfitsio-3.41";
 
   src = fetchurl {
-    url = ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3210.tar.gz;
-    sha256 = "1ffr3p5dy2b1vj9j4li5zf22naavi9wcxsvqy236fc0ykfyip96i";
+    url = "ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3410.tar.gz";
+    sha256 = "0k3knn5hz1vhzzvm46xa1y6fnpliwkwgw76lnkf4amcnl5zaqmm5";
   };
 
   # Shared-only build
   buildFlags = "shared";
-  patchPhase =
-   '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
+  patchPhase = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
    '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://heasarc.gsfc.nasa.gov/fitsio/;
-
     description = "Library for reading and writing FITS data files";
-
     longDescription =
       '' CFITSIO is a library of C and Fortran subroutines for reading and
          writing data files in FITS (Flexible Image Transport System) data
@@ -28,9 +25,8 @@ stdenv.mkDerivation {
          advanced features for manipulating and filtering the information in
          FITS files.
       '';
-
     # Permissive BSD-style license.
     license = "permissive";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/chipmunk/default.nix b/pkgs/development/libraries/chipmunk/default.nix
index 52990097a230..2c50d8138057 100644
--- a/pkgs/development/libraries/chipmunk/default.nix
+++ b/pkgs/development/libraries/chipmunk/default.nix
@@ -5,15 +5,16 @@
 stdenv.mkDerivation rec {
   name = "chipmunk-${version}";
   majorVersion = "7";
-  version = "${majorVersion}.0.0";
+  version = "${majorVersion}.0.1";
 
   src = fetchurl {
     url = "https://chipmunk-physics.net/release/Chipmunk-${majorVersion}.x/Chipmunk-${version}.tgz";
-    sha256 = "1kaii8wgvp0kgn2p22jm9smyqlws4p5dg8j23jaiasx9jq1kiaql";
+    sha256 = "0q4jwv1icz8spcjkp0v3bnygi6hq2zmnsgcxkwm8i2bxfxjb8m7y";
   };
 
+  nativeBuildInputs = [ cmake ];
   buildInputs =
-    [ cmake freeglut mesa glfw2 glew libX11 xproto inputproto libXi libXmu ];
+    [ freeglut mesa glfw2 glew libX11 xproto inputproto libXi libXmu ];
 
   postInstall = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix
index 7c3c776e81b0..09c5eeb611ba 100644
--- a/pkgs/development/libraries/chromaprint/default.nix
+++ b/pkgs/development/libraries/chromaprint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "chromaprint-${version}";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchurl {
     url = "http://bitbucket.org/acoustid/chromaprint/downloads/${name}.tar.gz";
-    sha256 = "10dm9cfqb77g12pyjnqaw80860kzdcvskni02ll7afpywq8s15cg";
+    sha256 = "0lln8dh33gslb9cbmd1hcv33pr6jxdwipd8m8gbsyhksiq6r1by3";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
index 722852f12700..a9470ee3f41b 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -4,14 +4,14 @@
 stdenv.mkDerivation rec {
 
   name = "cimg-${version}";
-  version = "1.7.0";
+  version = "1.7.9";
 
   src = fetchurl {
     url = "http://cimg.eu/files/CImg_${version}.zip";
-    sha256 = "06j3n7gvgxzvprqwf56nnca195y38dcbdlszrxyn5p9w9al437zj";
+    sha256 = "07g81jn25y2wksg9ycf9a7f5bfpcdl3xbrkp1xy3czl043a00y7s";
   };
 
-  buildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip ];
 
   builder = ./builder.sh;
 
diff --git a/pkgs/development/libraries/cl/default.nix b/pkgs/development/libraries/cl/default.nix
index 1fa45992aeee..b26327dd7754 100644
--- a/pkgs/development/libraries/cl/default.nix
+++ b/pkgs/development/libraries/cl/default.nix
@@ -1,19 +1,19 @@
-{stdenv, fetchurl, SDL, mesa, rebar, erlang, opencl-headers, ocl-icd }:
+{stdenv, fetchFromGitHub, SDL, mesa, rebar, erlang, opencl-headers, ocl-icd }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.1";
+  version = "1.2.3";
   name = "cl-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/tonyrog/cl/archive/${name}.tar.gz";
-    sha256 = "03jv280h9gqqqkm0mmkjr53srd2mzhvyy1biss77wpjrzq2z12c8";
+  src = fetchFromGitHub {
+    owner = "tonyrog";
+    repo = "cl";
+    rev = "cl-${version}";
+    sha256 = "1dk0k03z0ipxvrnn0kihph135hriw96jpnd31lbq44k6ckh6bm03";
   };
 
   buildInputs = [ erlang rebar opencl-headers ocl-icd ];
-  #propagatedBuildInputs = [ SDL mesa ];
-
+  
   buildPhase = ''
-    sed 's/git/"${version}"/' -i src/cl.app.src
     rebar compile
   '';
 
@@ -25,10 +25,10 @@ stdenv.mkDerivation rec {
     cp -ruv c_src doc ebin include priv src $DIR
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/tonyrog/cl;
     description = "OpenCL binding for Erlang";
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.mit;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/concurrencykit/default.nix b/pkgs/development/libraries/concurrencykit/default.nix
index 3fad256e5728..29ce216cadf1 100644
--- a/pkgs/development/libraries/concurrencykit/default.nix
+++ b/pkgs/development/libraries/concurrencykit/default.nix
@@ -2,22 +2,23 @@
 
 stdenv.mkDerivation rec {
   name    = "concurrencykit-${version}";
-  version = "0.4.5";
+  version = "0.6.0";
 
   src = fetchurl {
     url    = "http://concurrencykit.org/releases/ck-${version}.tar.gz";
-    sha256 = "0mh3z8ibiwidc6qvrv8bx9slgcycxwy06kfngfzfza6nihrymzl9";
+    sha256 = "1pv21p7sjwwmbs2xblpy1lqk53r2i212yrqyjlr5dr3rlv87vqnp";
   };
+  
+  #Deleting this line causes "Unknown option --disable-static"
+  configurePhase = "./configure --prefix=$out";
 
   enableParallelBuilding = true;
 
-  configurePhase = "./configure --prefix=$out";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library of safe, high-performance concurrent data structures";
-    homepage    = "http://concurrencykit.org";
-    license     = stdenv.lib.licenses.bsd2;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    homepage    = http://concurrencykit.org;
+    license     = licenses.bsd2;
+    platforms   = platforms.unix;
+    maintainers = [ maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/libraries/cre2/default.nix b/pkgs/development/libraries/cre2/default.nix
new file mode 100644
index 000000000000..74619cbaaaed
--- /dev/null
+++ b/pkgs/development/libraries/cre2/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, autoreconfHook,
+  libtool, pkgconfig, re2, texinfo }:
+
+stdenv.mkDerivation rec {
+  name = "cre2-${version}";
+  version = "0.3.0";
+    
+  src = fetchFromGitHub {
+    owner = "marcomaggi";
+    repo = "cre2";
+    rev = version;
+    sha256 = "12yrdad87jjqrhbqm02hzsayan2402vf61a9x1b2iabv6d1c1bnj";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    libtool
+    pkgconfig
+  ];
+  buildInputs = [ re2 texinfo ];
+
+  NIX_LDFLAGS="-lre2 -lpthread";
+
+  configureFlags = [
+    "--enable-maintainer-mode"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://marcomaggi.github.io/docs/cre2.html;
+    description = "C Wrapper for RE2";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/dbus/make-session-conf.xsl b/pkgs/development/libraries/dbus/make-session-conf.xsl
index bc73369af944..9544aa13db56 100644
--- a/pkgs/development/libraries/dbus/make-session-conf.xsl
+++ b/pkgs/development/libraries/dbus/make-session-conf.xsl
@@ -18,7 +18,8 @@
 
   <xsl:template match="/busconfig">
     <busconfig>
-      <xsl:copy-of select="child::node()[name() != 'include' and name() != 'standard_session_servicedirs' and name() != 'servicedir' and name() != 'includedir']" />
+      <!-- We leave <standard_session_servicedirs/> because it includes XDG dirs and therefore user Nix profile. -->
+      <xsl:copy-of select="child::node()[name() != 'include' and name() != 'servicedir' and name() != 'includedir']" />
 
       <xsl:for-each select="str:tokenize($serviceDirectories)">
         <servicedir><xsl:value-of select="." />/share/dbus-1/services</servicedir>
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index 8a24445dcca7..fe4e7907c9fe 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -1,45 +1,25 @@
-{ stdenv, fetchurl, cmake, xlibsWrapper }:
+{ stdenv, fetchFromGitHub, cmake, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "18.10";
+  version = "19.4";
   name = "dlib-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/dclib/dlib/${name}.tar.bz2";
-    sha256 = "1g3v13azc29m5r7zqs3x0g731hny6spb66cxnra7f167z31ka3s7";
+  src = fetchFromGitHub {
+    owner = "davisking";
+    repo = "dlib";
+    rev ="v${version}";
+    sha256 = "0zqa36i4s5i7n6284sp22qrhm3k37n9vqmpz068nm02vj9h0a2j4";
   };
 
-  # The supplied CMakeLists.txt does not have any install targets.
-  sources_var = "\$\{sources\}";
-  headers_var = "\$\{hearders\}";
-  preConfigure = ''
-    cat << EOF > CMakeLists.txt
-    cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
-    project(dlib)
-
-    include_directories(./)
-
-    file(GLOB sources ./dlib/all/*.cpp)
-    file(GLOB headers ./dlib/*.h)
-
-    SET(LIBRARY_OUTPUT_PATH ".")
-    add_library(dlib "SHARED" dlib/all/source.cpp ${sources_var} ${headers_var})
-
-    install(TARGETS dlib DESTINATION lib)
-    install(DIRECTORY dlib/ DESTINATION include/dlib FILES_MATCHING PATTERN "*.h")
-    EOF
-  '';   
-
   enableParallelBuilding = true;
-  buildInputs = [ cmake xlibsWrapper ];
-  propagatedBuildInputs = [ xlibsWrapper ];
+  nativeBuildInputs = [ cmake ];
 
   meta = with stdenv.lib; {
     description = "A general purpose cross-platform C++ machine learning library";
     homepage = http://www.dlib.net;
-    license = stdenv.lib.licenses.boost;
+    license = licenses.boost;
     maintainers = with maintainers; [ christopherpoole ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
   };
 }
 
diff --git a/pkgs/development/libraries/drumstick/default.nix b/pkgs/development/libraries/drumstick/default.nix
index 809037bb5edf..7ec72afc2bff 100644
--- a/pkgs/development/libraries/drumstick/default.nix
+++ b/pkgs/development/libraries/drumstick/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "drumstick-${version}";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumstick/${version}/${name}.tar.bz2";
-    sha256 = "0l47gy9yywrc860db5g3wdqg8yc8qdb2lqq6wvw1dfim5j0vbail";
+    sha256 = "13pkfqrav30bbcddgf1imd7jk6lpqbxkz1qv31718pdl446jq7df";
   };
 
   outputs = [ "out" "dev" "man" ];
@@ -28,8 +28,14 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  #Temporarily remove drumstick-piano; Gives segment fault. Submitted ticket
+  postInstall = ''
+    rm $out/bin/drumstick-vpiano
+    '';
+
+  nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [
-    alsaLib cmake doxygen fluidsynth pkgconfig qt5.qtbase qt5.qtsvg
+    alsaLib doxygen fluidsynth qt5.qtbase qt5.qtsvg
   ];
 
   meta = with stdenv.lib; {
@@ -37,6 +43,6 @@ stdenv.mkDerivation rec {
     description = "MIDI libraries for Qt5/C++";
     homepage = http://drumstick.sourceforge.net/;
     license = licenses.gpl2Plus;
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index c38759e0c757..374f52c9cb06 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
 
   postInstall = ''
-    sed -e '/Cflags:/s@''${prefix}@@' -i "$out"/share/pkgconfig/eigen3.pc
+    sed -e '/Cflags:/s@''${prefix}/@@' -i "$out"/share/pkgconfig/eigen3.pc
   '';
   
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/enginepkcs11/default.nix b/pkgs/development/libraries/enginepkcs11/default.nix
deleted file mode 100644
index ff40a110a33e..000000000000
--- a/pkgs/development/libraries/enginepkcs11/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{stdenv, fetchurl, libp11, pkgconfig, openssl}:
-
-stdenv.mkDerivation rec {
-  name = "engine_pkcs11-0.1.8";
-  
-  src = fetchurl {
-    urls = [
-      "http://www.opensc-project.org/files/engine_pkcs11/${name}.tar.gz"
-      "http://www.openadk.org/distfiles/${name}.tar.gz"
-    ];
-    sha256 = "1rd20rxy12rfx3kwwvk5sqvc1ll87z60rqak1ksfwbf4wx0pwzfy";
-  };
-  
-  buildInputs = [ libp11 pkgconfig openssl ];
-
-  meta = {
-    homepage = http://www.opensc-project.org/engine_pkcs11/;
-    license = stdenv.lib.licenses.bsdOriginal;
-    description = "Engine for OpenSSL to use smart cards in PKCS#11 format";
-  };
-}
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
index e7a3bd495132..1453db8563f5 100644
--- a/pkgs/development/libraries/exempi/default.nix
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, expat, zlib, boost }:
 
 stdenv.mkDerivation rec {
-  name = "exempi-2.2.2";
+  name = "exempi-2.4.2";
 
   src = fetchurl {
     url = "http://libopenraw.freedesktop.org/download/${name}.tar.bz2";
-    sha256 = "01vcd1mfn2s0iiq2cjyzgvnxx6kcq9cwra1iipijhs0vwvjx0yhf";
+    sha256 = "1v665fc7x0yi7x6lzskvd8bd2anf7951svn2vd5384dblmgv43av";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/exosip/default.nix b/pkgs/development/libraries/exosip/default.nix
index 9cf49b3c2c09..a5dba0c94f12 100644
--- a/pkgs/development/libraries/exosip/default.nix
+++ b/pkgs/development/libraries/exosip/default.nix
@@ -1,18 +1,20 @@
 {stdenv, fetchurl, libosip, openssl, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.0";
-  src = fetchurl {
+ name = "libexosip2-${version}";
+ version = "4.1.0";
+ 
+ src = fetchurl {
     url = "mirror://savannah/exosip/libeXosip2-${version}.tar.gz";
-    sha256 = "1rdjr3x7s992w004cqf4xji1522an9rpzsr9wvyhp685khmahrsj";
+    sha256 = "17cna8kpc8nk1si419vgr6r42k2lda0rdk50vlxrw8rzg0xp2xrw";
   };
-  name = "libexosip2-${version}";
-
+ 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libosip openssl pkgconfig ];
       
-  meta = {
-    license = stdenv.lib.licenses.gpl2Plus;
+  meta = with stdenv.lib; {
+    license = licenses.gpl2Plus;
     description = "Library that hides the complexity of using the SIP protocol";
-    platforms = stdenv.lib.platforms.linux;
+    platforms =platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/fcppt/default.nix b/pkgs/development/libraries/fcppt/default.nix
index ac785d65c4ee..c4332df5a3db 100644
--- a/pkgs/development/libraries/fcppt/default.nix
+++ b/pkgs/development/libraries/fcppt/default.nix
@@ -1,21 +1,24 @@
-{ stdenv, fetchgit, cmake, boost }:
+{ stdenv, fetchFromGitHub, cmake, boost }:
 
 stdenv.mkDerivation rec {
-  name = "fcppt-1.3.0";
+  name = "fcppt-${version}";
+  version = "2.5.0";
 
-  src = fetchgit {
-    url = https://github.com/freundlich/fcppt.git;
-    rev = "7787733afc7a6278c0de8c0435b3d312e0c0c851";
-    sha256 = "1vy6nhk6nymbp4yihvw75qn67q9fgmfc518f8dn3h2pq2gfjqrpy";
+  src = fetchFromGitHub {
+    owner = "freundlich";
+    repo = "fcppt";
+    rev = version;
+    sha256 = "0pjldwwxgnzjfd04cy29a9mn2szq4v2mjnw0367kxd141q2iglqi";
   };
 
-  buildInputs = [ cmake boost ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost ];
 
   cmakeFlags = [ "-DENABLE_EXAMPLES=false" "-DENABLE_TEST=false" ];
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Freundlich's C++ toolkit";
     longDescription = ''
       Freundlich's C++ Toolkit (fcppt) is a collection of libraries focusing on
@@ -25,8 +28,8 @@ stdenv.mkDerivation rec {
       C++11).
     '';
     homepage = http://fcppt.org;
-    license = stdenv.lib.licenses.boost;
-    maintainers = with stdenv.lib.maintainers; [ pmiddend ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.boost;
+    maintainers = with maintainers; [ pmiddend ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/ffmpegthumbnailer/default.nix b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
index df1c532f6330..c6167252866a 100644
--- a/pkgs/development/libraries/ffmpegthumbnailer/default.nix
+++ b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
@@ -1,16 +1,19 @@
-{ pkgs, fetchurl, stdenv, ffmpeg, cmake, libpng, pkgconfig
+{ pkgs, fetchFromGitHub, stdenv, ffmpeg, cmake, libpng, pkgconfig
 }:
 
 stdenv.mkDerivation rec {
   name = "ffmpegthumbnailer-${version}";
-  version = "2.0.10";
+  version = "2.2.0";
 
-  src = fetchurl {
-    url = "https://github.com/dirkvdb/ffmpegthumbnailer/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "0q7ws7ysw2rwr6ja8rhdjcc7x1hrlga7n514wi4lhw1yma32q0m3";
+  src = fetchFromGitHub {
+    owner = "dirkvdb";
+    repo = "ffmpegthumbnailer";
+    rev = version;
+    sha256 = "0kl8aa547icy9b05njps02a8sw4yn4f8fzs228kig247sn09s4cp";
   };
 
-  buildInputs = [ ffmpeg cmake libpng pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ ffmpeg libpng ];
 
   meta = with stdenv.lib;  {
     homepage = https://github.com/dirkvdb/ffmpegthumbnailer;
diff --git a/pkgs/development/libraries/ffms/default.nix b/pkgs/development/libraries/ffms/default.nix
index 3fc3f37d2aad..5aa62a638fe8 100644
--- a/pkgs/development/libraries/ffms/default.nix
+++ b/pkgs/development/libraries/ffms/default.nix
@@ -1,23 +1,26 @@
-{ stdenv, fetchurl, zlib, ffmpeg, pkgconfig }:
+{ stdenv, fetchFromGitHub, zlib, ffmpeg, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "ffms-2.21";
+  name = "ffms-${version}";
+  version = "2.22";
 
-  src = fetchurl {
-    url = https://codeload.github.com/FFMS/ffms2/tar.gz/2.21;
-    name = "${name}.tar.gz";
-    sha256 = "00h2a5yhvr1qzbrzwbjv1ybxrx25lchgral6yxv36aaf4pi3rhn2";
+  src = fetchFromGitHub {
+    owner = "FFMS";
+    repo = "ffms2";
+    rev = version;
+    sha256 = "1ywcx1f3q533qfrbck5qhik3l617qhm062l8zixv02gnla7w6rkm";
   };
 
   NIX_CFLAGS_COMPILE = "-fPIC";
 
-  buildInputs = [ zlib ffmpeg pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ zlib ffmpeg ];
 
-  meta = {
-    homepage = http://code.google.com/p/ffmpegsource/;
+  meta = with stdenv.lib; {
+    homepage = http://github.com/FFMS/ffms2/;
     description = "Libav/ffmpeg based source library for easy frame accurate access";
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    platforms = with stdenv.lib.platforms; unix;
+    license = licenses.mit;
+    maintainers = with maintainers; [ fuuzetsu ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/filter-audio/default.nix b/pkgs/development/libraries/filter-audio/default.nix
index 989d9518a0eb..3faba45714a0 100644
--- a/pkgs/development/libraries/filter-audio/default.nix
+++ b/pkgs/development/libraries/filter-audio/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "filter-audio-20150624";
+  name = "filter-audio-${version}";
+  version = "0.0.1";
 
-  src = fetchgit {
-    url = "https://github.com/irungentoo/filter_audio.git";
-    rev = "612c5a102550c614e4c8f859e753ea64c0b7250c";
-    sha256 = "0bmf8dxnr4vb6y36lvlwqd5x68r4cbsd625kbw3pypm5yqp0n5na";
+  src = fetchFromGitHub {
+    owner = "irungentoo";
+    repo ="filter_audio";
+    rev = "v${version}";
+    sha256 = "1dv4pram317c1w97cjsv9f6r8cdxhgri7ib0v364z08pk7r2avfn";
   };
 
   doCheck = false;
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 173e6411182d..9805bc17c443 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -6,12 +6,12 @@
  }:
 
 composableDerivation.composableDerivation {} (fixed: rec {
-  version = "2.1.1";
+  version = "2.1.3";
   name = "gdal-${version}";
 
   src = fetchurl {
     url = "http://download.osgeo.org/gdal/${version}/${name}.tar.gz";
-    sha256 = "55fc6ffbe76e9d2e7e6cf637010e5d4bba6a966d065f40194ff798544198236b";
+    sha256 = "0jh7filpf5dk5iz5acj7y3y49ihnzqypxckdlj0sjigbqq6hlsmf";
   };
 
   buildInputs = [ unzip libjpeg libtiff libpng proj openssl ]
diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix
index ee7b12de5027..5d683de404d9 100644
--- a/pkgs/development/libraries/gecode/default.nix
+++ b/pkgs/development/libraries/gecode/default.nix
@@ -2,13 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "gecode-${version}";
-  version = "4.4.0";
+  version = "5.0.0";
 
   src = fetchurl {
     url = "http://www.gecode.org/download/${name}.tar.gz";
-    sha256 = "0akqjzy6pd229mn0lhpdbyc4wbazhprkd5ijqs99z68bj3b9h0s3";
+    sha256 = "0yz7m4msp7g2jzsn216q74d9n7rv6qh8abcv0jdc1n7y2nhjzzzl";
   };
 
+  enableParallelBuilding = true;
   buildInputs = [ perl ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/geis/default.nix b/pkgs/development/libraries/geis/default.nix
index e8f4001c1b59..5a7bff7459e3 100644
--- a/pkgs/development/libraries/geis/default.nix
+++ b/pkgs/development/libraries/geis/default.nix
@@ -16,11 +16,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "geis-${version}";
-  version = "2.2.16";
+  version = "2.2.17";
 
   src = fetchurl {
     url = "https://launchpad.net/geis/trunk/${version}/+download/${name}.tar.xz";
-    sha256 = "40a694092c79f325a2fbf8a9f301177bc91c364f4e637c2aa8963ad2a5aabbcf";
+    sha256 = "1svhbjibm448ybq6gnjjzj0ak42srhihssafj0w402aj71lgaq4a";
   };
 
   NIX_CFLAGS_COMPILE = "-Wno-error=pedantic";
diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix
index 12460f4f2d29..9ce47ec2f1a2 100644
--- a/pkgs/development/libraries/gloox/default.nix
+++ b/pkgs/development/libraries/gloox/default.nix
@@ -8,27 +8,29 @@ assert zlibSupport -> zlib != null;
 assert sslSupport -> openssl != null;
 assert idnSupport -> libidn != null;
 
+with stdenv.lib;
+
 let
-  version = "1.0.14";
+  version = "1.0.20";
 in
 stdenv.mkDerivation rec {
   name = "gloox-${version}";
 
   src = fetchurl {
     url = "http://camaya.net/download/gloox-${version}.tar.bz2";
-    sha256 = "0h9r4382qv0vqc91x1qz1nivxw1r2l874s1kl0bskzm9dyk742sj";
+    sha256 = "1a6yhs42wcdm8az3983m3lx4d9296bw0amz5v3b4012g1xn0hhq2";
   };
 
   buildInputs = [ ]
-    ++ stdenv.lib.optional zlibSupport zlib
-    ++ stdenv.lib.optional sslSupport openssl
-    ++ stdenv.lib.optional idnSupport libidn;
+    ++ optional zlibSupport zlib
+    ++ optional sslSupport openssl
+    ++ optional idnSupport libidn;
 
   meta = {
     description = "A portable high-level Jabber/XMPP library for C++";
-    homepage = "http://camaya.net/gloox";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    platforms = with stdenv.lib.platforms; unix;
+    homepage = http://camaya.net/gloox;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fuuzetsu ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gmm/default.nix b/pkgs/development/libraries/gmm/default.nix
index 47345e2a22c7..7f8a2276ef25 100644
--- a/pkgs/development/libraries/gmm/default.nix
+++ b/pkgs/development/libraries/gmm/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "gmm-4.3";
+stdenv.mkDerivation rec {
+  name = "gmm-${version}";
+  version = "5.1";
 
   src = fetchurl {
-    url = http://download.gna.org/getfem/stable/gmm-4.3.tar.gz;
-    sha256 = "0wpp3k73wd3rblsrwxl6djq6m11fx3q5wgw0pl41m9liswsw6din";
+    url ="http://download.gna.org/getfem/stable/${name}.tar.gz";
+    sha256 = "0di68vdn34kznf96rnwrpb3bbm3ahaczwxd306s9dx41kcqbzrlh";
   };
 
-  meta = { 
+  meta = with stdenv.lib; {
     description = "Generic C++ template library for sparse, dense and skyline matrices";
     homepage = http://home.gna.org/getfem/gmm_intro.html;
-    license = stdenv.lib.licenses.lgpl21Plus;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl21Plus;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gnutls/3.5.nix b/pkgs/development/libraries/gnutls/3.5.nix
index 8bb1a2d97f76..a1eab1a84c11 100644
--- a/pkgs/development/libraries/gnutls/3.5.nix
+++ b/pkgs/development/libraries/gnutls/3.5.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, libunistring, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.5.9";
+  version = "3.5.10";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-${version}.tar.xz";
-    sha256 = "0l9971841jsfdcvcyhas17sk5rsby6x5vvwcmmj4x3zi9q60zcc2";
+    sha256 = "17apwvdkkazh5w8z8mbanpj2yj8s2002qwy46wz4v3akpa33wi5g";
   };
 })
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index cf298baf48a3..3aef10df33ed 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -1,6 +1,6 @@
 { lib, fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
 , guileBindings, guile, perl, gmp, autogen, libidn, p11_kit, unbound, libiconv
-, tpmSupport ? false, trousers, nettools, libunistring
+, tpmSupport ? false, trousers, which, nettools, libunistring
 
 # Version dependent args
 , version, src, patches ? [], postPatch ? "", nativeBuildInputs ? []
@@ -38,14 +38,14 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   buildInputs = [ lzo lzip libtasn1 libidn p11_kit zlib gmp autogen libunistring ]
-    ++ lib.optional doCheck nettools
     ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
     ++ [ unbound ]
     ++ lib.optional guileBindings guile
     ++ buildInputs;
 
-  nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs;
+  nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs
+    ++ lib.optionals doCheck [ which nettools ];
 
   propagatedBuildInputs = [ nettle ];
 
diff --git a/pkgs/development/libraries/google-gflags/default.nix b/pkgs/development/libraries/google-gflags/default.nix
index 1423a5a9efcf..0f089d16eadd 100644
--- a/pkgs/development/libraries/google-gflags/default.nix
+++ b/pkgs/development/libraries/google-gflags/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "google-gflags-${version}";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "gflags";
     repo = "gflags";
     rev = "v${version}";
-    sha256 = "0qxvr9cyxq3px60jglkm94pq5bil8dkjjdb99l3ypqcds7iypx9w";
+    sha256 = "1y5808ky8qhjwv1nf134czz0h2p2faqvjhxa9zxf8mg8hn4ns9wp";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,17 +21,16 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A C++ library that implements commandline flags processing";
     longDescription = ''
       The gflags package contains a C++ library that implements commandline flags processing.
       As such it's a replacement for getopt().
       It was owned by Google. google-gflags project has been renamed to gflags and maintained by new community.
     '';
-    homepage = https://code.google.com/p/gflags/;
-    license = stdenv.lib.licenses.bsd3;
-
-    maintainers = [ stdenv.lib.maintainers.linquize ];
-    platforms = stdenv.lib.platforms.all;
+    homepage = https://gflags.github.io/gflags/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.linquize ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/development/libraries/granite/default.nix
index 4d011ddd4638..ee453963376f 100644
--- a/pkgs/development/libraries/granite/default.nix
+++ b/pkgs/development/libraries/granite/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, perl, cmake, vala_0_23, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
+{ stdenv, fetchurl, perl, cmake, vala, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
 
 stdenv.mkDerivation rec {
-  majorVersion = "0.3";
-  minorVersion = "0";
+  majorVersion = "0.4";
+  minorVersion = "0.1";
   name = "granite-${majorVersion}.${minorVersion}";
   src = fetchurl {
-    url = "https://code.launchpad.net/granite/${majorVersion}/${majorVersion}/+download/${name}.tar.gz";
-    sha256 = "1laa109dz7kbd8zxddqw2p1b67yzva7cc5h3smqkj8a9jzbhv5fz";
+    url = "https://launchpad.net/granite/${majorVersion}/${majorVersion}.${minorVersion}/+download/${name}.tar.xz";
+    sha256 = "1pf4jkz3xyn1sqv70063im80ayb5kdsqwqwx11dc7vgypsl458cm";
   };
   cmakeFlags = "-DINTROSPECTION_GIRDIR=share/gir-1.0/ -DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0";
-  buildInputs = [perl cmake vala_0_23 pkgconfig gobjectIntrospection glib gtk3 gnome3.libgee gettext];
+  buildInputs = [perl cmake vala pkgconfig gobjectIntrospection glib gtk3 gnome3.libgee gettext];
   meta = {
     description = "An extension to GTK+ used by elementary OS";
     longDescription = "An extension to GTK+ that provides several useful widgets and classes to ease application development. Designed for elementary OS.";
diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix
index 1a8cb233b77a..55e20065732c 100644
--- a/pkgs/development/libraries/gssdp/default.nix
+++ b/pkgs/development/libraries/gssdp/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchurl, pkgconfig, libsoup, glib }:
 
-stdenv.mkDerivation {
-  name = "gssdp-0.14.11";
+stdenv.mkDerivation rec {
+  name = "gssdp-${version}";
+  version = "1.0.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gssdp/0.14/gssdp-0.14.11.tar.xz;
-    sha256 = "0njkqr2y7c6linnw4wkc4y2vq5dfkpryqcinbzn0pzhr46psxxbv";
+    url = "mirror://gnome/sources/gssdp/1.0/${name}.tar.xz";
+    sha256 = "1qfj4gir1qf6v86z70ryzmjb75ns30q6zi5p89vhd3621gs6f7b0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libsoup ];
   propagatedBuildInputs = [ glib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GObject-based API for handling resource discovery and announcement over SSDP";
     homepage = http://www.gupnp.org/;
-    license = stdenv.lib.licenses.lgpl2;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.lgpl2;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
index 1b28477f1e0c..c6cc51b1e1f8 100644
--- a/pkgs/development/libraries/gtkspell/3.nix
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -2,21 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "gtkspell-${version}";
-  version = "3.0.8";
+  version = "3.0.9";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gtkspell/gtkspell3-${version}.tar.gz";
-    sha256 = "1zrz5pz4ryvcssk898liynmy2wyxgj95ak7mp2jv7x62yzihq6h1";
+    url = "mirror://sourceforge/gtkspell/gtkspell3-${version}.tar.xz";
+    sha256 = "09jdicmpipmj4v84gnkqwbmj4lh8v0i6pn967rb9jx4zg2ia9x54";
   };
 
-  buildInputs = [ aspell pkgconfig gtk3 enchant intltool ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+  buildInputs = [ aspell gtk3 enchant ];
   propagatedBuildInputs = [ enchant ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://gtkspell.sourceforge.net/";
     description = "Word-processor-style highlighting GtkTextView widget";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/htmlcxx/default.nix b/pkgs/development/libraries/htmlcxx/default.nix
index 6557d8f80410..1537f9cc480b 100644
--- a/pkgs/development/libraries/htmlcxx/default.nix
+++ b/pkgs/development/libraries/htmlcxx/default.nix
@@ -2,19 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "htmlcxx-${version}";
-  version = "0.85";
+  version = "0.86";
 
   src = fetchurl {
     url = "mirror://sourceforge/htmlcxx/htmlcxx/${version}/${name}.tar.gz";
-    sha256 = "1rdsjrcjkf7mi3182lq4v5wn2wncw0ziczagaqnzi0nwmp2a00mb";
+    sha256 = "1hgmyiad3qgbpf2dvv2jygzj6jpz4dl3n8ds4nql68a4l9g2nm07";
   };
 
   patches = [ ./ptrdiff.patch ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://htmlcxx.sourceforge.net/;
-    description = "htmlcxx is a simple non-validating css1 and html parser for C++";
-    license = stdenv.lib.licenses.lgpl2;
-    platforms = stdenv.lib.platforms.linux;
+    description = "A simple non-validating css1 and html parser for C++";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 5d07cfe3a2bb..e1acacc328cc 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -1,12 +1,14 @@
 { stdenv, fetchurl, pkgconfig, cairo, expat, ncurses, libX11
 , pciutils, numactl }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
-  name = "hwloc-1.11.2";
+  name = "hwloc-1.11.6";
 
   src = fetchurl {
     url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
-    sha1 = "3d68de060808f04349538be4e63cde501cd53b0a";
+    sha256 = "1yl7dm2qplwmnidd712zy12qfvxk28k8ccs694n42ybwdjwzg1bn";
   };
 
   # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
@@ -16,17 +18,17 @@ stdenv.mkDerivation rec {
   # derivation and set optional dependencies to `null'.
   buildInputs = stdenv.lib.filter (x: x != null)
    ([ expat ncurses ]
-     ++  (stdenv.lib.optionals (!stdenv.isCygwin) [ cairo libX11 ])
-     ++  (stdenv.lib.optionals stdenv.isLinux [ numactl ]));
+     ++  (optionals (!stdenv.isCygwin) [ cairo libX11 ])
+     ++  (optionals stdenv.isLinux [ numactl ]));
 
   propagatedBuildInputs =
     # Since `libpci' appears in `hwloc.pc', it must be propagated.
-    stdenv.lib.optional stdenv.isLinux pciutils;
+    optional stdenv.isLinux pciutils;
 
   enableParallelBuilding = true;
 
   postInstall =
-    stdenv.lib.optionalString (stdenv.isLinux && numactl != null)
+    optionalString (stdenv.isLinux && numactl != null)
       '' if [ -d "${numactl}/lib64" ]
          then
              numalibdir="${numactl}/lib64"
@@ -43,9 +45,8 @@ stdenv.mkDerivation rec {
   # fail on some build machines.
   doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Portable abstraction of hierarchical architectures for high-performance computing";
-
     longDescription = ''
        hwloc provides a portable abstraction (across OS,
        versions, architectures, ...) of the hierarchical topology of
@@ -64,9 +65,7 @@ stdenv.mkDerivation rec {
 
     # http://www.open-mpi.org/projects/hwloc/license.php
     license = licenses.bsd3;
-
     homepage = http://www.open-mpi.org/projects/hwloc/;
-
     maintainers = [ ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/icu/57.nix b/pkgs/development/libraries/icu/57.nix
deleted file mode 100644
index fbd5f512aee7..000000000000
--- a/pkgs/development/libraries/icu/57.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, fixDarwinDylibNames }:
-
-let
-  pname = "icu4c";
-  version = "57.1";
-in
-stdenv.mkDerivation ({
-  name = pname + "-" + version;
-
-  src = fetchurl {
-    url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
-      + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
-    sha256 = "10cmkqigxh9f73y7q3p991q6j8pph0mrydgj11w1x6wlcp5ng37z";
-  };
-
-  outputs = [ "out" "dev" ];
-  outputBin = "dev";
-
-  # FIXME: This fixes dylib references in the dylibs themselves, but
-  # not in the programs in $out/bin.
-  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
-
-  postUnpack = ''
-    sourceRoot=''${sourceRoot}/source
-    echo Source root reset to ''${sourceRoot}
-  '';
-
-  # This pre/postPatch shenanigans is to handle that the patches expect
-  # to be outside of `source`.
-  prePatch = ''
-    pushd ..
-  '';
-  postPatch = ''
-    popd
-  '';
-
-  patches = [
-  ];
-
-  preConfigure = ''
-    sed -i -e "s|/bin/sh|${stdenv.shell}|" configure
-  '';
-
-  configureFlags = "--disable-debug" +
-    stdenv.lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) " --enable-rpath";
-
-  # remove dependency on bootstrap-tools in early stdenv build
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
-  '';
-
-  postFixup = ''moveToOutput lib/icu "$dev" '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "Unicode and globalization support library";
-    homepage = http://site.icu-project.org/;
-    maintainers = with maintainers; [ raskin urkud ];
-    platforms = platforms.all;
-  };
-} // (if stdenv.isArm then {
-  patches = [ ./0001-Disable-LDFLAGSICUDT-for-Linux.patch ];
-} else {}))
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index 1508f05db8b6..ea0919caa31f 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -3,6 +3,14 @@
 let
   pname = "icu4c";
   version = "58.2";
+
+  # this patch should no longer be needed in 58.3
+  # https://bugs.gentoo.org/show_bug.cgi?id=599142#c14
+  keywordFix = fetchurl {
+    url = "http://bugs.icu-project.org/trac/changeset/39484?format=diff";
+    name = "icu-changeset-39484.diff";
+    sha256 = "0hxhpgydalyxacaaxlmaddc1sjwh65rsnpmg0j414mnblq74vmm8";
+  };
 in
 stdenv.mkDerivation ({
   name = pname + "-" + version;
@@ -32,6 +40,7 @@ stdenv.mkDerivation ({
   '';
   postPatch = ''
     popd
+    patch -p4 < ${keywordFix}
   '';
 
   patches = [
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 9477aca59733..ed742888a0ef 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -1,24 +1,24 @@
-{stdenv, fetchurl, gettext, python, xz}:
+{stdenv, fetchurl, gettext, python3, xz}:
 
 stdenv.mkDerivation rec {
-  name = "iso-codes-3.56";
+  name = "iso-codes-3.74";
+
   src = fetchurl {
     url = "http://pkg-isocodes.alioth.debian.org/downloads/${name}.tar.xz";
-    sha256 = "0vnfygd03jg21i7r238n450wy2hp354f3ank0v3k34zchbjydl2m";
+    sha256 = "1vkaxkcx8h8lbg3z3jjfjs1x1rz1l01j6ll46ysza2gym37g7x11";
   };
   patchPhase = ''
     for i in `find . -name \*.py`
     do
-        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
+        sed -i -e "s|#!/usr/bin/env python|#!${python3}/bin/python|" $i
     done
   '';
-  buildInputs = [ gettext ];
-  nativeBuildInputs = [ xz ];
+  buildInputs = [ gettext python3 ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://pkg-isocodes.alioth.debian.org/;
     description = "Various ISO codes packaged as XML files";
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = [ maintainers.urkud ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index ae1f9996b78a..7e3220d8a37c 100644
--- a/pkgs/development/libraries/itk/default.nix
+++ b/pkgs/development/libraries/itk/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, libX11, libuuid, xz}:
+{ stdenv, fetchurl, cmake, libX11, libuuid, xz, vtk }:
 
 stdenv.mkDerivation rec {
   name = "itk-4.10.0";
@@ -12,18 +12,21 @@ stdenv.mkDerivation rec {
     "-DBUILD_TESTING=OFF"
     "-DBUILD_EXAMPLES=OFF"
     "-DBUILD_SHARED_LIBS=ON"
+    "-DModule_ITKIOMINC=ON"
+    "-DModule_ITKVtkGlue=ON"
+    "-DModule_ITKReview=ON"
   ];
 
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ cmake xz ];
-  buildInputs = [ libX11 libuuid ];
+  buildInputs = [ libX11 libuuid vtk ];
 
   meta = {
     description = "Insight Segmentation and Registration Toolkit";
     homepage = http://www.itk.org/;
     license = stdenv.lib.licenses.asl20;
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/development/libraries/jemalloc/default.nix
index 84638bc01ea6..8c8c181409d4 100644
--- a/pkgs/development/libraries/jemalloc/default.nix
+++ b/pkgs/development/libraries/jemalloc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jemalloc-${version}";
-  version = "4.3.1";
+  version = "4.5.0";
 
   src = fetchurl {
     url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "12r71i8nm3vwz21fc16rwbb0pwcg5s05n1qg3rwl2s85v0x1ifzp";
+    sha256 = "9409d85664b4f135b77518b0b118c549009dc10f6cba14557d170476611f6780";
   };
 
   # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
   # option should remove the prefix and give us a working jemalloc.
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix=";
 
+  doCheck = true;
+
+
   meta = with stdenv.lib; {
     homepage = http://jemalloc.net;
     description = "General purpose malloc(3) implementation";
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index c35cc5883146..91eb7aecea90 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     patchShebangs doc/doxyparse.pl
   '';
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "man" ];
 
   nativeBuildInputs = [ perl ];
   buildInputs = [ openssl ];
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index c5bf7fd7f982..8b67d52b875e 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -19,13 +19,15 @@ assert withFonts -> freetype != null;
 
 stdenv.mkDerivation rec {
   name = "libbluray-${version}";
-  version  = "0.9.2";
+  version  = "1.0.0";
 
   src = fetchurl {
     url = "http://get.videolan.org/libbluray/${version}/${name}.tar.bz2";
-    sha256 = "1sp71j4agcsg17g6b85cqz78pn5vknl5pl39rvr6mkib5ps99jgg";
+    sha256 = "1k3lag4lxi2jjd3zh4wcb5l3hadzm54j5kagh92yzfy76p9svqzp";
   };
 
+  patches = optional withJava ./BDJ-JARFILE-path.patch;
+
   nativeBuildInputs = [ pkgconfig autoreconfHook ]
                       ++ optionals withJava [ ant ]
                       ;
@@ -36,12 +38,15 @@ stdenv.mkDerivation rec {
                 ++ optional withFonts freetype
                 ;
 
-  propagatedBuildInputs = stdenv.lib.optional withAACS libaacs;
+  propagatedBuildInputs = optional withAACS libaacs;
+
+  NIX_LDFLAGS = [
+    (optionalString withAACS   "-L${libaacs}/lib -laacs")
+    (optionalString withBDplus "-L${libbdplus}/lib -lbdplus")
+  ];
 
   preConfigure = ''
     ${optionalString withJava ''export JDK_HOME="${jdk.home}"''}
-    ${optionalString withAACS ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${libaacs}/lib -laacs"''}
-    ${optionalString withBDplus ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${libbdplus}/lib -lbdplus"''}
   '';
 
   configureFlags =  with stdenv.lib;
@@ -50,14 +55,11 @@ stdenv.mkDerivation rec {
                  ++ optional (! withFonts) "--without-freetype"
                  ;
 
-  # Fix search path for BDJ jarfile
-  patches = stdenv.lib.optional withJava ./BDJ-JARFILE-path.patch;
-
   meta = with stdenv.lib; {
-    homepage = "http://www.videolan.org/developers/libbluray.html";
+    homepage = http://www.videolan.org/developers/libbluray.html;
     description = "Library to access Blu-Ray disks for video playback";
     license = licenses.lgpl21;
-    maintainers = [ maintainers.abbradar ];
+    maintainers = with maintainers; [ abbradar ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libbson/default.nix b/pkgs/development/libraries/libbson/default.nix
index 6d64df88d3f1..02e4529b759e 100644
--- a/pkgs/development/libraries/libbson/default.nix
+++ b/pkgs/development/libraries/libbson/default.nix
@@ -1,18 +1,18 @@
-{ autoconf, automake114x, fetchzip, libtool, perl, stdenv, which }:
-
-let
-  version = "1.1.10";
-in
+{ fetchFromGitHub, perl, stdenv, cmake }:
 
 stdenv.mkDerivation rec {
   name = "libbson-${version}";
+  version = "1.6.1";
 
-  src = fetchzip {
-    url = "https://github.com/mongodb/libbson/releases/download/${version}/libbson-${version}.tar.gz";
-    sha256 = "0zzca7zqvxf89fq7ji9626q8nnqyyh0dnmbk4xijzr9sq485xz0s";
+  src = fetchFromGitHub {
+    owner = "mongodb";
+    repo = "libbson";
+    rev = version;
+    sha256 = "1ilxbv4yjgf0vfzaa8lzn40hv5x1737ny2g2q1wmm8bl39m0viiw";
   };
 
-  buildInputs = [ autoconf automake114x libtool perl which ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ perl ];
 
   meta = with stdenv.lib; {
     description = "A C Library for parsing, editing, and creating BSON documents";
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index 2784cd90a5c6..24ec3d74d36f 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -1,21 +1,28 @@
-{ stdenv, fetchurl, cmake, pkgconfig, libevent, openssl}:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, libevent, openssl}:
 
-stdenv.mkDerivation {
-  name = "libcouchbase-2.5.2";
-  src = fetchurl {
-    url = "https://github.com/couchbase/libcouchbase/archive/2.5.2.tar.gz";
-    sha256 = "0ka1hix38a2kdhxz6n8frssyznf78ra0irga9d8lr5683y73xw24";
+stdenv.mkDerivation rec {
+  name = "libcouchbase-${version}";
+  version = "2.7.2";
+
+  src = fetchFromGitHub {
+    owner = "couchbase";
+    repo ="libcouchbase";
+    rev = version;
+    sha256 = "1182r9z3cykkgx1vn36l0a50wvh5mr3yj89x0ynyjhfi3iwalrar";
   };
 
   cmakeFlags = "-DLCB_NO_MOCK=ON";
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ libevent openssl];
+  buildInputs = [ libevent openssl ];
+
+  doCheck = true;
+  checkPhase = "ctest";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "C client library for Couchbase";
     homepage = "https://github.com/couchbase/libcouchbase";
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.asl20;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libdap/default.nix b/pkgs/development/libraries/libdap/default.nix
index 2e76c510bdda..e20b1c95a199 100644
--- a/pkgs/development/libraries/libdap/default.nix
+++ b/pkgs/development/libraries/libdap/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchurl, bison, libuuid, curl, libxml2, flex }:
 
 stdenv.mkDerivation rec {
-  version = "3.15.1";
+  version = "3.18.3";
   name = "libdap-${version}";
 
-  buildInputs = [ bison libuuid curl libxml2 flex ];
+  nativeBuildInputs = [ bison flex ];
+  buildInputs = [ libuuid curl libxml2 ];
 
   src = fetchurl {
     url = "http://www.opendap.org/pub/source/${name}.tar.gz";
-    sha256 = "6ee13cc69ae0b5e7552ddfd17013ebb385859bba66f42a2cfba3b3be7aa4ef0f";
+    sha256 = "0azjf4gjqvp1fdf1wb3s98x52zfy4viq1m3j9lggaidldfinmv8c";
   };
 
-  meta = { 
+  meta = with stdenv.lib; {
     description = "A C++ SDK which contains an implementation of DAP";
     homepage = http://www.opendap.org/download/libdap;
-    license = stdenv.lib.licenses.lgpl2;
-    maintainers = [ stdenv.lib.maintainers.bzizou ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.bzizou ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libdc1394/default.nix b/pkgs/development/libraries/libdc1394/default.nix
index c96a2b7f051a..c1d11ce87ee5 100644
--- a/pkgs/development/libraries/libdc1394/default.nix
+++ b/pkgs/development/libraries/libdc1394/default.nix
@@ -1,24 +1,24 @@
-{ stdenv, fetchurl, libraw1394, libusb1
-, CoreServices
-}:
+{ stdenv, fetchurl, libraw1394,
+libusb1, CoreServices }:
 
 stdenv.mkDerivation rec {
-  name = "libdc1394-2.2.3";
+  name = "libdc1394-${version}";
+  version = "2.2.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/libdc1394/${name}.tar.gz";
-    sha256 = "1p9b4ciy97s04gmp7656cybr1zfd79hlw0ffhfb52m3zcn07h6aa";
+    sha256 = "0drk4sqvaym9glaraia25mj60rmwqbhy4j9h3x7gqpzfib8ch31m";
   };
 
   buildInputs = [ libusb1 ]
     ++ stdenv.lib.optional stdenv.isLinux libraw1394
     ++ stdenv.lib.optional stdenv.isDarwin CoreServices;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://sourceforge.net/projects/libdc1394/;
     description = "Capture and control API for IIDC compliant cameras";
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.viric ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libdiscid/default.nix b/pkgs/development/libraries/libdiscid/default.nix
index d0122d0283c5..c5da3816c41c 100644
--- a/pkgs/development/libraries/libdiscid/default.nix
+++ b/pkgs/development/libraries/libdiscid/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "libdiscid-0.6.1";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake ];
+  name = "libdiscid-${version}";
+  version = "0.6.2";
 
+  nativeBuildInputs = [ cmake pkgconfig ];
+  
   src = fetchurl {
     url = "http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/${name}.tar.gz";
-    sha256 = "1mbd5y9056638cffpfwc6772xwrsk18prv1djsr6jpfim38jpsxc";
+    sha256 = "1f9irlj3dpb5gyfdnb1m4skbjvx4d4hwiz2152f83m0d9jn47r7r";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index 3ff40141b164..a91acb230525 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "libevdev-1.4.6";
+  name = "libevdev-1.5.6";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/libevdev/${name}.tar.xz";
-    sha256 = "1lrja526iyg48yw6i0dxdhyj63q9gwbgvj6xk1hskxzrqyhf2akv";
+    url = "https://www.freedesktop.org/software/libevdev/${name}.tar.xz";
+    sha256 = "1256ypz93039n6km4macg158fpmjgylhmcmk20pnklxicsfpxv7c";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index 6f1981d0ece7..0f21180f691c 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -7,11 +7,11 @@ assert gtkSupport -> glib != null && gtk3 != null;
 assert videoSupport -> ffmpeg != null && libmpeg2 != null;
 
 stdenv.mkDerivation rec {
-  name = "libextractor-1.2";
+  name = "libextractor-1.3";
 
   src = fetchurl {
     url = "mirror://gnu/libextractor/${name}.tar.gz";
-    sha256 = "1n7z6s5ils6xmf6b0z1xda41maxj94c1n6wlyyxmacs5lrkh2a96";
+    sha256 = "0zvv7wd011npcx7yphw9bpgivyxz6mlp87a57n96nv85k96dd2l6";
   };
 
   preConfigure =
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 4df326e278cc..d6c0c538a8fe 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libfilezilla-${version}";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchurl {
     url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
-    sha256 = "0340v5xs48f28q2d16ldb9359dkzlhl4l449mgyv3qabnlz2pl21";
+    sha256 = "06ivj40bk5b76a36zwhnwqvg564hgccncnn5nb5cqc7kf4bkkchq";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libfixposix/default.nix b/pkgs/development/libraries/libfixposix/default.nix
index a0b03c4c0057..f56dc60771d6 100644
--- a/pkgs/development/libraries/libfixposix/default.nix
+++ b/pkgs/development/libraries/libfixposix/default.nix
@@ -1,28 +1,23 @@
-{ stdenv, fetchurl, fetchgit, autoreconfHook, libtool }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name="libfixposix-${version}";
-  version="git-${src.rev}";
+  version="0.4.1";
 
-  src = fetchgit {
-    url = "https://github.com/sionescu/libfixposix";
-    rev = "30b75609d858588ea00b427015940351896867e9";
-    sha256 = "17spjz9vbgqllzlkws2abvqi0a71smhi4vgq3913aw0kq206mfxz";
+  src = fetchFromGitHub {
+    owner = "sionescu";
+    repo = "libfixposix";
+    rev = "v${version}";
+    sha256 = "19wjb43mn16f4lin5a2dfi3ym2hy7kqibs0z631d205b16vxas15";
   };
 
-  buildInputs = [ autoreconfHook libtool ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   meta = with stdenv.lib; {
-    description = "A set of workarounds for places in POSIX that get implemented differently";
-    maintainers = with maintainers;
-    [
-      raskin
-    ];
+    homepage = https://github.com/sionescu/libfixposix;
+    description = "Thin wrapper over POSIX syscalls and some replacement functionality";
+    license = licenses.boost;
+    maintainers = with maintainers; [ orivej raskin ];
     platforms = platforms.linux;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://gitorious.org/libfixposix/libfixposix";
-    };
-  };
 }
diff --git a/pkgs/development/libraries/libhttpseverywhere/default.nix b/pkgs/development/libraries/libhttpseverywhere/default.nix
index cf38f117bb8c..1e60a63fe06b 100644
--- a/pkgs/development/libraries/libhttpseverywhere/default.nix
+++ b/pkgs/development/libraries/libhttpseverywhere/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   major = "0.2";
-  minor = "3";
+  minor = "10";
   version = "${major}.${minor}";
 
   name = "libhttpseverywhere-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libhttpseverywhere/${major}/libhttpseverywhere-${version}.tar.xz";
-    sha256 = "0ndk6yyfcd7iwwkv4rkivhd08k0x8v03gnp9dk1ms4bxb1l2i8l1";
+    sha256 = "235f5b7f96188d800470871774e31696fbde085b63f65bd71434af8e9e6ac8aa";
   };
 
   nativeBuildInputs = [ gnome3.vala valadoc  gobjectIntrospection meson ninja pkgconfig ];
@@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     ninja
-    ninja devhelp
-  '';
+   '';
 
   installPhase = "ninja install";
 
diff --git a/pkgs/development/libraries/libibmad/default.nix b/pkgs/development/libraries/libibmad/default.nix
index fad5c5d73f42..6a8af9ccac6d 100644
--- a/pkgs/development/libraries/libibmad/default.nix
+++ b/pkgs/development/libraries/libibmad/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libibumad }:
 
 stdenv.mkDerivation rec {
-  name = "libibmad-1.3.12";
+  name = "libibmad-1.3.13";
 
   src = fetchurl {
     url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
-    sha256 = "0ywkz0rskci414r6h6jd4iz4qjbj37ga2k91z1mlj9xrnl9bbgzi";
+    sha256 = "02sj8k2jpcbiq8s0l2lqk4vwji2dbb2lc730cv1yzv0zr0hxgk8p";
   };
 
   buildInputs = [ libibumad ];
diff --git a/pkgs/development/libraries/libircclient/default.nix b/pkgs/development/libraries/libircclient/default.nix
index 14e41961e0a6..fef5e7278b81 100644
--- a/pkgs/development/libraries/libircclient/default.nix
+++ b/pkgs/development/libraries/libircclient/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage    = http://www.ulduzsoft.com/libircclient/;
     license     = licenses.lgpl3;
     maintainers = with maintainers; [ obadz ];
-    platforms   = platforms.all;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libmsgpack/generic.nix b/pkgs/development/libraries/libmsgpack/generic.nix
index 72943c098ba1..2da703da4cfd 100644
--- a/pkgs/development/libraries/libmsgpack/generic.nix
+++ b/pkgs/development/libraries/libmsgpack/generic.nix
@@ -8,7 +8,12 @@ stdenv.mkDerivation rec {
 
   inherit src patches;
 
-  buildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ];
+
+  crossAttrs = {
+  } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "msvcrt") {
+    cmakeFlags = "-DMSGPACK_BUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=Windows";
+  };
 
   meta = with stdenv.lib; {
     description = "MessagePack implementation for C and C++";
diff --git a/pkgs/development/libraries/libp11/default.nix b/pkgs/development/libraries/libp11/default.nix
index 91195229d87a..26e754317df0 100644
--- a/pkgs/development/libraries/libp11/default.nix
+++ b/pkgs/development/libraries/libp11/default.nix
@@ -1,21 +1,25 @@
 { stdenv, fetchFromGitHub, autoreconfHook, libtool, openssl, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "libp11-0.2.7";
+  name = "libp11-${version}";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "libp11";
     rev = name;
-    sha256 = "0llw69kcb6nvz7zzkb9nyfyhc2s972q68sqciabqxwxljr09c411";
+    sha256 = "1jnpnwipmw3skw112qff36w046nyz5amiil228rn5divpkvx4axa";
   };
 
+  makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
+
   nativeBuildInputs = [ autoreconfHook pkgconfig libtool ];
   buildInputs = [ openssl ];
 
-  meta = {
-    homepage = http://www.opensc-project.org/libp11/;
-    license = "LGPL";
+  meta = with stdenv.lib; {
+    homepage = https://github.com/OpenSC/libp11;
+    license = licenses.lgpl21Plus;
     description = "Small layer on top of PKCS#11 API to make PKCS#11 implementations easier";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index a086ae890bd0..1575a60ec699 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, fetchurl, getopt }:
-
-let version = "2.3.1"; in
+{ stdenv, fetchurl, getopt, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "libseccomp-${version}";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "0asnlkzqms520r0dra08dzcz5hh6hs7lkajfw9wij3vrd0hxsnzz";
+    sha256 = "3ddc8c037956c0a5ac19664ece4194743f59e1ccd4adde848f4f0dae7f77bca1";
   };
 
-  buildInputs = [ getopt ];
+  buildInputs = [ getopt makeWrapper ];
 
   patchPhase = ''
     patchShebangs .
   '';
 
+  postInstall = ''
+    wrapProgram $out/bin/scmp_sys_resolver --prefix LD_LIBRARY_PATH ":" $out/lib
+  '';
+
   meta = with stdenv.lib; {
     description = "High level library for the Linux Kernel seccomp filter";
-    homepage    = "http://sourceforge.net/projects/libseccomp";
-    license     = licenses.lgpl2;
+    homepage    = "https://github.com/seccomp/libseccomp";
+    license     = licenses.lgpl21;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice wkennington ];
   };
 }
+
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index e0ad21008046..bfe224d28cd6 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libsodium-1.0.11";
+  name = "libsodium-1.0.12";
 
   src = fetchurl {
     url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
-    sha256 = "0rf7z6bgpnf8lyz8sph4h43fbb28pmj4dgybf0hsxxj97kdljid1";
+    sha256 = "159givfh5jgli3cifxgssivkklfyfq6lzyjgrx8h4jx5ncdqyr5q";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index d1f2e633a0c5..9958a65d408b 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libzip-${version}";
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "http://www.nih.at/libzip/${name}.tar.gz";
-    sha256 = "08b26qbfxq6z5xf36y1d8insm5valv83dhj933iag6man04prb2r";
+    sha256 = "17vxj2ffsxwh8lkc6801ppmwj15jp8q58rin76znxfbx88789ybc";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/liquid-dsp/default.nix b/pkgs/development/libraries/liquid-dsp/default.nix
new file mode 100644
index 000000000000..391606d59e68
--- /dev/null
+++ b/pkgs/development/libraries/liquid-dsp/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "liquid-dsp-${version}";
+  version = "20170307";
+
+  src = fetchFromGitHub {
+    owner = "jgaeddert";
+    repo = "liquid-dsp";
+    rev = "8c1978fa4f5662b8849fe712be716958f29cec0e";
+    sha256 = "0zpxvdsrw0vzzp3iaag3wh4z8ygl7fkswgjppp2fz2zhhqh93k2w";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = {
+    homepage = http://liquidsdr.org/;
+    description = "Digital signal processing library for software-defined radios";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/libraries/msilbc/default.nix b/pkgs/development/libraries/msilbc/default.nix
index 1e868b79ce66..c7d65f156b8b 100644
--- a/pkgs/development/libraries/msilbc/default.nix
+++ b/pkgs/development/libraries/msilbc/default.nix
@@ -2,18 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "msilbc-2.0.3";
-  
+
   src = fetchurl {
     url = "mirror://savannah/linphone/plugins/sources/${name}.tar.gz";
     sha256 = "125yadpc0w1q84839dadin3ahs0gxxfas0zmc4c18mjmf58dmm7d";
   };
 
-#  patchPhase = "sed -i /MS_FILTER_SET_FMTP/d ilbc.c";
-
-  propagatedBuildInputs = [ilbc mediastreamer];
+  propagatedBuildInputs = [ ilbc mediastreamer ];
+  nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [pkgconfig];
-  configureFlags = "ILBC_LIBS=ilbc ILBC_CFLAGS=-I${ilbc}/include";
+  configureFlags = [
+    "ILBC_LIBS=ilbc" "ILBC_CFLAGS=-I${ilbc}/include"
+    "MEDIASTREAMER_LIBS=mediastreamer" "MEDIASTREAMER_CFLAGS=-I${mediastreamer}/include"
+  ];
 
   meta = {
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index aee0b3d7116c..5fb9cc36e962 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig
 
 # Optional Dependencies
-, openssl ? null, libev ? null, zlib ? null, libcares ? null
+, openssl ? null, libev ? null, zlib ? null, c-ares ? null
 , enableHpack ? false, jansson ? null
 , enableAsioLib ? false, boost ? null
 , enableGetAssets ? false, libxml2 ? null
@@ -17,18 +17,18 @@ with { inherit (stdenv.lib) optional; };
 
 stdenv.mkDerivation rec {
   name = "nghttp2-${version}";
-  version = "1.19.0";
+  version = "1.20.0";
 
   # Don't use fetchFromGitHub since this needs a bootstrap curl
   src = fetchurl {
     url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
-    sha256 = "477466eee27158d37b4478d9335dd091497cae4d7f2375fc6657beab67db9e7a";
+    sha256 = "fb29d0500b194f11680203aed21aafab241063ec1397cc51ab5cc0957341141b";
   };
 
   outputs = [ "out" "dev" "lib" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl libev zlib libcares ]
+  buildInputs = [ openssl libev zlib c-ares ]
     ++ optional enableHpack jansson
     ++ optional enableAsioLib boost
     ++ optional enableGetAssets libxml2
@@ -36,8 +36,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  configureFlags = [ "--with-spdylay=no" "--disable-examples" "--disable-python-bindings" ]
+    ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib";
+
+  #doCheck = true;  # requires CUnit ; currently failing at test_util_localtime_date in util_test.cc
+
+
   meta = with stdenv.lib; {
-    homepage = http://nghttp2.org/;
+    homepage = https://nghttp2.org/;
     description = "A C implementation of HTTP/2";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 2591a43f1d47..947c0e30f993 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -19,6 +19,7 @@ let
 
     patches =
       (args.patches or [])
+      ++ [ ./nix-ssl-cert-file.patch ]
       ++ optional (versionOlder version "1.1.0") ./use-etc-ssl-certs.patch
       ++ optional stdenv.isCygwin ./1.0.1-cygwin64.patch
       ++ optional
diff --git a/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch b/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch
new file mode 100644
index 000000000000..b615f1482b7c
--- /dev/null
+++ b/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' openssl-1.0.2j-orig/crypto/x509/by_file.c openssl-1.0.2j/crypto/x509/by_file.c
+--- openssl-1.0.2j-orig/crypto/x509/by_file.c	2016-09-26 11:49:07.000000000 +0200
++++ openssl-1.0.2j/crypto/x509/by_file.c	2016-10-13 16:54:31.400288302 +0200
+@@ -97,7 +97,9 @@
+     switch (cmd) {
+     case X509_L_FILE_LOAD:
+         if (argl == X509_FILETYPE_DEFAULT) {
+-            file = (char *)getenv(X509_get_default_cert_file_env());
++            file = (char *)getenv("NIX_SSL_CERT_FILE");
++            if (!file)
++                file = (char *)getenv(X509_get_default_cert_file_env());
+             if (file)
+                 ok = (X509_load_cert_crl_file(ctx, file,
+                                               X509_FILETYPE_PEM) != 0);
diff --git a/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch b/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch
new file mode 100644
index 000000000000..39c1b9c0d290
--- /dev/null
+++ b/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch
@@ -0,0 +1,13 @@
+Index: phonon-gstreamer-4.9.0/gstreamer/backend.cpp
+===================================================================
+--- phonon-gstreamer-4.9.0.orig/gstreamer/backend.cpp
++++ phonon-gstreamer-4.9.0/gstreamer/backend.cpp
+@@ -85,6 +85,8 @@ Backend::Backend(QObject *parent, const
+         "--gst-debug-no-color"
+     };
+ 
++    qputenv("GST_PLUGIN_PATH_1_0", GST_PLUGIN_PATH_1_0);
++
+     int argc = sizeof(args) / sizeof(*args);
+     char **argv = const_cast<char**>(args);
+     GError *err = 0;
diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix
index d8358757094d..e0f24fbc822a 100644
--- a/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix
@@ -29,15 +29,32 @@ stdenv.mkDerivation rec {
     sha256 = "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf";
   };
 
+  # Hardcode paths to useful plugins so the backend doesn't depend
+  # on system paths being set.
+  patches = [ ./gst-plugin-paths.patch ];
+
+  NIX_CFLAGS_COMPILE =
+    let gstPluginPaths =
+          lib.makeSearchPathOutput "lib" "/lib/gstreamer-1.0"
+          (with gst_all_1; [
+            gstreamer
+            gst-plugins-base
+            gst-plugins-good
+            gst-plugins-ugly
+            gst-plugins-bad
+            gst-libav
+          ]);
+    in [
+      # This flag should be picked up through pkgconfig, but it isn't.
+      "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include"
+
+      ''-DGST_PLUGIN_PATH_1_0="${gstPluginPaths}"''
+    ];
+
   buildInputs = with gst_all_1;
     [ gstreamer gst-plugins-base phonon ]
     ++ (if withQt5 then [ qtbase qtx11extras ] else [ qt4 ]);
 
-  NIX_CFLAGS_COMPILE = [
-    # This flag should be picked up through pkgconfig, but it isn't.
-    "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include"
-  ];
-
   # cleanup: the build system creates (empty) $out/$out/share/icons (double prefix)
   # if DESTDIR is unset
   DESTDIR="/";
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
index c4e7689efa29..ea04ca627284 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation {
   patches =
     copyPathsToStore (lib.readPathsFromFile ./. ./series)
     ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
-    ++ lib.optional mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
+    ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
 
   postPatch =
     ''
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index 37b6eb7f3d3c..cc6475d31b64 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -114,9 +114,9 @@ let
       env = callPackage ../qt-env.nix {};
       full = env "qt-${qtbase.version}" [
         qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects
-        qtimageformats qtlocation qtmultimedia qtquickcontrols qtscript
-        qtsensors qtserialport qtsvg qttools qttranslations qtwayland
-        qtwebchannel qtwebengine qtwebsockets qtx11extras qtxmlpatterns
+        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
+        qtscript qtsensors qtserialport qtsvg qttools qttranslations qtwayland
+        qtwebchannel qtwebengine qtwebkit qtwebsockets qtx11extras qtxmlpatterns
       ];
 
       makeQtWrapper =
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
index 60a3896abafb..6f9ec5607122 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     copyPathsToStore (lib.readPathsFromFile ./. ./series)
     ++ [(if stdenv.isDarwin then ./cmake-paths-darwin.patch else ./cmake-paths.patch)]
     ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
-    ++ lib.optional mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
+    ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
 
   postPatch =
     ''
diff --git a/pkgs/development/libraries/qt-5/5.7/default.nix b/pkgs/development/libraries/qt-5/5.7/default.nix
index 85b38c6fc6ce..f387a242101b 100644
--- a/pkgs/development/libraries/qt-5/5.7/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/default.nix
@@ -98,21 +98,22 @@ let
 
       env = callPackage ../qt-env.nix {};
       full = env "qt-${qtbase.version}" [
-        qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
-        qtimageformats qtlocation qtmultimedia qtquickcontrols qtscript
+        qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtimageformats
+        qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript
         qtsensors qtserialport qtsvg qttools qttranslations qtwayland
-        qtwebsockets qtx11extras qtxmlpatterns
+        qtwebchannel qtwebengine qtwebkit qtwebsockets qtx11extras
+        qtxmlpatterns
       ];
 
       makeQtWrapper =
         makeSetupHook
         { deps = [ makeWrapper ]; }
-        ../make-qt-wrapper.sh;
+        (if stdenv.isDarwin then ../make-qt-wrapper-darwin.sh else ../make-qt-wrapper.sh);
 
       qmakeHook =
         makeSetupHook
         { deps = [ self.qtbase.dev ]; }
-        ../qmake-hook.sh;
+        (if stdenv.isDarwin then ../qmake-hook-darwin.sh else ../qmake-hook.sh);
 
     };
 
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch
new file mode 100644
index 000000000000..2fda5ed8cf0c
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch
@@ -0,0 +1,384 @@
+Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
+ endif()
+ !!ENDIF
+ 
+-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
+-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ELSE
+-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
+-# Use original install prefix when loaded through a
+-# cross-prefix symbolic link such as /lib -> /usr/lib.
+-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
+-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
+-if(_realCurr STREQUAL _realOrig)
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
+-else()
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-endif()
+-unset(_realOrig)
+-unset(_realCurr)
+-unset(_IMPORT_PREFIX)
+-!!ENDIF
+-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-!!ELSE
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ENDIF
+-
+ !!IF !equals(TEMPLATE, aux)
+ # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
+ set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
+@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
+     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    if(NOT EXISTS \"${imported_location}\")
++        set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    endif()
+ !!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ENDIF
+@@ -74,45 +53,17 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
+         \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
+     )
+ 
+-!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ELSE
+-    set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ENDIF
+-    _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
+-    if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
+-        set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+-        \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
+-        )
+-    endif()
+-!!ENDIF
+ endmacro()
+ !!ENDIF
+ 
+ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ 
+ !!IF !no_module_headers
+-!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+-    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
+-    )
+-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+-    )
+-!!ELSE
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+-!!ENDIF
+-!!ELSE
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
++    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_OUT@/lib\" \"@NIX_OUT@/lib/$${MODULE_INCNAME}.framework/Headers\")
+ !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
++        \"\"
+     )
+ !!ELSE
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+ !!ENDIF
+ !!ENDIF
+-!!ENDIF
++
+ !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
+     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
+ !!ENDIF
+@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+ 
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_DEBUG_TYPE)
+-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+-    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+-        _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
+-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
++        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+ !!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+ !!ENDIF
+       AND EXISTS
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
++        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ !!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ !!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+ !!ENDIF // CMAKE_DEBUG_TYPE
+ !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
+@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+ !!ENDIF // CMAKE_RELEASE_TYPE
+ 
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
+-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-    _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
+-!!ELSE
+     _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+ 
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_RELEASE_TYPE)
+-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+-    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+-        _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
+-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
++        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+ !!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+ !!ENDIF
+       AND EXISTS
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
++        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+ !!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+ !!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+ !!ENDIF // CMAKE_RELEASE_TYPE
+ !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
+@@ -328,11 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
+-        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ELSE
+-        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ENDIF
++        set(imported_location \"${PLUGIN_LOCATION}\")
+         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+         set_target_properties(Qt5::${Plugin} PROPERTIES
+             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+Index: qtbase-opensource-src-5.7.1/src/gui/Qt5GuiConfigExtras.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/gui/Qt5GuiConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.1/src/gui/Qt5GuiConfigExtras.cmake.in
+@@ -2,7 +2,7 @@
+ !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
+ 
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
++set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ELSE
+ set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ENDIF
+@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert
+     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ENDIF
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
++    set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ELSE
+     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
+     add_executable(Qt5::uic IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
+     add_executable(Qt5::qmake IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
+     add_executable(Qt5::moc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
+     add_executable(Qt5::rcc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ENDIF
+@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/dbus/Qt5DBusConfigExtras.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.1/src/dbus/Qt5DBusConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
+     add_executable(Qt5::qdbuscpp2xml IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
+     add_executable(Qt5::qdbusxml2cpp IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/mkspecs/features/create_cmake.prf
++++ qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
+@@ -136,28 +136,28 @@ contains(CONFIG, plugin) {
+ 
+     win32 {
+         isEmpty(CMAKE_STATIC_TYPE) {
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.dll
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.dll
+         } else:mingw {
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}/$$PLUGIN_TYPE/lib$${TARGET}.a
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a
+         } else {                         # MSVC static
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.lib
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.lib
+         }
+     } else {
+         mac {
+             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
+             else: CMAKE_PlUGIN_EXT = .a
+ 
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+         } else {
+             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
+             else: CMAKE_PlUGIN_EXT = .a
+ 
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+         }
+     }
+     cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
+Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+@@ -2,10 +2,10 @@
+ add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
+ 
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
+ !!ENDIF
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
+ !!ENDIF
+ 
+ list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
index 73df6726f4a7..4bf16004ce51 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
@@ -4,6 +4,7 @@
 
   coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2,
   ruby,
+  darwin, libiconv,
 
   dbus, fontconfig, freetype, glib, gtk3, harfbuzz, icu, libX11, libXcomposite,
   libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
@@ -15,7 +16,8 @@
   cups ? null, mysql ? null, postgresql ? null,
 
   # options
-  mesaSupported, mesa,
+  mesaSupported ? (!stdenv.isDarwin),
+  mesa,
   buildExamples ? false,
   buildTests ? false,
   developerBuild ? false,
@@ -35,8 +37,9 @@ stdenv.mkDerivation {
 
   patches =
     copyPathsToStore (lib.readPathsFromFile ./. ./series)
+    ++ [(if stdenv.isDarwin then ./cmake-paths-darwin.patch else ./cmake-paths.patch)]
     ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
-    ++ lib.optional mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
+    ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
 
   postPatch =
     ''
@@ -54,11 +57,11 @@ stdenv.mkDerivation {
       substituteInPlace src/network/kernel/qhostinfo_unix.cpp \
         --replace "@glibc@" "${stdenv.cc.libc.out}"
 
-      substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \
-        --replace "@libXcursor@" "${libXcursor.out}"
-
       substituteInPlace src/network/ssl/qsslsocket_openssl_symbols.cpp \
         --replace "@openssl@" "${openssl.out}"
+    '' + lib.optionalString stdenv.isLinux ''
+      substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \
+        --replace "@libXcursor@" "${libXcursor.out}"
 
       substituteInPlace src/dbus/qdbus_symbols.cpp \
         --replace "@dbus_libs@" "${dbus.lib}"
@@ -74,8 +77,23 @@ stdenv.mkDerivation {
       substituteInPlace mkspecs/common/linux.conf \
         --replace "@mesa_lib@" "${mesa.out}" \
         --replace "@mesa_inc@" "${mesa.dev or mesa}"
-    '';
-
+    ''+ lib.optionalString stdenv.isDarwin ''
+      sed -i \
+          -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \
+          -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \
+          -e 's|sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)|sysroot="${darwin.apple_sdk.sdk}"|' \
+          -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
+          -e 's|XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`|XCRUN="clang -v 2>&1"|' \
+          -e 's#sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d \x27 \x27 -f 1))##' \
+          -e 's#val=$(echo $sdk_val $(echo $val | cut -s -d \x27 \x27 -f 2-))##' \
+          ./configure
+      sed -i '3,$d' ./mkspecs/features/mac/default_pre.prf
+      sed -i '26,$d' ./mkspecs/features/mac/default_post.prf
+      sed -i '1,$d' ./mkspecs/features/mac/sdk.prf
+      sed 's/QMAKE_LFLAGS_RPATH      = -Wl,-rpath,/QMAKE_LFLAGS_RPATH      =/' -i ./mkspecs/common/mac.conf
+     '';
+     # Note on the above: \x27 is a way if including a single-quote
+     # character in the sed string arguments.
 
   setOutputFlags = false;
   preConfigure = ''
@@ -103,7 +121,6 @@ stdenv.mkDerivation {
     ${lib.optionalString developerBuild "-developer-build"}
     -largefile
     -accessibility
-    -rpath
     -optimized-qmake
     -strip
     -no-reduce-relocations
@@ -117,15 +134,6 @@ stdenv.mkDerivation {
     -iconv
     -icu
     -pch
-    -glib
-    -xcb
-    -qpa xcb
-    -${lib.optionalString (cups == null) "no-"}cups
-
-    -no-eglfs
-    -no-directfb
-    -no-linuxfb
-    -no-kms
 
     ${lib.optionalString (!system-x86_64) "-no-sse2"}
     -no-sse3
@@ -141,13 +149,8 @@ stdenv.mkDerivation {
     -system-libpng
     -system-libjpeg
     -system-harfbuzz
-    -system-xcb
-    -system-xkbcommon
     -system-pcre
     -openssl-linked
-    -dbus-linked
-    -libinput
-    -gtk
 
     -system-sqlite
     -${if mysql != null then "plugin" else "no"}-sql-mysql
@@ -158,7 +161,30 @@ stdenv.mkDerivation {
     -${lib.optionalString (buildExamples == false) "no"}make examples
     -${lib.optionalString (buildTests == false) "no"}make tests
     -v
-  '';
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    -no-rpath
+    -glib
+    -xcb
+    -qpa xcb
+
+    -${lib.optionalString (cups == null) "no-"}cups
+
+    -no-eglfs
+    -no-directfb
+    -no-linuxfb
+    -no-kms
+
+    -libinput
+    -gtk
+    -system-xcb
+    -system-xkbcommon
+    -dbus-linked
+  '' + lib.optionalString stdenv.isDarwin ''
+    -platform macx-clang
+    -no-use-gold-linker
+    -no-fontconfig
+    -qt-freetype
+   '';
 
   # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag
   # if dependency paths contain the string "pq", which can occur in the hash.
@@ -166,32 +192,44 @@ stdenv.mkDerivation {
   PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
 
   propagatedBuildInputs = [
-    dbus glib libxml2 libxslt openssl pcre16 sqlite udev zlib
+    libxml2 libxslt openssl pcre16 sqlite zlib
+
+    # Text rendering
+    harfbuzz icu
 
     # Image formats
     libjpeg libpng libtiff
+  ]
+  ++ lib.optional mesaSupported mesa
+  ++ lib.optionals (!stdenv.isDarwin) [
+    dbus glib udev
 
     # Text rendering
-    fontconfig freetype harfbuzz icu
+    fontconfig freetype
 
     # X11 libs
     libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil
     xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm
-  ]
-  ++ lib.optional mesaSupported mesa;
+   ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    ApplicationServices CoreServices AppKit Carbon OpenGL AGL Cocoa
+    DiskArbitration darwin.cf-private libiconv darwin.apple_sdk.sdk
+  ]);
 
-  buildInputs =
-    [ gtk3 libinput ]
+  buildInputs = [ ]
+    ++ lib.optionals (!stdenv.isDarwin) [ gtk3 libinput ]
     ++ lib.optional developerBuild gdb
     ++ lib.optional (cups != null) cups
     ++ lib.optional (mysql != null) mysql.lib
     ++ lib.optional (postgresql != null) postgresql;
 
-  nativeBuildInputs =
-    [ bison flex gperf lndir patchelf perl pkgconfig python2 ];
+  nativeBuildInputs = [ bison flex gperf lndir perl pkgconfig python2 ] ++ lib.optional (!stdenv.isDarwin) patchelf;
 
   # freetype-2.5.4 changed signedness of some struct fields
-  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"
+    + lib.optionalString stdenv.isDarwin " -D__MAC_OS_X_VERSION_MAX_ALLOWED=1090 -D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))";
+  # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is
+  # 10.9 which necessitates the above macro definition that mentions
+  # 10.10
 
   postInstall = ''
     find "$out" -name "*.cmake" | while read file; do
@@ -221,7 +259,7 @@ stdenv.mkDerivation {
       # Move libtool archives and qmake projects
       if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
           pushd "''${!outputLib}"
-          find lib -name '*.a' -o -name '*.la' -o -name '*.prl' | \
+          find lib -name '*.a' -o -name '*.la'${if stdenv.isDarwin then "" else "-o -name '*.prl'"} | \
               while read -r file; do
                   mkdir -p "''${!outputDev}/$(dirname "$file")"
                   mv "''${!outputLib}/$file" "''${!outputDev}/$file"
@@ -258,7 +296,9 @@ stdenv.mkDerivation {
     '';
 
   inherit lndir;
-  setupHook = ../../qtbase-setup-hook.sh;
+  setupHook = if stdenv.isDarwin
+              then ../../qtbase-setup-hook-darwin.sh
+              else ../../qtbase-setup-hook.sh;
 
   enableParallelBuilding = true;
 
@@ -267,7 +307,7 @@ stdenv.mkDerivation {
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
     maintainers = with maintainers; [ bbenoist qknight ttuegel ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/series b/pkgs/development/libraries/qt-5/5.7/qtbase/series
index 44e2d9040807..2196d8383752 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/series
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/series
@@ -7,4 +7,3 @@ xdg-config-dirs.patch
 nix-profiles-library-paths.patch
 compose-search-path.patch
 libressl.patch
-cmake-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix
index 7c1cc5da07e3..a48dd38ae6d2 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix
@@ -1,4 +1,4 @@
-{ qtSubmodule, qtbase, qtdeclarative, pkgconfig
+{ stdenv, qtSubmodule, qtbase, qtdeclarative, pkgconfig
 , alsaLib, gstreamer, gst-plugins-base, libpulseaudio
 }:
 
@@ -6,7 +6,7 @@ qtSubmodule {
   name = "qtmultimedia";
   qtInputs = [ qtbase qtdeclarative ];
   buildInputs = [
-    pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio
-  ];
+    pkgconfig gstreamer gst-plugins-base libpulseaudio
+  ] ++ stdenv.lib.optional stdenv.isLinux alsaLib;
   qmakeFlags = [ "GST_VERSION=1.0" ];
 }
diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix
index a48c5dbb07a9..280d1f9c50b4 100644
--- a/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
   patches =
     copyPathsToStore (lib.readPathsFromFile ./. ./series)
     ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
-    ++ lib.optional mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
+    ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
 
   postPatch =
     ''
diff --git a/pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh b/pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh
index 977c859e76d3..aa2d24a741ca 100644
--- a/pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh
+++ b/pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh
@@ -135,10 +135,14 @@ qt5LinkModuleDir() {
 
 qt5LinkDarwinModuleLibDir() {
   for fw in $(find "$1"/lib -maxdepth 1 -name '*.framework'); do
+    if [ ! -L "$fw" ]; then
       ln -s "$fw" "$NIX_QT5_TMP"/lib
+    fi
   done
   for file in $(find "$1"/lib -maxdepth 1 -type f); do
+    if [ ! -L "$file" ]; then
       ln -s "$file" "$NIX_QT5_TMP"/lib
+    fi
   done
   for dir in $(find "$1"/lib -maxdepth 1 -mindepth 1 -type d ! -name '*.framework'); do
       mkdir -p "$NIX_QT5_TMP"/lib/$(basename "$dir")
@@ -178,4 +182,3 @@ _qtFixCMakePaths() {
 if [ -n "$NIX_QT_SUBMODULE" ]; then
     postInstallHooks+=(_qtFixCMakePaths)
 fi
-
diff --git a/pkgs/development/libraries/shapelib/default.nix b/pkgs/development/libraries/shapelib/default.nix
new file mode 100644
index 000000000000..529dee9376a9
--- /dev/null
+++ b/pkgs/development/libraries/shapelib/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, proj }:
+
+stdenv.mkDerivation rec {
+  name = "shapelib-1.4.0";
+
+  src = fetchurl {
+    url = "https://download.osgeo.org/shapelib/${name}.tar.gz";
+    sha256 = "18d7j5pn5srika7q3f90j0l2l4526xsjd64pin6z2b0gd7rdbp9y";
+  };
+
+  buildInputs =  [ proj ];
+
+  meta = with stdenv.lib; {
+    description = "C Library for reading, writing and updating ESRI Shapefiles";
+    homepage = http://shapelib.maptools.org/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.ehmry ];
+  };
+}
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 325d665aaf65..240de378afc7 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 let
   inherit (python2Packages) python pygtk;
 in stdenv.mkDerivation rec {
-  name = "spice-gtk-0.32";
+  name = "spice-gtk-0.33";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
-    sha256 = "00pf94xh2xf0h1g13lnavxrysd0d0x22l5jl108cvq1mjc4z8j2c";
+    sha256 = "0fdgx9k4vgmasp8i2n0swrkapq8f212igcg7wsgvr3mbhsvk7bvx";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
new file mode 100644
index 000000000000..fdf882ce817e
--- /dev/null
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, autoreconfHook
+, pkgconfig, glib, systemd, libgudev, vala  }:
+
+stdenv.mkDerivation rec {
+  name = "umockdev";
+  version = "0.8.13";
+
+  src = fetchFromGitHub {
+    owner = "martinpitt";
+    repo = "umockdev";
+    rev = version;
+    sha256 ="0bw2dpshlgbdwg5mhq4j22z474llpqix8pxii63r2bk5nhjc537k";
+  };
+
+  buildInputs = [ glib systemd libgudev vala ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  ### docs/gtk-doc.make not found
+  prePatch = ''
+    sed -i 's|include $(top_srcdir)/docs/gtk-doc.make||g' docs/reference/Makefile.am
+   sed -i 's|+=|=|g' docs/reference/Makefile.am
+   '';
+
+  meta = with stdenv.lib; {
+    description = "Mock hardware devices for creating unit tests";
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.ndowens ];
+  };
+}
diff --git a/pkgs/development/libraries/urt/default.nix b/pkgs/development/libraries/urt/default.nix
deleted file mode 100644
index 090ca28d7c45..000000000000
--- a/pkgs/development/libraries/urt/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{stdenv, fetchurl, ncompress}:
-
-stdenv.mkDerivation rec {
-  name = "urt-${version}";
-  version = "3.1b";
-  
-  src = fetchurl {
-    url = ftp://ftp.iastate.edu/pub/utah-raster/urt-3.1b.tar.Z;
-    sha256 = "0hbb3avgvkfb2cksqn6cmmgcr0278nb2qd1srayqx0876pq6g2vd";
-  };
-
-  buildInputs = [ ncompress ];
-
-  unpackPhase = ''
-      mkdir urt
-      tar xvf "$src" -C urt
-  '';
-  patchFlags = "-p0 -d urt";
-  patches = [ ./urt-3.1b-build-fixes.patch ./urt-3.1b-compile-updates.patch
-              ./urt-3.1b-make.patch ./urt-3.1b-rle-fixes.patch ./urt-3.1b-tempfile.patch ];
-  postPatch = ''
-      cd urt
-
-      rm bin/README
-      rm man/man1/template.1
-
-      # stupid OS X declares a stack_t type already 
-      sed -i -e 's:stack_t:_urt_stack:g' tools/clock/rleClock.c
-
-      sed -i -e '/^CFLAGS/s: -O : :' makefile.hdr
-
-      cp "${./gentoo-config}" config/gentoo
-  '';
-  configurePhase = ''
-      ./Configure config/gentoo
-  '';
-  postInstall = ''
-      mkdir -p $out/bin
-      cp bin/* $out/bin
-
-      mkdir -p $out/lib
-      cp lib/librle.a $out/lib
-
-      mkdir -p $out/include
-      cp include/rle*.h $out/include
-
-      mkdir -p $out/share/man/man1
-      cp man/man1/*.1 $out/share/man/man1
-
-      mkdir -p $out/share/man/man3
-      cp man/man3/*.3 $out/share/man/man3
-
-      mkdir -p $out/share/man/man5
-      cp man/man5/*.5 $out/share/man/man5
-  '';
-
-  meta = {
-    homepage = http://www.cs.utah.edu/gdc/projects/urt/;
-    description = "A library for dealing with raster images";
-  };
-}
\ No newline at end of file
diff --git a/pkgs/development/libraries/urt/gentoo-config b/pkgs/development/libraries/urt/gentoo-config
deleted file mode 100644
index a2d9ec3faf2f..000000000000
--- a/pkgs/development/libraries/urt/gentoo-config
+++ /dev/null
@@ -1,52 +0,0 @@
-#define ABEKASA60
-#define ABEKASA62
-#define ALIAS
-##define CGM
-#define CUBICOMP
-##define DVIRLE
-#define GRAYFILES
-#define MACPAINT
-##define PBMPLUS
-##define SUNRASTER
-#define TARGA
-#define VICAR
-#define WASATCH
-#define WAVEFRONT
-
-#define GCC
-
-#define CONST_DECL
-#define NO_MAKE_MAKEFILE
-#define USE_TIME_H
-#define SYS_V_SETPGRP
-#define USE_PROTOTYPES
-#define USE_RANDOM
-#define USE_STDARG
-#define USE_STDLIB_H
-#define USE_UNISTD_H
-#define USE_STRING_H
-#define VOID_STAR
-#define USE_XLIBINT_H
-#define X_SHARED_MEMORY
-
-#defpath DEST bin
-#defpath RI include
-#defpath RL lib
-
-ROFF = nroff
-ROFFOPT = -man
-ROFFPIPE = | lpr
-
-INCTIFF = 
-LIBTIFF = -ltiff
-INCX11 =
-LIBX11 = -lX11
-
-# Most people have migrated X11 to /usr/lib, but just in case ...
-check_x11=$(shell \
-	echo 'int main(){}' > test.c ; \
-	if ! $(CC) test.c -lX11 -o .urt-x11-test 2>/dev/null ; then \
-		echo "-L/usr/X11R6/lib" ; \
-	fi ; \
-	rm -f .urt-x11-test test.c)
-LIBX11 += $(call check_x11)
diff --git a/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch b/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch
deleted file mode 100644
index fc2bacddb30c..000000000000
--- a/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-some hosts are more anal about ar usage than others
-http://bugs.gentoo.org/107428
-
-respect user LDFLAGS
-http://bugs.gentoo.org/126872
-
---- lib/makefile.src
-+++ lib/makefile.src
-@@ -181,8 +181,7 @@
- # Rebuild the library from all the .o files.
- buildlib: $(OBJS)
- 	-rm -f $(LIBNAME)
--	ar rc $(LIBNAME)
--	ar q $(LIBNAME) $(OBJS)
-+	ar rc $(LIBNAME) $(OBJS)
- #ifndef NO_RANLIB
- 	ranlib $(LIBNAME)
- #endif
---- tools/clock/makefile.src
-+++ tools/clock/makefile.src
-@@ -6,7 +6,7 @@ install: rleClock
- 	mv rleClock ../rleClock.out
- 
- rleClock:rleClock.o font.o
--	${CC} ${CFLAGS} rleClock.o font.o -lm ${LIBS} -o rleClock
-+	${CC} ${CFLAGS} ${LDFLAGS} rleClock.o font.o ${LIBS} -o rleClock -lm
- 
- font.c:font.src makeFont
- 	chmod +x makeFont
---- tools/makefile.src
-+++ tools/makefile.src
-@@ -62,21 +62,21 @@ applymap.out rlebg.out: $(RI)/rle_raw.h
- pyrlib.o: pyrlib.c $(RI)/pyramid.h $(RI)/rle.h $(RI)/rle_config.h
- 	$(CC) $(CFLAGS) pyrlib.c -c
- pyrmask.out: pyrlib.o pyrmask.c $(RI)/pyramid.h
--	$(CC) $(CFLAGS) -I$(RI) pyrmask.c pyrlib.o $(LIBS) -lm -o pyrmask.new
-+	$(CC) $(LDFLAGS) $(CFLAGS) -I$(RI) pyrmask.c pyrlib.o $(LIBS) -lm -o pyrmask.new
- 	mv pyrmask.new pyrmask.out
- 
- fant.out: fant.o mallocNd.o
--	$(CC) $(CFLAGS) -I$(RI) fant.o mallocNd.o $(LIBS) -lm -o fant.new
-+	$(CC) $(LDFLAGS) $(CFLAGS) -I$(RI) fant.o mallocNd.o $(LIBS) -lm -o fant.new
- 	mv fant.new fant.out
- 	
- # rlebox and crop use some common code.
- rle_box.o: $(RI)/rle.h $(RI)/rle_config.h $(RI)/rle_raw.h
- 
- crop.out: crop.c rle_box.o
--	${CC} ${CFLAGS} crop.c rle_box.o ${LIBS} -o crop.new
-+	${CC} ${LDFLAGS} ${CFLAGS} crop.c rle_box.o ${LIBS} -o crop.new
- 	mv crop.new crop.out
- rlebox.out: rlebox.c rle_box.o
--	${CC} ${CFLAGS} rlebox.c rle_box.o ${LIBS} -o rlebox.new
-+	${CC} ${LDFLAGS} ${CFLAGS} rlebox.c rle_box.o ${LIBS} -o rlebox.new
- 	mv rlebox.new rlebox.out
- 
- # rleClock has it's own directory, must be built special
-@@ -100,7 +100,7 @@ clean:	clean-pgm
- .SUFFIXES:
- .SUFFIXES: .out .c .o
- .c.out:
--	$(CC) $(CFLAGS) $< $(LIBS) -lm -o $*.new
-+	$(CC) $(LDFLAGS) $(CFLAGS) $< $(LIBS) -lm -o $*.new
- 	mv $*.new $@
- 
- .c.o:
---- cnv/makefile.src
-+++ cnv/makefile.src
-@@ -76,13 +76,13 @@ PBMDIR = 
- # ppmtorle - ppm format to RLE
- # rletoppm - RLE to ppm format
- pgmtorle.out: pgmtorle.c
--	$(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
- 	mv $*.new $@
- ppmtorle.out: ppmtorle.c
--	$(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
- 	mv $*.new $@
- rletoppm.out: rletoppm.c
--	$(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
- 	mv $*.new $@
- #endif
- 
-@@ -95,10 +95,10 @@ rletoppm.out: rletoppm.c
- # iristorle/rletoiris - Convert between RLE and SGI image format.
- #
- iristorle.out: iristorle.c
--	$(CC) $(CFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
- 	mv $*.new $@
- rletoiris.out: rletoiris.c
--	$(CC) $(CFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
- 	mv $*.new $@
- #endif
- 
-@@ -108,10 +108,10 @@ TIFFDIR =
- # tifftorle - Convert TIFF images to RLE
- # rletotiff - Convert RLE images to TIFF
- rletotiff.out: rletotiff.c
--	$(CC) $(CFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
- 	mv $*.new $@
- tifftorle.out: tifftorle.c
--	$(CC) $(CFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
- 	mv $*.new $@
- #endif
- 
-@@ -125,7 +125,7 @@ tifftorle.out: tifftorle.c
- # Will build with the default rule.
- # rletorla - RLE to Wavefront RLA
- rletorla.out: rletorla.c
--	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBWAVEFRONT) -lm -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBS) $(LIBWAVEFRONT) -lm -o $*.new
- 	mv $*.new $@
- #endif WAVEFRONT
- 
-@@ -144,7 +144,7 @@ pristine: pristine-pgm
- .SUFFIXES:
- .SUFFIXES: .out .c
- .c.out:
--	$(CC) $(CFLAGS) $*.c $(LIBS) -lm -o $*.new
-+	$(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBS) -lm -o $*.new
- 	mv $*.new $@
- 
- # Dependency lines.  Make sure to #ifdef them.
---- cnv/rletoabA62/makefile.src
-+++ cnv/rletoabA62/makefile.src
-@@ -15,7 +15,7 @@ all		:	$(PGMS)
- # Executables.  The .out will be stripped off in the install action.
- 
- rletoabA62.out	:	rletoabA62.o rle.o
--			$(CC) $(CFLAGS) -o rletoabA62.new \
-+			$(CC) $(CFLAGS) $(LDFLAGS) -o rletoabA62.new \
- 			  rletoabA62.o rle.o $(LIBS)
- 			mv rletoabA62.new rletoabA62.out
- 
---- cnv/rletogif/makefile.src
-+++ cnv/rletogif/makefile.src
-@@ -15,7 +15,7 @@ all:	$(PGMS)
- # The executable.  The ".out" will be stripped off in the install action.
- 
- rletogif.out: ${OBJ}
--	${CC} ${CFLAGS} ${OBJ} ${LIBS} -o rletogif.new
-+	${CC} ${CFLAGS} ${LDFLAGS} ${OBJ} ${LIBS} -o rletogif.new
- 	mv rletogif.new rletogif.out
- 
- # Incremental install, copies executable to DEST dir.
diff --git a/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch b/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch
deleted file mode 100644
index 105f7c41f6a7..000000000000
--- a/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch
+++ /dev/null
@@ -1,141 +0,0 @@
---- get/getx11/XGetHClrs.c
-+++ get/getx11/XGetHClrs.c
-@@ -1,5 +1,4 @@
- #ifndef XLIBINT_H_NOT_AVAILABLE
--#include <X11/copyright.h>
- 
- /* $XConsortium: XGetHClrs.c,v 11.10 88/09/06 16:07:50 martin Exp $ */
- /* Copyright    Massachusetts Institute of Technology    1986	*/
---- tools/mallocNd.c
-+++ tools/mallocNd.c
-@@ -67,7 +67,7 @@
- 
- /* Imports */
- #include <stdio.h>
--extern char *malloc();
-+#include <string.h>
- 
- /* Forward declarations */
- char *BuildIndirectionTable();
---- tools/into.c
-+++ tools/into.c
-@@ -40,8 +40,8 @@
- static char buf[MAXPATHLEN+1];
- short forceflg;				/* overwrite an unwritable file? */
- 
--extern int errno;
--extern char *sys_errlist[];
-+#include <errno.h>
-+#include <string.h>
- 
- void
- main(argc, argv)
-@@ -103,7 +103,7 @@
-     if (ferror(outf))
-     {
- 	fprintf(stderr, "into: %s, \"%s\" not modified\n",
--	    sys_errlist[errno], argv[1]);
-+	    strerror(errno), argv[1]);
- 	unlink(buf);
- 	exit(1);
-     }
---- cnv/tex/dvirle2.c
-+++ cnv/tex/dvirle2.c
-@@ -55,7 +55,6 @@
- void DumpTopOfBand(), MoveDown(), WriteBuf(), WriteBlanks();
- 
- char	*ProgName;
--extern int errno;
- extern char *optarg;
- extern int optind;
- 
---- cnv/wasatchrle.c
-+++ cnv/wasatchrle.c
-@@ -32,7 +32,6 @@
- #include <errno.h>
- #include "rle.h"
- 
--extern int errno;
- 
- /* "short" in our world is 16 bits.  Beware of swyte-bopping. */
- 
---- get/getx11/x11_stuff.c
-+++ get/getx11/x11_stuff.c
-@@ -155,7 +155,6 @@
- 			IPC_CREAT|0777 );
- 	    if ( img->shm_img.shmid < 0 )
- 	    {
--		extern int errno;
- 		if ( errno == ENOSPC )
- 		{
- 		    if ( !no_shared_space )
-@@ -361,7 +360,6 @@ Boolean reallocate;
- 	    XDestroyImage( image );
- 	    if ( img->shm_pix.shmid < 0 )
- 	    {
--		extern int errno;
- 		if ( errno == ENOSPC )
- 		{
- 		    if ( !no_shared_space )
---- get/qcr/qcr.h
-+++ get/qcr/qcr.h
-@@ -6,8 +6,6 @@
- #define GREEN 1
- #define BLUE 2
- 
--extern int errno;
--
- /* Command defs for QCR-Z Film Recorder */
- 
- /* These are for 8 bit Look Up Tables */
---- get/gettaac.c
-+++ get/gettaac.c
-@@ -24,6 +24,7 @@
-  * Send bug fixes and improvements to:  ksp@maxwell.nde.swri.edu
-  */
- 
-+#include <errno.h>
- #include <stdio.h>
- #include <strings.h>
- #include <signal.h>
-@@ -459,7 +460,6 @@ char    *template;
-      char    nonUnique;
-      char    twiddleUserCompletion;
- 
--     extern  int         errno;
-      struct  direct     *nameEntry;
-      DIR                *dirChan;
-      struct  passwd     *pwdEntry;
---- tools/clock/rleClock.c
-+++ tools/clock/rleClock.c
-@@ -598,7 +598,7 @@
-     { TRUE,  "-tf", STRING, "Text area format string", 	          (char *)&FormatString }, 
-     { FALSE, "-Xm", BOOL,   "Output the alpha channel on RGB",    (char *)&DebugAlpha },
-     { FALSE, "-D",  BOOL,   "Turn on debugging",	          (char *)&Debug },
--    NULL
-+    { FALSE, NULL }
- };
- 
- void
---- tools/to8.c
-+++ tools/to8.c
-@@ -175,7 +175,7 @@
- 	 * Give it a background color of black, since the real background
- 	 * will be dithered anyway.
- 	 */
--	if ( in_hdr.background != NULL )
-+	if ( in_hdr.background != 0 )
- 	{
- 	    out_hdr.bg_color = (int *)malloc( sizeof( int ) );
- 	    RLE_CHECK_ALLOC( cmd_name( argv ), out_hdr.bg_color, 0 );
---- cnv/rletoabA62/rletoabA62.c
-+++ cnv/rletoabA62/rletoabA62.c
-@@ -157,7 +157,7 @@
- 	exit(1);
-     }
-     if (optind < argc) {
--	if ((file = open(argv[optind], 0)) == NULL) {
-+	if ((file = open(argv[optind], 0)) == -1) {
- 	    perror(argv[optind]);
- 	    exit(1);
- 	}
diff --git a/pkgs/development/libraries/urt/urt-3.1b-make.patch b/pkgs/development/libraries/urt/urt-3.1b-make.patch
deleted file mode 100644
index 310675dd395d..000000000000
--- a/pkgs/development/libraries/urt/urt-3.1b-make.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Index: makefile.src
-===================================================================
---- makefile.src
-+++ makefile.src
-@@ -17,7 +17,7 @@ all: default
- # clean deletes all but source, pristine (below) deletes installed stuff, too
- default clean: doit
- 	@for d in $(DIRS) ; do \
--		( cd $$d ; echo make $@ on $$d ; make $(MFLAGS) $@ ) ; \
-+		( cd $$d ; echo $(MAKE) $@ on $$d ; $(MAKE) $(MFLAGS) $@ ) ; \
- 	done
- 
- # install puts library, binaries and documentation into global location
-@@ -29,7 +29,7 @@ MAKE_TARGET =
- 
- install $(MAKE_TARGET) pristine depend:: doit
- 	@for d in $(ALLDIRS) ; do \
--		( cd $$d ; echo make $@ on $$d ; make $(MFLAGS) $@ ) ; \
-+		( cd $$d ; echo $(MAKE) $@ on $$d ; $(MAKE) $(MFLAGS) $@ ) ; \
- 	done
- 
- 
-Index: tools/makefile.src
-===================================================================
---- tools/makefile.src
-+++ tools/makefile.src
-@@ -82,7 +82,7 @@ rlebox.out: rlebox.c rle_box.o
- # rleClock has it's own directory, must be built special
- 
- rleClock.out: clock/font.c clock/font.h clock/font.src clock/rleClock.c
--	(cd clock ; make)
-+	(cd clock ; $(MAKE))
- 
- # Incremental install, copies everything ("$?") since last install to DEST dir.
- install: $(PGMS) install-pgm
-Index: makefile.tlr
-===================================================================
---- makefile.tlr
-+++ makefile.tlr
-@@ -7,7 +7,7 @@ subdirs:
- 	@sh -c "if test 'x$(DIRS)' != x ; then eval \
- 		'set -e ; for dir in $(DIRS) ; do \
- 			(cd \$$dir ; echo Make ${HERE}\$$dir ; \
--			 	make $(MFLAGS) $(DIRMFLAGS) ) ; \
-+			 	$(MAKE) $(MFLAGS) $(DIRMFLAGS) ) ; \
- 		done' ; \
- 	  else \
- 		true ; \
-@@ -46,7 +46,7 @@ install-subdirs: subdirs
- 	@sh -c "if test 'x$(DIRS)' != x  ; then eval \
- 		'for dir in $(DIRS) ; do \
- 			(cd \$$dir ; echo Install ${HERE}\$$dir ; \
--			 make $(MFLAGS) $(DIRMFLAGS) install) ; \
-+			 $(MAKE) $(MFLAGS) $(DIRMFLAGS) install) ; \
- 		done' ; \
- 	  else \
- 		true ; \
-@@ -105,7 +105,7 @@ pristine-pgm: clean-pgm
- 	    'for dir in $(ALLDIRS); do \
- 		if test -d $$dir ; then \
- 			(cd $$dir; echo Make ${HERE}$$dir pristine ; \
--			 make $(MFLAGS) pristine); \
-+			 $(MAKE) $(MFLAGS) pristine); \
- 		else \
- 			true; \
- 		fi; \
-@@ -124,7 +124,7 @@ clean-pgm:
- 	    'for dir in $(ALLDIRS); do \
- 		if test -d $$dir ; then \
- 			(cd $$dir; echo Clean ${HERE}$$dir ; \
--			 make $(MFLAGS) clean); \
-+			 $(MAKE) $(MFLAGS) clean); \
- 		else \
- 			true; \
- 		fi; \
diff --git a/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch b/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch
deleted file mode 100644
index 3720806960fe..000000000000
--- a/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-Fixes taken from netpbm
-
---- lib/rle_global.c
-+++ lib/rle_global.c
-@@ -76,7 +76,7 @@ rle_hdr rle_dflt_hdr = {
-     8,				/* cmaplen (log2 of length of color map) */
-     NULL,			/* pointer to color map */
-     NULL,			/* pointer to comment strings */
--    stdout,			/* output file */
-+    NULL,			/* output file -- must be set dynamically */
-     { 7 },			/* RGB channels only */
-     0L,				/* Can't free name and file fields. */
-     "Urt",			/* Default "program name". */
---- lib/rle_hdr.c
-+++ lib/rle_hdr.c
-@@ -269,6 +273,9 @@
- {
-     rle_hdr *ret_hdr;
- 
-+    rle_dflt_hdr.rle_file = stdout;
-+    /* The rest of rle_dflt_hdr is set by the loader's data initialization */
-+
-     if ( the_hdr == &rle_dflt_hdr )
- 	return the_hdr;
- 
---- lib/dither.c
-+++ lib/dither.c
-@@ -38,10 +38,10 @@ void	make_square();
- #endif
- 
- static int magic4x4[4][4] =  {
-- 	 0, 14,  3, 13,
--	11,  5,  8,  6,
--	12,  2, 15,  1,
--	 7,  9,  4, 10
-+{	 0, 14,  3, 13},
-+{	11,  5,  8,  6},
-+{	12,  2, 15,  1},
-+{	 7,  9,  4, 10}
- };
- 
- /* basic dithering macro */
---- lib/rle_open_f.c
-+++ lib/rle_open_f.c
-@@ -9,7 +9,11 @@
-  */
- 
- #include "rle_config.h"
-+#define _XOPEN_SOURCE  /* Make sure fdopen() is in stdio.h */
-+
- #include <stdio.h>
-+#include <unistd.h>
-+#include <fcntl.h>
- 
- #ifndef NO_OPEN_PIPES
- /* Need to have a SIGCLD signal catcher. */
-@@ -260,7 +260,6 @@
-     int pipefd[2];
-     int i;
-     char *argv[4];
--    extern int errno;
- 
-     /* Check args. */
-     if ( *mode != 'r' && *mode != 'w' )
---- lib/rle_getcom.c
-+++ lib/rle_getcom.c
-@@ -53,11 +53,12 @@
- {
-     for ( ; *n != '\0' && *n != '=' && *n == *v; n++, v++ )
- 	;
--    if (*n == '\0' || *n == '=')
-+    if (*n == '\0' || *n == '=') {
- 	if ( *v == '\0' )
- 	    return v;
- 	else if ( *v == '=' )
- 	    return ++v;
-+    }
- 
-     return NULL;
- }
---- lib/scanargs.c
-+++ lib/scanargs.c
-@@ -128,10 +130,10 @@
- va_list argl;
- {
- 
--    register    check;			/* check counter to be sure all argvs
-+    int    check;			/* check counter to be sure all argvs
- 					   are processed */
-     register CONST_DECL char  *cp;
--    register    cnt;
-+    int    cnt;
-     int	    optarg = 0;			/* where optional args start */
-     int	    nopt = 0;
-     char    tmpflg,			/* temp flag */
-@@ -375,11 +377,12 @@
- 				if ( optarg > 0 ) /* end optional args? */
- 				{
- 				    /* Eat the arg, too, if necessary */
--				    if ( list_cnt == 0 )
-+				    if ( list_cnt == 0 ) {
- 					if ( typchr == 's' )
- 					    (void)va_arg( argl, char * );
- 					else
- 					    (void)va_arg( argl, ptr );
-+                    }
- 				    break;
- 				}
- 				else
-@@ -567,7 +570,7 @@
- 				     * Do conversion for n and N types
- 				     */
- 				    tmpflg = typchr;
--				    if (typchr == 'n' || typchr == 'N' )
-+				    if (typchr == 'n' || typchr == 'N' ) {
- 					if (*argp != '0')
- 					    tmpflg = 'd';
- 					else if (*(argp+1) == 'x' ||
-@@ -578,6 +581,7 @@
- 					}
- 					else
- 					    tmpflg = 'o';
-+                    }
- 				    if (typchr == 'N')
- 					tmpflg = toupper( tmpflg );
- 
---- lib/inv_cmap.c
-+++ lib/inv_cmap.c
-@@ -42,7 +42,7 @@
- static long cbinc, cginc, crinc;
- static unsigned long *gdp, *rdp, *cdp;
- static unsigned char *grgbp, *rrgbp, *crgbp;
--static gstride, rstride;
-+static long gstride, rstride;
- static long x, xsqr, colormax;
- static int cindex;
- #ifdef INSTRUMENT_IT
---- lib/rle_getrow.c
-+++ lib/rle_getrow.c
-@@ -351,7 +351,7 @@
- 	    bzero( (char *)scanline[-1] + the_hdr->xmin,
- 		   the_hdr->xmax - the_hdr->xmin + 1 );
- 	for ( nc = 0; nc < the_hdr->ncolors; nc++ )
--	    if ( RLE_BIT( *the_hdr, nc ) )
-+	    if ( RLE_BIT( *the_hdr, nc ) ) {
- 		/* Unless bg color given explicitly, use 0. */
- 		if ( the_hdr->background != 2 || the_hdr->bg_color[nc] == 0 )
- 		    bzero( (char *)scanline[nc] + the_hdr->xmin,
-@@ -360,6 +360,7 @@
- 		    bfill( (char *)scanline[nc] + the_hdr->xmin,
- 			   the_hdr->xmax - the_hdr->xmin + 1,
- 			   the_hdr->bg_color[nc] );
-+	    }
-     }
- 
-     /* If skipping, then just return */
-@@ -367,7 +368,7 @@
-     {
- 	the_hdr->priv.get.vert_skip--;
- 	the_hdr->priv.get.scan_y++;
--	if ( the_hdr->priv.get.vert_skip > 0 )
-+	if ( the_hdr->priv.get.vert_skip > 0 ) {
- 	    if ( the_hdr->priv.get.scan_y >= the_hdr->ymax )
- 	    {
- 		int y = the_hdr->priv.get.scan_y;
-@@ -377,6 +378,7 @@
- 	    }
- 	    else
- 		return the_hdr->priv.get.scan_y;
-+	}
-     }
- 
-     /* If EOF has been encountered, return also */
-@@ -457,11 +459,12 @@
- 	    else
- 		nc = DATUM(inst);
- 	    nc++;
--	    if ( debug_f )
-+	    if ( debug_f ) {
- 		if ( RLE_BIT( *the_hdr, channel ) )
- 		    fprintf( stderr, "Pixel data %d (to %d):", nc, scan_x+nc );
- 		else
- 		    fprintf( stderr, "Pixel data %d (to %d)\n", nc, scan_x+nc);
-+	    }
- 	    if ( RLE_BIT( *the_hdr, channel ) )
- 	    {
- 		/* Don't fill past end of scanline! */
---- lib/rle_putcom.c
-+++ lib/rle_putcom.c
-@@ -53,11 +53,12 @@
- {
-     for ( ; *n != '\0' && *n != '=' && *n == *v; n++, v++ )
- 	;
--    if (*n == '\0' || *n == '=')
-+    if (*n == '\0' || *n == '=') {
- 	if ( *v == '\0' )
- 	    return v;
- 	else if ( *v == '=' )
- 	    return ++v;
-+    }
- 
-     return NULL;
- }
diff --git a/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch b/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
deleted file mode 100644
index 12acce151b5d..000000000000
--- a/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- tools/rlecat.c
-+++ tools/rlecat.c
-@@ -110,8 +110,14 @@
- 	    nflag = 0;		/* Not really repeating! */
- 	else
- 	{
--	    mktemp( temp );	/* Make a temporary file name */
--	    tmpfile = rle_open_f( cmd_name( argv ), temp, "w+" );
-+	    /* we dont have to use rle_open_f() because all it does in
-+	     * this case is run fopen() ... we're creating a file so all
-+	     * the checks for opening an existing file aren't needed */
-+	    int fd = mkstemp(temp);
-+	    if (fd == -1 || (tmpfile = fdopen(fd, "w+")) == NULL) {
-+		perror("Unable to open tempfile");
-+		exit(-1);
-+	    }
- 	}
-     }
- 
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index bd1de3e9f93e..e8328252a117 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -73,7 +73,7 @@ let
               if(versionSpec == "latest" || versionSpec == "unstable" ||
                   versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/')
                   return '*';
-              else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" ||
+              else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" || parsedUrl.protocol == "github:" ||
                   parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:")
                   return '*';
               else
diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix
new file mode 100644
index 000000000000..eb1e8d15feab
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bos/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
+, astring, fmt, fpath, logs, rresult
+}:
+
+stdenv.mkDerivation rec {
+	name = "ocaml${ocaml.version}-bos-${version}";
+	version = "0.1.4";
+	src = fetchurl {
+		url = "http://erratique.ch/software/bos/releases/bos-${version}.tbz";
+		sha256 = "1ly66lysk4w6mdy4k1n3ynlpfpq7lw4wshcpzgx58v6x613w5s7q";
+	};
+
+	unpackCmd = "tar xjf $src";
+
+	buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
+	propagatedBuildInputs = [ astring fmt fpath logs rresult ];
+
+	inherit (topkg) buildPhase installPhase;
+
+	meta = {
+		description = "Basic OS interaction for OCaml";
+		homepage = http://erratique.ch/software/bos;
+		license = stdenv.lib.licenses.isc;
+		maintainers = [ stdenv.lib.maintainers.vbgl ];
+		inherit (ocaml.meta) platforms;
+	};
+}
diff --git a/pkgs/development/ocaml-modules/cpuid/default.nix b/pkgs/development/ocaml-modules/cpuid/default.nix
new file mode 100644
index 000000000000..1bdf70e86c5a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cpuid/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, ocb-stubblr }:
+
+stdenv.mkDerivation {
+  name = "ocaml${ocaml.version}-cpuid-0.1.0";
+
+  src = fetchurl {
+    url = http://github.com/pqwy/cpuid/releases/download/v0.1.0/cpuid-0.1.0.tbz;
+    sha256 = "08k2558a3dnxn8msgpz8c93sfn0y027ganfdi2yvql0fp1ixv97p";
+  };
+
+  unpackCmd = "tar xjf $src";
+
+  buildInputs = [ ocaml findlib ocamlbuild opam topkg ocb-stubblr ];
+
+  inherit (topkg) buildPhase installPhase;
+
+  meta = {
+    homepage = https://github.com/pqwy/cpuid;
+    description = "Detect CPU features from OCaml";
+    license = stdenv.lib.licenses.isc;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index d7b0bbd3d48c..57f3477edf6b 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -10,12 +10,12 @@ assert stdenv.lib.versionAtLeast ocaml.version "4.02";
 stdenv.mkDerivation rec
 {
   pname = "eliom";
-  version = "6.0.0";
+  version = "6.2.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/ocsigen/eliom/archive/${version}.tar.gz";
-    sha256 = "1yaqi5fdzvi2ga412chw5rk3533a3xamwfmias1crk793d43cmpc";
+    sha256 = "01c4l982ld6d1ndhb6f15ldb2li7mv0bs279d5gs99mpiwsapadx";
   };
 
   patches = [ ./camlp4.patch ];
diff --git a/pkgs/development/ocaml-modules/functoria/default.nix b/pkgs/development/ocaml-modules/functoria/default.nix
new file mode 100644
index 000000000000..bfcdd4168ca7
--- /dev/null
+++ b/pkgs/development/ocaml-modules/functoria/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
+, bos, cmdliner, ocamlgraph
+}:
+
+stdenv.mkDerivation rec {
+	name = "ocaml${ocaml.version}-functoria-${version}";
+	version = "2.0.2";
+	src = fetchurl {
+		url = "http://github.com/mirage/functoria/releases/download/${version}/functoria-${version}.tbz";
+		sha256 = "019rl4rir4lwgjyqj2wq3ylw4daih1kxxgbc6ld6kzcq66mwr747";
+	};
+
+	unpackCmd = "tar xjf $src";
+
+	buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
+	propagatedBuildInputs = [ bos cmdliner ocamlgraph ];
+
+	inherit (topkg) buildPhase installPhase;
+
+	meta = {
+		description = "A DSL to organize functor applications";
+		homepage = https://github.com/mirage/functoria;
+		license = stdenv.lib.licenses.isc;
+		maintainers = [ stdenv.lib.maintainers.vbgl ];
+		inherit (ocaml.meta) platforms;
+	};
+}
diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix
index 351a773a6f7b..3bced92cc3e3 100644
--- a/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/pkgs/development/ocaml-modules/llvm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python, llvm, ocaml, findlib, ctypes }:
+{ stdenv, fetchpatch, python, cmake, llvm, ocaml, findlib, ctypes }:
 
 let version = stdenv.lib.getVersion llvm; in
 
@@ -7,21 +7,23 @@ stdenv.mkDerivation {
 
   inherit (llvm) src;
 
-  buildInputs = [ python llvm ocaml findlib ctypes ];
+  buildInputs = [ python cmake llvm ocaml findlib ctypes ];
 
-  configurePhase = ''
-    mkdir build
-    cd build
-    ../configure --disable-compiler-version-checks --prefix=$out \
-    --disable-doxygen --disable-docs --with-ocaml-libdir=$OCAMLFIND_DESTDIR/llvm \
-    --enable-static
-    '';
+  patches = [ (fetchpatch {
+    url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/llvm/llvm.3.9/files/cmake.patch;
+    sha256 = "1fcc6ylfiw1npdhx7mrsj7h0dx7cym7i9664kpr76zqazb52ikm9";
+  })];
 
-  enableParallelBuilding = false;
+  cmakeFlags = [ "-DLLVM_OCAML_OUT_OF_TREE=TRUE" ];
 
-  makeFlags = [ "-C bindings" "SYSTEM_LLVM_CONFIG=llvm-config" ];
+  buildFlags = "ocaml_all";
+
+  installFlags = "-C bindings/ocaml";
 
   postInstall = ''
+    mv $out/lib/ocaml $out/ocaml
+    mkdir -p $OCAMLFIND_DESTDIR/
+    mv $out/ocaml $OCAMLFIND_DESTDIR/llvm
     mv $OCAMLFIND_DESTDIR/llvm/META{.llvm,}
   '';
 
diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
new file mode 100644
index 000000000000..3694dd2d6abc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, jbuilder, result }:
+
+stdenv.mkDerivation rec {
+   name = "ocaml${ocaml.version}-ocaml-migrate-parsetree-${version}";
+   version = "0.5";
+
+   src = fetchFromGitHub {
+     owner = "let-def";
+     repo = "ocaml-migrate-parsetree";
+     rev = "v${version}";
+     sha256 = "023lnd3kxa3d4zgsvv0z2lyzhg05zcgagy18vaalimbza57wq83h";
+   };
+
+   buildInputs = [ ocaml findlib ocamlbuild jbuilder ];
+   propagatedBuildInputs = [ result ];
+
+   installPhase = ''
+     for p in *.install
+     do
+       ${jbuilder.installPhase} $p
+     done
+   '';
+
+   meta = {
+     description = "Convert OCaml parsetrees between different major versions";
+     license = stdenv.lib.licenses.lgpl21;
+     maintainers = [ stdenv.lib.maintainers.vbgl ];
+     inherit (src.meta) homepage;
+     inherit (ocaml.meta) platforms;
+   };
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index 8d949497b465..8685097750b9 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -1,6 +1,7 @@
 {stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl,
 ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ipaddr, zlib,
 libev, openssl, ocaml_sqlite3, tree, uutf, makeWrapper, camlp4
+, pgocaml
 }:
 
 let mkpath = p: n:
@@ -18,7 +19,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt
   ocamlnet ocaml_pcre cryptokit tyxml ipaddr zlib libev openssl
-  ocaml_sqlite3 tree uutf makeWrapper camlp4 ];
+  ocaml_sqlite3 tree uutf makeWrapper camlp4 pgocaml ];
 
   configureFlags = "--root $(out) --prefix /";
 
diff --git a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
new file mode 100644
index 000000000000..00416c92bb94
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, buildOcaml, ocaml, eliom, opam }:
+
+buildOcaml rec
+{
+ name = "ocsigen-toolkit";
+ version = "1.0.0";
+
+ propagatedBuildInputs = [ eliom ];
+ buildInputs = [ opam ];
+
+ createFindlibDestdir = true;
+
+ installPhase =
+  ''
+    export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
+    make install
+    opam-installer --prefix=$out
+  '';
+
+  src = fetchurl {
+    sha256 = "0wm4fnss7vlkd03ybgfrk63kpip6m6p6kdqjn3f64n11256mwzj2";
+    url = "https://github.com/ocsigen/${name}/archive/${version}.tar.gz";
+  };
+
+  meta = {
+    homepage = http://ocsigen.org/ocsigen-toolkit/;
+    description = " User interface widgets for Ocsigen applications";
+    license = stdenv.lib.licenses.lgpl21;
+    maintainers = [ stdenv.lib.maintainers.gal_bolle ];
+  };
+
+
+}
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix
new file mode 100644
index 000000000000..69276fb5a7d6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg, cppo
+, ppx_import, ppx_deriving, yojson, ounit
+}:
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-ppx_deriving_yojson-${version}";
+  version = "3.0";
+
+  src = fetchFromGitHub {
+    owner = "whitequark";
+    repo = "ppx_deriving_yojson";
+    rev = "v${version}";
+    sha256 = "1id1a29qq0ax9qp98b5hv6p2q2r0vp4fbkkwzm1bxdhnasw97msk";
+  };
+
+  buildInputs = [ ocaml findlib ocamlbuild opam cppo ounit ppx_import ];
+
+  propagatedBuildInputs = [ ppx_deriving yojson ];
+
+  inherit (topkg) installPhase;
+
+  doCheck = true;
+  checkTarget = "test";
+
+  meta = {
+    description = "A Yojson codec generator for OCaml >= 4.02.";
+    inherit (src.meta) homepage;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/rresult/default.nix b/pkgs/development/ocaml-modules/rresult/default.nix
new file mode 100644
index 000000000000..f9951b56da2d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/rresult/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg }:
+
+stdenv.mkDerivation rec {
+	name = "ocaml${ocaml.version}-rresult-${version}";
+	version = "0.5.0";
+	src = fetchurl {
+		url = "http://erratique.ch/software/rresult/releases/rresult-${version}.tbz";
+		sha256 = "1xxycxhdhaq8p9vhwi93s2mlxjwgm44fcxybx5vghzgbankz9yhm";
+	};
+
+	unpackCmd = "tar xjf $src";
+
+	buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
+
+	inherit (topkg) buildPhase installPhase;
+
+	meta = {
+		license = stdenv.lib.licenses.isc;
+		homepage = http://erratique.ch/software/rresult;
+		description = "Result value combinators for OCaml";
+		maintainers = [ stdenv.lib.maintainers.vbgl ];
+		inherit (ocaml.meta) platforms;
+	};
+}
diff --git a/pkgs/development/pure-modules/octave/default.nix b/pkgs/development/pure-modules/octave/default.nix
index 9f9527d0f025..61bc7a4d5c15 100644
--- a/pkgs/development/pure-modules/octave/default.nix
+++ b/pkgs/development/pure-modules/octave/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, pure, octave }:
+{ stdenv, fetchurl, pkgconfig, pure, octave, gcc6 }:
 
 stdenv.mkDerivation rec {
   baseName = "octave";
-  version = "0.7";
+  version = "0.9";
   name = "pure-${baseName}-${version}";
 
   src = fetchurl {
     url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
-    sha256 = "04c1q5cjcyc5sg15ny1hn43rkphja3virw4k110cahc3piwbpsqk";
+    sha256 = "0l1mvmi3rpabzjcrk6p04rdn922mvdm9x67zby3dha5iiccc47q0";
   };
 
-  buildInputs = [ pkgconfig ];
+  buildInputs = [ pkgconfig gcc6 ];
   propagatedBuildInputs = [ pure octave ];
   makeFlags = "libdir=$(out)/lib prefix=$(out)/";
   setupHook = ../generic-setup-hook.sh;
diff --git a/pkgs/development/python-modules/configparser/0001-namespace-fix.patch b/pkgs/development/python-modules/configparser/0001-namespace-fix.patch
new file mode 100644
index 000000000000..05dbf4677182
--- /dev/null
+++ b/pkgs/development/python-modules/configparser/0001-namespace-fix.patch
@@ -0,0 +1,42 @@
+From daae1ae35e13bc8107dc97d9219dfb8e172d5d2a Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Tue, 14 Mar 2017 15:00:33 +0100
+Subject: [PATCH] namespace fix
+
+configparser broke other namespace packages
+https://github.com/NixOS/nixpkgs/issues/23855#issuecomment-286427428
+This patch seems to solve that issue.
+---
+ setup.py                  | 1 -
+ src/backports/__init__.py | 6 ------
+ 2 files changed, 7 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 3b07823..63ed25d 100644
+--- a/setup.py
++++ b/setup.py
+@@ -42,7 +42,6 @@ setup(
+     py_modules=modules,
+     package_dir={'': 'src'},
+     packages=find_packages('src'),
+-    namespace_packages=['backports'],
+     include_package_data=True,
+     zip_safe=False,
+     install_requires=requirements,
+diff --git a/src/backports/__init__.py b/src/backports/__init__.py
+index f84d25c..febdb2f 100644
+--- a/src/backports/__init__.py
++++ b/src/backports/__init__.py
+@@ -3,9 +3,3 @@
+ 
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
+-
+-try:
+-    import pkg_resources
+-    pkg_resources.declare_namespace(__name__)
+-except ImportError:
+-    pass
+-- 
+2.11.1
+
diff --git a/pkgs/development/python-modules/dateutil/default.nix b/pkgs/development/python-modules/dateutil/default.nix
new file mode 100644
index 000000000000..8e05ee343573
--- /dev/null
+++ b/pkgs/development/python-modules/dateutil/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchurl, six }:
+buildPythonPackage rec {
+  name = "dateutil-${version}";
+  version = "2.6.0";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/python-dateutil/python-${name}.tar.gz";
+    sha256 = "1lhq0hxjc3cfha101q02ld5ijlpfyjn2w1yh7wvpiy367pgzi8k2";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    description = "Powerful extensions to the standard datetime module";
+    homepage = http://pypi.python.org/pypi/python-dateutil;
+    license = "BSD-style";
+  };
+}
diff --git a/pkgs/development/python-modules/django-raster/default.nix b/pkgs/development/python-modules/django-raster/default.nix
new file mode 100644
index 000000000000..e673d587e3e3
--- /dev/null
+++ b/pkgs/development/python-modules/django-raster/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchurl,
+  numpy, django_colorful, pillow, psycopg2,
+  pyparsing, django, celery
+}:
+buildPythonPackage rec {
+  name = "django-raster-${version}";
+  version = "0.3.1";
+
+  src = fetchurl {
+    url = "mirror://pypi/d/django-raster/${name}.tar.gz";
+    sha256 = "1hsrkvybak1adn9d9qdw7hx3rcxsbzas4ixwll6vrjkrizgfihk3";
+  };
+
+  # Tests require a postgresql + postgis server
+  doCheck = false;
+
+  propagatedBuildInputs = [ numpy django_colorful pillow psycopg2
+                            pyparsing django celery ];
+
+  meta = with stdenv.lib; {
+    description = "Basic raster data integration for Django";
+    homepage = https://github.com/geodesign/django-raster;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/django_guardian.nix b/pkgs/development/python-modules/django_guardian.nix
index c9217955213d..1b31456162b0 100644
--- a/pkgs/development/python-modules/django_guardian.nix
+++ b/pkgs/development/python-modules/django_guardian.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, python, fetchurl
 , django_environ, mock, django, six
-, pytest, pytestrunner, pytestdjango, setuptools_scm
+, pytest, pytestrunner, pytest-django, setuptools_scm
 }:
 buildPythonPackage rec {
   name = "django-guardian-${version}";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "1r3xj0ik0hh6dfak4kjndxk5v73x95nfbppgr394nhnmiayv4zc5";
   };
 
-  buildInputs = [ pytest pytestrunner pytestdjango django_environ mock setuptools_scm ];
+  buildInputs = [ pytest pytestrunner pytest-django django_environ mock setuptools_scm ];
   propagatedBuildInputs = [ django six ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/ds4drv.nix b/pkgs/development/python-modules/ds4drv.nix
new file mode 100644
index 000000000000..8698a65ea11b
--- /dev/null
+++ b/pkgs/development/python-modules/ds4drv.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitHub, buildPythonPackage
+, evdev, pyudev
+, bluez
+}:
+
+buildPythonPackage rec {
+  name = "ds4drv-${version}";
+  version = "0.5.1";
+
+  # PyPi only carries py3 wheel
+  src = fetchFromGitHub {
+    owner = "chrippa";
+    repo = "ds4drv";
+    rev = "v${version}";
+    sha256 = "0vinpla0apizzykcyfis79mrm1i6fhns83nkzw85svypdhkx2g8v";
+  };
+
+  propagatedBuildInputs = [ evdev pyudev ];
+
+  buildInputs = [ bluez ];
+
+  meta = {
+    description = "Userspace driver for the DualShock 4 controller";
+    homepage = "https://github.com/chrippa/ds4drv";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/edward/default.nix b/pkgs/development/python-modules/edward/default.nix
new file mode 100644
index 000000000000..0ae81aef0968
--- /dev/null
+++ b/pkgs/development/python-modules/edward/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy27, pythonAtLeast
+, Keras, numpy, scipy, six, tensorflow }:
+
+buildPythonPackage rec {
+  pname = "edward";
+  version = "1.2.2";
+  name  = "${pname}-${version}";
+
+  disabled = !(isPy27 || pythonAtLeast "3.4");
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0h9i15l7mczwx8jvabjbvxjjidr13x81h6vylb1p8r308w01r2as";
+  };
+
+  # disabled for now due to Tensorflow trying to create files in $HOME:
+  doCheck = false;
+
+  propagatedBuildInputs = [ Keras numpy scipy six tensorflow ];
+
+  meta = with stdenv.lib; {
+    description = "Probabilistic programming language using Tensorflow";
+    homepage = https://github.com/blei-lab/edward;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/first/default.nix b/pkgs/development/python-modules/first/default.nix
new file mode 100644
index 000000000000..5ecbff90442d
--- /dev/null
+++ b/pkgs/development/python-modules/first/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+let
+  pname = "first";
+  version = "2.0.1";
+in
+buildPythonPackage {
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pn9hl2y0pz61la1xhkdz6vl9i2dg3nh0ksizcf0f9ybh8sxxcrv";
+  };
+
+  doCheck = false; # no tests
+
+  meta = with stdenv.lib; {
+    description = "The function you always missed in Python";
+    homepage = https://github.com/hynek/first/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/development/python-modules/hypothesis.nix b/pkgs/development/python-modules/hypothesis.nix
index f313f6ab5c4d..271251b830e1 100644
--- a/pkgs/development/python-modules/hypothesis.nix
+++ b/pkgs/development/python-modules/hypothesis.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, python
-, isPy27, enum34
+, pythonOlder, pythonAtLeast, enum34
 , doCheck ? true, pytest, flake8, flaky
 }:
 buildPythonPackage rec {
@@ -10,18 +10,18 @@ buildPythonPackage rec {
   # If you need these, you can just add them to your environment.
 
   name = "hypothesis-${version}";
-  version = "3.6.0";
+  version = "3.6.1";
 
   # Upstream prefers github tarballs
   src = fetchFromGitHub {
     owner = "HypothesisWorks";
     repo = "hypothesis";
     rev = "${version}";
-    sha256 = "0a3r4c8sr9jn7sv419vdzrzfc9sp7zf105f1lgyiwyzi3cgyvcvg";
+    sha256 = "1zwr9g4h4jizbvm2d7fywdpcxmw8i1m85h8g72kizah07gk12aq1";
   };
 
   buildInputs = stdenv.lib.optionals doCheck [ pytest flake8 flaky ];
-  propagatedBuildInputs = stdenv.lib.optionals isPy27 [ enum34 ];
+  propagatedBuildInputs = stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ];
 
   inherit doCheck;
 
@@ -30,6 +30,10 @@ buildPythonPackage rec {
     ${python.interpreter} -m pytest tests/cover
   '';
 
+  # Unsupport by upstream on certain versions
+  # https://github.com/HypothesisWorks/hypothesis-python/issues/477
+  disabled = pythonOlder "3.4" && pythonAtLeast "2.8";
+
   meta = with stdenv.lib; {
     description = "A Python library for property based testing";
     homepage = https://github.com/DRMacIver/hypothesis;
diff --git a/pkgs/development/python-modules/libais/default.nix b/pkgs/development/python-modules/libais/default.nix
new file mode 100644
index 000000000000..85b5d92e79f4
--- /dev/null
+++ b/pkgs/development/python-modules/libais/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchurl,
+  six, pytest, pytestrunner, pytestcov, coverage
+}:
+buildPythonPackage rec {
+  name = "libais-${version}";
+  version = "0.16";
+
+  src = fetchurl {
+    url = "mirror://pypi/l/libais/${name}.tar.bz2";
+    sha256 = "14dsh5k32ryszwdn6p45wrqp4ska6cc9qpm6lk5c5d1p4rc7wnhq";
+  };
+
+  # data files missing
+  doCheck = false;
+
+  buildInputs = [ pytest pytestrunner pytestcov coverage ];
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/schwehr/libais;
+    description = "Library for decoding maritime Automatic Identification System messages";
+    license = licenses.asl20;
+    platforms = platforms.linux;  # It currently fails to build on darwin
+  };
+}
diff --git a/pkgs/development/python-modules/libnacl/default.nix b/pkgs/development/python-modules/libnacl/default.nix
new file mode 100644
index 000000000000..0aa3ed29f20b
--- /dev/null
+++ b/pkgs/development/python-modules/libnacl/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest, libsodium }:
+
+buildPythonPackage rec {
+  pname = "libnacl";
+  version = "1.5.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ph042x0cfysj16mmjif40pxn505rg5c9n94s972dgc0mfgvrwhs";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ libsodium ];
+
+  postPatch = ''
+    substituteInPlace "./libnacl/__init__.py" --replace "ctypes.cdll.LoadLibrary('libsodium.so')" "ctypes.cdll.LoadLibrary('${libsodium}/lib/libsodium.so')"
+  '';
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ xvapx ];
+    description = "Python bindings for libsodium based on ctypes";
+    homepage = "https://pypi.python.org/pypi/libnacl";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/mnemonic.nix b/pkgs/development/python-modules/mnemonic.nix
new file mode 100644
index 000000000000..9f71fdb8e741
--- /dev/null
+++ b/pkgs/development/python-modules/mnemonic.nix
@@ -0,0 +1,21 @@
+{ lib, fetchurl, buildPythonPackage, pbkdf2 }:
+
+buildPythonPackage rec {
+  pname = "mnemonic";
+  version = "0.17";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/m/${pname}/${name}.tar.gz";
+    sha256 = "1hq6xb47jagfqf65iwcrh0065mj3521d2mxmahg7vfraihqyqdjn";
+  };
+
+  propagatedBuildInputs = [ pbkdf2 ];
+
+  meta = {
+    description = "Implementation of Bitcoin BIP-0039";
+    homepage = https://github.com/trezor/python-mnemonic;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/pep257.nix b/pkgs/development/python-modules/pep257.nix
index f185019b0f7a..1cd0e4afc0ce 100644
--- a/pkgs/development/python-modules/pep257.nix
+++ b/pkgs/development/python-modules/pep257.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     homepage = https://github.com/GreenSteam/pep257/;
     description = "Python docstring style checker";
     longDescription = "Static analysis tool for checking compliance with Python PEP 257.";
-    lecense = licenses.mit;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
new file mode 100644
index 000000000000..fe307513de7c
--- /dev/null
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, buildPythonPackage, pip, pytest, click, six, first, glibcLocales }:
+buildPythonPackage rec {
+  pname = "pip-tools";
+  version = "1.8.1rc3";
+  name = "pip-tools-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jazzband";
+    repo = "pip-tools";
+    rev = version;
+    sha256 = "09rbgzj71bfp1x1jfr1zx3vax4qjbw5l6vcd3fqvshsdvg9lcnpx";
+  };
+
+  LC_ALL = "en_US.UTF-8";
+  buildInputs = [ pytest glibcLocales ];
+  propagatedBuildInputs = [ pip click six first ];
+
+  checkPhase = ''
+    export HOME=$(mktemp -d)
+    py.test -k "not test_realistic_complex_sub_dependencies" # requires network
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Keeps your pinned dependencies fresh";
+    homepage = https://github.com/jazzband/pip-tools/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyGithub/default.nix b/pkgs/development/python-modules/pyGithub/default.nix
new file mode 100644
index 000000000000..75fb75f93185
--- /dev/null
+++ b/pkgs/development/python-modules/pyGithub/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub
+, cacert
+, buildPythonPackage, python-jose }:
+
+buildPythonPackage rec {
+  name = "PyGithub-${version}";
+  version = "1.32";
+
+  src = fetchFromGitHub {
+    owner = "PyGithub";
+    repo = "PyGithub";
+    rev = "v${version}";
+    sha256 = "15dr9ja63zdxax9lg6q2kcakqa82dpffyhgpjr13wq3sfkcy5pdw";
+  };
+
+  postPatch = ''
+    # requires network
+    echo "" > github/tests/Issue142.py
+  '';
+  propagatedBuildInputs = [ python-jose ];
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/PyGithub/PyGithub";
+    description = "A Python (2 and 3) library to access the GitHub API v3";
+    platforms = platforms.all;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jhhuh ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyaes.nix b/pkgs/development/python-modules/pyaes.nix
new file mode 100644
index 000000000000..c2feb2e239c7
--- /dev/null
+++ b/pkgs/development/python-modules/pyaes.nix
@@ -0,0 +1,18 @@
+{ lib, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "pyaes";
+  version = "1.6.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bp9bjqy1n6ij1zb86wz9lqa1dhla8qr1d7w2kxyn7jbj56sbmcw";
+  };
+
+  meta = {
+    description = "Pure-Python AES";
+    license = lib.licenses.mit;
+    homepage = https://github.com/ricmoo/pyaes;
+  };
+}
diff --git a/pkgs/development/python-modules/pycassa/default.nix b/pkgs/development/python-modules/pycassa/default.nix
new file mode 100644
index 000000000000..fc8fbcaa8d2d
--- /dev/null
+++ b/pkgs/development/python-modules/pycassa/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchPypi, thrift, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "pycassa";
+  version = "1.11.2";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1nsqjzgn6v0rya60dihvbnrnq1zwaxl2qwf0sr08q9qlkr334hr6";
+  };
+
+  disabled = isPy3k;
+
+  # Tests are not executed since they require a cassandra up and
+  # running
+  doCheck = false;
+
+  propagatedBuildInputs = [ thrift ];
+
+  meta = {
+    description = "A python client library for Apache Cassandra";
+    homepage = http://github.com/pycassa/pycassa;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pygame/default.nix b/pkgs/development/python-modules/pygame/default.nix
index 226b613a8b4b..af7b7aca93cb 100644
--- a/pkgs/development/python-modules/pygame/default.nix
+++ b/pkgs/development/python-modules/pygame/default.nix
@@ -1,29 +1,24 @@
 { stdenv, lib, fetchurl, buildPythonPackage, python, smpeg, libX11
-, SDL, SDL_image, SDL_mixer, SDL_ttf, libpng, libjpeg, portmidi, isPy3k,
+, SDL, SDL_image, SDL_mixer, SDL_ttf, libpng, libjpeg, portmidi, freetype
 }:
 
 buildPythonPackage rec {
   name = "pygame-${version}";
-  version = "1.9.1";
+  version = "1.9.3";
 
   src = fetchurl {
-    url = "http://www.pygame.org/ftp/pygame-1.9.1release.tar.gz";
-    sha256 = "0cyl0ww4fjlf289pjxa53q4klyn55ajvkgymw0qrdgp4593raq52";
+    url = "mirror://pypi/p/pygame/pygame-${version}.tar.gz";
+    sha256 = "1hlydiyygl444bq5m5g8n3jsxsgrdyxlm42ipmfbw36wkf0j243m";
   };
 
   buildInputs = [
     SDL SDL_image SDL_mixer SDL_ttf libpng libjpeg
-    smpeg portmidi libX11
+    portmidi libX11 freetype
   ];
 
-  # http://ubuntuforums.org/showthread.php?t=1960262
-  disabled = isPy3k;
-
   # Tests fail because of no audio device and display.
   doCheck = false;
 
-  patches = [ ./pygame-v4l.patch ];
-
   preConfigure = ''
     sed \
       -e "s/^origincdirs = .*/origincdirs = []/" \
diff --git a/pkgs/development/python-modules/pylibmc/default.nix b/pkgs/development/python-modules/pylibmc/default.nix
new file mode 100644
index 000000000000..c91930292c2e
--- /dev/null
+++ b/pkgs/development/python-modules/pylibmc/default.nix
@@ -0,0 +1,21 @@
+{ buildPythonPackage, fetchurl, stdenv, libmemcached, zlib }:
+buildPythonPackage rec {
+  name = "pylibmc-${version}";
+  version = "1.5.1";
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/p/pylibmc/${name}.tar.gz";
+    sha256 = "1mnd8lng9wmcihl7mxd940hy1dzzvzsb971qclrvmqf3b4c2dfpc";
+  };
+
+  buildInputs = [ libmemcached zlib ];
+
+  # requires an external memcached server running
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Quick and small memcached client for Python";
+    homepage = http://sendapatch.se/projects/pylibmc/;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-django/default.nix b/pkgs/development/python-modules/pytest-django/default.nix
new file mode 100644
index 000000000000..56fc72ebccee
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-django/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, buildPythonPackage, fetchurl
+, pytest, django, setuptools_scm
+, fetchpatch
+}:
+buildPythonPackage rec {
+  name = "pytest-django-${version}";
+  version = "3.1.2";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pytest-django/${name}.tar.gz";
+    sha256 = "02932m2sr8x22m4az8syr8g835g4ak77varrnw71n6xakmdcr303";
+  };
+
+  buildInputs = [ pytest setuptools_scm ];
+  propagatedBuildInputs = [ django ];
+
+  patches = [
+    # Unpin setuptools-scm
+    (fetchpatch {
+      url = "https://github.com/pytest-dev/pytest-django/commit/25cbc3b395dcdeb92bdc9414e296680c2b9d602e.patch";
+      sha256 = "0mz3rcsv44pfzlxy3pv8mx87glmv34gy0d5aknvbzgb2a9niryws";
+    })
+  ];
+
+  # Complicated. Requires Django setup.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "py.test plugin for testing of Django applications";
+    homepage = http://pytest-django.readthedocs.org/en/latest/;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/python-jose/default.nix b/pkgs/development/python-modules/python-jose/default.nix
new file mode 100644
index 000000000000..da4dd4107461
--- /dev/null
+++ b/pkgs/development/python-modules/python-jose/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, future, six, ecdsa, pycryptodome, pytest
+}:
+
+buildPythonPackage rec {
+  name = "python-jose-${version}";
+  version = "1.3.2";
+  src = fetchFromGitHub {
+    owner = "mpdavis";
+    repo = "python-jose";
+    rev = version;
+    sha256 = "0933pbflv2pvws5m0ksz8y1fqr8m123smmrbr5k9a71nssd502sv";
+  };
+
+  buildInputs = [ pytest ];
+  checkPhase = "py.test .";
+  patches = [
+    # to use pycryptodme instead of pycrypto
+    ./pycryptodome.patch
+  ];
+  propagatedBuildInputs = [ future six ecdsa pycryptodome ];
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/mpdavis/python-jose";
+    description = "A JOSE implementation in Python";
+    platforms = platforms.all;
+    license = licenses.mit;
+    maintainers = [ maintainers.jhhuh ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-jose/pycryptodome.patch b/pkgs/development/python-modules/python-jose/pycryptodome.patch
new file mode 100644
index 000000000000..665ad5980343
--- /dev/null
+++ b/pkgs/development/python-modules/python-jose/pycryptodome.patch
@@ -0,0 +1,37 @@
+diff -ru python-jose-1.3.2/requirements.txt python-jose-1.3.2.new/requirements.txt
+--- python-jose-1.3.2/requirements.txt	2016-09-05 15:13:49.000000000 +0200
++++ python-jose-1.3.2.new/requirements.txt	2017-03-15 11:35:47.118001810 +0100
+@@ -1,3 +1,3 @@
+-pycrypto
++pycryptodome
+ six
+ future
+diff -ru python-jose-1.3.2/setup.py python-jose-1.3.2.new/setup.py
+--- python-jose-1.3.2/setup.py	2016-09-05 15:13:49.000000000 +0200
++++ python-jose-1.3.2.new/setup.py	2017-03-15 11:37:15.725077184 +0100
+@@ -25,12 +25,8 @@
+ 
+ 
+ def get_install_requires():
+-    if platform.python_implementation() == 'PyPy':
+-        crypto_lib = 'pycryptodome >=3.3.1, <3.4.0'
+-    else:
+-        crypto_lib = 'pycrypto >=2.6.0, <2.7.0'
+     return [
+-        crypto_lib,
++        'pycryptodome >=3.3.1, <3.5.0',
+         'six <2.0',
+         'ecdsa <1.0',
+         'future <1.0',
+diff -ru python-jose-1.3.2/tox.ini python-jose-1.3.2.new/tox.ini
+--- python-jose-1.3.2/tox.ini	2016-09-05 15:13:49.000000000 +0200
++++ python-jose-1.3.2.new/tox.ini	2017-03-15 11:36:50.423055657 +0100
+@@ -6,7 +6,7 @@
+     py.test --cov-report term-missing --cov jose
+ deps =
+     future
+-    pycrypto
++    pycryptodome
+     ecdsa
+     pytest
+     pytest-cov
diff --git a/pkgs/development/python-modules/pyudev.nix b/pkgs/development/python-modules/pyudev.nix
new file mode 100644
index 000000000000..98607501e032
--- /dev/null
+++ b/pkgs/development/python-modules/pyudev.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildPythonPackage
+, six, systemd
+}:
+
+buildPythonPackage rec {
+  name = "pyudev-${version}";
+  version = "0.21.0";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pyudev/${name}.tar.gz";
+    sha256 = "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9";
+  };
+
+  postPatch = ''
+    substituteInPlace src/pyudev/_ctypeslib/libudev.py \
+      --replace "find_library('udev')" "'${systemd.lib}/lib/libudev.so'"
+    '';
+
+  propagatedBuildInputs = [ systemd six ];
+
+  meta = {
+    homepage = "http://pyudev.readthedocs.org/";
+    description = "Pure Python libudev binding";
+    license = lib.licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/trezor.nix b/pkgs/development/python-modules/trezor.nix
new file mode 100644
index 000000000000..36bf0c15de25
--- /dev/null
+++ b/pkgs/development/python-modules/trezor.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }:
+
+buildPythonPackage rec {
+  pname = "trezor";
+  version = "0.7.12";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/t/${pname}/${name}.tar.gz";
+    sha256 = "0ryqdk13x60qq5s68i9dfc1na4dka66kdxqycxignzg9k9ykaa8g";
+  };
+
+  propagatedBuildInputs = [ protobuf3_0 hidapi ];
+
+  buildInputs = [ ecdsa mnemonic ];
+
+  # There are no actual tests: "ImportError: No module named tests"
+  doCheck = false;
+
+  meta = {
+    description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet";
+    homepage = https://github.com/trezor/python-trezor;
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/typed-ast/default.nix b/pkgs/development/python-modules/typed-ast/default.nix
index 8d36d3c3a61f..02a603234205 100644
--- a/pkgs/development/python-modules/typed-ast/default.nix
+++ b/pkgs/development/python-modules/typed-ast/default.nix
@@ -1,13 +1,16 @@
-{ buildPythonPackage, fetchzip, isPy3k, lib, pythonOlder }:
+{ buildPythonPackage, fetchPypi, isPy3k, lib, pythonOlder }:
 buildPythonPackage rec {
-  name = "typed-ast-${version}";
-  version = "1.0.1";
-  src = fetchzip {
-    url = "mirror://pypi/t/typed-ast/${name}.zip";
-    sha256 = "1q69czr9ghnbd81hay71kgynn6mqi5nsgand9yw6dyw5bim5l154";
+  pname = "typed-ast";
+  version = "1.0.2";
+  name = "${pname}-${version}";
+  src = fetchPypi{
+    inherit pname version;
+    sha256 = "13e02b10479ddff07eb546f9638743702ab9b175bfa3cdf2482688df91b5766d";
   };
   # Only works with Python 3.3 and newer;
-  disabled = !isPy3k && !(pythonOlder "3.3");
+  disabled = pythonOlder "3.3";
+  # No tests in archive
+  doCheck = false;
   meta = {
     homepage = "https://pypi.python.org/pypi/typed-ast";
     description = "a fork of Python 2 and 3 ast modules with type comment support";
diff --git a/pkgs/development/python-modules/zeep/default.nix b/pkgs/development/python-modules/zeep/default.nix
new file mode 100644
index 000000000000..c6ae3881f1f4
--- /dev/null
+++ b/pkgs/development/python-modules/zeep/default.nix
@@ -0,0 +1,91 @@
+{ fetchPypi
+, lib
+, buildPythonPackage
+, python
+, isPy3k
+, appdirs
+, cached-property
+, defusedxml
+, isodate
+, lxml
+, pytz
+, requests_toolbelt
+, six
+# test dependencies
+, freezegun
+, mock
+, nose
+, pretend
+, pytest
+, pytestcov
+, requests-mock
+, testtools
+}:
+
+let
+  pname = "zeep";
+  version = "1.1.0";
+in buildPythonPackage {
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "83e82b6cb59e84bf4725add3771ed442bb099fad5959c887efe7c49a8a940ea5";
+  };
+
+  propagatedBuildInputs = [
+    appdirs
+    cached-property
+    defusedxml
+    isodate
+    lxml
+    pytz
+    requests_toolbelt
+    six
+  ];
+
+  # testtools dependency not supported for py3k
+  doCheck = !isPy3k;
+
+  buildInputs = if isPy3k then [] else [
+    freezegun
+    mock
+    nose
+    pretend
+    pytest
+    pytestcov
+    requests-mock
+  ];
+
+  patchPhase = ''
+    # remove overly strict bounds and lint requirements
+    sed -e "s/freezegun==.*'/freezegun'/" \
+        -e "s/pytest-cov==.*'/pytest-cov'/" \
+        -e "s/'isort.*//" \
+        -e "s/'flake8.*//" \
+        -i setup.py
+
+    # locale.preferredencoding() != 'utf-8'
+    sed -e "s/xsd', 'r')/xsd', 'r', encoding='utf-8')/" -i tests/*.py
+
+    # cache defaults to home directory, which doesn't exist
+    sed -e "s|SqliteCache()|SqliteCache(path='./zeeptest.db')|" \
+        -i tests/test_transports.py
+
+    # requires xmlsec python module
+    rm tests/test_wsse_signature.py
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m pytest tests
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    homepage = "http://docs.python-zeep.org";
+    license = licenses.mit;
+    description = "A modern/fast Python SOAP client based on lxml / requests";
+    maintainers = with maintainers; [ rvl ];
+  };
+}
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index f3737afdb222..9251c4d2a415 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.14.4";
-  sha256 = "1hafmb7p41pm40a2z7f4x5zpgrb72xvgwlvkxnflmzqkvq2prkfv";
+  version = "1.14.6";
+  sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index c1cb4412b9ca..1b41a10bb9c4 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.39.0";
+  version = "0.41.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "05a0kvhlakm7c7n19npg77rj52cz6282290126sfn0qq2059zhli";
+    sha256 = "0v3dhvvj4k35h7g42rmpwc9hqi2z0ccg7rmk8ad00l0djs13l18z";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 1c1dace284f1..5befd5e620d5 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -13,12 +13,12 @@ let
   optional = stdenv.lib.optional;
 in
 stdenv.mkDerivation rec {
-  version = "0.10.6";
+  version = "1.3.0";
   name = "radare2-${version}";
 
   src = fetchurl {
-    url = "http://radare.org/get/${name}.tar.xz";
-    sha256 = "0icxd8zilygnggxc50lkk6jmcq8xl66rqxqhzqwpiprbn8k7b24f";
+    url = "http://cloud.radare.org/get/${version}/${name}.tar.gz";
+    sha256 = "08p2vhv6vkqvknwq18xl5wgf843lbpbmb111x23gkkxm6vxvpydd";
   };
 
 
@@ -29,10 +29,10 @@ stdenv.mkDerivation rec {
     ++ optional luaBindings [lua];
 
   meta = {
-    description = "Free advanced command line hexadecimal editor";
+    description = "unix-like reverse engineering framework and commandline tools";
     homepage = http://radare.org/;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [raskin];
+    maintainers = with stdenv.lib.maintainers; [raskin makefu];
     platforms = with stdenv.lib.platforms; linux;
     inherit version;
   };
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 2ecb5eaa1329..80e3fdfc8072 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, perl, gdb }:
+{ stdenv, fetchurl, fetchpatch, perl, gdb, llvm, cctools, xnu, bootstrap_cmds }:
 
 stdenv.mkDerivation rec {
   name = "valgrind-3.12.0";
@@ -14,11 +14,13 @@ stdenv.mkDerivation rec {
 
   # Perl is needed for `cg_annotate'.
   # GDB is needed to provide a sane default for `--db-command'.
-  buildInputs = [ perl ] ++ stdenv.lib.optional (!stdenv.isDarwin) gdb;
+  buildInputs = [ perl gdb ]  ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ];
 
   enableParallelBuilding = true;
 
-  postPatch =
+  patches = stdenv.lib.optionals (stdenv.isDarwin) [ ./valgrind-bzero.patch ];
+
+  postPatch = stdenv.lib.optionalString (stdenv.isDarwin)
     # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
     ''
       echo "getting rid of the \`-arch' GCC option..."
@@ -27,6 +29,23 @@ stdenv.mkDerivation rec {
 
       sed -i coregrind/link_tool_exe_darwin.in \
           -e 's/^my \$archstr = .*/my $archstr = "x86_64";/g'
+
+      echo "substitute hardcoded /usr/include/mach with ${xnu}/include/mach"
+      substituteInPlace coregrind/Makefile.in \
+         --replace /usr/include/mach ${xnu}/include/mach
+
+      echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil"
+      find -name "Makefile.in" | while read file; do
+         substituteInPlace "$file" \
+           --replace dsymutil ${llvm}/bin/llvm-dsymutil
+      done
+
+      substituteInPlace coregrind/m_debuginfo/readmacho.c \
+         --replace /usr/bin/dsymutil ${llvm}/bin/llvm-dsymutil
+
+      echo "substitute hardcoded /usr/bin/ld with ${cctools}/bin/ld"
+      substituteInPlace coregrind/link_tool_exe_darwin.in \
+        --replace /usr/bin/ld ${cctools}/bin/ld
     '';
 
   configureFlags =
@@ -58,6 +77,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch b/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
new file mode 100644
index 000000000000..f56a277ad717
--- /dev/null
+++ b/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
@@ -0,0 +1,37 @@
+Index: coregrind/m_main.c
+===================================================================
+--- a/coregrind/m_main.c (revision 16102)
++++ b/coregrind/m_main.c (revision 16103)
+@@ -3489,6 +3489,10 @@
+     // skip check
+   return VG_(memset)(s,c,n);
+ }
++void __bzero(void* s, UWord n);
++void __bzero(void* s, UWord n) {
++    (void)VG_(memset)(s,0,n);
++}
+ void bzero(void *s, SizeT n);
+ void bzero(void *s, SizeT n) {
+     VG_(memset)(s,0,n);
+@@ -4058,20 +4062,7 @@
+ 
+ #endif
+ 
+-#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
+ 
+-/* This might also be needed for > DARWIN_10_10, but I have no way
+-   to test for that.  Hence '==' rather than '>=' in the version
+-   test above. */
+-void __bzero ( void* s, UWord n );
+-void __bzero ( void* s, UWord n )
+-{
+-   (void) VG_(memset)( s, 0, n );
+-}
+-
+-#endif
+-
+-
+ /*--------------------------------------------------------------------*/
+ /*--- end                                                          ---*/
+ /*--------------------------------------------------------------------*/
+
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 8d119371aa86..28b6601cab6f 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.4";
+    name = "gradle-3.4.1";
     nativeVersion = "0.13";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "0192yz1j59mvn6d3sch0yjx6i2fg4nyppkdpbqbbxqymrm6wvl3j";
+      sha256 = "1cpria3qry4778pxcmqvnaqcyq36abj1fgw4pq115k3rsj9v27fv";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/jam/default.nix b/pkgs/development/tools/build-managers/jam/default.nix
index 18cbe7731c00..c0d152ee7a2f 100644
--- a/pkgs/development/tools/build-managers/jam/default.nix
+++ b/pkgs/development/tools/build-managers/jam/default.nix
@@ -1,29 +1,32 @@
-{stdenv, fetchurl, yacc}:
+{ stdenv, fetchurl, yacc }:
 
-let
-  bindir = if stdenv.system == "i686-linux" then "bin.linuxx86"
-    else if stdenv.system == "x86_64-linux" then "bin.linux"
-    else throw "Unsupported platform by now";
-in
+stdenv.mkDerivation rec {
+  name = "jam-2.6";
 
-stdenv.mkDerivation {
-  name = "jam-2.5";
   src = fetchurl {
-    url = ftp://ftp.perforce.com/jam/jam-2.5.tar;
-    sha256 = "04c6khd7gdkqkvx4h3nbz99lyz7waid4fd221hq5chcygyx1sj3i";
+    url = "https://swarm.workshop.perforce.com/projects/perforce_software-jam/download/main/${name}.tar";
+    sha256 = "0j4r7xcjz15ksnnpjw56qi99q4lpjmx097pkwwkl1hq3hqml1zhn";
   };
 
-  buildInputs = [ yacc ];
+  nativeBuildInputs = [ yacc ];
+
+  buildPhase = ''
+    make jam0
+    ./jam0 -j$NIX_BUILD_CORES -sBINDIR=$out/bin install
+  '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp ${bindir}/jam $out/bin
+    mkdir -p $out/doc/jam
+    cp *.html $out/doc/jam
   '';
 
-  meta = {
-    homepage = http://public.perforce.com/wiki/Jam;
-    license = stdenv.lib.licenses.free;
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://www.perforce.com/resources/documentation/jam;
+    license = licenses.free;
     description = "Just Another Make";
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/build-managers/redo-sh/default.nix b/pkgs/development/tools/build-managers/redo-sh/default.nix
new file mode 100644
index 000000000000..95a49dc167aa
--- /dev/null
+++ b/pkgs/development/tools/build-managers/redo-sh/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.6";
+  name = "redo-sh-${version}";
+
+  src = fetchurl {
+    url = "http://news.dieweltistgarnichtso.net/bin/archives/redo-sh.tar.gz";
+    sha256 = "1cwrk4v22rb9410rzyb4py4ncg01n6850l80s74bk3sflbw974wp";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  sourceRoot = ".";
+  installPhase = ''
+    mkdir -p "$out/share"
+    mv man "$out/share"
+    mv bin "$out"
+    for p in $out/bin/*; do
+      wrapProgram "$p" --set PATH '$PATH:'"$out/bin"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Redo implementation in Bourne Shell";
+    homepage = "http://news.dieweltistgarnichtso.net/bin/redo-sh.html";
+    license  = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sternenseemann ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/sbt/0.12.4.nix b/pkgs/development/tools/build-managers/sbt/0.12.4.nix
new file mode 100644
index 000000000000..9c02fcd0b3fb
--- /dev/null
+++ b/pkgs/development/tools/build-managers/sbt/0.12.4.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, jre }:
+
+stdenv.mkDerivation rec {
+  name = "sbt-${version}";
+  version = "0.12.14";
+
+  src = fetchurl {
+    url = "https://dl.bintray.com/sbt/native-packages/sbt/${version}/${name}.tgz";
+    sha256 = "5907af5a3db5e9090024c91e8b6189cd2143841b08c4688542a2efbc9023ac1a";
+  };
+
+  patchPhase = ''
+    echo -java-home ${jre.home} >>conf/sbtopts
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/sbt $out/bin
+    cp -ra . $out/share/sbt
+    ln -s $out/share/sbt/bin/sbt $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.scala-sbt.org/;
+    license = licenses.bsd3;
+    description = "A build tool for Scala, Java and more";
+    maintainers = with maintainers; [ heel ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/clog-cli/default.nix b/pkgs/development/tools/clog-cli/default.nix
index 1d6ac8493f19..f64ead3e1078 100644
--- a/pkgs/development/tools/clog-cli/default.nix
+++ b/pkgs/development/tools/clog-cli/default.nix
@@ -4,16 +4,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "clog-cli-${version}";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "clog-tool";
     repo = "clog-cli";
-    rev = "${version}";
-    sha256 = "00sfbchyf50z6mb5dq1837hlrki88rrf043idy6qd1r90488jsbv";
+    rev = "v${version}";
+    sha256 = "1wxglc4n1dar5qphhj5pab7ps34cjr7jy611fwn72lz0f6c7jp3z";
   };
 
-  depsSha256 = "0czv190r6xhbw33l0jhlri6rgspxb8f6dakcamh52qr3z9m0xs2x";
+  depsSha256 = "0gkg3bxx7nxsvff33n7pif731djfvlzk0msia27h0wq0mazq7kw3";
 
   meta = {
     description = "Generate changelogs from local git metadata";
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 3196b6728e05..7b42e5877520 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jenkins-${version}";
-  version = "2.44";
+  version = "2.49";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "01v9p0p27czwsk7ljv1879b5qcrhgy7zan6dj8klr9rci1id8x0d";
+    sha256 = "0c7qnrx87wrgxgh4im1i6sqlxq3hsrs119krh5vwjzx5wp6daa93";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/github/cligh/default.nix b/pkgs/development/tools/github/cligh/default.nix
new file mode 100644
index 000000000000..ded0aaa92424
--- /dev/null
+++ b/pkgs/development/tools/github/cligh/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, pythonPackages }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "cligh-${version}";
+  version = "0.3";
+
+  doCheck = false; # no tests
+
+  src = fetchFromGitHub {
+    owner = "CMB";
+    repo = "cligh";
+    rev = "v${version}";
+    sha256 = "0d1fd78rzl2n75xpmy1gnxh1shvcs4qm0j4qqszqvfriwkg2flxn";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ pyxdg PyGithub ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://the-brannons.com/software/cligh.html";
+    description = "A simple command-line interface to the facilities of Github";
+    longDescription = ''
+        Cligh is a simple command-line interface to the facilities of GitHub.
+        It is written by Christopher Brannon chris@the-brannons.com. The
+        current version is 0.3, released July 23, 2016. This program is still
+        in the early stage of development. It is by no means feature-complete.
+        A friend and I consider it useful, but others may not.
+    '';
+    platforms = platforms.all;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.jhhuh ];
+  };
+}
diff --git a/pkgs/development/tools/go2nix/default.nix b/pkgs/development/tools/go2nix/default.nix
index 5a77ec7eaa6a..a6f5d62e29e3 100644
--- a/pkgs/development/tools/go2nix/default.nix
+++ b/pkgs/development/tools/go2nix/default.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "go2nix-${version}";
-  version = "1.1.1";
+  version = "1.2.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/kamilchm/go2nix";
@@ -12,11 +12,13 @@ buildGoPackage rec {
     inherit rev;
     owner = "kamilchm";
     repo = "go2nix";
-    sha256 = "1idxgn9yf8shw4mq4d7rhf8fvb2s1lli4r4ck0h8ddf1s9q8p63s";
+    sha256 = "1hlanw56r1phj89sicpsfcz6sdjba9qjwhiblcsqka4wfqkai8pn";
   };
 
   goDeps = ./deps.nix;
 
+  outputs = [ "bin" "out" "man" ];
+
   buildInputs = [ go-bindata goimports makeWrapper ];
   preBuild = ''go generate ./...'';
 
@@ -24,6 +26,9 @@ buildGoPackage rec {
     wrapProgram $bin/bin/go2nix \
       --prefix PATH : ${nix-prefetch-git}/bin \
       --prefix PATH : ${git}/bin
+
+    mkdir -p $man/share/man/man1
+    cp $src/go2nix.1 $man/share/man/man1
   '';
 
   allowGoReference = true;
diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix
index f9c43ee841ba..6334bb2e5ddf 100644
--- a/pkgs/development/tools/heroku/default.nix
+++ b/pkgs/development/tools/heroku/default.nix
@@ -6,7 +6,7 @@ with stdenv.lib;
 let
   cli = buildGoPackage rec {
     name = "cli-${version}";
-    version = "5.6.14";
+    version = "5.6.32";
 
     goPackagePath = "github.com/heroku/cli";
 
@@ -14,8 +14,21 @@ let
       owner  = "heroku";
       repo   = "cli";
       rev    = "v${version}";
-      sha256 = "11jccham1vkmh5284l6i30na4a4y7b1jhi2ci2z2wwx8m3gkypq9";
+      sha256 = "062aa79mv2njjb0ix7isbz6646wxmsldv27bsz5v2pbv597km0vz";
     };
+
+    buildFlagsArray = ''
+      -ldflags=
+        -X=main.Version=${version}
+        -X=main.Channel=stable
+        -X=main.Autoupdate=no
+    '';
+
+    preCheck = ''
+      export HOME=/tmp
+    '';
+
+    doCheck = true;
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/kube-aws/default.nix b/pkgs/development/tools/kube-aws/default.nix
index 0a6d0ba32210..11f4a5c8bd0a 100644
--- a/pkgs/development/tools/kube-aws/default.nix
+++ b/pkgs/development/tools/kube-aws/default.nix
@@ -4,20 +4,26 @@ with lib;
 
 buildGoPackage rec {
   name = "kube-aws-${version}";
-  version = "0.8.1";
+  version = "0.9.4";
 
-  goPackagePath = "github.com/coreos/coreos-kubernetes";
+  goPackagePath = "github.com/coreos/kube-aws";
 
   src = fetchFromGitHub {
     owner = "coreos";
-    repo = "coreos-kubernetes";
+    repo = "kube-aws";
     rev = "v${version}";
-    sha256 = "067nc525km0f37w5km44fs5pr22a6zz3lkdwwg2akb4hhg6f45c2";
+    sha256 = "11h14fsnflbx76rmpp0fxahbxi2qgcamgyxy9s4rmw83j2m8csxp";
   };
 
-  preBuild = ''
-    (cd go/src/github.com/coreos/coreos-kubernetes
-     go generate multi-node/aws/pkg/config/config.go)
+  preBuild = ''(
+    cd go/src/${goPackagePath}
+    go generate ./core/controlplane/config
+    go generate ./core/nodepool/config
+    go generate ./core/root/config
+  )'';
+
+  buildFlagsArray = ''
+    -ldflags=-X github.com/coreos/kube-aws/core/controlplane/cluster.VERSION=v${version}
   '';
 
   meta = {
@@ -25,6 +31,6 @@ buildGoPackage rec {
     license = licenses.asl20;
     homepage = https://github.com/coreos/coreos-kubernetes;
     maintainers = with maintainers; [offline];
-    platforms = with platforms; linux;
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 251387e7bd51..28034f9d5492 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "autogen-${version}";
-  version = "5.18.7";
+  version = "5.18.12";
 
   src = fetchurl {
-    url = "mirror://gnu/autogen/autogen-${version}.tar.xz";
-    sha256 = "01d4m8ckww12sy50vgyxlnz83z9dxqpyqp153cscncc9w6jq19d7";
+    url = "mirror://gnu/autogen/rel${version}/autogen-${version}.tar.xz";
+    sha256 = "1n5zq4872sakvz9c7ncsdcfp0z8rsybsxvbmhkpbd19ii0pacfxy";
   };
 
   outputs = [ "bin" "dev" "lib" "out" "man" "info" ];
diff --git a/pkgs/development/tools/misc/gede/build.patch b/pkgs/development/tools/misc/gede/build.patch
new file mode 100644
index 000000000000..bdd8b7ff5f96
--- /dev/null
+++ b/pkgs/development/tools/misc/gede/build.patch
@@ -0,0 +1,11 @@
+--- a/build.py	2017-01-16 21:12:43.000000000 +0100
++++ b/build.py	2017-02-26 22:03:11.394625315 +0100
+@@ -71,7 +71,7 @@
+         if do_build:
+             if not os.path.exists("Makefile"):
+                 print("Generating makefile")
+-                if subprocess.call(['qmake-qt4']):
++                if subprocess.call(['qmake']):
+                     exit(1)
+ 
+             print("Compiling (please wait)")
diff --git a/pkgs/development/tools/misc/gede/default.nix b/pkgs/development/tools/misc/gede/default.nix
new file mode 100644
index 000000000000..5667e496a70a
--- /dev/null
+++ b/pkgs/development/tools/misc/gede/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, ctags, qt4, python}:
+
+stdenv.mkDerivation rec {
+
+  version = "2.0.3";
+  name = "gede-${version}";
+  src = fetchurl {
+    url = "http://gede.acidron.com/uploads/source/${name}.tar.xz";
+    sha256 = "1znlmkjgrmjl79q73xaa9ybp1xdc3k4h4ynv3jj5z8f92gjnj3kk";
+  };
+
+  buildInputs = [ ctags qt4 python ];
+  patches = [ ./build.patch ];
+
+  unpackPhase = ''
+    tar xf ${src}
+    cd ${name}
+  '';
+  configurePhase = "";
+  buildPhase = "";
+  installPhase = "./build.py install --prefix=$out";
+
+  meta = with stdenv.lib; {
+    description = "Graphical frontend (GUI) to GDB";
+    homepage = "http://gede.acidron.com";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ juliendehos ];
+  };
+}
+
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index bd111c4ffbbd..62d96b2158f9 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -34,8 +34,10 @@ stdenv.mkDerivation rec {
     cp -v *.el "$out/share/emacs/site-lisp"
 
     wrapProgram $out/bin/gtags \
+      --prefix GTAGSCONF : "$out/share/gtags/gtags.conf" \
       --prefix PYTHONPATH : "$(toPythonPath ${pythonPackages.pygments})"
     wrapProgram $out/bin/global \
+      --prefix GTAGSCONF : "$out/share/gtags/gtags.conf" \
       --prefix PYTHONPATH : "$(toPythonPath ${pythonPackages.pygments})"
   '';
 
diff --git a/pkgs/development/tools/misc/lit/default.nix b/pkgs/development/tools/misc/lit/default.nix
new file mode 100644
index 000000000000..adc5ba967583
--- /dev/null
+++ b/pkgs/development/tools/misc/lit/default.nix
@@ -0,0 +1,22 @@
+{ lib, python2 }:
+
+python2.pkgs.buildPythonApplication rec {
+  pname = "lit";
+  version = "0.5.0";
+  name = "${pname}-${version}";
+
+  src = python2.pkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "3ea4251e78ebeb2e07be2feb33243d1f8931d956efc96ccc2b0846ced212b58c";
+  };
+
+  # Non-standard test suite. Needs custom checkPhase.
+  doCheck = false;
+
+  meta = {
+    description = "Portable tool for executing LLVM and Clang style test suites";
+    homepage = "http://llvm.org/docs/CommandGuide/lit.html";
+    license = lib.licenses.ncsa;
+    maintainers = with lib.maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/development/tools/misc/objconv/default.nix b/pkgs/development/tools/misc/objconv/default.nix
index bae9f07bda48..3c309493a33b 100644
--- a/pkgs/development/tools/misc/objconv/default.nix
+++ b/pkgs/development/tools/misc/objconv/default.nix
@@ -1,26 +1,39 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
   name = "objconv-${version}";
-  version = "2.16";
+  version = "2.44";
 
-  src = fetchFromGitHub {
-    owner  = "vertis";
-    repo   = "objconv";
-    rev    = "${version}";
-    sha256 = "1by2bbrampwv0qy8vn4hhs49rykczyj7q8g373ym38da3c95bym2";
+  src = fetchurl {
+    # Versioned archive of objconv sources maintained by orivej.
+    url = "https://archive.org/download/objconv/${name}.zip";
+    sha256 = "1dlnpv8qwz0rwivpbgk84kmsjz3vh1i149z44ha2dvg8afzyfhjl";
   };
 
-  buildPhase = "c++ -o objconv -O2 src/*.cpp";
+  nativeBuildInputs = [ unzip ];
 
-  installPhase = "mkdir -p $out/bin && mv objconv $out/bin";
+  outputs = [ "out" "doc" ];
+
+  unpackPhase = ''
+    mkdir -p "$name"
+    cd "$name"
+    unpackFile "$src"
+    unpackFile source.zip
+  '';
+
+  buildPhase = "c++ -o objconv -O2 *.cpp";
+
+  installPhase = ''
+    mkdir -p $out/bin $out/doc/objconv
+    mv objconv $out/bin
+    mv objconv-instructions.pdf $out/doc/objconv
+  '';
 
   meta = with stdenv.lib; {
-    description = "Used for converting object files between COFF/PE, OMF, ELF and Mach-O formats for all 32-bit and 64-bit x86 platforms.";
+    description = "Object and executable file converter, modifier and disassembler";
     homepage = http://www.agner.org/optimize/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ vrthra ];
-    platforms = with platforms; unix;
+    maintainers = with maintainers; [ orivej vrthra ];
+    platforms = platforms.unix;
   };
-
 }
diff --git a/pkgs/development/tools/misc/sipp/default.nix b/pkgs/development/tools/misc/sipp/default.nix
index 266a9824ed2a..a506831cd8ea 100644
--- a/pkgs/development/tools/misc/sipp/default.nix
+++ b/pkgs/development/tools/misc/sipp/default.nix
@@ -1,28 +1,41 @@
-{stdenv, fetchurl, ncurses, libpcap }:
+{stdenv, fetchFromGitHub, autoreconfHook, ncurses, libpcap }:
 
 stdenv.mkDerivation rec {
-
-  version = "3.4-beta2";
+  version = "3.5.1";
 
   name = "sipp-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/SIPp/sipp/archive/${version}.tar.gz";
-    sha256 = "0rr3slarh5dhpinif5aqji9c9krnpvl7z49w7qahvsww1niawwdv";
+  src = fetchFromGitHub {
+    owner = "SIPp";
+    repo = "sipp";
+    rev = "v${version}";
+    sha256 = "179a1fvqyk3jpxbi28l1xfw22cw9vgvxrn19w5f38w74x0jwqg5k";
   };
 
-  configurePhase = ''
-    export ac_cv_lib_curses_initscr=yes
-    export ac_cv_lib_pthread_pthread_mutex_init=yes
+  patchPhase = ''
     sed -i "s@pcap/\(.*\).pcap@$out/share/pcap/\1.pcap@g" src/scenario.cpp
-    ./configure --prefix=$out --with-pcap
+    sed -i -e "s|AC_CHECK_LIB(curses|AC_CHECK_LIB(ncurses|" configure.ac
+    echo "#define SIPP_VERSION \"v${version}\"" > include/version.h
   '';
 
+  configureFlags = [
+    "--with-pcap"
+  ];
+
   postInstall = ''
     mkdir -pv $out/share/pcap
     cp pcap/* $out/share/pcap
   '';
 
   buildInputs = [ncurses libpcap];
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with stdenv.lib; {
+    homepage = http://sipp.sf.net;
+    description = "The SIPp testing tool";
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+  };
 }
 
diff --git a/pkgs/development/tools/misc/travis/Gemfile.lock b/pkgs/development/tools/misc/travis/Gemfile.lock
index e84e87fb5232..529be0793605 100644
--- a/pkgs/development/tools/misc/travis/Gemfile.lock
+++ b/pkgs/development/tools/misc/travis/Gemfile.lock
@@ -3,32 +3,32 @@ GEM
   specs:
     addressable (2.4.0)
     backports (3.6.8)
-    ethon (0.8.1)
+    ethon (0.10.1)
       ffi (>= 1.3.0)
-    faraday (0.9.2)
+    faraday (0.11.0)
       multipart-post (>= 1.2, < 3)
-    faraday_middleware (0.10.0)
-      faraday (>= 0.7.4, < 0.10)
-    ffi (1.9.10)
-    gh (0.14.0)
-      addressable
+    faraday_middleware (0.11.0.1)
+      faraday (>= 0.7.4, < 1.0)
+    ffi (1.9.18)
+    gh (0.15.1)
+      addressable (~> 2.4.0)
       backports
       faraday (~> 0.8)
       multi_json (~> 1.0)
-      net-http-persistent (>= 2.7)
+      net-http-persistent (~> 2.9)
       net-http-pipeline
     highline (1.7.8)
-    json (1.8.3)
+    json (2.0.3)
     launchy (2.4.3)
       addressable (~> 2.3)
-    multi_json (1.11.2)
+    multi_json (1.12.1)
     multipart-post (2.0.0)
     net-http-persistent (2.9.4)
     net-http-pipeline (1.0.1)
     pusher-client (0.6.2)
       json
       websocket (~> 1.0)
-    travis (1.8.2)
+    travis (1.8.8)
       backports
       faraday (~> 0.9)
       faraday_middleware (~> 0.9, >= 0.9.1)
@@ -39,7 +39,7 @@ GEM
       typhoeus (~> 0.6, >= 0.6.8)
     typhoeus (0.8.0)
       ethon (>= 0.8.0)
-    websocket (1.2.2)
+    websocket (1.2.4)
 
 PLATFORMS
   ruby
@@ -48,4 +48,4 @@ DEPENDENCIES
   travis
 
 BUNDLED WITH
-   1.11.2
+   1.14.4
diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix
index abfd352e90ec..148923848beb 100644
--- a/pkgs/development/tools/misc/travis/gemset.nix
+++ b/pkgs/development/tools/misc/travis/gemset.nix
@@ -18,42 +18,42 @@
   ethon = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0afvvv4sxs330jhk4xz9kj6qgj70yvd4zsjnb9yvxhmaq49k8yij";
+      sha256 = "1i873cvma4j52xmij7kasjylh66vf60cy5prkp4cz4hcn9jlkznl";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "0.10.1";
   };
   faraday = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6";
+      sha256 = "18p1csdivgwmshfw3mb698a3bn0yrykg30khk5qxjf6n168g91jr";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "0.11.0";
   };
   faraday_middleware = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h";
+      sha256 = "0bcarc90brm1y68bl957w483bddsy9idj2gghqnysk6bbxpsvm00";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.11.0.1";
   };
   ffi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj";
+      sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
       type = "gem";
     };
-    version = "1.9.10";
+    version = "1.9.18";
   };
   gh = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j7m6jmxzkxvnqgnhmci33a89qpaxxcrm55kk5vz4bcpply04hx2";
+      sha256 = "0g4df0jsscq16g6f27flfmvk7p4sbq81d5mdylbz4ikqq60kywzg";
       type = "gem";
     };
-    version = "0.14.0";
+    version = "0.15.1";
   };
   highline = {
     source = {
@@ -66,10 +66,10 @@
   json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
+      sha256 = "0cpw154il64w6q20rrnsbjx1cdfz1yrzz1lgdbpn59lcwc6mprql";
       type = "gem";
     };
-    version = "1.8.3";
+    version = "2.0.3";
   };
   launchy = {
     source = {
@@ -82,10 +82,10 @@
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rf3l4j3i11lybqzgq2jhszq7fh7gpmafjzd14ymp9cjfxqg596r";
+      sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
       type = "gem";
     };
-    version = "1.11.2";
+    version = "1.12.1";
   };
   multipart-post = {
     source = {
@@ -122,10 +122,10 @@
   travis = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ph83whzw5hjkp1kgbkjd2g0vi6kdr9sif6vxvxgjf186id43q0s";
+      sha256 = "02bjz73f6r9b7nskwzcvcbr4hlvgwrf9rnr6d218d2i1rk4ww936";
       type = "gem";
     };
-    version = "1.8.2";
+    version = "1.8.8";
   };
   typhoeus = {
     source = {
@@ -138,9 +138,9 @@
   websocket = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1frcsgj4f984db920xwapflqwgrwncw86c1rv94pp5gs2q1iaap4";
+      sha256 = "1shymfaw14p8jdi74nwz4nsgc9cmpli166lkp5g5wbhjmhmpvrnh";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.2.4";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/misc/xxdiff/tip.nix b/pkgs/development/tools/misc/xxdiff/tip.nix
new file mode 100644
index 000000000000..b613508c5c05
--- /dev/null
+++ b/pkgs/development/tools/misc/xxdiff/tip.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromBitbucket, qt5, flex, bison, docutils }:
+
+stdenv.mkDerivation rec {
+  name = "xxdiff-4.0.1.20170101";
+
+  src = fetchFromBitbucket {
+    owner = "blais";
+    repo = "xxdiff";
+    rev = "1cf6b23ad30a845daba28a3409c65f93aec7f5e8";
+    sha256 = "0rq7grpndj85i7qzlj93jpzpfzk7bwsi55033fc63hb55rbdzz6z";
+  };
+
+  nativeBuildInputs = [ flex bison qt5.qtbase docutils ];
+
+  buildInputs = [ qt5.qtbase ];
+
+  preConfigure = ''
+    ln -s ${qt5.qtbase.dev}/mkspecs/* ../__nix_qt*__/mkspecs
+    ln -s ${qt5.qtbase.dev}/bin/* ../__nix_qt*__/bin || true
+  '';
+
+  NIX_CFLAGS_COMPILE="-I${qt5.qtbase.dev}/include/QtCore -I${qt5.qtbase.dev}/include/QtGui -I${qt5.qtbase.dev}/include/QtWidgets";
+  
+  configurePhase = "${preConfigure} cd src; make -f Makefile.bootstrap";
+
+  installPhase = "mkdir -pv $out/bin; cp -v ../bin/xxdiff $out/bin";
+
+
+  meta = with stdenv.lib; {
+    homepage = http://furius.ca/xxdiff/;
+    description = "Graphical file and directories comparator and merge tool";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub raskin ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/jbuilder/default.nix b/pkgs/development/tools/ocaml/jbuilder/default.nix
new file mode 100644
index 000000000000..9d6485841fae
--- /dev/null
+++ b/pkgs/development/tools/ocaml/jbuilder/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchzip, ocaml, opam }:
+
+stdenv.mkDerivation {
+  name = "jbuilder-1.0+beta2";
+  src = fetchzip {
+    url = http://github.com/janestreet/jbuilder/archive/1.0+beta2.tar.gz;
+    sha256 = "0xbq6p0n4a740l3jvq4a0a58mwfcal0q37vi8ix053f3jiqki6ng";
+  };
+
+  buildInputs = [ ocaml ];
+
+  installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
+
+  preFixup = "rm -rf $out/jbuilder";
+
+  meta = {
+    homepage = https://github.com/janestreet/jbuilder;
+    description = "Fast, portable and opinionated build system";
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = stdenv.lib.licenses.asl20;
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
index 5f3a2b884b16..e194a77fbe81 100644
--- a/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchzip, ncurses
-, ocaml, ocpBuild, findlib, lablgtk, ocp-index
+, ocamlPackages
 , opam }:
 
 stdenv.mkDerivation {
-  name = "ocaml-top-1.1.2";
+  name = "ocaml-top-1.1.3";
   src = fetchzip {
-    url = https://github.com/OCamlPro/ocaml-top/archive/1.1.2.tar.gz;
-    sha256 = "10wfz8d6c1lbh31kayvlb5fj7qmgh5c6xhs3q595dnf9skrf091j";
+    url = https://github.com/OCamlPro/ocaml-top/archive/1.1.3.tar.gz;
+    sha256 = "0islyinv7lwhg8hkg4xn30wwz1nv50rj0wpsis8jpimw6jdsnax3";
   };
 
-  buildInputs = [ ncurses opam ocaml ocpBuild findlib lablgtk ocp-index ];
+  buildInputs = [ ncurses opam ]
+  ++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]);
 
   configurePhase = ''
     export TERM=xterm
@@ -18,15 +19,13 @@ stdenv.mkDerivation {
 
   buildPhase = "ocp-build ocaml-top";
 
-  installPhase = ''
-    opam-installer --script --prefix=$out ocaml-top.install | sh
-  '';
+  installPhase = "opam-installer --prefix=$out";
 
   meta = {
     homepage = http://www.typerex.org/ocaml-top.html;
     license = stdenv.lib.licenses.gpl3;
     description = "A simple cross-platform OCaml code editor built for top-level evaluation";
-    platforms = ocaml.meta.platforms or [];
+    platforms = ocamlPackages.ocaml.meta.platforms or [];
     maintainers = with stdenv.lib.maintainers; [ vbgl ];
   };
 }
diff --git a/pkgs/development/tools/parsing/jshon/default.nix b/pkgs/development/tools/parsing/jshon/default.nix
index 4b35ba0cce29..5406b4e9a0e5 100644
--- a/pkgs/development/tools/parsing/jshon/default.nix
+++ b/pkgs/development/tools/parsing/jshon/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, jansson }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, jansson }:
 
 stdenv.mkDerivation rec {
   name = "jshon-20140712";
@@ -12,14 +12,23 @@ stdenv.mkDerivation rec {
     repo = "jshon";
   };
 
+  patches = [
+    # Fix null termination in read_stream.
+    # https://github.com/keenerd/jshon/issues/53
+    (fetchpatch {
+      url = https://github.com/mbrock/jshon/commit/32288dd186573ceb58164f30be1782d4580466d8.patch;
+      sha256 = "04rss2nprl9nqblc7smq0477n54hm801xgnnmvyzni313i1n6vhl";
+    })
+  ];
+
   buildInputs = [ jansson ];
 
-  patchPhase = 
+  patchPhase =
     ''
       substituteInPlace Makefile --replace "/usr/" "/"
     '';
 
-  preInstall = 
+  preInstall =
     ''
       export DESTDIR=$out
     '';
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index c7d26fc79ddb..59a16bfc27cb 100644
--- a/pkgs/development/tools/scalafmt/default.nix
+++ b/pkgs/development/tools/scalafmt/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, unzip, jre }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.8";
+  version = "0.6.2";
   baseName = "scalafmt";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "https://github.com/olafurpg/scalafmt/releases/download/v${version}/${baseName}.tar.gz";
-    sha256 = "0pwmmn5k5wscmpidxpc88yrgm7gkpk9ssdh97lz0fjqln99gwp8r";
+    sha256 = "0xafl7vmncdycapi9shxqf73nhb24llgxjd2x98irmr9bvzg844q";
   };
 
   unpackPhase = "tar xvzf $src";
diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix
index 82c2c131f07f..9fa6b8b5716c 100644
--- a/pkgs/development/tools/simavr/default.nix
+++ b/pkgs/development/tools/simavr/default.nix
@@ -4,7 +4,6 @@
 stdenv.mkDerivation rec {
   name = "simavr-${version}";
   version = "1.5";
-  enableParallelBuilding = true;
 
   src = fetchFromGitHub {
     owner = "buserror";
@@ -13,6 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "0b2lh6l2niv80dmbm9xkamvnivkbmqw6v97sy29afalrwfxylxla";
   };
 
+  # ld: cannot find -lsimavr
+  enableParallelBuilding = false;
+
   buildFlags = "AVR_ROOT=${avrgcclibc}/avr SIMAVR_VERSION=${version}";
   installFlags = buildFlags + " DESTDIR=$(out)";
 
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index cb6c4614a1a4..b3049736b710 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -1,13 +1,14 @@
-{stdenv, fetchurl, fetchgit, zip, unzip, firefox, bash}:
+{stdenv, fetchurl, fetchgit, fetchFromGitHub, zip, unzip, firefox, bash}:
 let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.10.2";
+    version="0.10.3";
     name="${baseName}-${version}";
-    hash="16pg12bvfqls707nsdqi3bl1c833kncsvnd0qiq5692lrh93x529";
-    url="http://download.slimerjs.org/releases/0.10.2/slimerjs-0.10.2.zip";
-    sha256="16pg12bvfqls707nsdqi3bl1c833kncsvnd0qiq5692lrh93x529";
+    owner = "laurentj";
+    repo = "${baseName}";
+    sha256="16v6a1kcq8il4snbrgsq5xmxs35alzf4qlmscr2yli95xq5fnl5y";
+    rev = "${version}";
   };
   buildInputs = [
     unzip zip
@@ -16,12 +17,15 @@ in
 stdenv.mkDerivation {
   inherit (s) name version;
   inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
+  #src = fetchurl {
+  #  inherit (s) url sha256;
+  #};
   #src = fetchgit {
   #  inherit (s) url sha256 rev;
   #};
+  src = fetchFromGitHub {
+    inherit (s) owner repo rev sha256;
+  };
   preConfigure = ''
     test -d src && cd src
     test -f omni.ja || zip omni.ja -r */
diff --git a/pkgs/development/tools/vndr/default.nix b/pkgs/development/tools/vndr/default.nix
index 7cc77bd1bb39..14f01863c8a4 100644
--- a/pkgs/development/tools/vndr/default.nix
+++ b/pkgs/development/tools/vndr/default.nix
@@ -18,6 +18,6 @@ buildGoPackage rec {
     description = "Stupid golang vendoring tool, inspired by docker vendor script";
     homepage = "https://github.com/LK4D4/vndr";
     maintainers = with lib.maintainers; [ vdemeester ];
-    licence = lib.licenses.asl20;
+    license = lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/web/nodejs/v7.nix b/pkgs/development/web/nodejs/v7.nix
index b34d84ac851a..a93cd16e00e1 100644
--- a/pkgs/development/web/nodejs/v7.nix
+++ b/pkgs/development/web/nodejs/v7.nix
@@ -10,11 +10,11 @@ let
   baseName = if enableNpm then "nodejs" else "nodejs-slim";
 in
   stdenv.mkDerivation (nodejs // rec {
-    version = "7.7.1";
+    version = "7.7.2";
     name = "${baseName}-${version}";
     src = fetchurl {
       url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.xz";
-      sha256 = "04bn7c2hvhs6dqjz3khrlqyspljbxiw7y7g4fkjkn8k7lwmchpwn";
+      sha256 = "117mqhvnvipyaq02knq75ikbk1swrw42b0kw6iijqb6k8j78si77";
     };
 
   })
diff --git a/pkgs/games/freecell-solver/default.nix b/pkgs/games/freecell-solver/default.nix
index de245913861f..466cfda7c4a5 100644
--- a/pkgs/games/freecell-solver/default.nix
+++ b/pkgs/games/freecell-solver/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, cmake, perl, gmp, libtap, perlPackages }:
+{ stdenv, fetchurl, pkgconfig, cmake
+, perl, gmp, libtap, gperf
+, perlPackages, python3Packages }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
 
   name = "freecell-solver-${version}";
-  version = "3.26.0";
+  version = "4.8.0";
 
   src = fetchurl {
-    url = "http://fc-solve.shlomifish.org/downloads/fc-solve/${name}.tar.bz2";
-    sha256 = "0pm6xk4fmwgzva70qxb0pqymdfvpasnvqiwwmm8hpx7g37y11wqk";
+    url = "http://fc-solve.shlomifish.org/downloads/fc-solve/${name}.tar.xz";
+    sha256 = "0274l1p71ps222i62whqfkg80fcc8m4w2hmpbrbbd5gh8kfpman3";
   };
 
-  buildInputs = [ pkgconfig cmake perl gmp libtap
+  buildInputs = [ pkgconfig cmake perl gmp libtap gperf
     perlPackages.TemplateToolkit perlPackages.StringShellQuote
-    perlPackages.GamesSolitaireVerify ];
+    perlPackages.GamesSolitaireVerify perlPackages.TaskFreecellSolverTesting
+    python3Packages.python python3Packages.random2 ];
 
   meta = {
     description = "A FreeCell automatic solver";
@@ -26,6 +29,6 @@ stdenv.mkDerivation rec{
     homepage = http://fc-solve.shlomifish.org/;
     license = licenses.mit;
     maintainers = [ maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/steam/runtime-wrapped.nix b/pkgs/games/steam/runtime-wrapped.nix
index 1988463d61a6..74548fcfb8cd 100644
--- a/pkgs/games/steam/runtime-wrapped.nix
+++ b/pkgs/games/steam/runtime-wrapped.nix
@@ -88,6 +88,7 @@ let
     openalSoft
     libva
     openssl-steam
+    vulkan-loader
   ] ++ lib.optional newStdcpp gcc.cc;
 
   ourRuntime = if runtimeOnly then []
diff --git a/pkgs/misc/screensavers/vlock/eintr.patch b/pkgs/misc/screensavers/vlock/eintr.patch
index e33b52228fc3..64f432434324 100644
--- a/pkgs/misc/screensavers/vlock/eintr.patch
+++ b/pkgs/misc/screensavers/vlock/eintr.patch
@@ -4,11 +4,13 @@ vlock-start[14567]: vlock-new: could not activate new terminal: Interrupted syst
 
 I think this should fix that.
 
+Also on github: https://github.com/viric/vlock/commit/781a26087f83c7247601b6f82f784cca9266694e
+
 diff --git a/modules/new.c b/modules/new.c
-index e9b15fb..1f692fd 100644
+index e9b15fb..7aed640 100644
 --- a/modules/new.c
 +++ b/modules/new.c
-@@ -103,7 +103,10 @@ static char *get_console_name(int n)
+@@ -103,9 +103,19 @@ static char *get_console_name(int n)
   * file descriptor. */
  static int activate_console(int consfd, int vtno)
  {
@@ -18,5 +20,15 @@ index e9b15fb..1f692fd 100644
 +    c = ioctl(consfd, VT_ACTIVATE, vtno);
 +  } while(c != 0 && errno == EINTR);
  
-   return c < 0 ? c : ioctl(consfd, VT_WAITACTIVE, vtno);
+-  return c < 0 ? c : ioctl(consfd, VT_WAITACTIVE, vtno);
++  if (c < 0)
++      return c;
++
++  do {
++    c = ioctl(consfd, VT_WAITACTIVE, vtno);
++  } while(c != 0 && errno == EINTR);
++
++  return c;
  }
+ 
+ struct new_console_context {
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 2686138bc930..a0d04638504c 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -4,6 +4,7 @@
 , xkb_switch, rustracerd, fzf
 , python3, boost, icu
 , ycmd
+, pythonPackages, python3Packages
 , Cocoa ? null
 }:
 
@@ -344,6 +345,18 @@ rec {
 
   };
 
+  ensime-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ensime-vim-2017-02-06";
+    src = fetchgit {
+      url = "git://github.com/ensime/ensime-vim";
+      rev = "7b5f79c67a078c6e1e5f8c906d4227ce86d33df8";
+      sha256 = "04knizaa4gc1z22gxj41qybjl4ysqpv15rwi28h10l7gk9fb1b41";
+    };
+    dependencies = ["vimproc" "vimshell" "self" "forms"];
+
+    pythonDependencies = with pythonPackages; [ sexpdata websocket_client ];
+  };
+
   extradite = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "extradite-2015-09-22";
     src = fetchgit {
@@ -355,6 +368,17 @@ rec {
 
   };
 
+  forms = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "forms-2012-11-28";
+    src = fetchgit {
+      url = "git://github.com/megaannum/forms";
+      rev = "b601e03fe0a3b8a43766231f4a6217e4492b4f75";
+      sha256 = "19kp1i5c6jmnpbsap9giayqbzlv7vh02mp4mjvicqj9n0nfyay74";
+    };
+    dependencies = ["self"];
+
+  };
+
   fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "fugitive-2017-02-25";
     src = fetchgit {
@@ -1154,6 +1178,17 @@ rec {
     '';
   };
 
+  self = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "self-2014-05-28";
+    src = fetchgit {
+      url = "git://github.com/megaannum/self";
+      rev = "2ed666b547eddee6ae1fcc63babca4ba0b66a59f";
+      sha256 = "1gcwn6i5i3msg7hrlzsnv1bs6pm4jz9cff8ppaz2xdj8xv9qy6fn";
+    };
+    dependencies = [];
+
+  };
+
   shabadou-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "shabadou-vim-2016-07-19";
     src = fetchgit {
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index f5f3f9556577..1427f4fafa08 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -47,6 +47,7 @@
 "github:elmcast/elm-vim"
 "github:embear/vim-localvimrc"
 "github:enomsg/vim-haskellConcealPlus"
+"github:ensime/ensime-vim"
 "github:esneider/YUNOcommit.vim"
 "github:fatih/vim-go"
 "github:flazz/vim-colorschemes"
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index 141dde927626..22098b68a558 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -150,6 +150,10 @@ vim_with_plugins can be installed like any other application within Nix.
 let
   inherit (stdenv) lib;
 
+  toNames = x:
+      if builtins.isString x then [x]
+      else (lib.optional (x ? name) x.name)
+            ++ (x.names or []);
   findDependenciesRecursively = {knownPlugins, names}:
 
     let depsOf = name: (builtins.getAttr name knownPlugins).dependencies or [];
@@ -211,11 +215,6 @@ let
       (let
         knownPlugins = vam.knownPlugins or vimPlugins;
 
-        toNames = x:
-            if builtins.isString x then [x]
-            else (lib.optional (x ? name) x.name)
-                  ++ (x.names or []);
-
         names = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; };
 
         # Vim almost reads JSON, so eventually JSON support should be added to Nix
@@ -412,6 +411,19 @@ rec {
     configurePhase =":";
   } // a);
 
+  requiredPlugins = {
+    knownPlugins ? vimPlugins,
+    vam ? null,
+    pathogen ? null, ...
+  }:
+    let
+      pathogenNames = map (name: knownPlugins.${name}) (findDependenciesRecursively { inherit knownPlugins; names = pathogen.pluginNames; });
+      vamNames = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; };
+      names = (lib.optionals (pathogen != null) pathogenNames) ++
+              (lib.optionals (vam != null) vamNames);
+    in
+      map (name: knownPlugins.${name}) names;
+
   # test cases:
   test_vim_with_vim_addon_nix_using_vam = vim_configurable.customize {
    name = "vim-with-vim-addon-nix-using-vam";
@@ -427,5 +439,4 @@ rec {
     name = "vim-with-vim-addon-nix";
     vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-addon-nix ];
   };
-
 }
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index 1148fe5c4a16..536e62f777e2 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -1,17 +1,30 @@
-{ stdenv, fetchurl, xar, gzip, cpio, pkgs }:
+{ stdenv, fetchurl, xar, xz, cpio, pkgs, python }:
 
 let
+  # TODO: make this available to other packages and generalize the unpacking a bit
+  # from https://gist.github.com/pudquick/ff412bcb29c9c1fa4b8d
+  # This isn't needed until we get to SDK 10.11, but that presents other challenges
+  # unpbzx = fetchurl {
+  #   url    = "https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py";
+  #   sha256 = "0jgp6qbfl36i0jlz7as5zk2w20z4ca8wlrhdw49lwsld6wi3rfhc";
+  # };
+
   # sadly needs to be exported because security_tool needs it
   sdk = stdenv.mkDerivation rec {
-    version = "10.9";
+    version = "10.10";
     name    = "MacOS_SDK-${version}";
 
+    # This URL comes from https://swscan.apple.com/content/catalogs/others/index-10.10.merged-1.sucatalog, which we found by:
+    #  1. Google: site:swscan.apple.com and look for a name that seems appropriate for your version
+    #  2. In the resulting file, search for a file called DevSDK ending in .pkg
+    #  3. ???
+    #  4. Profit
     src = fetchurl {
-      url    = "http://swcdn.apple.com/content/downloads/27/02/031-06182/xxog8vxu8i6af781ivf4uhy6yt1lslex34/DevSDK_OSX109.pkg";
-      sha256 = "16b7aplha5573yl1d44nl2yxzp0w2hafihbyh7930wrcvba69iy4";
+      url    = "http://swcdn.apple.com/content/downloads/22/52/031-45139/hcjjv7cm4n6yqk56ict73qqw15ikm5iaql/DevSDK_OSX1010.pkg";
+      sha256 = "08bxa93zw7r4vzs28j9giq2qyk3b68ky6jx1bb9850gflr3nvgq1";
     };
 
-    buildInputs = [ xar gzip cpio ];
+    buildInputs = [ xar xz cpio python ];
 
     phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
@@ -114,11 +127,15 @@ let
         popd >/dev/null
       }
 
+
       linkFramework "${name}.framework"
     '';
 
     propagatedBuildInputs = deps;
 
+    # don't use pure CF for dylibs that depend on frameworks
+    setupHook = ../../../build-support/setup-hooks/fix-darwin-frameworks.sh;
+
     # allows building the symlink tree
     __impureHostDeps = [ "/System/Library/Frameworks/${name}.framework" ];
 
diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
index 9a3c3c556e3b..5475b6641707 100644
--- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
@@ -52,6 +52,7 @@ with frameworks; with libs; {
   GSS                     = [];
   GameController          = [];
   GameKit                 = [ Foundation ];
+  Hypervisor              = [];
   ICADevices              = [ Carbon CF IOBluetooth ];
   IMServicePlugIn         = [];
   IOBluetoothUI           = [ IOBluetooth ];
@@ -117,4 +118,6 @@ with frameworks; with libs; {
   OpenDirectory       = [];
   Quartz              = [ QuickLook QTKit ];
   QuartzCore          = [ ApplicationServices CF CoreVideo OpenCL ];
+
+  vmnet = [];
 }
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index 0ee928754db7..5d58e50fd7b8 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.5";
+  ver = "2017.0";
 in
 stdenv.mkDerivation rec {
   name = "alfred-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1ln997qyknkfm7xp4vx5lm0z833ksn1gn4dyjvr3qr1pgyzvmcrp";
+    sha256 = "1a0gnl8v8l7zj01hca0srbsc11sk51rj1qac6lw242z35hyximpq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index c8cab86413fb..e7c20a07b051 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.5";
+  ver = "2017.0";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1saa088ggsr7bwlvnzpgjj6zqn51j0km96f4x1djhj55hwfypv87";
+    sha256 = "11n66hcs4jdnfdl896kzz22zlw8d2p8n6sldxfmlc2q7sqki3fy0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index 044469986245..1449d85fc162 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.5"; in
+let base = "batman-adv-2017.0.1"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha256 = "1dqdzpxdrgqpgkc6bqfvbvx5x18bpd9y459j0iyva47lqj8gr86h";
+    sha256 = "0z640jgi9l9355s8v75yhrb9wjyc7cd4618pjpb17vy576bvrhjm";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix
index 674f3caa7653..9c2553dbf456 100644
--- a/pkgs/os-specific/linux/conky/default.nix
+++ b/pkgs/os-specific/linux/conky/default.nix
@@ -62,13 +62,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "conky-${version}";
-  version = "1.10.5";
+  version = "1.10.6";
 
   src = fetchFromGitHub {
     owner = "brndnmtthws";
     repo = "conky";
     rev = "v${version}";
-    sha256 = "1x1b7h4s8f8qbiyas7sw5v2nq5h2wy3q7hsp1ah4l7191jjidqix";
+    sha256 = "15j8h251v9jpdg6h6wn1vb45pkk806pf9s5n3rdrps9r185w8hn8";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/earlyoom/default.nix b/pkgs/os-specific/linux/earlyoom/default.nix
new file mode 100644
index 000000000000..081996dfd42b
--- /dev/null
+++ b/pkgs/os-specific/linux/earlyoom/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "earlyoom-${version}";
+  version = "0.11";
+
+  src = fetchFromGitHub {
+    owner = "rfjakob";
+    repo = "earlyoom";
+    rev = "08b7ed8e72feed2eec2e558ba2cfacbf6d469594";
+    sha256 = "1k3xslb70fzk80wlka32l0k2v45qn1xgwyjkjiz85gv6v4mv92vl";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp earlyoom $out/bin
+  '';
+
+  meta = {
+    description = "Early OOM Daemon for Linux";
+    homepage    = https://github.com/rfjakob/earlyoom;
+    license     = lib.licenses.mit;
+    platforms   = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index dcc52de7fe7e..69f0a16785d1 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2017-02-06";
+  version = "2017-03-11";
 
   # This repo is built by merging the latest versions of
   # http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "fpletz";
     repo = "linux-firmware";
     rev = version;
-    sha256 = "1r5ph97rqp8asw8kx65izb3p934669n2na20yfwplbsk76c9i82v";
+    sha256 = "05hz78z919jnacvk4i1mghjn2h15ph91vkffgi4w94zhzbf77cna";
   };
 
   preInstall = ''
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index dc3160af7aae..e4dd43de424b 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
   version = "0.291";
 
   src = fetchurl {
-    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-${version}.tar.xz";
-    sha256 = "121qixrdhdncva1cnj7m7jlqvi1kbj85dpi844jiis3a8hgpzw5a";
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/hwdata/hwdata-0.291.tar.bz2/effe59bf406eb03bb295bd34e0913dd8/hwdata-0.291.tar.bz2";
+    sha256 = "01cq9csryxcrilnqdjd2r8gpaap3mk4968v7y36c7shyyaf9zkym";
   };
 
   preConfigure = "patchShebangs ./configure";
diff --git a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
new file mode 100644
index 000000000000..cdcae22a18e9
--- /dev/null
+++ b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, autoconf-archive, gettext, libtool, intltool, autoconf, automake
+, glib, gtk3, gtk_doc, libgudev, pkgconfig, systemd }:
+
+stdenv.mkDerivation rec {
+  name = "iio-sensor-proxy-${version}";
+  version = "2.2";
+
+  src = fetchFromGitHub {
+    owner  = "hadess";
+    repo   = "iio-sensor-proxy";
+    rev    = version;
+    sha256 = "1x0whwm2r9g50hq5px0bgsrigy8naihqgi6qm0x5q87jz5lkhrnv";
+  };
+
+  configurePhase = ''
+    ./autogen.sh --prefix=$out \
+      --with-udevrulesdir=$out/lib/udev/rules.d \
+      --with-systemdsystemunitdir=$out/lib/systemd/system
+  '';
+
+  buildInputs = [
+    glib
+    gtk3
+    gtk_doc
+    libgudev
+    systemd
+  ];
+
+  nativeBuildInputs = [
+    autoconf
+    autoconf-archive
+    automake
+    gettext
+    intltool
+    libtool
+    pkgconfig
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Proxy for sending IIO sensor data to D-Bus";
+    homepage = https://github.com/hadess/iio-sensor-proxy;
+    license = licenses.gpl3 ;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.linux;
+    inherit version;
+  };
+}
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 8acf67d3dd15..c02b8209f2fe 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -32,17 +32,20 @@ with stdenv.lib;
   # Debugging.
   DEBUG_KERNEL y
   DYNAMIC_DEBUG y
-  TIMER_STATS y
   BACKTRACE_SELF_TEST n
   CPU_NOTIFIER_ERROR_INJECT? n
   DEBUG_DEVRES n
-  DEBUG_NX_TEST n
   DEBUG_STACK_USAGE n
   DEBUG_STACKOVERFLOW n
   RCU_TORTURE_TEST n
   SCHEDSTATS n
   DETECT_HUNG_TASK y
 
+  ${optionalString (versionOlder version "4.11") ''
+    TIMER_STATS y
+    DEBUG_NX_TEST n
+  ''}
+
   # Bump the maximum number of CPUs to support systems like EC2 x1.*
   # instances and Xeon Phi.
   ${optionalString (stdenv.system == "x86_64-linux" || stdenv.system == "aarch64-linux") ''
@@ -147,8 +150,8 @@ with stdenv.lib;
   L2TP_ETH m
   BRIDGE_VLAN_FILTERING y
   BONDING m
-  NET_L3_MASTER_DEV y
-  NET_FOU_IP_TUNNELS y
+  NET_L3_MASTER_DEV? y
+  NET_FOU_IP_TUNNELS? y
 
   # Wireless networking.
   CFG80211_WEXT? y # Without it, ipw2200 drivers don't build
@@ -453,7 +456,7 @@ with stdenv.lib;
   FTRACE_SYSCALLS y
   SCHED_TRACER y
   STACK_TRACER y
-  UPROBE_EVENT y
+  UPROBE_EVENT? y
   ${optionalString (versionAtLeast version "4.4") ''
     BPF_SYSCALL y
     BPF_EVENTS y
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index a0d089807193..f82eb073de9a 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.70";
+  version = "3.12.71";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "07l6wjhlii2qlki447d702fi1ycyd85iq750xjmsnnz9xrilw7sc";
+    sha256 = "11wmrj2zqb3x2az22q7ggdp6ibhqmlngy7v01fm8vrhz7f6lwf87";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix
index 9c7354024ada..30c5ce7e569b 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.1.38";
+  version = "4.1.39";
   extraMeta.branch = "4.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0mmx11z1wlnlaw2nhpdw76xzmqmfr8q52dv0jvy0pjq8rcbk3hmq";
+    sha256 = "0m48slb13ipnjnw4inhyb74xxpla94344wbc2y5lzb402n5jrs58";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.10.nix b/pkgs/os-specific/linux/kernel/linux-4.10.nix
index 01ee7211ba6f..0311ea518c56 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.10.1";
+  version = "4.10.4";
   extraMeta.branch = "4.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0hrmph137q4j2xfsv1fyayig47g4v8ivd2rqsw03dy7mzasnp83c";
+    sha256 = "18cglngl42hcm0578hrsn962g2r1z9x6p5h9c6d3g0ac8siascqp";
   };
 
   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 fba52eeaee5b..dd6bba4567a8 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.52";
+  version = "4.4.55";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "01hz3g7j1m8dis6pyy9p8pi5ixl32g6cvgav0i7a7qbkrspdvlp8";
+    sha256 = "14inh7ps6zkvkwifqgxnwj02a7907ighdj96dv66ydckwqcmyj4j";
   };
 
   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 9290bb125f50..f024099b8281 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.13";
+  version = "4.9.16";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0s52hrs3wrsa1chzgcqpxwgb5kjmpfd82i964n9d2bmk9zn4liin";
+    sha256 = "1r5spbinz8g3iclm9039cddaamj8q5vy455nnr3pvrmxbj8l9d23";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
index 859385c4e994..d3874e9f929c 100644
--- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
+++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.13";
+  version = "4.9.16";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha512 = "2mszr7n212ryaw5q2lj92766aqnjznkfr7ly04g2ggzk7cyiirrf1w37d9arzg3smn5695fb1frikacnbrmz2hsaia48kjhwgjbxn2h";
+    sha512 = "3fhzfdiziad5blzcqfbrxjphcygmhd7jzrricpkn7mvg069csrq0yvlbsxksqii0ahk77wzs1nmkfx138y21v4745dk6rf0438jv7md";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index e3a4206f1ca7..b9f5d152bf6b 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.10-rc7";
-  modDirVersion = "4.10.0-rc7";
-  extraMeta.branch = "4.10";
+  version = "4.11-rc2";
+  modDirVersion = "4.11.0-rc2";
+  extraMeta.branch = "4.11";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
-    sha256 = "01jq4bxb8jcnawhsklc9aa2ba9sg7k5g97jp0slpbi8xw71dripl";
+    sha256 = "1rfdnx7klrb8z9372ydmrsw6bk3i6xqa0am3vjqy75mjp54063vx";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 83020ad35a2b..e07a89fc1e64 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -102,6 +102,13 @@ let
         make $makeFlags "''${makeFlagsArray[@]}" oldconfig
         runHook postConfigure
 
+        make $makeFlags prepare
+        actualModDirVersion="$(cat $buildRoot/include/config/kernel.release)"
+        if [ "$actualModDirVersion" != "${modDirVersion}" ]; then
+          echo "Error: modDirVersion specified in the Nix expression is wrong, it should be: $actualModDirVersion"
+          exit 1
+        fi
+
         # Note: we can get rid of this once http://permalink.gmane.org/gmane.linux.kbuild.devel/13800 is merged.
         buildFlagsArray+=("KBUILD_BUILD_TIMESTAMP=$(date -u -d @$SOURCE_DATE_EPOCH)")
       '';
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index fffe524b11f3..aba4f54b5267 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -95,9 +95,9 @@ rec {
   };
 
   grsecurity_testing = grsecPatch
-    { kver   = "4.9.13";
-      grrev  = "201703052141";
-      sha512 = "197n21975ifp2nkpl6d7v3r9fllw2l7pyd2h8cic7dnigy65a5jqx1sxhqryivijx3czf6hj173q999j218ihlg15p6a7aqjhkh90kf";
+    { kver   = "4.9.16";
+      grrev  = "201703180820";
+      sha512 = "114yqjffxnf412ypaq91r732mi4im2qakj07g0nbqx1qyg319qag5ckc5438kcny3qhzb9wyrwr6mhza51cq7js40ps2aw7alwjfgql";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
diff --git a/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
index ca1131146932..c96d17b7a624 100644
--- a/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
+++ b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, gnugrep, findutils }:
+
 let
-  version = "3ubuntu1"; # Saucy
-in
-stdenv.mkDerivation {
+  version = "22-1.1ubuntu1"; # Zesty
+
+in stdenv.mkDerivation {
   name = "kmod-blacklist-${version}";
 
   src = fetchurl {
-    url = "https://launchpad.net/ubuntu/+archive/primary/+files/kmod_9-${version}.debian.tar.gz";
-    sha256 = "0h6h0zw2490iqj9xa2sz4309jyfmcc50jdvkhxa1nw90npxglp67";
+    url = "https://launchpad.net/ubuntu/+archive/primary/+files/kmod_${version}.debian.tar.xz";
+    sha256 = "1k749g707ccb82l4xmrkp53khl71f57cpj9fzd1qyzrz147fjyhi";
   };
 
   installPhase = ''
@@ -15,6 +16,8 @@ stdenv.mkDerivation {
     for f in modprobe.d/*.conf; do
       echo "''\n''\n## file: "`basename "$f"`"''\n''\n" >> "$out"/modprobe.conf
       cat "$f" >> "$out"/modprobe.conf
+      # https://bugs.launchpad.net/ubuntu/+source/kmod/+bug/1475945
+      sed -i '/^blacklist i2c_801/d' $out/modprobe.conf
     done
 
     substituteInPlace "$out"/modprobe.conf \
@@ -25,9 +28,9 @@ stdenv.mkDerivation {
       --replace " xargs " " ${findutils}/bin/xargs "
   '';
 
-  meta = {
-    homepage = http://packages.ubuntu.com/source/saucy/kmod;
+  meta = with stdenv.lib; {
+    homepage = http://packages.ubuntu.com/source/zesty/kmod;
     description = "Linux kernel module blacklists from Ubuntu";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 322df73e404f..138130fa82e4 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -6,11 +6,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "kmod-${version}";
-  version = "23";
+  version = "24";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
-    sha256 = "0mc12sx06p8il1ym3hdmgxxb37apn9yv7xij26gddjdfkx8xa0yk";
+    sha256 = "15xkkkzvca9flvkm48gkh8y8f13vlm3sl7nz9ydc7b3jy4fqs2v1";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig libxslt ];
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index bf3a05f11161..bab7038aa475 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -29,6 +29,11 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./support-db2x.patch
+    (fetchurl {
+      name = "CVE-2017-5985.patch";
+      url = "https://github.com/lxc/lxc/commit/d512bd5efb0e407eba350c4e649c464a65b712a3.patch";
+      sha256 = "0v1rhlfviadsxj2wmbl7nqb64p6y2bxm9y43sc44jg3k6mkr0r5c";
+    })
   ];
 
   XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 24a2e2cf06ff..99813d38236b 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -78,7 +78,7 @@ installPhase() {
     fi
 
     # All libs except GUI-only are installed now, so fixup them.
-    for libname in `find "$out/lib/" -name '*.so.*'` `find "$bin/lib/" -name '*.so.*'`
+    for libname in `find "$out/lib/" -name '*.so.*'` `test -z "$bin" || find "$bin/lib/" -name '*.so.*'`
     do
       # I'm lazy to differentiate needed libs per-library, as the closure is the same.
       # Unfortunately --shrink-rpath would strip too much.
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 5e26fef6e19d..f04ff107ea66 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -6,19 +6,19 @@ in
 {
   # Policy: use the highest stable version as the default (on our master).
   stable = generic {
-    version = "375.26";
-    sha256_32bit = "0yv19rkz2wzzj0fygfjb1mh21iy769kff3yg2kzk8bsiwnmcyybw";
-    sha256_64bit = "1kqy9ayja3g5znj2hzx8pklz8qi0b0l9da7c3ldg3hlxf31v4hjg";
-    settingsSha256 = "1s8zf5cfhx8m05fvws0gh1q0wy5zyyg2j510zlwp4hk35y7dic5y";
-    persistencedSha256 = "15r6rbzyk4yaqkpkqs8j00zc7jbhgp8naskv93dwjyw0lnj0wgky";
+    version = "375.39";
+    sha256_32bit = "0mlly5n84640xa2mcdqqg44s42ck6g3lj5skf7gmfp2w5ibzccvz";
+    sha256_64bit = "19w5v81f770rqjrvdwz11k015zli2y8f4x10ydqxcy0nhhh5mgli";
+    settingsSha256 = "0f881q4jzliqzqi1p5lzwz86h829m5g74zdj7nlfi1cc6s45g5p5";
+    persistencedSha256 = "0zj6wdcgg2ljhvsssfsqz9wk28ykmsh4gwmis31q3rsrkq668x33";
   };
 
   beta = generic {
-    version = "378.09";
-    sha256_32bit = "0a1vwvsqi89pn29c9aii53xq8292dxf68sr8lxzx4bpqjqmsbapy";
-    sha256_64bit = "018qqg9zlpwd2cad99vbn18rnrrkrqybs7q65h8dmxirkx4pcvh8";
-    settingsSha256 = "1fjkpqmzdzk46p1chzxqvbj3cpqcwwx4qmv33yjq7z2a5zab9z8v";
-    persistencedSha256 = "1svaa5a0zz0r8qy6pg9lnhy5zmffvw0h120h46qqd01pkb4yv5lc";
+    version = "378.13";
+    sha256_32bit = "1ca6kbk20kki5f698x1ga9b1v1is4mr10f7f70s3gixak1h2mrh5";
+    sha256_64bit = "1vj2vyy6vim0qis7iqq4la6k6bnby65p3qjbl888qnpjkqj7kqrx";
+    settingsSha256 = "08q04cd769l1i6737ylvanaxrqg8fym05kjp7kvpz28764g96gxj";
+    persistencedSha256 = "0hmxp5fbxwl9f7c9fspg65my6lwynpqhz02zw7100dgwqb2vn1qj";
   };
 
   legacy_340 = generic {
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index 9e39a6df09c1..4573766b78ba 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -42,6 +42,13 @@ let
         }
       else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
+    # patch to get the nvidia and nvidiaBeta driver to compile on kernel 4.10
+    patches = if libsOnly || versionOlder version "375"
+              then null
+              else [ (fetchurl {
+                      url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel_4.10.patch?h=packages/nvidia;  sha256 = "0zhpx3baq2pca2pmz1af5cp2nzjxjx0j9w5xrdy204mnv3v2708z";
+                     }) ];
+
     inherit version useGLVND useProfiles;
     inherit (stdenv) system;
 
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix
index f4ad94b5085c..ce63d383c8e8 100644
--- a/pkgs/os-specific/linux/syslinux/default.nix
+++ b/pkgs/os-specific/linux/syslinux/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, nasm, perl, python, libuuid, mtools, makeWrapper }:
+{ stdenv, fetchFromGitHub, fetchurl, nasm, perl, python, libuuid, mtools, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "syslinux-2015-11-09";
@@ -10,7 +10,16 @@ stdenv.mkDerivation rec {
     sha256 = "0wk3r5ki4lc334f9jpml07wpl8d0bnxi9h1l4h4fyf9a0d7n4kmw";
   };
 
-  patches = [ ./perl-deps.patch ];
+  patches = [
+    ./perl-deps.patch
+    (fetchurl {
+      # ldlinux.elf: Not enough room for program headers, try linking with -N
+      name = "not-enough-room.patch";
+      url = "https://anonscm.debian.org/cgit/collab-maint/syslinux.git/plain/"
+          + "debian/patches/0014_fix_ftbfs_no_dynamic_linker.patch?id=a556ad7";
+      sha256 = "0ijqjsjmnphmvsx0z6ppnajsfv6xh6crshy44i2a5klxw4nlvrsw";
+    })
+  ];
 
   nativeBuildInputs = [ nasm perl python ];
   buildInputs = [ libuuid makeWrapper ];
diff --git a/pkgs/servers/atlassian/crowd.nix b/pkgs/servers/atlassian/crowd.nix
index 05b88cf9cf3b..d80691231c5e 100644
--- a/pkgs/servers/atlassian/crowd.nix
+++ b/pkgs/servers/atlassian/crowd.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-crowd-${version}";
-  version = "2.10.1";
+  version = "2.11.1";
 
   src = fetchurl {
     url = "https://www.atlassian.com/software/crowd/downloads/binary/${name}.tar.gz";
-    sha256 = "1pl4wyqvzqb97ql23530amslrrsysi0fmmnzpihhgqhvhwf57sc6";
+    sha256 = "12gb9p5npcdr7mxyyir3xgjkc6n05zfi4i5dqkg8f7jrhi49nas7";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
diff --git a/pkgs/servers/http/couchdb/2.0.0.nix b/pkgs/servers/http/couchdb/2.0.0.nix
new file mode 100644
index 000000000000..0481ebb9b8dc
--- /dev/null
+++ b/pkgs/servers/http/couchdb/2.0.0.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, erlang, icu, openssl, spidermonkey
+, coreutils, bash, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "couchdb-${version}";
+  version = "2.0.0";
+
+  src = fetchurl {
+    url = "mirror://apache/couchdb/source/${version}/apache-${name}.tar.gz";
+    sha256 = "1jkfx6g9anrgmkhrkcn50axcamragranwsciw1rhmi86rglkrbyc";
+  };
+
+  buildInputs = [ erlang icu openssl spidermonkey makeWrapper ];
+
+  patches = [ ./jsapi.patch ];
+  postPatch = ''
+    substituteInPlace src/couch/rebar.config.script --replace '-DHAVE_CURL -I/usr/local/include' "-DHAVE_CURL -I/usr/local/include $NIX_CFLAGS_COMPILE"
+
+    patch bin/rebar <<EOF
+    1c1
+    < #!/usr/bin/env escript
+    ---
+    > #!${coreutils}/bin/env escript
+    EOF
+
+  '';
+
+  # Configure a username.  The build system would use "couchdb" as
+  # default if none is provided.  Note that it is unclear where this
+  # username is actually used in the build, as any choice seems to be
+  # working.
+  configurePhase = ''
+    ./configure -u nobody
+  '';
+
+  buildPhase = ''
+    make release
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r rel/couchdb/* $out
+    wrapProgram $out/bin/couchdb --suffix PATH : ${bash}/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API";
+    homepage = "http://couchdb.apache.org";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/servers/http/couchdb/jsapi.patch b/pkgs/servers/http/couchdb/jsapi.patch
new file mode 100644
index 000000000000..bb7d4ca610c7
--- /dev/null
+++ b/pkgs/servers/http/couchdb/jsapi.patch
@@ -0,0 +1,60 @@
+diff -ru couch_js/http.c couch_js-patched/http.c
+--- apache-couchdb-2.0.0/src/couch/priv/couch_js/http.c	2016-09-12 11:28:51.000000000 +0200
++++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/http.c	2017-02-10 10:52:33.025854045 +0100
+@@ -15,7 +15,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#include <jsapi.h>
++#include <js/jsapi.h>
+ #include "config.h"
+ #include "utf8.h"
+ #include "util.h"
+diff -ru couch_js/main.c couch_js-patched/main.c
+--- apache-couchdb-2.0.0/src/couch/priv/couch_js/main.c	2016-09-12 11:28:51.000000000 +0200
++++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/main.c	2017-02-10 10:52:33.001854154 +0100
+@@ -20,7 +20,7 @@
+ #include <unistd.h>
+ #endif
+ 
+-#include <jsapi.h>
++#include <js/jsapi.h>
+ #include "config.h"
+ #include "http.h"
+ #include "utf8.h"
+diff -ru couch_js/utf8.c couch_js-patched/utf8.c
+--- apache-couchdb-2.0.0/src/couch/priv/couch_js/utf8.c	2016-09-12 11:28:51.000000000 +0200
++++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/utf8.c	2017-02-10 10:52:33.009854117 +0100
+@@ -10,7 +10,7 @@
+ // License for the specific language governing permissions and limitations under
+ // the License.
+ 
+-#include <jsapi.h>
++#include <js/jsapi.h>
+ #include "config.h"
+ 
+ static int
+diff -ru couch_js/util.c couch_js-patched/util.c
+--- apache-couchdb-2.0.0/src/couch/priv/couch_js/util.c	2016-09-12 11:28:51.000000000 +0200
++++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/util.c	2017-02-10 10:52:33.017854081 +0100
+@@ -13,7 +13,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ 
+-#include <jsapi.h>
++#include <js/jsapi.h>
+ 
+ #include "help.h"
+ #include "util.h"
+diff -ru couch_js/util.h couch_js-patched/util.h
+--- apache-couchdb-2.0.0/src/couch/priv/couch_js/util.h	2016-09-12 11:28:51.000000000 +0200
++++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/util.h	2017-02-10 10:52:32.988854212 +0100
+@@ -13,7 +13,7 @@
+ #ifndef COUCHJS_UTIL_H
+ #define COUCHJS_UTIL_H
+ 
+-#include <jsapi.h>
++#include <js/jsapi.h>
+ 
+ typedef struct {
+     int          no_eval;
diff --git a/pkgs/servers/http/jboss/default.nix b/pkgs/servers/http/jboss/default.nix
index 2dd9d544a03b..068053d71f09 100644
--- a/pkgs/servers/http/jboss/default.nix
+++ b/pkgs/servers/http/jboss/default.nix
@@ -22,5 +22,8 @@ stdenv.mkDerivation {
     license = licenses.lgpl21;
     maintainers = [ maintainers.sander ];
     platforms = platforms.unix;
+    knownVulnerabilities = [
+      "CVE-2015-7501: remote code execution in apache-commons-collections: InvokerTransformer during deserialisation"
+    ];
   };
 }
diff --git a/pkgs/servers/http/pshs/default.nix b/pkgs/servers/http/pshs/default.nix
index b9a42b4a5f61..38ab4bd3187d 100644
--- a/pkgs/servers/http/pshs/default.nix
+++ b/pkgs/servers/http/pshs/default.nix
@@ -1,24 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, libevent, file, qrencode, miniupnpc }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libevent, file, qrencode, miniupnpc }:
 
-let
-  version = "0.3";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "pshs-${version}";
+  version = "0.3.1";
 
-  src = fetchurl {
-    url = "https://www.bitbucket.org/mgorny/pshs/downloads/pshs-${version}.tar.bz2";
-    sha256 = "0qvy1m9jmbjhbihs1qr9nasbaajl3n0x8bgz1vw9xvpkqymx5i63";
+  src = fetchFromGitHub {
+    owner = "mgorny";
+    repo = "pshs";
+    rev = "v${version}";
+    sha256 = "18mhxdjlyr21gghzkrrlp0imicb6bqf741p0a21c2rkvs4bv8c1w";
   };
 
-  buildInputs = [ pkgconfig libevent file qrencode miniupnpc ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libevent file qrencode miniupnpc ];
 
   # SSL requires libevent at 2.1 with ssl support
   configureFlags = "--disable-ssl";
 
   meta = {
     description = "Pretty small HTTP server - a command-line tool to share files";
-    homepage = "https://bitbucket.org/mgorny/pshs/";
+    homepage = "https://github.com/mgorny/pshs";
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.eduarrrd ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/irker/default.nix b/pkgs/servers/irker/default.nix
new file mode 100644
index 000000000000..fb5d49849f87
--- /dev/null
+++ b/pkgs/servers/irker/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitLab, python, pkgconfig
+, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_412 }:
+
+stdenv.mkDerivation rec {
+  name = "irker-${version}";
+  version = "2017-02-12";
+
+  src = fetchFromGitLab {
+    owner = "esr";
+    repo = "irker";
+    rev = "dc0f65a7846a3922338e72d8c6140053fe914b54";
+    sha256 = "1hslwqa0gqsnl3l6hd5hxpn0wlachxd51infifhlwhyhd6iwgx8p";
+  };
+
+  nativeBuildInputs = [ pkgconfig xmlto docbook2x ];
+
+  buildInputs = [
+    python
+    # Needed for proxy support I believe, which I haven't tested.
+    # Probably needs to be propagated and some wrapPython magic
+    # python.pkgs.pysocks
+  ];
+
+  preBuild = ''
+    export XML_CATALOG_FILES='${docbook_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml'
+  '';
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace '-o 0 -g 0' ""
+  '';
+
+  installFlags = [
+    "prefix=/"
+    "DESTDIR=$$out"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "IRC client that runs as a daemon accepting notification requests";
+    homepage = "https://gitlab.com/esr/irker";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dtzWill ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/kwakd/default.nix b/pkgs/servers/kwakd/default.nix
new file mode 100644
index 000000000000..7c7755dee482
--- /dev/null
+++ b/pkgs/servers/kwakd/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "kwakd-${version}";
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner = "fetchinson";
+    repo = "kwakd";
+    rev = "acdf0e1491204ae30622a60fde0bcae4769f78be";
+    sha256 = "1inf9ngrbxmkkdhqf1xday12nf0hxjxlx1810phkmivyyp6fl3nj";
+  };
+
+  postInstall = ''
+    serviceDir=$out/share/dbus-1/system-services
+    mkdir -p $serviceDir
+    cp kwakd.service $serviceDir/
+    substituteInPlace $serviceDir/kwakd.service \
+      --replace "kwakd -p 80" "$out/bin/kwakd -p 80"
+  '';
+
+  meta = with lib; {
+    description = "A super small webserver that serves blank pages";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.nicknovitski ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 68e3ad4ca426..bf7b5d8d6ed1 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.88";
+  name = "exim-4.89";
 
   src = fetchurl {
-    url = "http://ftp.exim.org/pub/exim/exim4/${name}.tar.bz2";
-    sha256 = "0bca3wb45hl7h8m8bpvsmrmqa07jhbhqyigs9pl29hhzwgbmz78i";
+    url = "http://ftp.exim.org/pub/exim/exim4/${name}.tar.xz";
+    sha256 = "09lndv34jsxwglq5zsh9y4xaqj5g37g9ca4x0zb25fvvm4f0lj8c";
   };
 
   buildInputs = [ coreutils db openssl pcre perl pkgconfig ];
diff --git a/pkgs/servers/mail/mlmmj/default.nix b/pkgs/servers/mail/mlmmj/default.nix
index 8955f40e565a..ddf4fd5d880d 100644
--- a/pkgs/servers/mail/mlmmj/default.nix
+++ b/pkgs/servers/mail/mlmmj/default.nix
@@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
     sha256 = "18n7b41nfdj7acvmqzkkz984d26xvz14xk8kmrnzv23dkda364m0";
   };
 
+  postInstall = ''
+    # grab all documentation files
+    docfiles=$(find -maxdepth 1 -name "[[:upper:]][[:upper:]]*")
+    install -vDm 644 -t $out/share/doc/mlmmj/ $docfiles
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://mlmmj.org;
     description = "Mailing List Management Made Joyful";
@@ -18,4 +24,4 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix b/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix
new file mode 100644
index 000000000000..2e7a4932de62
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "fritzbox-exporter-${version}";
+  version = "1.0";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/ndecker/fritzbox_exporter";
+
+  src= fetchFromGitHub {
+    inherit rev;
+    owner = "ndecker";
+    repo = "fritzbox_exporter";
+    sha256 = "1qk3dgxxz3cnz52jzz0yvfkrkk4s5kdhc26nbfgdpn0ifzqj0awr";
+  };
+
+  meta = with stdenv.lib; {
+    description = "FRITZ!Box UPnP statistics exporter for prometheus";
+    homepage = https://github.com/ndecker/fritzbox_exporter;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bachp ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix b/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix
new file mode 100644
index 000000000000..f866df49b54d
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "unifi-exporter-${version}";
+  version = "0.4.0";
+  rev = version;
+
+  goPackagePath = "github.com/mdlayher/unifi_exporter";
+
+  src= fetchFromGitHub {
+    inherit rev;
+    owner = "mdlayher";
+    repo = "unifi_exporter";
+    sha256 = "0mbav3dkrwrgzzl80q590467nbq5j61v5v7mpsbhcn2p7ak0swx4";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Prometheus exporter that exposes metrics from a Ubiquiti UniFi Controller and UniFi devices";
+    homepage = https://github.com/mdlayher/unifi_exporter;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bachp ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/unifi-exporter/deps.nix b/pkgs/servers/monitoring/prometheus/unifi-exporter/deps.nix
new file mode 100644
index 000000000000..1de25a21d8cc
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/unifi-exporter/deps.nix
@@ -0,0 +1,75 @@
+# 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 = "c9c7427a2a70d2eb3bafa0ab2dc163e45f143317";
+      sha256 = "1xy0bj66qks2xlzxzlfma16w7m8g6rrwawmlhlv68bcw2k5hvvib";
+    };
+  }
+  {
+    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/mdlayher/unifi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mdlayher/unifi";
+      rev = "418aad77bdb31a9b97d13f79162b0bac1a38bb25";
+      sha256 = "16hv2mk2vl4lcj1qf2wp9psvffz26b5zsajs2yl21rbx0pcwkcp7";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "a5060f1eaab721946b185b2de468ff83ea5b89cb";
+      sha256 = "1v9qva9c0wrjkl71b0rvvi1qj7l42gvcsj349r4lg8pwni8i6did";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "6f3806018612930941127f2a7c6c453ba2c527d2";
+      sha256 = "1413ibprinxhni51p0755dp57r9wvbw7xgj9nmdaxmhzlqhc86j4";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "49fee292b27bfff7f354ee0f64e1bc4850462edf";
+      sha256 = "01vcjzkxs34yyy402rsbxw3md7ia85ls9yzsxhgddcisa3mq23cj";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "a1dba9ce8baed984a2495b658c82687f8157b98f";
+      sha256 = "1k2460bjzsm238sqx7wi42bym5bk7ybdr4qadk9szdbv65hh8vf6";
+    };
+  }
+]
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 87a477ab057d..e3938ec71a84 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -33,17 +33,15 @@ let
   opt = stdenv.lib.optional;
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
   major = "0.20";
-  minor = "5";
+  minor = "6";
 
 in stdenv.mkDerivation rec {
   name = "mpd-${major}${if minor == "" then "" else "." + minor}";
   src = fetchurl {
     url    = "http://www.musicpd.org/download/mpd/${major}/${name}.tar.xz";
-    sha256 = "11w9v0l9lf504nkxlb91y5r9x403ikl626mjd1lf4fj44yz76maj";
+    sha256 = "0isbpa79m7zf09w3s1ry638cw96rxasy1ch66zl01k75i48mw1gl";
   };
 
-  patches = [ ./i386.patch ];
-
   buildInputs = [ pkgconfig glib boost ]
     ++ opt stdenv.isDarwin darwin.apple_sdk.frameworks.CoreAudioKit
     ++ opt stdenv.isLinux systemd
diff --git a/pkgs/servers/mpd/i386.patch b/pkgs/servers/mpd/i386.patch
deleted file mode 100644
index dca8ea88a8b5..000000000000
--- a/pkgs/servers/mpd/i386.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/decoder/plugins/FfmpegDecoderPlugin.cxx b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
-index 6986453..167fc07 100644
---- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx
-+++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
-@@ -20,8 +20,8 @@
- /* necessary because libavutil/common.h uses UINT64_C */
- #define __STDC_CONSTANT_MACROS
- 
--#include "lib/ffmpeg/Time.hxx"
- #include "config.h"
-+#include "lib/ffmpeg/Time.hxx"
- #include "FfmpegDecoderPlugin.hxx"
- #include "lib/ffmpeg/Domain.hxx"
- #include "lib/ffmpeg/Error.hxx"
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index d37b53398b6d..4bbff8b86ad2 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name= "nextcloud-${version}";
-  version = "11.0.1";
+  version = "11.0.2";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "0aa6gzcbpjkk7ss3c1sg0scinhczvg4lgb59wv5jljliaks2n5h0";
+    sha256 = "0047kfl73720w7y2r7ivzj2gqg84rcfp98svq130nd0ziyfz27jx";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index f6fcca16081b..a2158c9b5410 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "neo4j-${version}";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchurl {
     url = "http://dist.neo4j.org/neo4j-community-${version}-unix.tar.gz";
-    sha256 = "1jz257brrrblxq0jdh79mmqand6lwi632y8sy5j6dxl3ssd3hrkx";
+    sha256 = "0kvbsm9mjwqyl3q2myif28a0f11i4rfq3hik07w9cdnrwyd75s40";
   };
 
   buildInputs = [ makeWrapper jre8 which gawk ];
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index 32b065364a6a..9cce987e58f4 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -36,7 +36,7 @@ in {
     };
   };
 
-  elasticsearch_analisys_lemmagen = esPlugin rec {
+  elasticsearch_analysis_lemmagen = esPlugin rec {
     name = "elasticsearch-analysis-lemmagen-${version}";
     pluginName = "elasticsearch-analysis-lemmagen";
     version = "0.1";
diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix
index ee51ace4b687..b05977a1e25d 100644
--- a/pkgs/servers/tvheadend/default.nix
+++ b/pkgs/servers/tvheadend/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "TV steaming server";
+    description = "TV streaming server";
     longDescription = ''
 	Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android 
         supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, SAT>IP and HDHomeRun as input sources.
diff --git a/pkgs/servers/web-apps/pump.io/generate.sh b/pkgs/servers/web-apps/pump.io/generate.sh
index 51e05ce37d6b..6dc91c72c09e 100755
--- a/pkgs/servers/web-apps/pump.io/generate.sh
+++ b/pkgs/servers/web-apps/pump.io/generate.sh
@@ -15,15 +15,23 @@ set -e
 # Also jshon does funny things with slashes in strings, which can be
 # fixed with sed.
 
-curl https://raw.githubusercontent.com/e14n/pump.io/v1.0.0/package.json | \
+VERSION="3.0.0"
+URL="https://registry.npmjs.org/pump.io/-/pump.io-$VERSION.tgz"
+SHA1="ycfm7ak83xi8mgafhp9q0n6n3kzmdz16"
+
+curl https://raw.githubusercontent.com/e14n/pump.io/v$VERSION/package.json | \
     jshon -e dependencies              \
           -s '*' -i databank-mongodb   \
           -s '*' -i databank-redis     \
-          -s '*' -i databank-memcached \
           -s '*' -i databank-lrucache  \
           -p | sed 's=\\/=/=g' > full-package.json
 
 node2nix --input full-package.json --composition composition.nix --node-env ../../../development/node-packages/node-env.nix
 
 # overriding nodePackages src doesn't seem to work, so...
-sed -i 's|src = ./.|src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-1.0.0.tgz"; sha1 = "404mzdqzknrv7pl9qasksi791cc00bbd"; }|' node-packages.nix
+sed -i "s|src = ./.|src = fetchurl { url = \"$URL\"; sha1 = \"$SHA1\"; }|" node-packages.nix
+
+# fetchgit or node2nix is having problems with submodules or something.
+# This is the sha256 for connect-auth which is a npm dep hosted on
+# github and containing submodules.
+sed -i "s|d08fecbb72aff14ecb39dc310e8965ba92228f0c0def41fbde3db5ea7a1aac19|1b052xpj10hanx21286i5w0jrwxxkiwbdzpdngg9s2j1m7a9543b|" node-packages.nix
diff --git a/pkgs/servers/web-apps/pump.io/node-packages.nix b/pkgs/servers/web-apps/pump.io/node-packages.nix
index ab3022b95123..a275ef4ca402 100644
--- a/pkgs/servers/web-apps/pump.io/node-packages.nix
+++ b/pkgs/servers/web-apps/pump.io/node-packages.nix
@@ -13,13 +13,22 @@ let
         sha1 = "bc3875a9afd0a7b2cd231a6a7f218a5ce156b093";
       };
     };
-    "bunyan-1.8.5" = {
+    "bunyan-1.8.8" = {
       name = "bunyan";
       packageName = "bunyan";
-      version = "1.8.5";
+      version = "1.8.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bunyan/-/bunyan-1.8.5.tgz";
-        sha1 = "0d619e83005fb89070f5f47982fc1bf00600878a";
+        url = "https://registry.npmjs.org/bunyan/-/bunyan-1.8.8.tgz";
+        sha1 = "6549ed6db088e4d82b7be3bcc6d0697159f6e209";
+      };
+    };
+    "colors-1.1.2" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
+        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
       };
     };
     "connect-2.30.2" = {
@@ -31,13 +40,14 @@ let
         sha1 = "8da9bcbe8a054d3d318d74dfec903b5c39a1b609";
       };
     };
-    "connect-auth-0.6.1" = {
+    "connect-auth-git://github.com/e14n/connect-auth" = {
       name = "connect-auth";
       packageName = "connect-auth";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect-auth/-/connect-auth-0.6.1.tgz";
-        sha1 = "8d798153d6c8e78cb809de82a436f1de7c79868f";
+      version = "0.6.0";
+      src = fetchgit {
+        url = "git://github.com/e14n/connect-auth";
+        rev = "ae4e3c4c86a5d266be7bd91c2b99856f9a37b1ec";
+        sha256 = "1b052xpj10hanx21286i5w0jrwxxkiwbdzpdngg9s2j1m7a9543b";
       };
     };
     "connect-databank-1.0.3" = {
@@ -49,6 +59,15 @@ let
         sha1 = "dad24f08dc385d9c3a94f1a52730aec0c7d13b02";
       };
     };
+    "connect-multiparty-2.0.0" = {
+      name = "connect-multiparty";
+      packageName = "connect-multiparty";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-2.0.0.tgz";
+        sha1 = "57a7b61cc7b31b6eef4a62878d60d771b23699ab";
+      };
+    };
     "crypto-cacerts-0.1.0" = {
       name = "crypto-cacerts";
       packageName = "crypto-cacerts";
@@ -58,13 +77,13 @@ let
         sha1 = "3499c6dff949ab005d4ad4a3f09c48ced6c88a41";
       };
     };
-    "databank-0.19.5" = {
+    "databank-0.19.8" = {
       name = "databank";
       packageName = "databank";
-      version = "0.19.5";
+      version = "0.19.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/databank/-/databank-0.19.5.tgz";
-        sha1 = "edcbd954b84730c0c5d0de551e004b92f1f53119";
+        url = "https://registry.npmjs.org/databank/-/databank-0.19.8.tgz";
+        sha1 = "bf73d6b4fc002045793faeff2b1c3fabc9999844";
       };
     };
     "dateformat-1.0.12" = {
@@ -85,13 +104,13 @@ let
         sha1 = "051806a88a6cc18ffb25adf13eda232e354ebcb6";
       };
     };
-    "dompurify-0.8.4" = {
+    "dompurify-0.8.5" = {
       name = "dompurify";
       packageName = "dompurify";
-      version = "0.8.4";
+      version = "0.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dompurify/-/dompurify-0.8.4.tgz";
-        sha1 = "93cabe8b6b84f3cf83f63b985ff71ef05f8cdeb6";
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-0.8.5.tgz";
+        sha1 = "5bc591b61e222243cc827ca382d7a2e2660c1a44";
       };
     };
     "emailjs-1.0.8" = {
@@ -103,22 +122,22 @@ let
         sha1 = "d4240db7670dc78aff97352092d8460edc130f66";
       };
     };
-    "express-2.5.11" = {
+    "express-3.21.2" = {
       name = "express";
       packageName = "express";
-      version = "2.5.11";
+      version = "3.21.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-2.5.11.tgz";
-        sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
+        url = "https://registry.npmjs.org/express/-/express-3.21.2.tgz";
+        sha1 = "0c2903ee5c54e63d65a96170764703550665a3de";
       };
     };
-    "express-session-1.14.2" = {
+    "express-session-1.15.1" = {
       name = "express-session";
       packageName = "express-session";
-      version = "1.14.2";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-session/-/express-session-1.14.2.tgz";
-        sha1 = "6bcf586ed6d1dc37b02570087756c9de7b80b275";
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.15.1.tgz";
+        sha1 = "9abba15971beea7ad98da5a4d25ed92ba4a2984e";
       };
     };
     "gm-1.23.0" = {
@@ -130,13 +149,22 @@ let
         sha1 = "80a2fe9cbf131515024846444658461269f52661";
       };
     };
-    "helmet-2.3.0" = {
+    "helmet-3.4.1" = {
       name = "helmet";
       packageName = "helmet";
-      version = "2.3.0";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/helmet/-/helmet-3.4.1.tgz";
+        sha1 = "27d37629227f25a110f2a128bfe1b1028648a397";
+      };
+    };
+    "jade-1.11.0" = {
+      name = "jade";
+      packageName = "jade";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/helmet/-/helmet-2.3.0.tgz";
-        sha1 = "d655c85b55b0a3bf722a4c2c66e48b78b4161b91";
+        url = "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz";
+        sha1 = "9c80e538c12d3fb95c8d9bb9559fa0cc040405fd";
       };
     };
     "jankyqueue-0.1.1" = {
@@ -157,6 +185,15 @@ let
         sha1 = "40b402770c2bda23469096bee91ab675e3b1fc6e";
       };
     };
+    "method-override-2.3.7" = {
+      name = "method-override";
+      packageName = "method-override";
+      version = "2.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/method-override/-/method-override-2.3.7.tgz";
+        sha1 = "8e1d47ac480fb0cd8777083f11c896901166b2e5";
+      };
+    };
     "mkdirp-0.5.1" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -166,15 +203,6 @@ let
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
-    "node-uuid-1.4.7" = {
-      name = "node-uuid";
-      packageName = "node-uuid";
-      version = "1.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
-        sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
-      };
-    };
     "oauth-evanp-0.9.10-evanp.2" = {
       name = "oauth-evanp";
       packageName = "oauth-evanp";
@@ -184,6 +212,15 @@ let
         sha1 = "9b5fb3508cea584420855957d56531405cf53a02";
       };
     };
+    "octal-1.0.0" = {
+      name = "octal";
+      packageName = "octal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz";
+        sha1 = "63e7162a68efbeb9e213588d58e989d1e5c4530b";
+      };
+    };
     "optimist-0.6.1" = {
       name = "optimist";
       packageName = "optimist";
@@ -193,13 +230,13 @@ let
         sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
       };
     };
-    "rimraf-2.5.4" = {
+    "rimraf-2.6.1" = {
       name = "rimraf";
       packageName = "rimraf";
-      version = "2.5.4";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz";
-        sha1 = "96800093cbf1a0c86bd95b4625467535c29dfa04";
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz";
+        sha1 = "c2338ec643df7a1b7fe5c54fa86f57428a55f33d";
       };
     };
     "sanitize-html-1.14.1" = {
@@ -229,13 +266,13 @@ let
         sha1 = "765e7607c8055452bba6f0b052595350986036de";
       };
     };
-    "showdown-1.6.0" = {
+    "showdown-1.6.4" = {
       name = "showdown";
       packageName = "showdown";
-      version = "1.6.0";
+      version = "1.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/showdown/-/showdown-1.6.0.tgz";
-        sha1 = "4a3cd2b73c45914f8cc00a388303be78b9f3e2a4";
+        url = "https://registry.npmjs.org/showdown/-/showdown-1.6.4.tgz";
+        sha1 = "056bbb654ecdb8d8643ae12d6d597893ccaf46c6";
       };
     };
     "sockjs-0.3.18" = {
@@ -247,13 +284,22 @@ let
         sha1 = "d9b289316ca7df77595ef299e075f0f937eb4207";
       };
     };
-    "step-0.0.6" = {
+    "ssl-config-0.0.9" = {
+      name = "ssl-config";
+      packageName = "ssl-config";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssl-config/-/ssl-config-0.0.9.tgz";
+        sha1 = "905ed1b7ddd0564aa9395cd4ae7146907351ff2c";
+      };
+    };
+    "step-1.0.0" = {
       name = "step";
       packageName = "step";
-      version = "0.0.6";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/step/-/step-0.0.6.tgz";
-        sha1 = "143e7849a5d7d3f4a088fe29af94915216eeede2";
+        url = "https://registry.npmjs.org/step/-/step-1.0.0.tgz";
+        sha1 = "b300e9d2ae9057d4d78633aae2303813a94bdff2";
       };
     };
     "ua-parser-js-0.7.12" = {
@@ -283,13 +329,13 @@ let
         sha1 = "665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7";
       };
     };
-    "utml-0.2.0" = {
-      name = "utml";
-      packageName = "utml";
-      version = "0.2.0";
+    "uuid-3.0.1" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utml/-/utml-0.2.0.tgz";
-        sha1 = "6a546741823b2a9c17598a57e8eb4c08738dee48";
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz";
+        sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1";
       };
     };
     "validator-4.4.0" = {
@@ -310,13 +356,13 @@ let
         sha1 = "3477a6d97799461896039fcffc650b73468ee76d";
       };
     };
-    "databank-mongodb-0.19.0" = {
+    "databank-mongodb-1.0.0" = {
       name = "databank-mongodb";
       packageName = "databank-mongodb";
-      version = "0.19.0";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/databank-mongodb/-/databank-mongodb-0.19.0.tgz";
-        sha1 = "66ffa32848986d0e138403396506d64895fefc45";
+        url = "https://registry.npmjs.org/databank-mongodb/-/databank-mongodb-1.0.0.tgz";
+        sha1 = "66f229698df1d4f7e9e3ad849a30174b2aae527b";
       };
     };
     "databank-redis-0.19.6" = {
@@ -328,15 +374,6 @@ let
         sha1 = "dd476b81b8200269ea0cc85f6b6decd05799bce9";
       };
     };
-    "databank-memcached-0.15.0" = {
-      name = "databank-memcached";
-      packageName = "databank-memcached";
-      version = "0.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/databank-memcached/-/databank-memcached-0.15.0.tgz";
-        sha1 = "0817452dfb2b09267cd1c8bbec95363ec14f14f2";
-      };
-    };
     "databank-lrucache-0.1.2" = {
       name = "databank-lrucache";
       packageName = "databank-lrucache";
@@ -364,13 +401,13 @@ let
         sha1 = "822a0dc266290ce4cd3a12282ca3e7e364668a08";
       };
     };
-    "dtrace-provider-0.8.0" = {
+    "dtrace-provider-0.8.1" = {
       name = "dtrace-provider";
       packageName = "dtrace-provider";
-      version = "0.8.0";
+      version = "0.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.0.tgz";
-        sha1 = "fa95fbf67ed3ae3e97364f9664af7302e5ff5625";
+        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.1.tgz";
+        sha1 = "cd4d174a233bea1bcf4a1fbfa5798f44f48cda9f";
       };
     };
     "mv-2.1.1" = {
@@ -382,13 +419,13 @@ let
         sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2";
       };
     };
-    "safe-json-stringify-1.0.3" = {
+    "safe-json-stringify-1.0.4" = {
       name = "safe-json-stringify";
       packageName = "safe-json-stringify";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz";
-        sha1 = "3cb6717660a086d07cb5bd9b7a6875bcf67bd05e";
+        url = "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz";
+        sha1 = "81a098f447e4bbc3ff3312a243521bc060ef5911";
       };
     };
     "moment-2.17.1" = {
@@ -400,13 +437,13 @@ let
         sha1 = "fed9506063f36b10f066c8b59a144d7faebe1d82";
       };
     };
-    "nan-2.5.0" = {
+    "nan-2.5.1" = {
       name = "nan";
       packageName = "nan";
-      version = "2.5.0";
+      version = "2.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.5.0.tgz";
-        sha1 = "aa8f1e34531d807e9e27755b234b4a6ec0c152a8";
+        url = "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz";
+        sha1 = "d5b01691253326a97a2bbee9e61c55d8d60351e2";
       };
     };
     "ncp-2.0.0" = {
@@ -670,15 +707,6 @@ let
         sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
       };
     };
-    "method-override-2.3.7" = {
-      name = "method-override";
-      packageName = "method-override";
-      version = "2.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/method-override/-/method-override-2.3.7.tgz";
-        sha1 = "8e1d47ac480fb0cd8777083f11c896901166b2e5";
-      };
-    };
     "morgan-1.6.1" = {
       name = "morgan";
       packageName = "morgan";
@@ -922,13 +950,13 @@ let
         sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
       };
     };
-    "csrf-3.0.4" = {
+    "csrf-3.0.5" = {
       name = "csrf";
       packageName = "csrf";
-      version = "3.0.4";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csrf/-/csrf-3.0.4.tgz";
-        sha1 = "ba01423e5b5bea7b655e38b0bdd1323954cbdaa5";
+        url = "https://registry.npmjs.org/csrf/-/csrf-3.0.5.tgz";
+        sha1 = "3c3aa86f395dd39f86d68fcf1734a2380f466112";
       };
     };
     "base64-url-1.3.3" = {
@@ -958,13 +986,13 @@ let
         sha1 = "7dc4a33af71581ab4337da91d85ca5427ebd9a97";
       };
     };
-    "uid-safe-2.1.3" = {
+    "uid-safe-2.1.4" = {
       name = "uid-safe";
       packageName = "uid-safe";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.3.tgz";
-        sha1 = "077e264a00b3187936b270bb7376a26473631071";
+        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz";
+        sha1 = "3ad6f38368c6d4c8c75ec17623fb79aa1d071d81";
       };
     };
     "random-bytes-1.0.0" = {
@@ -1048,42 +1076,6 @@ let
         sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e";
       };
     };
-    "debug-2.3.3" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz";
-        sha1 = "40c453e67e6e13c901ddec317af8986cda9eff8c";
-      };
-    };
-    "methods-1.1.2" = {
-      name = "methods";
-      packageName = "methods";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
-        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
-      };
-    };
-    "vary-1.1.0" = {
-      name = "vary";
-      packageName = "vary";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz";
-        sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140";
-      };
-    };
-    "ms-0.7.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "0.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz";
-        sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
-      };
-    };
     "basic-auth-1.0.4" = {
       name = "basic-auth";
       packageName = "basic-auth";
@@ -1156,6 +1148,15 @@ let
         sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8";
       };
     };
+    "ms-0.7.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz";
+        sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
+      };
+    };
     "batch-0.5.3" = {
       name = "batch";
       packageName = "batch";
@@ -1174,22 +1175,13 @@ let
         sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
       };
     };
-    "connect-2.7.11" = {
-      name = "connect";
-      packageName = "connect";
-      version = "2.7.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-2.7.11.tgz";
-        sha1 = "f561d5eef70b8d719c397f724d34ba4065c77a3e";
-      };
-    };
-    "oauth-0.9.10" = {
+    "oauth-0.9.7" = {
       name = "oauth";
       packageName = "oauth";
-      version = "0.9.10";
+      version = "0.9.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oauth/-/oauth-0.9.10.tgz";
-        sha1 = "7d356af319a16d889e581fa80f86bbd5ab454646";
+        url = "https://registry.npmjs.org/oauth/-/oauth-0.9.7.tgz";
+        sha1 = "c2554d0368c966eb3050bec96584625577ad1ecd";
       };
     };
     "openid-0.4.1" = {
@@ -1201,114 +1193,6 @@ let
         sha1 = "de0eb5e381d34dc4aa5a77a98678bedafd11f387";
       };
     };
-    "qs-0.6.5" = {
-      name = "qs";
-      packageName = "qs";
-      version = "0.6.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-      };
-    };
-    "formidable-1.0.14" = {
-      name = "formidable";
-      packageName = "formidable";
-      version = "1.0.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
-      };
-    };
-    "cookie-signature-1.0.1" = {
-      name = "cookie-signature";
-      packageName = "cookie-signature";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
-        sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
-      };
-    };
-    "buffer-crc32-0.2.1" = {
-      name = "buffer-crc32";
-      packageName = "buffer-crc32";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
-      };
-    };
-    "cookie-0.0.5" = {
-      name = "cookie";
-      packageName = "cookie";
-      version = "0.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
-        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
-      };
-    };
-    "send-0.1.1" = {
-      name = "send";
-      packageName = "send";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.1.1.tgz";
-        sha1 = "0bcfcbd03def6e2d8612e1abf8f4895b450c60c8";
-      };
-    };
-    "bytes-0.2.0" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
-        sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
-      };
-    };
-    "fresh-0.1.0" = {
-      name = "fresh";
-      packageName = "fresh";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
-        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
-      };
-    };
-    "pause-0.0.1" = {
-      name = "pause";
-      packageName = "pause";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
-        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
-      };
-    };
-    "debug-2.6.0" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz";
-        sha1 = "bc596bcabe7617f11d9fa15361eded5608b8499b";
-      };
-    };
-    "mime-1.2.11" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.2.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      };
-    };
-    "range-parser-0.0.4" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "0.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
-        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
-      };
-    };
     "async-1.5.2" = {
       name = "async";
       packageName = "async";
@@ -1318,6 +1202,15 @@ let
         sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
       };
     };
+    "node-uuid-1.4.7" = {
+      name = "node-uuid";
+      packageName = "node-uuid";
+      version = "1.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
+        sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
+      };
+    };
     "set-immediate-0.1.1" = {
       name = "set-immediate";
       packageName = "set-immediate";
@@ -1327,40 +1220,31 @@ let
         sha1 = "8986e4a773bf8ec165f24d579107673bfac141de";
       };
     };
-    "vows-0.7.0" = {
-      name = "vows";
-      packageName = "vows";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
-        sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867";
-      };
-    };
-    "setimmediate-1.0.5" = {
-      name = "setimmediate";
-      packageName = "setimmediate";
-      version = "1.0.5";
+    "multiparty-4.1.3" = {
+      name = "multiparty";
+      packageName = "multiparty";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
-        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+        url = "https://registry.npmjs.org/multiparty/-/multiparty-4.1.3.tgz";
+        sha1 = "3c43c7fcb1896e17460436a9dd0b6ef1668e4f94";
       };
     };
-    "eyes-0.1.8" = {
-      name = "eyes";
-      packageName = "eyes";
-      version = "0.1.8";
+    "fd-slicer-1.0.1" = {
+      name = "fd-slicer";
+      packageName = "fd-slicer";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
+        sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
       };
     };
-    "diff-1.0.8" = {
-      name = "diff";
-      packageName = "diff";
-      version = "1.0.8";
+    "pend-1.2.0" = {
+      name = "pend";
+      packageName = "pend";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
-        sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
+        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
       };
     };
     "get-stdin-4.0.1" = {
@@ -1426,13 +1310,13 @@ let
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
-    "normalize-package-data-2.3.5" = {
+    "normalize-package-data-2.3.6" = {
       name = "normalize-package-data";
       packageName = "normalize-package-data";
-      version = "2.3.5";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz";
-        sha1 = "8d924f142960e1777e7ffe170543631cc7cb02df";
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.6.tgz";
+        sha1 = "498fa420c96401f787402ba21e600def9f981fff";
       };
     };
     "object-assign-4.1.1" = {
@@ -1507,13 +1391,13 @@ let
         sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1";
       };
     };
-    "hosted-git-info-2.1.5" = {
+    "hosted-git-info-2.2.0" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "2.1.5";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz";
-        sha1 = "0ba81d90da2e25ab34a332e6ec77936e1598118b";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz";
+        sha1 = "7a0d097863d886c0fabbdcd37bf1758d8becf8a5";
       };
     };
     "is-builtin-module-1.0.0" = {
@@ -1678,13 +1562,13 @@ let
         sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
       };
     };
-    "error-ex-1.3.0" = {
+    "error-ex-1.3.1" = {
       name = "error-ex";
       packageName = "error-ex";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz";
-        sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9";
+        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz";
+        sha1 = "f855a86ce61adc4e8621c3cda21e7a7612c3a8dc";
       };
     };
     "is-arrayish-0.2.1" = {
@@ -1759,6 +1643,15 @@ let
         sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
       };
     };
+    "step-0.0.6" = {
+      name = "step";
+      packageName = "step";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/step/-/step-0.0.6.tgz";
+        sha1 = "143e7849a5d7d3f4a088fe29af94915216eeede2";
+      };
+    };
     "addressparser-0.3.2" = {
       name = "addressparser";
       packageName = "addressparser";
@@ -1831,49 +1724,112 @@ let
         sha1 = "fe265a218ac6a57cfe854927e9d04c19825eddeb";
       };
     };
-    "connect-1.9.2" = {
-      name = "connect";
-      packageName = "connect";
-      version = "1.9.2";
+    "content-disposition-0.5.0" = {
+      name = "content-disposition";
+      packageName = "content-disposition";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
-        sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807";
+        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
+        sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
       };
     };
-    "mime-1.2.4" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.2.4";
+    "commander-2.6.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
-        sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
+        url = "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
+        sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
       };
     };
-    "qs-0.4.2" = {
-      name = "qs";
-      packageName = "qs";
-      version = "0.4.2";
+    "merge-descriptors-1.0.0" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
-        sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f";
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz";
+        sha1 = "2169cf7538e1b0cc87fb88e1502d8474bbf79864";
       };
     };
-    "mkdirp-0.3.0" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.3.0";
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
+    "proxy-addr-1.0.10" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz";
+        sha1 = "0d40a82f801fc355567d2ecb65efe3f077f121c5";
+      };
+    };
+    "range-parser-1.0.3" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz";
+        sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175";
+      };
+    };
+    "send-0.13.0" = {
+      name = "send";
+      packageName = "send";
+      version = "0.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.13.0.tgz";
+        sha1 = "518f921aeb0560aec7dcab2990b14cf6f3cce5de";
+      };
+    };
+    "forwarded-0.1.0" = {
+      name = "forwarded";
+      packageName = "forwarded";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+        sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+      };
+    };
+    "ipaddr.js-1.0.5" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz";
+        sha1 = "5fa78cf301b825c78abc3042d812723049ea23c7";
+      };
+    };
+    "destroy-1.0.3" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
-        sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
       };
     };
-    "formidable-1.0.17" = {
-      name = "formidable";
-      packageName = "formidable";
-      version = "1.0.17";
+    "mime-1.3.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+      };
+    };
+    "statuses-1.2.1" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
-        sha1 = "ef5491490f9433b705faa77249c99029ae348559";
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
+        sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
       };
     };
     "cookie-0.3.1" = {
@@ -1885,13 +1841,22 @@ let
         sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
       };
     };
-    "crc-3.4.1" = {
+    "crc-3.4.4" = {
       name = "crc";
       packageName = "crc";
-      version = "3.4.1";
+      version = "3.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz";
+        sha1 = "9da1e980e3bd44fc5c93bf5ab3da3378d85e466b";
+      };
+    };
+    "debug-2.6.1" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crc/-/crc-3.4.1.tgz";
-        sha1 = "65d5830b1a2569557cfb324c0e679998521473ee";
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz";
+        sha1 = "79855090ba2c4e3115cc7d8769491d58f0491351";
       };
     };
     "array-parallel-0.1.3" = {
@@ -1966,13 +1931,13 @@ let
         sha1 = "36f3e22e60750920f5e7241a476a8c6a42275ad0";
       };
     };
-    "connect-3.4.1" = {
+    "connect-3.6.0" = {
       name = "connect";
       packageName = "connect";
-      version = "3.4.1";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz";
-        sha1 = "a21361d3f4099ef761cda6dc4a973bb1ebb0a34d";
+        url = "https://registry.npmjs.org/connect/-/connect-3.6.0.tgz";
+        sha1 = "f09a4f7dcd17324b663b725c815bdb1c4158a46e";
       };
     };
     "dns-prefetch-control-0.1.0" = {
@@ -1993,22 +1958,22 @@ let
         sha1 = "5932890dc9f4e2f19e5eb02a20026e5e5efc8f58";
       };
     };
-    "frameguard-2.0.0" = {
+    "frameguard-3.0.0" = {
       name = "frameguard";
       packageName = "frameguard";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/frameguard/-/frameguard-2.0.0.tgz";
-        sha1 = "30c2c149e5e3505f9e156f9bc491a438420e487e";
+        url = "https://registry.npmjs.org/frameguard/-/frameguard-3.0.0.tgz";
+        sha1 = "7bcad469ee7b96e91d12ceb3959c78235a9272e9";
       };
     };
-    "helmet-csp-1.2.2" = {
+    "helmet-csp-2.3.0" = {
       name = "helmet-csp";
       packageName = "helmet-csp";
-      version = "1.2.2";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/helmet-csp/-/helmet-csp-1.2.2.tgz";
-        sha1 = "085c0307d57fc96cd97337f170ab8bfea99e5df7";
+        url = "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.3.0.tgz";
+        sha1 = "bc341939dfef5266cc817abcf53f079f61fe7e3f";
       };
     };
     "hide-powered-by-1.0.0" = {
@@ -2020,22 +1985,22 @@ let
         sha1 = "4a85ad65881f62857fc70af7174a1184dccce32b";
       };
     };
-    "hpkp-1.2.0" = {
+    "hpkp-2.0.0" = {
       name = "hpkp";
       packageName = "hpkp";
-      version = "1.2.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hpkp/-/hpkp-1.2.0.tgz";
-        sha1 = "83f2cb38b26cff21daf26e2ff4b57126921dec65";
+        url = "https://registry.npmjs.org/hpkp/-/hpkp-2.0.0.tgz";
+        sha1 = "10e142264e76215a5d30c44ec43de64dee6d1672";
       };
     };
-    "hsts-1.0.0" = {
+    "hsts-2.0.0" = {
       name = "hsts";
       packageName = "hsts";
-      version = "1.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hsts/-/hsts-1.0.0.tgz";
-        sha1 = "98e1039ef7aba554057b6b0e32584c0b1143a414";
+        url = "https://registry.npmjs.org/hsts/-/hsts-2.0.0.tgz";
+        sha1 = "a52234c6070decf214b2b6b70bb144d07e4776c7";
       };
     };
     "ienoopen-1.0.0" = {
@@ -2047,22 +2012,22 @@ let
         sha1 = "346a428f474aac8f50cf3784ea2d0f16f62bda6b";
       };
     };
-    "nocache-1.0.1" = {
+    "nocache-2.0.0" = {
       name = "nocache";
       packageName = "nocache";
-      version = "1.0.1";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nocache/-/nocache-1.0.1.tgz";
-        sha1 = "695c9f736926a7554f7365fa25e087941065bd36";
+        url = "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz";
+        sha1 = "202b48021a0c4cbde2df80de15a17443c8b43980";
       };
     };
-    "referrer-policy-1.0.0" = {
+    "referrer-policy-1.1.0" = {
       name = "referrer-policy";
       packageName = "referrer-policy";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.0.0.tgz";
-        sha1 = "f60eedc92f942b01a6118121ec932d66e8fd7e14";
+        url = "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.1.0.tgz";
+        sha1 = "35774eb735bf50fb6c078e83334b472350207d79";
       };
     };
     "x-xss-protection-1.0.0" = {
@@ -2074,13 +2039,22 @@ let
         sha1 = "898afb93869b24661cf9c52f9ee8db8ed0764dd9";
       };
     };
-    "finalhandler-0.4.1" = {
+    "finalhandler-1.0.0" = {
       name = "finalhandler";
       packageName = "finalhandler";
-      version = "0.4.1";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz";
-        sha1 = "85a17c6c59a94717d262d61230d4b0ebe3d4a14d";
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.0.tgz";
+        sha1 = "b5691c2c0912092f18ac23e9416bde5cd7dc6755";
+      };
+    };
+    "encodeurl-1.0.1" = {
+      name = "encodeurl";
+      packageName = "encodeurl";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz";
+        sha1 = "79e3d58655346909fe6f0f45a5de68103b294d20";
       };
     };
     "camelize-1.0.0" = {
@@ -2092,31 +2066,40 @@ let
         sha1 = "164a5483e630fa4321e5af07020e531831b2609b";
       };
     };
-    "content-security-policy-builder-1.0.0" = {
+    "content-security-policy-builder-1.1.0" = {
       name = "content-security-policy-builder";
       packageName = "content-security-policy-builder";
-      version = "1.0.0";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-1.1.0.tgz";
+        sha1 = "d91f1b076236c119850c7dee9924bf55e05772b3";
+      };
+    };
+    "dasherize-2.0.0" = {
+      name = "dasherize";
+      packageName = "dasherize";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-1.0.0.tgz";
-        sha1 = "11fd40c5cc298a6c725a35f9acf71e82ab5d3243";
+        url = "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz";
+        sha1 = "6d809c9cd0cf7bb8952d80fc84fa13d47ddb1308";
       };
     };
-    "lodash.reduce-4.5.0" = {
+    "lodash.reduce-4.6.0" = {
       name = "lodash.reduce";
       packageName = "lodash.reduce";
-      version = "4.5.0";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.5.0.tgz";
-        sha1 = "af7d2ec621062441e77d5bf408a1e071ef86691c";
+        url = "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz";
+        sha1 = "f1ab6b839299ad48f784abbf476596f03b914d3b";
       };
     };
-    "platform-1.3.1" = {
+    "platform-1.3.3" = {
       name = "platform";
       packageName = "platform";
-      version = "1.3.1";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/platform/-/platform-1.3.1.tgz";
-        sha1 = "492210892335bd3131c0a08dda2d93ec3543e423";
+        url = "https://registry.npmjs.org/platform/-/platform-1.3.3.tgz";
+        sha1 = "646c77011899870b6a0903e75e997e8e51da7461";
       };
     };
     "dashify-0.2.2" = {
@@ -2128,13 +2111,112 @@ let
         sha1 = "6a07415a01c91faf4a32e38d9dfba71f61cb20fe";
       };
     };
-    "abab-1.0.3" = {
-      name = "abab";
-      packageName = "abab";
-      version = "1.0.3";
+    "character-parser-1.2.1" = {
+      name = "character-parser";
+      packageName = "character-parser";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz";
-        sha1 = "b81de5f7274ec4e756d797cd834f303642724e5d";
+        url = "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz";
+        sha1 = "c0dde4ab182713b919b970959a123ecc1a30fcd6";
+      };
+    };
+    "clean-css-3.4.25" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "3.4.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-3.4.25.tgz";
+        sha1 = "9e9a52d5c1e6bc5123e1b2783fa65fe958946ede";
+      };
+    };
+    "constantinople-3.0.2" = {
+      name = "constantinople";
+      packageName = "constantinople";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz";
+        sha1 = "4b945d9937907bcd98ee575122c3817516544141";
+      };
+    };
+    "jstransformer-0.0.2" = {
+      name = "jstransformer";
+      packageName = "jstransformer";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz";
+        sha1 = "7aae29a903d196cfa0973d885d3e47947ecd76ab";
+      };
+    };
+    "transformers-2.1.0" = {
+      name = "transformers";
+      packageName = "transformers";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
+        sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
+      };
+    };
+    "uglify-js-2.8.9" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.8.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.9.tgz";
+        sha1 = "01194b91cc0795214093c05594ef5ac1e0b2e900";
+      };
+    };
+    "void-elements-2.0.1" = {
+      name = "void-elements";
+      packageName = "void-elements";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz";
+        sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
+      };
+    };
+    "with-4.0.3" = {
+      name = "with";
+      packageName = "with";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/with/-/with-4.0.3.tgz";
+        sha1 = "eefd154e9e79d2c8d3417b647a8f14d9fecce14e";
+      };
+    };
+    "commander-2.8.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
+        sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
+      };
+    };
+    "source-map-0.4.4" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+      };
+    };
+    "graceful-readlink-1.0.1" = {
+      name = "graceful-readlink";
+      packageName = "graceful-readlink";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    };
+    "amdefine-1.0.1" = {
+      name = "amdefine";
+      packageName = "amdefine";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
       };
     };
     "acorn-2.7.0" = {
@@ -2146,6 +2228,258 @@ let
         sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7";
       };
     };
+    "is-promise-2.1.0" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    };
+    "promise-6.1.0" = {
+      name = "promise";
+      packageName = "promise";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz";
+        sha1 = "2ce729f6b94b45c26891ad0602c5c90e04c6eef6";
+      };
+    };
+    "asap-1.0.0" = {
+      name = "asap";
+      packageName = "asap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
+        sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
+      };
+    };
+    "promise-2.0.0" = {
+      name = "promise";
+      packageName = "promise";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
+        sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
+      };
+    };
+    "css-1.0.8" = {
+      name = "css";
+      packageName = "css";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css/-/css-1.0.8.tgz";
+        sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
+      };
+    };
+    "uglify-js-2.2.5" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
+        sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
+      };
+    };
+    "is-promise-1.0.1" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
+        sha1 = "31573761c057e33c2e91aab9e96da08cefbe76e5";
+      };
+    };
+    "css-parse-1.0.4" = {
+      name = "css-parse";
+      packageName = "css-parse";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
+        sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
+      };
+    };
+    "css-stringify-1.0.5" = {
+      name = "css-stringify";
+      packageName = "css-stringify";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
+        sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
+      };
+    };
+    "source-map-0.1.43" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.1.43";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
+        sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+      };
+    };
+    "optimist-0.3.7" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+      };
+    };
+    "wordwrap-0.0.3" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    };
+    "source-map-0.5.6" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
+        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+      };
+    };
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "yargs-3.10.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    };
+    "camelcase-1.2.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    };
+    "cliui-2.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    };
+    "window-size-0.1.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    };
+    "center-align-0.1.3" = {
+      name = "center-align";
+      packageName = "center-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    };
+    "right-align-0.1.3" = {
+      name = "right-align";
+      packageName = "right-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    };
+    "wordwrap-0.0.2" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    };
+    "align-text-0.1.4" = {
+      name = "align-text";
+      packageName = "align-text";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    };
+    "lazy-cache-1.0.4" = {
+      name = "lazy-cache";
+      packageName = "lazy-cache";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    };
+    "kind-of-3.1.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz";
+        sha1 = "475d698a5e49ff5e53d14e3e732429dc8bf4cf47";
+      };
+    };
+    "longest-1.0.1" = {
+      name = "longest";
+      packageName = "longest";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    };
+    "repeat-string-1.6.1" = {
+      name = "repeat-string";
+      packageName = "repeat-string";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    };
+    "is-buffer-1.1.4" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";
+        sha1 = "cfc86ccd5dc5a52fa80489111c6920c457e2d98b";
+      };
+    };
+    "acorn-1.2.2" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz";
+        sha1 = "c8ce27de0acc76d896d2b1fad3df588d9e82f014";
+      };
+    };
     "acorn-globals-1.0.9" = {
       name = "acorn-globals";
       packageName = "acorn-globals";
@@ -2155,13 +2489,22 @@ let
         sha1 = "55bb5e98691507b74579d0513413217c380c54cf";
       };
     };
-    "cssom-0.3.1" = {
+    "abab-1.0.3" = {
+      name = "abab";
+      packageName = "abab";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz";
+        sha1 = "b81de5f7274ec4e756d797cd834f303642724e5d";
+      };
+    };
+    "cssom-0.3.2" = {
       name = "cssom";
       packageName = "cssom";
-      version = "0.3.1";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz";
-        sha1 = "c9e37ef2490e64f6d1baa10fda852257082c25d3";
+        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz";
+        sha1 = "b8036170c79f07a90ff2f16e22284027a243848b";
       };
     };
     "cssstyle-0.2.37" = {
@@ -2200,31 +2543,31 @@ let
         sha1 = "9b7f3b0de32be78dc2401b17573ccaf0f6f59d94";
       };
     };
-    "request-2.79.0" = {
+    "request-2.80.0" = {
       name = "request";
       packageName = "request";
-      version = "2.79.0";
+      version = "2.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.79.0.tgz";
-        sha1 = "4dfe5bf6be8b8cdc37fcf93e04b65577722710de";
+        url = "https://registry.npmjs.org/request/-/request-2.80.0.tgz";
+        sha1 = "8cc162d76d79381cdefdd3505d76b80b60589bd0";
       };
     };
-    "sax-1.2.1" = {
+    "sax-1.2.2" = {
       name = "sax";
       packageName = "sax";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
-        sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.2.tgz";
+        sha1 = "fd8631a23bc7826bef5d871bdb87378c95647828";
       };
     };
-    "symbol-tree-3.2.1" = {
+    "symbol-tree-3.2.2" = {
       name = "symbol-tree";
       packageName = "symbol-tree";
-      version = "3.2.1";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.1.tgz";
-        sha1 = "8549dd1d01fa9f893c18cc9ab0b106b4d9b168cb";
+        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz";
+        sha1 = "ae27db38f660a7ae2e1c3b7d1bc290819b8519e6";
       };
     };
     "tough-cookie-2.3.2" = {
@@ -2362,15 +2705,6 @@ let
         sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
       };
     };
-    "amdefine-1.0.1" = {
-      name = "amdefine";
-      packageName = "amdefine";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
-        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
-      };
-    };
     "aws-sign2-0.6.0" = {
       name = "aws-sign2";
       packageName = "aws-sign2";
@@ -2380,22 +2714,22 @@ let
         sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
       };
     };
-    "aws4-1.5.0" = {
+    "aws4-1.6.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.5.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz";
-        sha1 = "0a29ffb79c31c9e712eeb087e8e7a64b4a56d755";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
+        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
       };
     };
-    "caseless-0.11.0" = {
+    "caseless-0.12.0" = {
       name = "caseless";
       packageName = "caseless";
-      version = "0.11.0";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
-        sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     };
     "combined-stream-1.0.5" = {
@@ -2434,13 +2768,13 @@ let
         sha1 = "89c3534008b97eada4cbb157d58f6f5df025eae4";
       };
     };
-    "har-validator-2.0.6" = {
+    "har-validator-4.2.1" = {
       name = "har-validator";
       packageName = "har-validator";
-      version = "2.0.6";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz";
-        sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
+        sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
       };
     };
     "hawk-3.1.3" = {
@@ -2497,13 +2831,22 @@ let
         sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
       };
     };
-    "qs-6.3.0" = {
+    "performance-now-0.2.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
+        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+      };
+    };
+    "qs-6.3.2" = {
       name = "qs";
       packageName = "qs";
-      version = "6.3.0";
+      version = "6.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz";
-        sha1 = "f403b264f23bc01228c74131b407f18d5ea5d442";
+        url = "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz";
+        sha1 = "e75bd5f6e268122a2a0e0bda630b2550c166502c";
       };
     };
     "stringstream-0.0.5" = {
@@ -2524,15 +2867,6 @@ let
         sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
       };
     };
-    "uuid-3.0.1" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz";
-        sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1";
-      };
-    };
     "delayed-stream-1.0.0" = {
       name = "delayed-stream";
       packageName = "delayed-stream";
@@ -2551,139 +2885,49 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "chalk-1.1.3" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
-        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
-      };
-    };
-    "commander-2.9.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
-        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
-      };
-    };
-    "is-my-json-valid-2.15.0" = {
-      name = "is-my-json-valid";
-      packageName = "is-my-json-valid";
-      version = "2.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz";
-        sha1 = "936edda3ca3c211fd98f3b2d3e08da43f7b2915b";
-      };
-    };
-    "ansi-styles-2.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "2.2.1";
+    "ajv-4.11.4" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "4.11.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+        url = "https://registry.npmjs.org/ajv/-/ajv-4.11.4.tgz";
+        sha1 = "ebf3a55d4b132ea60ff5847ae85d2ef069960b45";
       };
     };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
+    "har-schema-1.0.5" = {
+      name = "har-schema";
+      packageName = "har-schema";
       version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
-      };
-    };
-    "has-ansi-2.0.0" = {
-      name = "has-ansi";
-      packageName = "has-ansi";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
-      };
-    };
-    "strip-ansi-3.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
-        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
-      };
-    };
-    "supports-color-2.0.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
-        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
+        sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
       };
     };
-    "ansi-regex-2.1.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "2.1.1";
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
-        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
       };
     };
-    "graceful-readlink-1.0.1" = {
-      name = "graceful-readlink";
-      packageName = "graceful-readlink";
+    "json-stable-stringify-1.0.1" = {
+      name = "json-stable-stringify";
+      packageName = "json-stable-stringify";
       version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
-      };
-    };
-    "generate-function-2.0.0" = {
-      name = "generate-function";
-      packageName = "generate-function";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
-        sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
-      };
-    };
-    "generate-object-property-1.2.0" = {
-      name = "generate-object-property";
-      packageName = "generate-object-property";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
-        sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
-      };
-    };
-    "jsonpointer-4.0.1" = {
-      name = "jsonpointer";
-      packageName = "jsonpointer";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz";
-        sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
-      };
-    };
-    "xtend-4.0.1" = {
-      name = "xtend";
-      packageName = "xtend";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
-        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
+        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
       };
     };
-    "is-property-1.0.2" = {
-      name = "is-property";
-      packageName = "is-property";
-      version = "1.0.2";
+    "jsonify-0.0.0" = {
+      name = "jsonify";
+      packageName = "jsonify";
+      version = "0.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
-        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
       };
     };
     "hoek-2.16.3" = {
@@ -2740,13 +2984,13 @@ let
         sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252";
       };
     };
-    "sshpk-1.10.2" = {
+    "sshpk-1.11.0" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.10.2";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz";
-        sha1 = "d5a804ce22695515638e798dbe23273de070a5fa";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.11.0.tgz";
+        sha1 = "2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77";
       };
     };
     "extsprintf-1.0.2" = {
@@ -2812,13 +3056,13 @@ let
         sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6";
       };
     };
-    "jsbn-0.1.0" = {
+    "jsbn-0.1.1" = {
       name = "jsbn";
       packageName = "jsbn";
-      version = "0.1.0";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz";
-        sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd";
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     };
     "tweetnacl-0.14.5" = {
@@ -2848,13 +3092,13 @@ let
         sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
       };
     };
-    "bcrypt-pbkdf-1.0.0" = {
+    "bcrypt-pbkdf-1.0.1" = {
       name = "bcrypt-pbkdf";
       packageName = "bcrypt-pbkdf";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz";
-        sha1 = "3ca76b85241c7170bf7d9703e7b9aa74630040d4";
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
       };
     };
     "punycode-1.4.1" = {
@@ -2875,6 +3119,24 @@ let
         sha1 = "8184fd347dac9cdc185992f3a6622e14b9d9ab6a";
       };
     };
+    "debug-2.3.3" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz";
+        sha1 = "40c453e67e6e13c901ddec317af8986cda9eff8c";
+      };
+    };
+    "vary-1.1.0" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz";
+        sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140";
+      };
+    };
     "minimist-0.0.8" = {
       name = "minimist";
       packageName = "minimist";
@@ -2884,15 +3146,6 @@ let
         sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     };
-    "wordwrap-0.0.3" = {
-      name = "wordwrap";
-      packageName = "wordwrap";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
-        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
-      };
-    };
     "minimist-0.0.10" = {
       name = "minimist";
       packageName = "minimist";
@@ -2938,6 +3191,15 @@ let
         sha1 = "1e0f4650c862dcbfed54fd42b148e9bb1721fcf2";
       };
     };
+    "xtend-4.0.1" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
+        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
+      };
+    };
     "domelementtype-1.3.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
@@ -2974,13 +3236,13 @@ let
         sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
       };
     };
-    "readable-stream-2.2.2" = {
+    "readable-stream-2.2.3" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "2.2.2";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz";
-        sha1 = "a9e6fec3c7dda85f8bb1b3ba7028604556fc825e";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz";
+        sha1 = "9cf49463985df016c8ae8813097a9293a9b33729";
       };
     };
     "dom-serializer-0.1.0" = {
@@ -3046,33 +3308,6 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
-    "mime-1.3.4" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
-      };
-    };
-    "range-parser-1.0.3" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz";
-        sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175";
-      };
-    };
-    "statuses-1.2.1" = {
-      name = "statuses";
-      packageName = "statuses";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
-        sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
-      };
-    };
     "yargs-6.6.0" = {
       name = "yargs";
       packageName = "yargs";
@@ -3181,6 +3416,15 @@ let
         sha1 = "29cceac0dc4f03c6c87b4a9f217dd18c9f74871c";
       };
     };
+    "strip-ansi-3.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    };
     "wrap-ansi-2.1.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -3190,6 +3434,15 @@ let
         sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
       };
     };
+    "ansi-regex-2.1.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    };
     "lcid-1.0.0" = {
       name = "lcid";
       packageName = "lcid";
@@ -3262,6 +3515,51 @@ let
         sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
       };
     };
+    "assert-1.4.1" = {
+      name = "assert";
+      packageName = "assert";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    };
+    "es6-shim-0.27.1" = {
+      name = "es6-shim";
+      packageName = "es6-shim";
+      version = "0.27.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-shim/-/es6-shim-0.27.1.tgz";
+        sha1 = "bd3f870663eac2ede8e8943e2a6d23c052d53fc6";
+      };
+    };
+    "minimum-tls-version-0.0.1" = {
+      name = "minimum-tls-version";
+      packageName = "minimum-tls-version";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimum-tls-version/-/minimum-tls-version-0.0.1.tgz";
+        sha1 = "42220187e52700e253218cfa8ad974920b73ea74";
+      };
+    };
+    "util-0.10.3" = {
+      name = "util";
+      packageName = "util";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    };
+    "inherits-2.0.1" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    };
     "underscore-1.6.0" = {
       name = "underscore";
       packageName = "underscore";
@@ -3280,13 +3578,31 @@ let
         sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c";
       };
     };
-    "mongodb-2.2.21" = {
+    "databank-1.0.1" = {
+      name = "databank";
+      packageName = "databank";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/databank/-/databank-1.0.1.tgz";
+        sha1 = "ef063df1f1aaceb8507ce70f7de6cb32980e874b";
+      };
+    };
+    "mongodb-2.2.24" = {
       name = "mongodb";
       packageName = "mongodb";
-      version = "2.2.21";
+      version = "2.2.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb/-/mongodb-2.2.21.tgz";
-        sha1 = "f7ee56489600e0ac8024c062c0857ac04ddb5f48";
+        url = "https://registry.npmjs.org/mongodb/-/mongodb-2.2.24.tgz";
+        sha1 = "80f40d6ec5bdec0ddecf0f9ce0144e794c46449a";
+      };
+    };
+    "setimmediate-1.0.5" = {
+      name = "setimmediate";
+      packageName = "setimmediate";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
       };
     };
     "es6-promise-3.2.1" = {
@@ -3298,13 +3614,13 @@ let
         sha1 = "ec56233868032909207170c39448e24449dd1fc4";
       };
     };
-    "mongodb-core-2.1.6" = {
+    "mongodb-core-2.1.8" = {
       name = "mongodb-core";
       packageName = "mongodb-core";
-      version = "2.1.6";
+      version = "2.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.6.tgz";
-        sha1 = "9d179e7487767c58993bb7c8d6685d035c346a42";
+        url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.8.tgz";
+        sha1 = "b33e0370d0a59d97b6cb1ec610527be9e95ca2c0";
       };
     };
     "readable-stream-2.1.5" = {
@@ -3361,78 +3677,6 @@ let
         sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
       };
     };
-    "memcached-0.2.8" = {
-      name = "memcached";
-      packageName = "memcached";
-      version = "0.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memcached/-/memcached-0.2.8.tgz";
-        sha1 = "ffbf9498cbc30779625b77e77770bd50dc525212";
-      };
-    };
-    "databank-0.18.2" = {
-      name = "databank";
-      packageName = "databank";
-      version = "0.18.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/databank/-/databank-0.18.2.tgz";
-        sha1 = "b1f85bafa329cdb415589c0ee819a04c989a03ed";
-      };
-    };
-    "underscore-1.4.4" = {
-      name = "underscore";
-      packageName = "underscore";
-      version = "1.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      };
-    };
-    "hashring-0.0.8" = {
-      name = "hashring";
-      packageName = "hashring";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hashring/-/hashring-0.0.8.tgz";
-        sha1 = "203ab13c364119f10106526d2eaf7bd42b484c31";
-      };
-    };
-    "jackpot-0.0.6" = {
-      name = "jackpot";
-      packageName = "jackpot";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jackpot/-/jackpot-0.0.6.tgz";
-        sha1 = "3cff064285cbf66f4eab2593c90bce816a821849";
-      };
-    };
-    "bisection-0.0.3" = {
-      name = "bisection";
-      packageName = "bisection";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bisection/-/bisection-0.0.3.tgz";
-        sha1 = "9891d506d86ec7d50910c5157bb592dbb03f33db";
-      };
-    };
-    "simple-lru-cache-0.0.2" = {
-      name = "simple-lru-cache";
-      packageName = "simple-lru-cache";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz";
-        sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd";
-      };
-    };
-    "retry-0.6.0" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-      };
-    };
     "lru-cache-2.3.1" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -3446,8 +3690,8 @@ let
   args = {
     name = "pump.io";
     packageName = "pump.io";
-    version = "1.0.0";
-    src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-1.0.0.tgz"; sha1 = "404mzdqzknrv7pl9qasksi791cc00bbd"; };
+    version = "3.0.0";
+    src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-3.0.0.tgz"; sha1 = "ycfm7ak83xi8mgafhp9q0n6n3kzmdz16"; };
     dependencies = [
       (sources."bcrypt-0.8.7" // {
         dependencies = [
@@ -3455,11 +3699,11 @@ let
           sources."nan-2.3.5"
         ];
       })
-      (sources."bunyan-1.8.5" // {
+      (sources."bunyan-1.8.8" // {
         dependencies = [
-          (sources."dtrace-provider-0.8.0" // {
+          (sources."dtrace-provider-0.8.1" // {
             dependencies = [
-              sources."nan-2.5.0"
+              sources."nan-2.5.1"
             ];
           })
           (sources."mv-2.1.1" // {
@@ -3497,10 +3741,11 @@ let
               })
             ];
           })
-          sources."safe-json-stringify-1.0.3"
+          sources."safe-json-stringify-1.0.4"
           sources."moment-2.17.1"
         ];
       })
+      sources."colors-1.1.2"
       (sources."connect-2.30.2" // {
         dependencies = [
           sources."basic-auth-connect-1.0.0"
@@ -3553,12 +3798,12 @@ let
           sources."content-type-1.0.2"
           (sources."csurf-1.8.3" // {
             dependencies = [
-              (sources."csrf-3.0.4" // {
+              (sources."csrf-3.0.5" // {
                 dependencies = [
                   sources."base64-url-1.3.3"
                   sources."rndm-1.2.0"
                   sources."tsscmp-1.0.5"
-                  (sources."uid-safe-2.1.3" // {
+                  (sources."uid-safe-2.1.4" // {
                     dependencies = [
                       sources."random-bytes-1.0.0"
                     ];
@@ -3616,17 +3861,6 @@ let
               sources."statuses-1.3.1"
             ];
           })
-          (sources."method-override-2.3.7" // {
-            dependencies = [
-              (sources."debug-2.3.3" // {
-                dependencies = [
-                  sources."ms-0.7.2"
-                ];
-              })
-              sources."methods-1.1.2"
-              sources."vary-1.1.0"
-            ];
-          })
           (sources."morgan-1.6.1" // {
             dependencies = [
               sources."basic-auth-1.0.4"
@@ -3700,51 +3934,52 @@ let
           sources."vhost-3.0.2"
         ];
       })
-      (sources."connect-auth-0.6.1" // {
+      (sources."connect-auth-git://github.com/e14n/connect-auth" // {
         dependencies = [
-          (sources."connect-2.7.11" // {
-            dependencies = [
-              sources."qs-0.6.5"
-              sources."formidable-1.0.14"
-              sources."cookie-signature-1.0.1"
-              sources."buffer-crc32-0.2.1"
-              sources."cookie-0.0.5"
-              (sources."send-0.1.1" // {
-                dependencies = [
-                  sources."mime-1.2.11"
-                  sources."range-parser-0.0.4"
-                ];
-              })
-              sources."bytes-0.2.0"
-              sources."fresh-0.1.0"
-              sources."pause-0.0.1"
-              (sources."debug-2.6.0" // {
-                dependencies = [
-                  sources."ms-0.7.2"
-                ];
-              })
-            ];
-          })
-          sources."oauth-0.9.10"
+          sources."oauth-0.9.7"
           sources."openid-0.4.1"
         ];
       })
       (sources."connect-databank-1.0.3" // {
         dependencies = [
           sources."async-1.5.2"
+          sources."node-uuid-1.4.7"
           sources."set-immediate-0.1.1"
         ];
       })
-      sources."crypto-cacerts-0.1.0"
-      (sources."databank-0.19.5" // {
+      (sources."connect-multiparty-2.0.0" // {
         dependencies = [
-          (sources."vows-0.7.0" // {
+          (sources."multiparty-4.1.3" // {
+            dependencies = [
+              (sources."fd-slicer-1.0.1" // {
+                dependencies = [
+                  sources."pend-1.2.0"
+                ];
+              })
+            ];
+          })
+          (sources."on-finished-2.3.0" // {
             dependencies = [
-              sources."eyes-0.1.8"
-              sources."diff-1.0.8"
+              sources."ee-first-1.1.1"
+            ];
+          })
+          sources."qs-4.0.0"
+          (sources."type-is-1.6.14" // {
+            dependencies = [
+              sources."media-typer-0.3.0"
+              (sources."mime-types-2.1.14" // {
+                dependencies = [
+                  sources."mime-db-1.26.0"
+                ];
+              })
             ];
           })
-          sources."setimmediate-1.0.5"
+        ];
+      })
+      sources."crypto-cacerts-0.1.0"
+      (sources."databank-0.19.8" // {
+        dependencies = [
+          sources."set-immediate-0.1.1"
         ];
       })
       (sources."dateformat-1.0.12" // {
@@ -3770,9 +4005,9 @@ let
               })
               sources."map-obj-1.0.1"
               sources."minimist-1.2.0"
-              (sources."normalize-package-data-2.3.5" // {
+              (sources."normalize-package-data-2.3.6" // {
                 dependencies = [
-                  sources."hosted-git-info-2.1.5"
+                  sources."hosted-git-info-2.2.0"
                   (sources."is-builtin-module-1.0.0" // {
                     dependencies = [
                       sources."builtin-modules-1.1.1"
@@ -3811,7 +4046,7 @@ let
                           sources."graceful-fs-4.1.11"
                           (sources."parse-json-2.2.0" // {
                             dependencies = [
-                              (sources."error-ex-1.3.0" // {
+                              (sources."error-ex-1.3.1" // {
                                 dependencies = [
                                   sources."is-arrayish-0.2.1"
                                 ];
@@ -3872,9 +4107,10 @@ let
       (sources."dialback-client-0.2.0" // {
         dependencies = [
           sources."underscore-1.5.2"
+          sources."step-0.0.6"
         ];
       })
-      sources."dompurify-0.8.4"
+      sources."dompurify-0.8.5"
       (sources."emailjs-1.0.8" // {
         dependencies = [
           sources."addressparser-0.3.2"
@@ -3893,34 +4129,70 @@ let
           sources."bufferjs-1.1.0"
         ];
       })
-      (sources."express-2.5.11" // {
+      (sources."express-3.21.2" // {
         dependencies = [
-          (sources."connect-1.9.2" // {
+          sources."basic-auth-1.0.4"
+          sources."content-disposition-0.5.0"
+          sources."content-type-1.0.2"
+          sources."commander-2.6.0"
+          sources."cookie-0.1.3"
+          sources."cookie-signature-1.0.6"
+          (sources."debug-2.2.0" // {
+            dependencies = [
+              sources."ms-0.7.1"
+            ];
+          })
+          sources."depd-1.0.1"
+          sources."escape-html-1.0.2"
+          sources."etag-1.7.0"
+          sources."fresh-0.3.0"
+          sources."merge-descriptors-1.0.0"
+          sources."methods-1.1.2"
+          sources."parseurl-1.3.1"
+          (sources."proxy-addr-1.0.10" // {
+            dependencies = [
+              sources."forwarded-0.1.0"
+              sources."ipaddr.js-1.0.5"
+            ];
+          })
+          sources."range-parser-1.0.3"
+          (sources."send-0.13.0" // {
             dependencies = [
-              sources."formidable-1.0.17"
+              sources."destroy-1.0.3"
+              (sources."http-errors-1.3.1" // {
+                dependencies = [
+                  sources."inherits-2.0.3"
+                ];
+              })
+              sources."mime-1.3.4"
+              sources."ms-0.7.1"
+              (sources."on-finished-2.3.0" // {
+                dependencies = [
+                  sources."ee-first-1.1.1"
+                ];
+              })
+              sources."statuses-1.2.1"
             ];
           })
-          sources."mime-1.2.4"
-          sources."qs-0.4.2"
-          sources."mkdirp-0.3.0"
+          sources."utils-merge-1.0.0"
+          sources."vary-1.0.1"
         ];
       })
-      (sources."express-session-1.14.2" // {
+      (sources."express-session-1.15.1" // {
         dependencies = [
           sources."cookie-0.3.1"
           sources."cookie-signature-1.0.6"
-          sources."crc-3.4.1"
-          (sources."debug-2.2.0" // {
+          sources."crc-3.4.4"
+          (sources."debug-2.6.1" // {
             dependencies = [
-              sources."ms-0.7.1"
+              sources."ms-0.7.2"
             ];
           })
           sources."depd-1.1.0"
           sources."on-headers-1.0.1"
           sources."parseurl-1.3.1"
-          (sources."uid-safe-2.1.3" // {
+          (sources."uid-safe-2.1.4" // {
             dependencies = [
-              sources."base64-url-1.3.3"
               sources."random-bytes-1.0.0"
             ];
           })
@@ -3953,23 +4225,25 @@ let
           })
         ];
       })
-      (sources."helmet-2.3.0" // {
+      (sources."helmet-3.4.1" // {
         dependencies = [
-          (sources."connect-3.4.1" // {
+          (sources."connect-3.6.0" // {
             dependencies = [
-              (sources."debug-2.2.0" // {
+              (sources."debug-2.6.1" // {
                 dependencies = [
-                  sources."ms-0.7.1"
+                  sources."ms-0.7.2"
                 ];
               })
-              (sources."finalhandler-0.4.1" // {
+              (sources."finalhandler-1.0.0" // {
                 dependencies = [
+                  sources."encodeurl-1.0.1"
                   sources."escape-html-1.0.3"
                   (sources."on-finished-2.3.0" // {
                     dependencies = [
                       sources."ee-first-1.1.1"
                     ];
                   })
+                  sources."statuses-1.3.1"
                   sources."unpipe-1.0.0"
                 ];
               })
@@ -3979,34 +4253,155 @@ let
           })
           sources."dns-prefetch-control-0.1.0"
           sources."dont-sniff-mimetype-1.0.0"
-          sources."frameguard-2.0.0"
-          (sources."helmet-csp-1.2.2" // {
+          sources."frameguard-3.0.0"
+          (sources."helmet-csp-2.3.0" // {
             dependencies = [
               sources."camelize-1.0.0"
-              (sources."content-security-policy-builder-1.0.0" // {
+              (sources."content-security-policy-builder-1.1.0" // {
                 dependencies = [
                   sources."dashify-0.2.2"
                 ];
               })
-              sources."lodash.reduce-4.5.0"
-              sources."platform-1.3.1"
+              sources."dasherize-2.0.0"
+              sources."lodash.reduce-4.6.0"
+              sources."platform-1.3.3"
             ];
           })
           sources."hide-powered-by-1.0.0"
-          sources."hpkp-1.2.0"
-          (sources."hsts-1.0.0" // {
+          sources."hpkp-2.0.0"
+          (sources."hsts-2.0.0" // {
             dependencies = [
               sources."core-util-is-1.0.2"
             ];
           })
           sources."ienoopen-1.0.0"
-          (sources."nocache-1.0.1" // {
+          sources."nocache-2.0.0"
+          sources."referrer-policy-1.1.0"
+          sources."x-xss-protection-1.0.0"
+        ];
+      })
+      (sources."jade-1.11.0" // {
+        dependencies = [
+          sources."character-parser-1.2.1"
+          (sources."clean-css-3.4.25" // {
             dependencies = [
-              sources."depd-1.1.0"
+              (sources."commander-2.8.1" // {
+                dependencies = [
+                  sources."graceful-readlink-1.0.1"
+                ];
+              })
+              (sources."source-map-0.4.4" // {
+                dependencies = [
+                  sources."amdefine-1.0.1"
+                ];
+              })
+            ];
+          })
+          sources."commander-2.6.0"
+          (sources."constantinople-3.0.2" // {
+            dependencies = [
+              sources."acorn-2.7.0"
+            ];
+          })
+          (sources."jstransformer-0.0.2" // {
+            dependencies = [
+              sources."is-promise-2.1.0"
+              (sources."promise-6.1.0" // {
+                dependencies = [
+                  sources."asap-1.0.0"
+                ];
+              })
+            ];
+          })
+          (sources."transformers-2.1.0" // {
+            dependencies = [
+              (sources."promise-2.0.0" // {
+                dependencies = [
+                  sources."is-promise-1.0.1"
+                ];
+              })
+              (sources."css-1.0.8" // {
+                dependencies = [
+                  sources."css-parse-1.0.4"
+                  sources."css-stringify-1.0.5"
+                ];
+              })
+              (sources."uglify-js-2.2.5" // {
+                dependencies = [
+                  (sources."source-map-0.1.43" // {
+                    dependencies = [
+                      sources."amdefine-1.0.1"
+                    ];
+                  })
+                  (sources."optimist-0.3.7" // {
+                    dependencies = [
+                      sources."wordwrap-0.0.3"
+                    ];
+                  })
+                ];
+              })
+            ];
+          })
+          (sources."uglify-js-2.8.9" // {
+            dependencies = [
+              sources."source-map-0.5.6"
+              sources."uglify-to-browserify-1.0.2"
+              (sources."yargs-3.10.0" // {
+                dependencies = [
+                  sources."camelcase-1.2.1"
+                  (sources."cliui-2.1.0" // {
+                    dependencies = [
+                      (sources."center-align-0.1.3" // {
+                        dependencies = [
+                          (sources."align-text-0.1.4" // {
+                            dependencies = [
+                              (sources."kind-of-3.1.0" // {
+                                dependencies = [
+                                  sources."is-buffer-1.1.4"
+                                ];
+                              })
+                              sources."longest-1.0.1"
+                              sources."repeat-string-1.6.1"
+                            ];
+                          })
+                          sources."lazy-cache-1.0.4"
+                        ];
+                      })
+                      (sources."right-align-0.1.3" // {
+                        dependencies = [
+                          (sources."align-text-0.1.4" // {
+                            dependencies = [
+                              (sources."kind-of-3.1.0" // {
+                                dependencies = [
+                                  sources."is-buffer-1.1.4"
+                                ];
+                              })
+                              sources."longest-1.0.1"
+                              sources."repeat-string-1.6.1"
+                            ];
+                          })
+                        ];
+                      })
+                      sources."wordwrap-0.0.2"
+                    ];
+                  })
+                  sources."decamelize-1.2.0"
+                  sources."window-size-0.1.0"
+                ];
+              })
+            ];
+          })
+          sources."void-elements-2.0.1"
+          (sources."with-4.0.3" // {
+            dependencies = [
+              sources."acorn-1.2.2"
+              (sources."acorn-globals-1.0.9" // {
+                dependencies = [
+                  sources."acorn-2.7.0"
+                ];
+              })
             ];
           })
-          sources."referrer-policy-1.0.0"
-          sources."x-xss-protection-1.0.0"
         ];
       })
       sources."jankyqueue-0.1.1"
@@ -4015,7 +4410,7 @@ let
           sources."abab-1.0.3"
           sources."acorn-2.7.0"
           sources."acorn-globals-1.0.9"
-          sources."cssom-0.3.1"
+          sources."cssom-0.3.2"
           sources."cssstyle-0.2.37"
           (sources."escodegen-1.8.1" // {
             dependencies = [
@@ -4041,11 +4436,11 @@ let
           })
           sources."nwmatcher-1.3.9"
           sources."parse5-1.5.1"
-          (sources."request-2.79.0" // {
+          (sources."request-2.80.0" // {
             dependencies = [
               sources."aws-sign2-0.6.0"
-              sources."aws4-1.5.0"
-              sources."caseless-0.11.0"
+              sources."aws4-1.6.0"
+              sources."caseless-0.12.0"
               (sources."combined-stream-1.0.5" // {
                 dependencies = [
                   sources."delayed-stream-1.0.0"
@@ -4058,47 +4453,19 @@ let
                   sources."asynckit-0.4.0"
                 ];
               })
-              (sources."har-validator-2.0.6" // {
+              (sources."har-validator-4.2.1" // {
                 dependencies = [
-                  (sources."chalk-1.1.3" // {
-                    dependencies = [
-                      sources."ansi-styles-2.2.1"
-                      sources."escape-string-regexp-1.0.5"
-                      (sources."has-ansi-2.0.0" // {
-                        dependencies = [
-                          sources."ansi-regex-2.1.1"
-                        ];
-                      })
-                      (sources."strip-ansi-3.0.1" // {
-                        dependencies = [
-                          sources."ansi-regex-2.1.1"
-                        ];
-                      })
-                      sources."supports-color-2.0.0"
-                    ];
-                  })
-                  (sources."commander-2.9.0" // {
+                  (sources."ajv-4.11.4" // {
                     dependencies = [
-                      sources."graceful-readlink-1.0.1"
-                    ];
-                  })
-                  (sources."is-my-json-valid-2.15.0" // {
-                    dependencies = [
-                      sources."generate-function-2.0.0"
-                      (sources."generate-object-property-1.2.0" // {
+                      sources."co-4.6.0"
+                      (sources."json-stable-stringify-1.0.1" // {
                         dependencies = [
-                          sources."is-property-1.0.2"
+                          sources."jsonify-0.0.0"
                         ];
                       })
-                      sources."jsonpointer-4.0.1"
-                      sources."xtend-4.0.1"
-                    ];
-                  })
-                  (sources."pinkie-promise-2.0.1" // {
-                    dependencies = [
-                      sources."pinkie-2.0.4"
                     ];
                   })
+                  sources."har-schema-1.0.5"
                 ];
               })
               (sources."hawk-3.1.3" // {
@@ -4119,17 +4486,17 @@ let
                       sources."verror-1.3.6"
                     ];
                   })
-                  (sources."sshpk-1.10.2" // {
+                  (sources."sshpk-1.11.0" // {
                     dependencies = [
                       sources."asn1-0.2.3"
                       sources."assert-plus-1.0.0"
                       sources."dashdash-1.14.1"
                       sources."getpass-0.1.6"
-                      sources."jsbn-0.1.0"
+                      sources."jsbn-0.1.1"
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -4143,14 +4510,14 @@ let
                 ];
               })
               sources."oauth-sign-0.8.2"
-              sources."qs-6.3.0"
+              sources."performance-now-0.2.0"
+              sources."qs-6.3.2"
               sources."stringstream-0.0.5"
               sources."tunnel-agent-0.4.3"
-              sources."uuid-3.0.1"
             ];
           })
-          sources."sax-1.2.1"
-          sources."symbol-tree-3.2.1"
+          sources."sax-1.2.2"
+          sources."symbol-tree-3.2.2"
           (sources."tough-cookie-2.3.2" // {
             dependencies = [
               sources."punycode-1.4.1"
@@ -4165,20 +4532,32 @@ let
           sources."xml-name-validator-2.0.1"
         ];
       })
+      (sources."method-override-2.3.7" // {
+        dependencies = [
+          (sources."debug-2.3.3" // {
+            dependencies = [
+              sources."ms-0.7.2"
+            ];
+          })
+          sources."methods-1.1.2"
+          sources."parseurl-1.3.1"
+          sources."vary-1.1.0"
+        ];
+      })
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
-      sources."node-uuid-1.4.7"
       sources."oauth-evanp-0.9.10-evanp.2"
+      sources."octal-1.0.0"
       (sources."optimist-0.6.1" // {
         dependencies = [
           sources."wordwrap-0.0.3"
           sources."minimist-0.0.10"
         ];
       })
-      (sources."rimraf-2.5.4" // {
+      (sources."rimraf-2.6.1" // {
         dependencies = [
           (sources."glob-7.1.1" // {
             dependencies = [
@@ -4226,7 +4605,7 @@ let
               })
               sources."entities-1.1.1"
               sources."inherits-2.0.3"
-              (sources."readable-stream-2.2.2" // {
+              (sources."readable-stream-2.2.3" // {
                 dependencies = [
                   sources."buffer-shims-1.0.0"
                   sources."core-util-is-1.0.2"
@@ -4267,7 +4646,7 @@ let
           sources."statuses-1.2.1"
         ];
       })
-      (sources."showdown-1.6.0" // {
+      (sources."showdown-1.6.4" // {
         dependencies = [
           (sources."yargs-6.6.0" // {
             dependencies = [
@@ -4312,7 +4691,7 @@ let
                           sources."graceful-fs-4.1.11"
                           (sources."parse-json-2.2.0" // {
                             dependencies = [
-                              (sources."error-ex-1.3.0" // {
+                              (sources."error-ex-1.3.1" // {
                                 dependencies = [
                                   sources."is-arrayish-0.2.1"
                                 ];
@@ -4332,9 +4711,9 @@ let
                           })
                         ];
                       })
-                      (sources."normalize-package-data-2.3.5" // {
+                      (sources."normalize-package-data-2.3.6" // {
                         dependencies = [
-                          sources."hosted-git-info-2.1.5"
+                          sources."hosted-git-info-2.2.0"
                           (sources."is-builtin-module-1.0.0" // {
                             dependencies = [
                               sources."builtin-modules-1.1.1"
@@ -4407,7 +4786,22 @@ let
           sources."uuid-2.0.3"
         ];
       })
-      sources."step-0.0.6"
+      (sources."ssl-config-0.0.9" // {
+        dependencies = [
+          (sources."assert-1.4.1" // {
+            dependencies = [
+              (sources."util-0.10.3" // {
+                dependencies = [
+                  sources."inherits-2.0.1"
+                ];
+              })
+            ];
+          })
+          sources."es6-shim-0.27.1"
+          sources."minimum-tls-version-0.0.1"
+        ];
+      })
+      sources."step-1.0.0"
       sources."ua-parser-js-0.7.12"
       sources."underscore-1.8.3"
       (sources."underscore-contrib-0.3.0" // {
@@ -4415,28 +4809,34 @@ let
           sources."underscore-1.6.0"
         ];
       })
-      sources."utml-0.2.0"
+      sources."uuid-3.0.1"
       sources."validator-4.4.0"
       (sources."webfinger-0.4.2" // {
         dependencies = [
+          sources."step-0.0.6"
           (sources."xml2js-0.1.14" // {
             dependencies = [
-              sources."sax-1.2.1"
+              sources."sax-1.2.2"
             ];
           })
         ];
       })
-      (sources."databank-mongodb-0.19.0" // {
+      (sources."databank-mongodb-1.0.0" // {
         dependencies = [
-          (sources."debug-2.6.0" // {
+          (sources."databank-1.0.1" // {
+            dependencies = [
+              sources."setimmediate-1.0.5"
+            ];
+          })
+          (sources."debug-2.6.1" // {
             dependencies = [
               sources."ms-0.7.2"
             ];
           })
-          (sources."mongodb-2.2.21" // {
+          (sources."mongodb-2.2.24" // {
             dependencies = [
               sources."es6-promise-3.2.1"
-              (sources."mongodb-core-2.1.6" // {
+              (sources."mongodb-core-2.1.8" // {
                 dependencies = [
                   sources."bson-1.0.4"
                   (sources."require_optional-1.0.0" // {
@@ -4469,37 +4869,6 @@ let
           sources."underscore-1.6.0"
         ];
       })
-      (sources."databank-memcached-0.15.0" // {
-        dependencies = [
-          (sources."memcached-0.2.8" // {
-            dependencies = [
-              (sources."hashring-0.0.8" // {
-                dependencies = [
-                  sources."bisection-0.0.3"
-                  sources."simple-lru-cache-0.0.2"
-                ];
-              })
-              (sources."jackpot-0.0.6" // {
-                dependencies = [
-                  sources."retry-0.6.0"
-                ];
-              })
-            ];
-          })
-          (sources."databank-0.18.2" // {
-            dependencies = [
-              (sources."vows-0.7.0" // {
-                dependencies = [
-                  sources."eyes-0.1.8"
-                  sources."diff-1.0.8"
-                ];
-              })
-              sources."set-immediate-0.1.1"
-            ];
-          })
-          sources."underscore-1.4.4"
-        ];
-      })
       (sources."databank-lrucache-0.1.2" // {
         dependencies = [
           sources."underscore-1.5.2"
diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix
new file mode 100644
index 000000000000..2d247148aee6
--- /dev/null
+++ b/pkgs/servers/web-apps/wordpress/default.nix
@@ -0,0 +1,12 @@
+  # Upgrading? We have a test! nix-build ./nixos/tests/wordpress.nix
+{ fetchFromGitHub, lib } : fetchFromGitHub {
+  owner = "WordPress";
+  repo = "WordPress";
+  rev = "4.7.3";
+  sha256 = "05gggm40065abylp6bdc0zn0q6ahcggyh4q6rk0ak242q8v5fm5b";
+  meta = {
+    homepage = https://wordpress.org;
+    description = "WordPress is open source software you can use to create a beautiful website, blog, or app.";
+    license = lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix
index 7dbb18324972..988b4f711cb3 100644
--- a/pkgs/shells/bash/4.4.nix
+++ b/pkgs/shells/bash/4.4.nix
@@ -52,18 +52,11 @@ stdenv.mkDerivation rec {
   patchFlags = "-p0";
 
   patches = upstreamPatches
-      ++ [ (fetchurl {
-              # https://security.gentoo.org/glsa/201701-02
-              url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-shells"
-                  + "/bash/files/bash-4.4-popd-offset-overflow.patch"
-                  + "?id=1bf1ceeb04a2f57e1e5e1636a8c288c4d0db6682";
-              sha256 = "02n08lw5spvsc2b1bll0gr6mg4qxcg7pzfjkw7ji5w7bjcikccbm";
-          }) ]
       ++ optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch;
 
   crossAttrs = {
     configureFlags = baseConfigureFlags +
-      " bash_cv_job_control_missing=nomissing bash_cv_sys_named_pipes=nomissing" +
+      " bash_cv_job_control_missing=nomissing bash_cv_sys_named_pipes=nomissing bash_cv_getcwd_malloc=yes" +
       optionalString stdenv.isCygwin ''
         --without-libintl-prefix --without-libiconv-prefix
         --with-installed-readline
diff --git a/pkgs/shells/bash/bash-4.4-patches.nix b/pkgs/shells/bash/bash-4.4-patches.nix
index c3ef5470aebf..741fb675d614 100644
--- a/pkgs/shells/bash/bash-4.4-patches.nix
+++ b/pkgs/shells/bash/bash-4.4-patches.nix
@@ -6,4 +6,11 @@ patch: [
 (patch "003" "1chqww2rj6g42b8s60q5zlzy0jzp684jkpsbrbfy1vzxja8mmpsi")
 (patch "004" "1cy8abf96hkrjhw921ndr0shlcnc52bg45rn6xri4v5clhq0l25d")
 (patch "005" "0a8515kyk4zsgmvlqvlganjfr7pq0j6kzpr4d6xx02kpbdr4n7i2")
+(patch "006" "1f24wgqngmj2mrj9yibwvc2zvlmn5xi53mnw777g3l40c4m2x3ka")
+(patch "007" "1bzdsnqaf05gdbqpsixhan8vygjxpcxlz1dd8d9f5jdznw3wq76y")
+(patch "008" "1firw915mjm03hbbw9a70ch3cpgrgnvqjpllgdnn6csr8q04f546")
+(patch "009" "0g1l56kvw61rpw7dqa9fcl9llkl693h73g631hrhxlm030ddssqb")
+(patch "010" "01lfhrkdsdkdz8ypzapr614ras23x7ckjnr60aa5bzkaqprccrc4")
+(patch "011" "038p7mhnq9m65g505hi3827jkf9f35nd1cy00w8mwafpyxp44mnx")
+(patch "012" "0gh6lbb1rwpk44pvbamm6vzdfi50xnwkqd9v7s8cjwk3pz973hps")
 ]
diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix
index 21e409b727b7..25dec429ff08 100644
--- a/pkgs/shells/oh-my-zsh/default.nix
+++ b/pkgs/shells/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2017-02-20";
+  version = "2017-02-27";
   name = "oh-my-zsh-${version}";
 
   src = fetchgit {
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    rev = "98d8d3429f8b9fc2c4c109fb199a31c8d1735699";
-    sha256 = "1zdjb5dsbr8n7jfmib4a6rhcx9wrp5lw4b8b9xrh164s97hza2d0";
+    rev = "b908feebcfb0ca8a9a80360d177e716c24c317d6";
+    sha256 = "0b7gir2llv5212nwh9arzva2p714s39qzgk385s9pmalhspfc6c1";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/stdenv/linux/bootstrap-files/aarch64.nix b/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
index 4e9c17da2d97..ca7e84502ab3 100644
--- a/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
+++ b/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
@@ -1,11 +1,11 @@
 {
   busybox = import <nix/fetchurl.nix> {
-    url = http://nixos-arm.dezgeg.me/bootstrap-aarch64-2017-01-27-264d42b9c/busybox;
+    url = http://nixos-arm.dezgeg.me/bootstrap-aarch64-2017-03-11-bb3ef8/busybox;
     sha256 = "12qcml1l67skpjhfjwy7gr10nc86gqcwjmz9ggp7knss8gq8pv7f";
     executable = true;
   };
   bootstrapTools = import <nix/fetchurl.nix> {
-    url = http://nixos-arm.dezgeg.me/bootstrap-aarch64-2017-01-27-264d42b9c/bootstrap-tools.tar.xz;
-    sha256 = "13h7lgkjyxrmfkx5k1w6rj3j4iqrk28pqagiwqcg8izrydy318bi";
+    url = http://nixos-arm.dezgeg.me/bootstrap-aarch64-2017-03-11-bb3ef8/bootstrap-tools.tar.xz;
+    sha256 = "1075d5n4yclbhgisi6ba50601mw3fhivlkjs462qlnq8hh0xc7nq";
   };
 }
diff --git a/pkgs/tools/X11/wayv/default.nix b/pkgs/tools/X11/wayv/default.nix
new file mode 100644
index 000000000000..bb4435d56e7e
--- /dev/null
+++ b/pkgs/tools/X11/wayv/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchFromGitHub, libX11}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "wayv";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "mikemb";
+    repo = pname;
+    rev = "b716877603250f690f08b593bf30fd5e8a93a872";
+    sha256 = "046dvaq6na1fyxz5nrjg13aaz6ific9wbygck0dknqqfmmjrsv3b";
+  };
+
+  buildInputs = [ libX11 ];
+
+  postInstall = ''
+    make -C doc install
+    mkdir -p "$out"/share/doc/wayv
+    cp [A-Z][A-Z]* "$out"/share/doc/wayv
+    cp doc/[A-Z][A-Z]* "$out"/share/doc/wayv
+    cp doc/*.txt "$out"/share/doc/wayv
+    cp doc/*.jpg "$out"/share/doc/wayv
+  '';
+
+  meta = {
+    inherit version;
+    description = "A gesture control for X11";
+    license = stdenv.lib.licenses.gpl2Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/mikemb/wayV";
+  };
+}
diff --git a/pkgs/tools/X11/xannotate/default.nix b/pkgs/tools/X11/xannotate/default.nix
new file mode 100644
index 000000000000..829d9b8ab2d3
--- /dev/null
+++ b/pkgs/tools/X11/xannotate/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchFromBitbucket, libX11}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "xannotate";
+  version = "20150301";
+  
+  src = fetchFromBitbucket {
+    owner = "blais";
+    repo = pname;
+    rev = "e5591c2ec67ca39988f1fb2966e94f0f623f9aa7";
+    sha256 = "02jy19if0rnbxvs6b0l5mi9ifvdj2qmv0pv278v9kfs0kvir68ik";
+  };
+
+  buildInputs = [ libX11 ];
+
+  meta = {
+    inherit version;
+    description = "A tool to scribble over X windows";
+    license = stdenv.lib.licenses.gpl2Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://bitbucket.org/blais/xannotate";
+  };
+}
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index 4e035ab67acb..baf9e4f4e394 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -5,7 +5,7 @@
 
 assert par2Support -> par2cmdline != null;
 
-let version = "0.28.1"; in
+let version = "0.29"; in
 
 with stdenv.lib;
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     repo = "bup";
     owner = "bup";
     rev = version;
-    sha256 = "1hsxzrjvqa3pd74vmz8agiiwynrzynp1i726h0fzdsakc4adya4l";
+    sha256 = "1cc9kpq9bpln89m4ni6wqzh4c8zwxmgnhaibdxxfs5pk2mpl3ds5";
   };
 
   buildInputs = [ git python2Packages.python ];
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
new file mode 100644
index 000000000000..b816aac99a1d
--- /dev/null
+++ b/pkgs/tools/backup/restic/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "restic-${version}";
+  version = "0.5.0";
+
+  goPackagePath = "github.com/restic/restic";
+
+  src = fetchFromGitHub {
+    owner = "restic";
+    repo = "restic";
+    rev = "v${version}";
+    sha256 = "0dj6zg4b00pwgs6nj7w5s0jxm6cfavd9kdcq0z4spypwdf211cgl";
+  };
+
+  buildPhase = ''
+    cd go/src/${goPackagePath}
+    go run build.go
+  '';
+
+  installPhase = ''
+    mkdir -p $bin/bin/
+    cp restic $bin/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://restic.github.io;
+    description = "A backup program that is fast, efficient and secure";
+    platforms = platforms.linux;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/tools/backup/s3ql/default.nix b/pkgs/tools/backup/s3ql/default.nix
index 9b2adc1d39f9..a90738d39a4c 100644
--- a/pkgs/tools/backup/s3ql/default.nix
+++ b/pkgs/tools/backup/s3ql/default.nix
@@ -1,17 +1,29 @@
-{ stdenv, fetchurl, python3Packages, sqlite  }:
+{ stdenv, fetchurl, python3Packages, sqlite, which }:
 
 python3Packages.buildPythonApplication rec {
   name = "${pname}-${version}";
   pname = "s3ql";
-  version = "2.17.1";
+  version = "2.21";
 
   src = fetchurl {
     url = "https://bitbucket.org/nikratio/${pname}/downloads/${name}.tar.bz2";
-    sha256 = "049vpvvkyia7v4v97rg2l01n43shrdxc1ik38bmjb2q4fvsh1pgx";
+    sha256 = "1mifmxbsxc2rcrydk2vs5cjfd5r0510q5y7rmavlzi8grpcqdf3d";
   };
 
-  propagatedBuildInputs = with python3Packages;
-    [ sqlite apsw pycrypto requests2 defusedxml dugong llfuse ];
+  buildInputs = [ which ]; # tests will fail without which
+  propagatedBuildInputs = with python3Packages; [
+    sqlite apsw pycrypto requests2 defusedxml dugong llfuse
+    cython pytest pytest-catchlog
+  ];
+
+  preBuild = ''
+    # https://bitbucket.org/nikratio/s3ql/issues/118/no-module-named-s3qldeltadump-running#comment-16951851
+    ${python3Packages.python.interpreter} ./setup.py build_cython build_ext --inplace
+  '';
+
+  checkPhase = ''
+    pytest tests
+  '';
 
   meta = with stdenv.lib; {
     description = "A full-featured file system for online data storage";
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index ecc6bec3005d..74ea097d2f30 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -139,6 +139,7 @@ EOF
     homepage = http://refind.sourceforge.net/;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = [ "i686-linux" "x86_64-linux" ];
+    broken = true;
   };
 
 }
diff --git a/pkgs/tools/compression/bsc/default.nix b/pkgs/tools/compression/bsc/default.nix
new file mode 100644
index 000000000000..be512e2ae689
--- /dev/null
+++ b/pkgs/tools/compression/bsc/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl } :
+
+stdenv.mkDerivation rec {
+  name = "bsc-${version}";
+  version = "3.1.0";
+
+  src = fetchurl {
+    url = "https://github.com/IlyaGrebnov/libbsc/archive/${version}.tar.gz";
+    sha256 = "01yhizaf6qjv1plyrx0fcib264maa5qwvgfvvid9rzlzj9fxjib6";
+  };
+
+  enableParallelBuilding = true;
+
+  preInstall = ''
+    makeFlagsArray+=("PREFIX=$out")
+  '';
+
+  meta = with stdenv.lib; {
+    description = "High performance block-sorting data compression library";
+    homepage = http://libbsc.com/;
+    # Later commits changed the licence to Apache2 (no release yet, though)
+    license = with licenses; [ lgpl3Plus ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/compression/lzham/default.nix b/pkgs/tools/compression/lzham/default.nix
new file mode 100644
index 000000000000..cdc155474a78
--- /dev/null
+++ b/pkgs/tools/compression/lzham/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake } :
+
+stdenv.mkDerivation rec {
+  name = "lzham-1.0";
+
+  src = fetchFromGitHub {
+    owner = "richgel999";
+    repo = "lzham_codec";
+    rev = "v1_0_release";
+    sha256 = "14c1zvzmp1ylp4pgayfdfk1kqjb23xj4f7ll1ra7b18wjxc9ja1v";
+  };
+
+  buildInputs = [ cmake ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ../bin_linux/lzhamtest $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Lossless data compression codec with LZMA-like ratios but 1.5x-8x faster decompression speed";
+    homepage = https://github.com/richgel999/lzham_codec;
+    license = with licenses; [ mit ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/compression/zstdmt/default.nix b/pkgs/tools/compression/zstdmt/default.nix
new file mode 100644
index 000000000000..14dd4f21b2dc
--- /dev/null
+++ b/pkgs/tools/compression/zstdmt/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, zstd, lz4 }:
+
+stdenv.mkDerivation rec {
+  name = "zstdmt-${version}";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    sha256 = "17i44kjc612sbs7diim9ih007zp7z9zs3q3yacd6dzlqya5vsp0w";
+    rev = "v${version}";
+    repo = "zstdmt";
+    owner = "mcmilk";
+  };
+
+  sourceRoot = "zstdmt-v${version}-src/unix";
+
+  buildInputs = [
+    zstd lz4
+  ];
+
+  buildPhase = ''
+    make zstdmt lz4mt
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    mv zstdmt lz4mt $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Multithreading Library for LZ4, LZ5 and ZStandard";
+    homepage = https://github.com/mcmilk/zstdmt;
+    license = with licenses; [ bsd2 ];
+
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/crudini/default.nix b/pkgs/tools/misc/crudini/default.nix
new file mode 100644
index 000000000000..856138f046ae
--- /dev/null
+++ b/pkgs/tools/misc/crudini/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, python2Packages }:
+
+python2Packages.buildPythonApplication rec {
+  name = "crudini-${version}";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner  = "pixelb";
+    repo   = "crudini";
+    rev    = version;
+    sha256 = "0x9z9lsygripj88gadag398pc9zky23m16wmh8vbgw7ld1nhkiav";
+  };
+
+  propagatedBuildInputs = with python2Packages; [ iniparse ];
+
+  checkPhase = ''
+    patchShebangs .
+    pushd tests >/dev/null
+    ./test.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A utility for manipulating ini files ";
+    homepage = http://www.pixelbeat.org/programs/crudini/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/tools/misc/entr/default.nix b/pkgs/tools/misc/entr/default.nix
index 8ba92990b536..a68e2be6aebe 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.6";
+  version = "3.7";
 
   src = fetchurl {
     url = "http://entrproject.org/code/${name}.tar.gz";
-    sha256 = "1sy81np6kgmq04kfn2ckf4fp7jcf5d1963shgmapx3al3kc4c9x4";
+    sha256 = "0bx2ivx9hwixjwmk7aqlx20mwmn3cvryppnmc285d7byiw6dbvwl";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index b1e9990ea7d4..68e4210ad418 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -1,21 +1,26 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "file-5.28";
-
-  buildInputs = [ zlib ];
+  name = "file-${version}";
+  version = "5.30";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.astron.com/pub/file/${name}.tar.gz"
-      "http://distfiles.macports.org/file/${name}.tar.gz"
+      "https://distfiles.macports.org/file/${name}.tar.gz"
     ];
-    sha256 = "04p0w9ggqq6cqvwhyni0flji1z0rwrz896hmhkxd2mc6dca5xjqf";
+    sha256 = "694c2432e5240187524c9e7cf1ec6acc77b47a0e19554d34c14773e43dbbf214";
   };
 
-  meta = {
+  buildInputs = [ zlib ];
+
+  doCheck = true;
+
+
+  meta = with stdenv.lib; {
     homepage = "http://darwinsys.com/file";
     description = "A program that shows the type of files";
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.bsd2;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/hostsblock/default.nix b/pkgs/tools/misc/hostsblock/default.nix
new file mode 100644
index 000000000000..b6b2bc9a25cb
--- /dev/null
+++ b/pkgs/tools/misc/hostsblock/default.nix
@@ -0,0 +1,73 @@
+{ lib, coreutils, curl, fetchFromGitHub, unzip, p7zip, gnused, gnugrep, stdenv
+, blacklist ? [ "adwords.google.com" ]
+, whitelist ? [
+  ".dropbox.com"
+  " www.malwaredomainlists.com"
+  " www.arcamax.com"
+  " www.instructables.com"
+  " goo.gl"
+  " www.reddit.com"
+  " t.co"
+  " bit.ly"
+  " www.viddler.com"
+  " viddler.com"
+  " tinyurl.com"
+  " ompldr.org"
+  " www.ompldr.org"
+  "login.yahoo.com"
+  " l.yimg.com"
+  ".bp.blogspot.com"
+] }:
+
+stdenv.mkDerivation rec {
+  name = "hostsblock-${version}";
+  version = "20161213";
+
+  src = fetchFromGitHub {
+    owner = "gaenserich";
+    repo = "hostsblock";
+    rev = "91cacbdfbfb5e7ae9ba3babf8de41e135270c310";
+    sha256 = "1w91fbgf8v2nn0a6m8l6kd455km2j1lvpvqil4yxhrg018aigax0";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -Dm744 src/hostsblock.sh $out/bin/hostsblock
+    install -Dm744 src/hostsblock-urlcheck.sh $out/bin/hostsblock-urlcheck
+
+    mkdir -p $out/lib
+    install -Dm644 src/hostsblock-common.sh $out/lib/
+
+    mkdir -p $out/etc
+    install -Dm644 conf/hostsblock.conf $out/etc/
+    ${lib.concatMapStrings (d: "echo ${d} >> $out/etc/black.list\n") blacklist}
+    ${lib.concatMapStrings (d: "echo ${d} >> $out/etc/white.list\n") whitelist}
+    install -Dm644 conf/hosts.head $out/etc/
+
+    for f in $out/bin/* $out/lib/* $out/etc/hostsblock.conf; do
+      substituteInPlace $f --replace "/dev/shm" "/tmp"
+      substituteInPlace $f --replace "/usr/lib/" "$out/lib/"
+      substituteInPlace $f --replace "/etc/hostsblock/" "$out/etc/"
+      sed --in-place --regexp-extended "s|([\` ])curl |\1${curl}/bin/curl |g" $f
+      substituteInPlace $f --replace grep ${gnugrep}/bin/grep
+      substituteInPlace $f --replace " sed " " ${gnused}/bin/sed "
+      sed --in-place --regexp-extended "s|([^_])unzip |\1${unzip}/bin/unzip |" $f
+      sed --in-place --regexp-extended "s|7za([^,])|${p7zip}/bin/7za\1|g" $f
+    done
+
+    echo "postprocess(){ ${coreutils}/bin/true; }" >> $out/etc/hostsblock.conf
+
+    mkdir -p $out/share/dbus-1/system-services
+    install -Dm644 systemd/hostsblock.service $out/share/dbus-1/system-services
+    install -Dm644 systemd/hostsblock.timer $out/share/dbus-1/system-services
+  '';
+
+  meta = with lib; {
+    description = "An ad- and malware-blocking script for Linux";
+    website = http://gaenserich.github.io/hostsblock/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.nicknovitski ];
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/tools/misc/idutils/default.nix b/pkgs/tools/misc/idutils/default.nix
index 503beefa15af..99f19889201a 100644
--- a/pkgs/tools/misc/idutils/default.nix
+++ b/pkgs/tools/misc/idutils/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional stdenv.isLinux emacs;
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
 
   patches = [ ./nix-mapping.patch ];
 
diff --git a/pkgs/tools/misc/latex2html/default.nix b/pkgs/tools/misc/latex2html/default.nix
new file mode 100644
index 000000000000..596a72ee5ac1
--- /dev/null
+++ b/pkgs/tools/misc/latex2html/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, makeWrapper
+, ghostscript, netpbm, perl }:
+# TODO: withTex
+
+# Ported from Homebrew.
+# https://github.com/Homebrew/homebrew-core/blob/21834573f690407d34b0bbf4250b82ec38dda4d6/Formula/latex2html.rb
+
+stdenv.mkDerivation rec {
+  name = "latex2html-${version}";
+  version = "2016";
+
+  src = fetchurl {
+    url = "http://mirrors.ctan.org/support/latex2html/latex2html-${version}.tar.gz";
+    sha256 = "028k0ypbq94mlhydf1sbqlphlfl2fhmlzhgqq5jjzihfmccbq7db";
+  };
+
+  buildInputs = [ ghostscript netpbm perl ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  configurePhase = ''
+    ./configure \
+      --prefix="$out" \
+      --without-mktexlsr \
+      --with-texpath=$out/share/texmf/tex/latex/html
+  '';
+
+  postInstall = ''
+    for p in $out/bin/{latex2html,pstoimg}; do \
+      wrapProgram $p --add-flags '--tmp="''${TMPDIR:-/tmp}"'
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "LaTeX-to-HTML translator";
+    longDescription = ''
+      A Perl program that translates LaTeX into HTML (HyperText Markup
+      Language), optionally creating separate HTML files corresponding to each
+      unit (e.g., section) of the document. LaTeX2HTML proceeds by interpreting
+      LaTeX (to the best of its abilities). It contains definitions from a wide
+      variety of classes and packages, and users may add further definitions by
+      writing Perl scripts that provide information about class/package
+      commands.
+    '';
+
+    homepage = "https://www.ctan.org/pkg/latex2html";
+
+    license = licenses.gpl2;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ yurrriq ];
+  };
+}
diff --git a/pkgs/tools/misc/nixbot/default.nix b/pkgs/tools/misc/nixbot/default.nix
index 6fb0b9c8201b..554aa0bccee2 100644
--- a/pkgs/tools/misc/nixbot/default.nix
+++ b/pkgs/tools/misc/nixbot/default.nix
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    desciption = "Github bot for reviewing/testing pull requests with the help of Hydra";
+    description = "Github bot for reviewing/testing pull requests with the help of Hydra";
     maintainers = with maintainers; [ domenkozar fpletz globin ];
     license = licenses.asl20;
     homepage = https://github.com/domenkozar/nixbot;
diff --git a/pkgs/tools/misc/phraseapp-client/default.nix b/pkgs/tools/misc/phraseapp-client/default.nix
new file mode 100644
index 000000000000..1823c2cfad6b
--- /dev/null
+++ b/pkgs/tools/misc/phraseapp-client/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "phraseapp-client-${version}";
+  version = "1.4.3";
+
+  goPackagePath = "github.com/phrase/phraseapp-client";
+  subPackages = [ "." ];
+
+  src = fetchFromGitHub {
+    owner = "phrase";
+    repo = "phraseapp-client";
+    rev = version;
+    sha256 = "1nfab7y75vl0vg9vy8gc46h7wikk94nky1n415im1xbpsnqg77wz";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://docs.phraseapp.com;
+    description = "PhraseApp API v2 Command Line Client";
+    platforms = platforms.all;
+    license = licenses.mit;
+    maintainers = with maintainers; [ manveru ];
+  };
+}
diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix
index 70b36222cca9..b16806139b45 100644
--- a/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -1,34 +1,37 @@
-{ stdenv, fetchurl, skalibs }:
+{ stdenv, fetchFromGitHub, skalibs, gcc }:
 
-let
-
-  version = "2.0.5.3";
-
-in stdenv.mkDerivation rec {
+with stdenv.lib;
 
+stdenv.mkDerivation rec {
   name = "s6-portable-utils-${version}";
+  version = "2.1.0.0";
 
-  src = fetchurl {
-    url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz";
-    sha256 = "029fg9c37vwh9yagd69h8r192nrx4mfva8dwgpm1gxkdssrh3gi7";
+  src = fetchFromGitHub {
+    owner = "skarnet";
+    repo = "s6-portable-utils";
+    rev = "v${version}";
+    sha256 = "0k5pcwc45jw5l8ycz03wx2w4pds0wp4ll47d3i5i1j02i9v0rhc9";
   };
 
   dontDisableStatic = true;
 
+  nativeBuildInputs = []
+  ++ optional stdenv.isDarwin gcc;
+
   configureFlags = [
     "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
     "--with-include=${skalibs}/include"
     "--with-lib=${skalibs}/lib"
     "--with-dynlib=${skalibs}/lib"
-  ]
-  ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}");
+  ];
+
 
   meta = {
     homepage = http://www.skarnet.org/software/s6-portable-utils/;
     description = "A set of tiny general Unix utilities optimized for simplicity and small size";
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ pmahoney ];
+    platforms = platforms.all;
+    license = licenses.isc;
+    maintainers = with maintainers; [ pmahoney ];
   };
 
 }
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index dbd042ec8858..aa92e66d98fb 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -14,11 +14,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2017.03.07";
+  version = "2017.03.10";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "19acz9m3gazd1ims4l9a9ni1p7jw8z4y0ncqn99xlx9kna8ryjnv";
+    sha256 = "0ccrwhgycz17xmsdsd0rsv7khhp1z7dnwp7fkxx7dxbivjf0h0a4";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
new file mode 100644
index 000000000000..820f193e5e25
--- /dev/null
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -0,0 +1,42 @@
+{ pythonPackages, fetchurl, lib,
+  yubikey-personalization, libu2f-host, libusb1 }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "yubikey-manager-0.3.1";
+
+  srcs = fetchurl {
+    url = "https://developers.yubico.com/yubikey-manager/Releases/${name}.tar.gz";
+    sha256 = "0vrhaqb8yc1qjq25k9dv8gmqxhbf6aa047i6dvz1lcraq6zwnq6g";
+  };
+
+  propagatedBuildInputs =
+    with pythonPackages;
+    lib.optional (!pythonPackages.pythonAtLeast "3.4") enum34 ++ [
+      click
+      cryptography
+      pyscard
+      pyusb
+      six
+    ] ++ [
+      libu2f-host
+      libusb1
+      yubikey-personalization
+    ];
+
+  makeWrapperArgs = [
+    "--prefix LD_LIBRARY_PATH : ${libu2f-host}/lib:${libusb1}/lib:${yubikey-personalization}/lib"
+  ];
+
+  postInstall = ''
+    mkdir -p $out/etc/bash_completion.d
+    _YKMAN_COMPLETE=source $out/bin/ykman > $out/etc/bash_completion.d/ykman.sh ||true
+  '';
+
+  meta = with lib; {
+    homepage = https://developers.yubico.com/yubikey-manager;
+    description = "Command line tool for configuring any YubiKey over all USB transports.";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ benley ];
+  };
+}
diff --git a/pkgs/tools/misc/yubikey-personalization/default.nix b/pkgs/tools/misc/yubikey-personalization/default.nix
index 71c9a113298f..36dd8339f26e 100644
--- a/pkgs/tools/misc/yubikey-personalization/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     description = "A library and command line tool to personalize YubiKeys";
     license = licenses.bsd2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ wkennington ];
+    maintainers = with maintainers; [ wkennington calrama ];
   };
 }
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index bb9316512ecd..f8d1506cca34 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     sha256 = "1s1hyndva0yp62xy96pcp4anzrvw6cl0abjajim17sbmdp00fwhw";
   };
 
-  patches = [ ];
+  patches = [ ./nix-ssl-cert-file.patch ];
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
 
diff --git a/pkgs/tools/networking/curl/nix-ssl-cert-file.patch b/pkgs/tools/networking/curl/nix-ssl-cert-file.patch
new file mode 100644
index 000000000000..20c408bfae23
--- /dev/null
+++ b/pkgs/tools/networking/curl/nix-ssl-cert-file.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' curl-7.50.3-orig/src/tool_operate.c curl-7.50.3/src/tool_operate.c
+--- curl-7.50.3-orig/src/tool_operate.c	2016-09-06 23:25:06.000000000 +0200
++++ curl-7.50.3/src/tool_operate.c	2016-10-14 11:51:48.999943142 +0200
+@@ -269,7 +269,9 @@
+         capath_from_env = true;
+       }
+       else {
+-        env = curlx_getenv("SSL_CERT_FILE");
++        env = curlx_getenv("NIX_SSL_CERT_FILE");
++        if(!env)
++          env = curlx_getenv("SSL_CERT_FILE");
+         if(env) {
+           config->cacert = strdup(env);
+           if(!config->cacert) {
diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix
index 0e12c50d1546..ddef8a70012d 100644
--- a/pkgs/tools/networking/dd-agent/default.nix
+++ b/pkgs/tools/networking/dd-agent/default.nix
@@ -1,15 +1,40 @@
-{ stdenv, fetchFromGitHub, python, pythonPackages, sysstat, unzip, tornado
-, makeWrapper }:
+{ stdenv, fetchFromGitHub, pythonPackages
+, sysstat, unzip, makeWrapper }:
+let
+  inherit (pythonPackages) python;
+  docker_1_10 = pythonPackages.buildPythonPackage rec {
+    name = "docker-${version}";
+    version = "1.10.6";
 
-stdenv.mkDerivation rec {
-  version = "5.5.2";
+    src = fetchFromGitHub {
+      owner = "docker";
+      repo = "docker-py";
+      rev = version;
+      sha256 = "1awzpbrkh4fympqzddz5i3ml81b7f0i0nwkvbpmyxjjfqx6l0m4m";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [
+      six
+      requests2
+      websocket_client
+      ipaddress
+      backports_ssl_match_hostname
+      docker_pycreds
+    ];
+
+    # due to flake8
+    doCheck = false;
+  };
+
+in stdenv.mkDerivation rec {
+  version = "5.11.2";
   name = "dd-agent-${version}";
 
   src = fetchFromGitHub {
     owner  = "datadog";
     repo   = "dd-agent";
     rev    = version;
-    sha256 = "0ga7h3rdg6q2pi4dxxkird5nf6s6hc13mj1xd9awwpli48gyvxn7";
+    sha256 = "1iqxvgpsqibqw3vk79158l2pnb6y4pjhjp2d6724lm5rpz4825lx";
   };
 
   buildInputs = [
@@ -23,9 +48,11 @@ stdenv.mkDerivation rec {
     pythonPackages.simplejson
     pythonPackages.pyyaml
     pythonPackages.pymongo
-    pythonPackages.docker
+    pythonPackages.python-etcd
+    pythonPackages.consul
+    docker_1_10
   ];
-  propagatedBuildInputs = [ python tornado ];
+  propagatedBuildInputs = with pythonPackages; [ python tornado ];
 
   buildCommand = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/networking/dnscrypt-proxy/default.nix b/pkgs/tools/networking/dnscrypt-proxy/default.nix
index 24aa3d4b829b..03d217440957 100644
--- a/pkgs/tools/networking/dnscrypt-proxy/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libsodium, systemd }:
+{ stdenv, fetchurl, pkgconfig, libsodium, ldns, openssl, systemd }:
 
 with stdenv.lib;
 
@@ -15,7 +15,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ libsodium ] ++ optional stdenv.isLinux systemd;
+  # <ldns/ldns.h> depends on <openssl/ssl.h>
+  buildInputs = [ libsodium openssl.dev ldns ] ++ optional stdenv.isLinux systemd;
 
   postInstall = ''
     # Previous versions required libtool files to load plugins; they are
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 14bde9a5fa5b..4b1717e09025 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -39,6 +39,11 @@ stdenv.mkDerivation rec {
   # module can create it in Nix-land?
   postInstall = ''
     install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf
+  '' + optionalString stdenv.isDarwin ''
+    install -Dm644 contrib/MacOSX-launchd/uk.org.thekelleys.dnsmasq.plist \
+      $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist
+    substituteInPlace $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist \
+      --replace "/usr/local/sbin" "$out/bin"
   '' + optionalString stdenv.isLinux ''
     install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf
     install -Dm755 contrib/lease-tools/dhcp_lease_time $out/bin/dhcp_lease_time
diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix
index f846a711aa4a..ea78cdd106ac 100644
--- a/pkgs/tools/networking/gupnp-tools/default.nix
+++ b/pkgs/tools/networking/gupnp-tools/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
   name = "gupnp-tools-${version}";
   majorVersion = "0.8";
-  version = "${majorVersion}.8";
+  version = "${majorVersion}.13";
   src = fetchurl {
     url = "mirror://gnome/sources/gupnp-tools/${majorVersion}/gupnp-tools-${version}.tar.xz";
-    sha256 = "160dgh9pmlb85qfavwqz46lqawpshs8514bx2b57f9rbiny8kbij";
+    sha256 = "1vbr4iqi7nl7kq982agd3liw10gx67s95idd0pjy5h1jsnwyqgda";
   };
 
   buildInputs = [gupnp libuuid gssdp pkgconfig gtk3 intltool gupnp_av
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 1b917019662a..3b7a68fb972f 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "haproxy";
   majorVersion = "1.7";
-  minorVersion = "2";
+  minorVersion = "3";
   version = "${majorVersion}.${minorVersion}";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.haproxy.org/download/${majorVersion}/src/${name}.tar.gz";
-    sha256 = "0bsb5q3s1k5gqybv5p8zyvl6zh8iyidv3jb3wfmgwqad5bsl0nzr";
+    sha256 = "ebb31550a5261091034f1b6ac7f4a8b9d79a8ce2a3ddcd7be5b5eb355c35ba65";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index c96e5cac367c..666bb4942a9f 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ncurses, autoconf
+{stdenv, fetchurl, autoreconfHook, pkgconfig, ncurses
 , withGtk ? false, gtk2 ? null}:
 
 assert withGtk -> gtk2 != null;
@@ -6,24 +6,27 @@ assert withGtk -> gtk2 != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   baseName="mtr";
-  version="0.86";
+  version="0.87";
   name="${baseName}-${version}";
-  
+
   src = fetchurl {
     url="ftp://ftp.bitwizard.nl/${baseName}/${name}.tar.gz";
-    sha256 = "01lcy89q3i9g4kz4liy6m7kcq1zyvmbc63rqidgw67341f94inf5";
+    sha256 = "17zi99n8bdqrwrnbfyjn327jz4gxx287wrq3vk459c933p34ff8r";
   };
 
   configureFlags = optionalString (!withGtk) "--without-gtk";
 
-  buildInputs = [ autoconf ncurses ] ++ optional withGtk gtk2;
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ ncurses ] ++ optional withGtk gtk2;
+
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://www.bitwizard.nl/mtr/;
     description = "A network diagnostics tool";
-    maintainers = [ maintainers.koral maintainers.raskin ];
+    maintainers = with maintainers; [ koral orivej raskin ];
     platforms = platforms.unix;
     license = licenses.gpl2;
   };
 }
-
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index a212e4f053d3..cca111db67d5 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gnome3.gtk libglade networkmanager libnotify libsecret gsettings_desktop_schemas
     polkit isocodes makeWrapper udev libgudev gnome3.gconf gnome3.libgnome_keyring
-    modemmanager jansson librsvg
+    modemmanager jansson librsvg glib_networking gnome3.dconf
   ];
 
   nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
diff --git a/pkgs/tools/networking/olsrd/default.nix b/pkgs/tools/networking/olsrd/default.nix
index 90f686f77ea6..8fa30a5c2211 100644
--- a/pkgs/tools/networking/olsrd/default.nix
+++ b/pkgs/tools/networking/olsrd/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "olsrd-0.6.6.1";
+  name = "olsrd-${version}";
+  version = "0.9.6.1";
 
   src = fetchurl {
-    url = "http://www.olsr.org/releases/0.6/${name}.tar.bz2";
-    sha256 = "1fphbh9x724r83gxxrd13zv487s4svnr9jdy76h4f36xxb15pnp8";
+    url = "http://www.olsr.org/releases/0.9/${name}.tar.bz2";
+    sha256 = "9cac290e9bff5fc7422110b9ccd972853f10962c962d2f31a63de9c6d1520612";
   };
 
   buildInputs = [ bison flex ];
diff --git a/pkgs/tools/networking/p2p/amule/default.nix b/pkgs/tools/networking/p2p/amule/default.nix
index d091af624463..c278cc989357 100644
--- a/pkgs/tools/networking/p2p/amule/default.nix
+++ b/pkgs/tools/networking/p2p/amule/default.nix
@@ -13,11 +13,11 @@ let
   edf = enabled: flag: if enabled then "--enable-" + flag else "--disable-" + flag;
 in
 mkDerivation rec {
-  name = "aMule-2.3.1";
+  name = "aMule-2.3.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/amule/${name}.tar.xz";
-    sha256 = "0hvpx3c005nvxsfand5bwfxxiq3mv0mpykajfm2lkygjh1rw2383";
+    sha256 = "0a1rd33hjl30qyzgb5y8m7dxs38asci3kjnlvims1ky6r3yj0izn";
   };
 
   buildInputs =
@@ -25,7 +25,7 @@ mkDerivation rec {
     ++ lib.optional httpServer libpng
     ++ lib.optional client libX11;
 
-  patches = [ ./gcc47.patch ]; # from Gentoo
+  enableParallelBuilding = true;
 
   configureFlags = ''
     --with-crypto-prefix=${cryptopp}
diff --git a/pkgs/tools/networking/packetdrill/default.nix b/pkgs/tools/networking/packetdrill/default.nix
new file mode 100644
index 000000000000..75007b5ed681
--- /dev/null
+++ b/pkgs/tools/networking/packetdrill/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, bison, flex }:
+stdenv.mkDerivation rec {
+  version = "1.0";
+  name = "packetdrill-${version}";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "packetdrill";
+    rev = "58a7865c47e3a71e92ca0e4cc478c320e1c35f82";
+    sha256 = "09sqiakmn63idfjhy2ddf1456sfhi8yhsbp8lxvc1yfjikjxwwbc";
+  };
+  setSourceRoot = ''
+    export sourceRoot=$(realpath */gtests/net/packetdrill)
+  '';
+  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
+  nativeBuildInputs = [ bison flex ];
+  patches = [ ./nix.patch ];
+  enableParallelBuilding = true;
+  meta = {
+    description = "Quick, precise tests for entire TCP/UDP/IPv4/IPv6 network stacks";
+    homepage = https://github.com/google/packetdrill;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ dmjio cleverca22 ];
+  };
+}
diff --git a/pkgs/tools/networking/packetdrill/nix.patch b/pkgs/tools/networking/packetdrill/nix.patch
new file mode 100644
index 000000000000..6bad14421b98
--- /dev/null
+++ b/pkgs/tools/networking/packetdrill/nix.patch
@@ -0,0 +1,24 @@
+diff --git a/gtests/net/packetdrill/Makefile.common b/gtests/net/packetdrill/Makefile.common
+index 0ec741f..bf1cbb1 100644
+--- a/Makefile.common
++++ b/Makefile.common
+@@ -33,7 +33,7 @@ packetdrill-lib := \
+ packetdrill-objs := packetdrill.o $(packetdrill-lib)
+ 
+ packetdrill: $(packetdrill-objs)
+-	$(CC) -o packetdrill -g -static $(packetdrill-objs) $(packetdrill-ext-libs)
++	$(CC) -o packetdrill -g $(packetdrill-objs) $(packetdrill-ext-libs)
+ 
+ test-bins := checksum_test packet_parser_test packet_to_string_test
+ tests: $(test-bins)
+@@ -43,6 +43,10 @@ tests: $(test-bins)
+ 
+ binaries: packetdrill $(test-bins)
+ 
++install: packetdrill $(test-bins)
++	mkdir -p ${out}/bin
++	cp -vi $^ ${out}/bin
++
+ checksum_test-objs := $(packetdrill-lib) checksum_test.o
+ checksum_test: $(checksum_test-objs)
+ 	$(CC) -o checksum_test $(checksum_test-objs) $(packetdrill-ext-libs)
diff --git a/pkgs/tools/networking/pdnsd/default.nix b/pkgs/tools/networking/pdnsd/default.nix
index b1e7e92e815c..10c004ecd94f 100644
--- a/pkgs/tools/networking/pdnsd/default.nix
+++ b/pkgs/tools/networking/pdnsd/default.nix
@@ -14,11 +14,14 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-ipv6" ];
 
-  meta = { 
+  # fix ipv6 on darwin
+  CPPFLAGS = "-D__APPLE_USE_RFC_3542";
+
+  meta = with stdenv.lib; {
     description = "Permanent DNS caching";
-    homepage = http://www.phys.uu.nl/~rombouts/pdnsd.html;
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    homepage = http://members.home.nl/p.a.rombouts/pdnsd;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [viric];
   };
 }
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index f024c637c341..1a260f910e20 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -12,7 +12,14 @@ stdenv.mkDerivation rec {
     sha256 = "1ljcfhbkdsd0zjfm520rbl1ai62fc34i7c45sfj244l8f6b0p58c";
   };
 
-  patches = [ ./remove-runtime-dep-on-openssl-headers.patch ];
+  patches = [
+    ./remove-runtime-dep-on-openssl-headers.patch
+    (fetchurl {
+      name = "CVE-2017-6508";
+      url = "http://git.savannah.gnu.org/cgit/wget.git/patch/?id=4d729e322fae359a1aefaafec1144764a54e8ad4";
+      sha256 = "14r0c5y3w3gavxp2d9yq8xji82izi5sx0sjv6jpmk6zp6cnr7cjf";
+    })
+  ];
 
   preConfigure = ''
     patchShebangs doc
diff --git a/pkgs/tools/package-management/createrepo_c/default.nix b/pkgs/tools/package-management/createrepo_c/default.nix
index ed46b2d302aa..c2fd1293b791 100644
--- a/pkgs/tools/package-management/createrepo_c/default.nix
+++ b/pkgs/tools/package-management/createrepo_c/default.nix
@@ -11,18 +11,21 @@ stdenv.mkDerivation rec {
     sha256 = "1sqzdkj9vigkvxsjlih1i0gylv53na2yic5if9w1s2sgxhqqz5zv";
   };
 
-  # FIXME: ugh, there has to be a better way to do this...
-  prePatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace 'execute_process(COMMAND ''${PKG_CONFIG_EXECUTABLE} --variable=completionsdir bash-completion OUTPUT_VARIABLE BASHCOMP_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)' \
-                "set (BASHCOMP_DIR "$out/share/bash-completion/completions")"
+  patches = [
+    ./fix-bash-completion-path.patch
+    ./fix-python-install-path.patch
+  ];
 
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace '@BASHCOMP_DIR@' "$out/share/bash-completion/completions"
     substituteInPlace src/python/CMakeLists.txt \
-      --replace 'EXECUTE_PROCESS(COMMAND ''${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python2_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)' \
-                "set (PYTHON_INSTALL_DIR "$out/${python2.sitePackages}")"
+      --replace "@PYTHON_INSTALL_PATH@" "$out/${python2.sitePackages}"
   '';
 
-  buildInputs = [ cmake pkgconfig bzip2 expat glib curl libxml2 python2 rpm openssl sqlite file xz pcre bash-completion ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ bzip2 expat glib curl libxml2 python2 rpm openssl sqlite file xz pcre bash-completion ];
 
   meta = with stdenv.lib; {
     description = "C implementation of createrepo";
diff --git a/pkgs/tools/package-management/createrepo_c/fix-bash-completion-path.patch b/pkgs/tools/package-management/createrepo_c/fix-bash-completion-path.patch
new file mode 100644
index 000000000000..e184cc8facc0
--- /dev/null
+++ b/pkgs/tools/package-management/createrepo_c/fix-bash-completion-path.patch
@@ -0,0 +1,11 @@
+--- createrepo_c-0.10.0-src.orig/CMakeLists.txt	2017-03-19 11:01:02.703173617 +0100
++++ createrepo_c-0.10.0-src/CMakeLists.txt	2017-03-19 11:02:38.617448248 +0100
+@@ -100,7 +100,7 @@
+ 
+ pkg_check_modules(BASHCOMP bash-completion)
+ if (BASHCOMP_FOUND)
+-    execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=completionsdir bash-completion OUTPUT_VARIABLE BASHCOMP_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
++    SET(BASHCOMP_DIR "@BASHCOMP_DIR@")
+     message("Bash completion directory: ${BASHCOMP_DIR}")
+     INSTALL(FILES createrepo_c.bash DESTINATION ${BASHCOMP_DIR} RENAME createrepo_c)
+     INSTALL(CODE "
diff --git a/pkgs/tools/package-management/createrepo_c/fix-python-install-path.patch b/pkgs/tools/package-management/createrepo_c/fix-python-install-path.patch
new file mode 100644
index 000000000000..a247c6d9fe47
--- /dev/null
+++ b/pkgs/tools/package-management/createrepo_c/fix-python-install-path.patch
@@ -0,0 +1,11 @@
+--- createrepo_c-0.10.0-src.orig/src/python/CMakeLists.txt	2017-03-19 10:50:33.796342953 +0100
++++ createrepo_c-0.10.0-src/src/python/CMakeLists.txt	2017-03-19 10:53:51.207580073 +0100
+@@ -19,7 +19,7 @@
+     FIND_PACKAGE(PythonInterp 3.0 REQUIRED)
+ endif()
+ 
+-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++SET(PYTHON_INSTALL_DIR "@PYTHON_INSTALL_DIR@")
+ INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
+ 
+ MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index 08847b999cfe..152dc7dcc040 100644
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java}:
 
 stdenv.mkDerivation {
-  name = "DisnixWebService-0.6";
+  name = "DisnixWebService-0.7";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/36899117/download/4/DisnixWebService-0.6.tar.bz2;
-    sha256 = "0yvwjnzk1q4y3wj8pi6z3i7akw83ah9xm2v93ni1ri70z5930mdz";
+    url = https://github.com/svanderburg/DisnixWebService/files/842861/DisnixWebService-0.7.tar.gz;
+    sha256 = "1zqy0badqqw8pzp9ky2aayi27v6znd64zafacvywjrn185fjz17g";
   };
   buildInputs = [ apacheAnt jdk ];
   PREFIX = ''''${env.out}'';
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 45bd2abe8ece..e83f8047f4ba 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,21 +1,19 @@
 { stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconv }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.6.1";
+  name = "disnix-0.7";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/40497264/download/4/disnix-0.6.1.tar.gz;
-    sha256 = "123y8vp31sl394rl7pg2xy13ng9i3pk4s7skyqhngjbqzjl72lhj";
+    url = https://github.com/svanderburg/disnix/files/842828/disnix-0.7.tar.gz;
+    sha256 = "120iaqpj7zcy94dpizzdxjwf8qb2rfrx5394jghmhc6jy88vdp71";
   };
   
   buildInputs = [ pkgconfig glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconv dysnomia ];
 
-  dontStrip = true;
-  
   meta = {
     description = "A Nix-based distributed service deployment tool";
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index eb0b7d2a4187..81be1549c83c 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchurl, dysnomia, disnix, socat, pkgconfig, getopt }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.5";
+  name = "disnixos-0.6";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/36899006/download/3/disnixos-0.5.tar.gz;
-    sha256 = "0pl3j8kwcz90as5cs0yipfbg555lw3z6xsylk6g2ili878mni1aq";
+    url = https://github.com/svanderburg/disnixos/files/842874/disnixos-0.6.tar.gz;
+    sha256 = "0pgqsk8qndn614z02jq3vbxzpx6fmgsm6pr1g0iqz55pzwamw9j7";
   };
   
   buildInputs = [ socat pkgconfig dysnomia disnix getopt ];
   
-  dontStrip = true;
-  
   meta = {
     description = "Provides complementary NixOS infrastructure deployment to Disnix";
     license = stdenv.lib.licenses.lgpl21Plus;
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index 08f58f668ece..e33776eaa2b7 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -20,10 +20,10 @@ assert enableEjabberdDump -> ejabberd != null;
 assert enableMongoDatabase -> (mongodb != null && mongodb-tools != null);
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.6.1";
+  name = "dysnomia-0.7";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/40438996/download/1/dysnomia-0.6.1.tar.gz;
-    sha256 = "0apwh80hi09bvmzy0cs7sljzjd5ximj1smhrdi3hvhm3wr48jvbi";
+    url = https://github.com/svanderburg/dysnomia/files/842819/dysnomia-0.7.tar.gz;
+    sha256 = "0nlb7fvndnxs878aah30cac4gqf2w9qq4bdpqj4m0j3d9nhpak2j";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index 9d99af2e59a5..3b636ab0e29b 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -2,11 +2,11 @@
 , autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.3";
+  version = "0.3.4";
   name = "opkg-${version}";
   src = fetchurl {
     url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    sha256 = "03nhz0ralc3cqsrwyc310n8kbk2m9im0m2r2za8lqphs29rrxnqr";
+    sha256 = "1glkxjhsaaji172phd1gv8g0k0fs09pij6k01cl9namnac5r02vm";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/tools/security/crunch/default.nix b/pkgs/tools/security/crunch/default.nix
index 914d79965c3e..3e94d52fc5fc 100644
--- a/pkgs/tools/security/crunch/default.nix
+++ b/pkgs/tools/security/crunch/default.nix
@@ -11,11 +11,11 @@ stdenv.mkDerivation  rec {
 
   buildInputs = [ which ];
 
-  configurePhase = "true";
-
   preBuild = ''
-    sed 's/sudo //' -i Makefile
-    sed 's/-g root -o root//' -i Makefile
+    substituteInPlace Makefile \
+      --replace '-g root -o root' "" \
+      --replace '-g wheel -o root' "" \
+      --replace 'sudo ' ""
   '';
 
   makeFlags = "PREFIX=$(out)";
@@ -23,7 +23,7 @@ stdenv.mkDerivation  rec {
   meta = with stdenv.lib; {
     description = "Wordlist generator";
     homepage = https://sourceforge.net/projects/crunch-wordlist/;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.lethalman ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ lethalman lnl7 ];
   };
 }
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index c44f144bea68..f5d253af9ff3 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -30,7 +30,10 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--disable-native-macro" ];
 
   buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 gcc ];
-  enableParallelBuilding = true;
+
+  # gcc -DAC_BUILT -Wall vncpcap2john.o memdbg.o -g    -lpcap -fopenmp -o ../run/vncpcap2john
+  # gcc: error: memdbg.o: No such file or directory
+  enableParallelBuilding = false;
 
   NIX_CFLAGS_COMPILE = [ "-DJOHN_SYSTEMWIDE=1" ];
 
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index b962a6409b45..5d212c0b80f5 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "keybase-${version}";
-  version = "20170209.17b641d";
+  version = "1.0.20";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/keybase" ];
@@ -10,10 +10,10 @@ buildGoPackage rec {
   dontRenameImports = true;
 
   src = fetchFromGitHub {
-    owner = "keybase";
-    repo = "client";
-    rev = "17b641de629a85ad77621d0efa3e2442661b5ee7";
-    sha256 = "0y6kiwj690yd0alvcyd74wx2wlbh110k1rdcvimszyb9gqig8p11";
+    owner  = "keybase";
+    repo   = "client";
+    rev    = "v${version}";
+    sha256 = "1418x2z1j4bzq29qab8pmqrvg8piycqcabdjmq2inkvlll3s5n3v";
   };
 
   buildFlags = [ "-tags production" ];
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
new file mode 100644
index 000000000000..79753305c592
--- /dev/null
+++ b/pkgs/tools/security/sops/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "sops-${version}";
+  version = "2.0.8";
+
+  goPackagePath = "go.mozilla.org/sops";
+
+  src = fetchFromGitHub {
+    rev = version;
+    owner = "mozilla";
+    repo = "sops";
+    sha256 = "0kawnp24i3r981hz6apfwhgp71002vjq7ir54arq0zkssmykms1c";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Mozilla sops (Secrets OPerationS) is an editor of encrypted files";
+    homepage = https://github.com/mozilla/sops;
+    license = licenses.mpl20;
+  };
+}
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 6f2a2df82f8d..666dae1db9b8 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, getopt, lua, boost, pkgconfig }:
+{ stdenv, fetchurl, getopt, lua, boost, pkgconfig, gcc }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "highlight-${version}";
@@ -9,16 +11,23 @@ stdenv.mkDerivation rec {
     sha256 = "8a14b49f5e0c07daa9f40b4ce674baa00bb20061079473a5d386656f6d236d05";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isDarwin  gcc ;
 
   buildInputs = [ getopt lua boost ];
 
-  preConfigure = ''makeFlags="PREFIX=$out conf_dir=$out/etc/highlight/"'';
+  prePatch = stdenv.lib.optionalString stdenv.cc.isClang ''
+    substituteInPlace src/makefile \
+        --replace 'CXX=g++' 'CXX=clang++'
+  '';
+
+  preConfigure = ''
+    makeFlags="PREFIX=$out conf_dir=$out/etc/highlight/"
+  '';
 
   meta = with stdenv.lib; {
     description = "Source code highlighting tool";
     homepage = "http://www.andre-simon.de/doku/highlight/en/highlight.php";
-    platforms = platforms.linux;
-    maintainers = maintainers.ndowens;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.ndowens ];
   };
 }
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index b53d619d837c..a35e09cfcda1 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -16,7 +16,11 @@ let
       inherit rev;
     };
 
-    preConfigure = "cd kdiff3";
+    setSourceRoot = ''sourceRoot="$(echo */kdiff3/)"'';
+
+    postPatch = ''
+      sed -re "s/(p\\[[^]]+] *== *)('([^']|\\\\')+')/\\1QChar(\\2)/g" -i src/diff.cpp
+    '';
 
     nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 
diff --git a/pkgs/tools/text/proselint/default.nix b/pkgs/tools/text/proselint/default.nix
new file mode 100644
index 000000000000..69c0600359f8
--- /dev/null
+++ b/pkgs/tools/text/proselint/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, buildPythonApplication, click, future, six }:
+
+buildPythonApplication rec {
+  name = "proselint-${version}";
+  version = "0.8.0";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/proselint/${name}.tar.gz";
+    sha256 = "1g8vx04gmv0agmggz1ml5vydfppqvl8dzjvqm6vqw5rzafa89m08";
+  };
+
+  propagatedBuildInputs = [ click future six ];
+
+  meta = with stdenv.lib; {
+    description = "A linter for prose";
+    homepage = http://proselint.com;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ alibabzo ];
+  };
+}
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index 7ba43e38f382..bc8b02ca2a8d 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -4,16 +4,21 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "ripgrep-${version}";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "BurntSushi";
     repo = "ripgrep";
     rev = "${version}";
-    sha256 = "0y5d1n6hkw85jb3rblcxqas2fp82h3nghssa4xqrhqnz25l799pj";
+    sha256 = "13mg624867hqxp9pzpq1gn9kqkvbaqcphdjia3bz5wvff1cbxkfy";
   };
 
-  depsSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx";
+  depsSha256 = "0glw8xk77w2h1xg6c451fg8cmwx3vz7dyzdrbf0i8d84yq8sh0i1";
+
+  preFixup = ''
+    mkdir -p "$out/man/man1"
+    cp "$src/doc/rg.1" "$out/man/man1"
+  '';
 
   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/typesetting/htmldoc/default.nix b/pkgs/tools/typesetting/htmldoc/default.nix
new file mode 100644
index 000000000000..b9d5407c68de
--- /dev/null
+++ b/pkgs/tools/typesetting/htmldoc/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl
+
+, SystemConfiguration ? null, Foundation ? null
+}:
+
+assert stdenv.isDarwin -> SystemConfiguration != null
+                       && Foundation != null;
+
+stdenv.mkDerivation rec {
+  version = "1.8.29";
+  name = "htmldoc-${version}";
+  src = fetchurl {
+    url = "https://github.com/michaelrsweet/htmldoc/releases/download"
+      + "/release-${version}/htmldoc-${version}-source.tar.gz";
+    sha256 = "15x0xdf487j4i4gfap5yr83airxnbp2v4lxaz79a4s3iirrq39p0";
+  };
+  buildInputs = with stdenv;
+       lib.optional isDarwin SystemConfiguration
+    ++ lib.optional isDarwin Foundation;
+
+  meta = with stdenv.lib; {
+    description = "Converts HTML files to PostScript and PDF";
+    homepage    = https://michaelrsweet.github.io/htmldoc;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ viric shanemikel ];
+    platforms   = with platforms; linux ++ darwin;
+
+    longDescription = ''
+      HTMLDOC is a program that reads HTML source files or web pages and
+      generates corresponding HTML, PostScript, or PDF files with an optional
+      table of contents.
+    '';
+  };
+}
diff --git a/pkgs/tools/virtualization/marathonctl/default.nix b/pkgs/tools/virtualization/marathonctl/default.nix
new file mode 100644
index 000000000000..66618e59122a
--- /dev/null
+++ b/pkgs/tools/virtualization/marathonctl/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "marathonctl-unstable-${version}";
+  version = "2017-03-06";
+
+  goPackagePath = "github.com/shoenig/marathonctl";
+  subPackages = [ "." ];
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "shoenig";
+    repo = "marathonctl";
+    rev = "0867e66551fff5d81f25959baf914a8ee11a3a8b";
+    sha256 = "1fcc54hwpa8s3kz4gn26mc6nrv6zjrw869331nvm47khi23gpmxw";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/shoenig/marathonctl;
+    description = "CLI tool for Marathon";
+    platforms = platforms.all;
+    license = licenses.mit;
+    maintainers = with maintainers; [ manveru ];
+  };
+}
diff --git a/pkgs/tools/virtualization/marathonctl/deps.nix b/pkgs/tools/virtualization/marathonctl/deps.nix
new file mode 100644
index 000000000000..39efaab95358
--- /dev/null
+++ b/pkgs/tools/virtualization/marathonctl/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by go2nix.
+[
+  {
+    goPackagePath = "github.com/shoenig/config";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shoenig/config";
+      rev = "7d793e7ad7f175ef22743b1ea38acee8267788db";
+      sha256 = "1dhcv1j5xk30kj73dfnx3xqx8mcvk9r8ywp9khgf2kq6wh9sm1qr";
+    };
+  }
+]
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 962506444fc6..c99315df768e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -291,6 +291,8 @@ with pkgs;
 
   nukeReferences = callPackage ../build-support/nuke-references/default.nix { };
 
+  removeReferencesTo = callPackage ../build-support/remove-references-to/default.nix { };
+
   vmTools = callPackage ../build-support/vm/default.nix { };
 
   releaseTools = callPackage ../build-support/release/default.nix { };
@@ -303,6 +305,8 @@ with pkgs;
 
   fixDarwinDylibNames = makeSetupHook { } ../build-support/setup-hooks/fix-darwin-dylib-names.sh;
 
+  fixDarwinFrameworks = makeSetupHook { } ../build-support/setup-hooks/fix-darwin-frameworks.sh;
+
   keepBuildTree = makeSetupHook { } ../build-support/setup-hooks/keep-build-tree.sh;
 
   enableGCOVInstrumentation = makeSetupHook { } ../build-support/setup-hooks/enable-coverage-instrumentation.sh;
@@ -529,6 +533,8 @@ with pkgs;
 
   oracle-instantclient = callPackage ../development/libraries/oracle-instantclient { };
 
+  kwakd = callPackage ../servers/kwakd { };
+
   kwm = callPackage ../os-specific/darwin/kwm { };
 
   khd = callPackage ../os-specific/darwin/khd {
@@ -568,7 +574,9 @@ with pkgs;
 
   atftp = callPackage ../tools/networking/atftp { };
 
-  autogen = callPackage ../development/tools/misc/autogen { };
+  autogen = callPackage ../development/tools/misc/autogen {
+    guile = guile_2_0;
+  };
 
   autojump = callPackage ../tools/misc/autojump { };
 
@@ -699,6 +707,8 @@ with pkgs;
 
   burpsuite = callPackage ../tools/networking/burpsuite {};
 
+  c3d = callPackage ../applications/graphics/c3d {};
+
   cabal2nix = haskell.lib.overrideCabal haskellPackages.cabal2nix (drv: {
     isLibrary = false;
     enableSharedExecutables = false;
@@ -796,6 +806,8 @@ with pkgs;
 
   crunch = callPackage ../tools/security/crunch { };
 
+  crudini = callPackage ../tools/misc/crudini { };
+
   daemontools = callPackage ../tools/admin/daemontools { };
 
   dante = callPackage ../servers/dante { };
@@ -861,6 +873,8 @@ with pkgs;
 
   dynamic-colors = callPackage ../tools/misc/dynamic-colors { };
 
+  earlyoom = callPackage ../os-specific/linux/earlyoom { };
+
   ecasound = callPackage ../applications/audio/ecasound { };
 
   edac-utils = callPackage ../os-specific/linux/edac-utils { };
@@ -934,16 +948,24 @@ with pkgs;
 
   hexio = callPackage ../development/tools/hexio { };
 
+  hostsblock = callPackage ../tools/misc/hostsblock { };
+
   hr = callPackage ../applications/misc/hr { };
 
   interlock = callPackage ../servers/interlock {};
 
+  jbuilder = callPackage ../development/tools/ocaml/jbuilder {
+    inherit (ocaml-ng.ocamlPackages_4_03) ocaml;
+  };
+
   kapacitor = callPackage ../servers/monitoring/kapacitor { };
 
   languagetool = callPackage ../tools/text/languagetool {  };
 
   long-shebang = callPackage ../misc/long-shebang {};
 
+  iio-sensor-proxy = callPackage ../os-specific/linux/iio-sensor-proxy { };
+
   mathics = pythonPackages.mathics;
 
   meson = callPackage ../development/tools/build-managers/meson { };
@@ -1096,6 +1118,8 @@ with pkgs;
 
   atool = callPackage ../tools/archivers/atool { };
 
+  bsc = callPackage ../tools/compression/bsc { };
+
   bzip2 = callPackage ../tools/compression/bzip2 { };
 
   cabextract = callPackage ../tools/archivers/cabextract { };
@@ -2231,9 +2255,12 @@ with pkgs;
 
   hfsprogs = callPackage ../tools/filesystems/hfsprogs { };
 
-  highlight = callPackage ../tools/text/highlight {
+  highlight = callPackage ../tools/text/highlight ({
     lua = lua5;
-  };
+  } // lib.optionalAttrs stdenv.isDarwin {
+    # doesn't build with clang_37
+    inherit (llvmPackages_38) stdenv;
+  });
 
   homesick = callPackage ../tools/misc/homesick { };
 
@@ -2369,6 +2396,8 @@ with pkgs;
 
   ipxe = callPackage ../tools/misc/ipxe { };
 
+  irker = callPackage ../servers/irker { };
+
   ised = callPackage ../tools/misc/ised {};
 
   isl = isl_0_17;
@@ -2650,6 +2679,8 @@ with pkgs;
 
   kindlegen = callPackage ../tools/typesetting/kindlegen { };
 
+  latex2html = callPackage ../tools/misc/latex2html { };
+
   ldapvi = callPackage ../tools/misc/ldapvi { };
 
   ldns = callPackage ../development/libraries/ldns {
@@ -2772,6 +2803,8 @@ with pkgs;
 
   lzfse = callPackage ../tools/compression/lzfse { };
 
+  lzham = callPackage ../tools/compression/lzham { };
+
   lzip = callPackage ../tools/compression/lzip { };
 
   lzma = xz;
@@ -3275,7 +3308,9 @@ with pkgs;
     owncloud90
     owncloud91;
 
-  owncloud-client = callPackage ../applications/networking/owncloud-client { };
+  owncloud-client = callPackage ../applications/networking/owncloud-client {
+    inherit (libsForQt5) qtkeychain;
+  };
 
   p2pvc = callPackage ../applications/video/p2pvc {};
 
@@ -3285,6 +3320,8 @@ with pkgs;
     nix = nixUnstable;
   };
 
+  packetdrill = callPackage ../tools/networking/packetdrill { };
+
   pakcs = callPackage ../development/compilers/pakcs {};
 
   pal = callPackage ../tools/misc/pal { };
@@ -4344,6 +4381,10 @@ with pkgs;
 
   html-xml-utils = callPackage ../tools/text/xml/html-xml-utils { };
 
+  htmldoc = callPackage ../tools/typesetting/htmldoc {
+    inherit (darwin.apple_sdk.frameworks) SystemConfiguration Foundation;
+  };
+
   rcm = callPackage ../tools/misc/rcm {};
 
   tftp-hpa = callPackage ../tools/networking/tftp-hpa {};
@@ -4615,6 +4656,8 @@ with pkgs;
 
   yarn = callPackage ../development/tools/yarn  { };
 
+  yasr = callPackage ../applications/audio/yasr { };
+
   yank = callPackage ../tools/misc/yank { };
 
   yaml-merge = callPackage ../tools/text/yaml-merge { };
@@ -4663,6 +4706,7 @@ with pkgs;
   zsh-autosuggestions = callPackage ../shells/zsh-autosuggestions { };
 
   zstd = callPackage ../tools/compression/zstd { };
+  zstdmt = callPackage ../tools/compression/zstdmt { };
 
   zsync = callPackage ../tools/compression/zsync { };
 
@@ -4766,7 +4810,7 @@ with pkgs;
 
   clang = llvmPackages.clang;
 
-  clang_4 = lowPrio llvmPackages_4.clang;
+  clang_4  = llvmPackages_4.clang;
   clang_39 = llvmPackages_39.clang;
   clang_38 = llvmPackages_38.clang;
   clang_37 = llvmPackages_37.clang;
@@ -4991,6 +5035,21 @@ with pkgs;
     isl = if !stdenv.isDarwin then isl_0_14 else null;
   }));
 
+  gcc-snapshot = lowPrio (wrapCC (callPackage ../development/compilers/gcc/snapshot {
+    inherit noSysDirs;
+
+    # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
+    profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
+
+    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
+    # and host != build), `cross' must be null but the cross-libc must still
+    # be passed.
+    cross = null;
+    libcCross = if targetPlatform != buildPlatform then libcCross else null;
+
+    isl = if !stdenv.isDarwin then isl_0_14 else null;
+  }));
+
   gfortran = if !stdenv.isDarwin then gfortran5
              else callPackage ../development/compilers/gcc/gfortran-darwin.nix {
     inherit (darwin) Libsystem;
@@ -5322,13 +5381,14 @@ with pkgs;
 
   lizardfs = callPackage ../tools/filesystems/lizardfs { };
 
-  lld = lowPrio llvmPackages_4.lld;
+  lld = llvmPackages_4.lld;
 
   lldb = llvmPackages.lldb;
+  lldb_4 = llvmPackages_4.lldb;
 
   llvm = llvmPackages.llvm;
 
-  llvm_4 = lowPrio llvmPackages_4.llvm;
+  llvm_4  = llvmPackages_4.llvm;
   llvm_39 = llvmPackages_39.llvm;
   llvm_38 = llvmPackages_38.llvm;
   llvm_37 = llvmPackages_37.llvm;
@@ -5434,7 +5494,7 @@ with pkgs;
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
-  inherit (ocamlPackages) ocaml-top;
+  ocaml-top = callPackage ../development/tools/ocaml/ocaml-top { };
 
   opa = callPackage ../development/compilers/opa {
     nodejs = nodejs-4_x;
@@ -5634,6 +5694,8 @@ with pkgs;
 
   ceptre = callPackage ../development/interpreters/ceptre { };
 
+  clips = callPackage ../development/interpreters/clips { };
+
   clisp = callPackage ../development/interpreters/clisp { };
   clisp-tip = callPackage ../development/interpreters/clisp/hg.nix { };
 
@@ -5740,9 +5802,12 @@ with pkgs;
 
   guile_1_8 = callPackage ../development/interpreters/guile/1.8.nix { };
 
-  guile_2_0 = callPackage ../development/interpreters/guile { };
+  # Needed for autogen
+  guile_2_0 = callPackage ../development/interpreters/guile/2.0.nix { };
 
-  guile = guile_2_0;
+  guile_2_2 = callPackage ../development/interpreters/guile { };
+
+  guile = guile_2_2;
 
   hadoop = callPackage ../applications/networking/cluster/hadoop { };
 
@@ -6209,7 +6274,7 @@ with pkgs;
   buildbot-worker = callPackage ../development/tools/build-managers/buildbot/worker.nix {
     pythonPackages = python2Packages;
   };
-  buildbot-plugins = callPackage ../development/tools/build-managers/buildbot/plugins.nix {
+  buildbot-plugins = callPackages ../development/tools/build-managers/buildbot/plugins.nix {
     pythonPackages = python2Packages;
   };
   buildbot-ui = buildbot.withPlugins (with self.buildbot-plugins; [ www ]);
@@ -6437,6 +6502,8 @@ with pkgs;
 
   funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
 
+  gede = callPackage ../development/tools/misc/gede { };
+
   pmd = callPackage ../development/tools/analysis/pmd { };
 
   jdepend = callPackage ../development/tools/analysis/jdepend { };
@@ -6566,6 +6633,8 @@ with pkgs;
 
   libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { };
 
+  lit = callPackage ../development/tools/misc/lit { };
+
   lsof = callPackage ../development/tools/misc/lsof { };
 
   ltrace = callPackage ../development/tools/misc/ltrace { };
@@ -6717,6 +6786,8 @@ with pkgs;
 
   redo = callPackage ../development/tools/build-managers/redo { };
 
+  redo-sh = callPackage ../development/tools/build-managers/redo-sh { };
+
   reno = callPackage ../development/tools/reno { };
 
   re2c = callPackage ../development/tools/parsing/re2c { };
@@ -6742,6 +6813,7 @@ with pkgs;
   scons = callPackage ../development/tools/build-managers/scons { };
 
   sbt = callPackage ../development/tools/build-managers/sbt { };
+  sbt_0_12_4 = callPackage ../development/tools/build-managers/sbt/0.12.4.nix { };
   simpleBuildTool = sbt;
 
   shards = callPackage ../development/tools/build-managers/shards { };
@@ -6850,7 +6922,10 @@ with pkgs;
 
   gdb-multitarget = lowPrio (gdb.override { multitarget = true; });
 
-  valgrind = callPackage ../development/tools/analysis/valgrind { };
+  valgrind = callPackage ../development/tools/analysis/valgrind {
+    inherit (darwin) xnu bootstrap_cmds cctools;
+    llvm = llvm_39;
+   };
 
   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
 
@@ -6877,6 +6952,7 @@ with pkgs;
   xxdiff = callPackage ../development/tools/misc/xxdiff {
     bison = bison2;
   };
+  xxdiff-tip = callPackage ../development/tools/misc/xxdiff/tip.nix { };
 
   yacc = bison;
 
@@ -7042,6 +7118,8 @@ with pkgs;
 
   certbot = callPackage ../tools/admin/certbot { };
 
+  caf = callPackage ../development/libraries/caf {};
+
   cgal = callPackage ../development/libraries/CGAL {};
 
   cgui = callPackage ../development/libraries/cgui {};
@@ -7122,6 +7200,8 @@ with pkgs;
 
   cracklib = callPackage ../development/libraries/cracklib { };
 
+  cre2 = callPackage ../development/libraries/cre2 { };
+
   cryptopp = callPackage ../development/libraries/crypto++ { };
 
   curlcpp = callPackage ../development/libraries/curlcpp { };
@@ -7208,8 +7288,6 @@ with pkgs;
 
   enet = callPackage ../development/libraries/enet { };
 
-  enginepkcs11 = callPackage ../development/libraries/enginepkcs11 { };
-
   epoxy = callPackage ../development/libraries/epoxy {};
 
   esdl = callPackage ../development/libraries/esdl { };
@@ -7784,8 +7862,6 @@ with pkgs;
   hyena = callPackage ../development/libraries/hyena { };
 
   icu = callPackage ../development/libraries/icu { };
-  # Needed for LibreOffice Still as of 5.2.6.2
-  icu_57 = callPackage ../development/libraries/icu/57.nix { };
 
   id3lib = callPackage ../development/libraries/id3lib { };
 
@@ -8718,7 +8794,8 @@ with pkgs;
   libusb = callPackage ../development/libraries/libusb {};
 
   libusb1 = callPackage ../development/libraries/libusb1 {
-    inherit (darwin) libobjc IOKit;
+    inherit (darwin) libobjc;
+    inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
   libusbmuxd = callPackage ../development/libraries/libusbmuxd { };
@@ -8842,6 +8919,8 @@ with pkgs;
 
   lirc = callPackage ../development/libraries/lirc { };
 
+  liquid-dsp = callPackage ../development/libraries/liquid-dsp { };
+
   liquidfun = callPackage ../development/libraries/liquidfun { };
 
   live555 = callPackage ../development/libraries/live555 { };
@@ -8931,7 +9010,7 @@ with pkgs;
 
   mkvtoolnix = callPackage ../applications/video/mkvtoolnix { };
 
-  mkvtoolnix-cli = mkvtoolnix.override {
+  mkvtoolnix-cli = callPackage ../applications/video/mkvtoolnix {
     withGUI = false;
   };
 
@@ -9644,6 +9723,8 @@ with pkgs;
 
   sfml = callPackage ../development/libraries/sfml { };
 
+  shapelib = callPackage ../development/libraries/shapelib { };
+
   skalibs = callPackage ../development/libraries/skalibs { };
 
   slang = callPackage ../development/libraries/slang { };
@@ -9855,6 +9936,8 @@ with pkgs;
 
   uid_wrapper = callPackage ../development/libraries/uid_wrapper { };
 
+  umockdev = callPackage ../development/libraries/umockdev {  };
+
   unibilium = callPackage ../development/libraries/unibilium { };
 
   unicap = callPackage ../development/libraries/unicap {};
@@ -9867,8 +9950,6 @@ with pkgs;
 
   unixODBCDrivers = recurseIntoAttrs (callPackages ../development/libraries/unixODBCDrivers {});
 
-  urt = callPackage ../development/libraries/urt { };
-
   ustr = callPackage ../development/libraries/ustr { };
 
   usbredir = callPackage ../development/libraries/usbredir {
@@ -10107,6 +10188,8 @@ with pkgs;
 
   yubico-piv-tool = callPackage ../tools/misc/yubico-piv-tool { };
 
+  yubikey-manager = callPackage ../tools/misc/yubikey-manager { };
+
   yubikey-neo-manager = callPackage ../tools/misc/yubikey-neo-manager { };
 
   yubikey-personalization = callPackage ../tools/misc/yubikey-personalization {
@@ -10449,6 +10532,10 @@ with pkgs;
     erlang = erlangR16;
   };
 
+  couchdb2 = callPackage ../servers/http/couchdb/2.0.0.nix {
+    spidermonkey = spidermonkey_1_8_5;
+  };
+
   couchpotato = callPackage ../servers/couchpotato {};
 
   dico = callPackage ../servers/dico { };
@@ -10795,6 +10882,7 @@ with pkgs;
   prometheus-bind-exporter = callPackage ../servers/monitoring/prometheus/bind-exporter.nix { };
   prometheus-blackbox-exporter = callPackage ../servers/monitoring/prometheus/blackbox-exporter.nix { };
   prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { };
+  prometheus-fritzbox-exporter = callPackage ../servers/monitoring/prometheus/fritzbox-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 { };
@@ -10804,6 +10892,7 @@ with pkgs;
   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-unifi-exporter = callPackage ../servers/monitoring/prometheus/unifi-exporter { };
   prometheus-varnish-exporter = callPackage ../servers/monitoring/prometheus/varnish-exporter.nix { };
 
   psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { };
@@ -10834,6 +10923,8 @@ with pkgs;
 
   redstore = callPackage ../servers/http/redstore { };
 
+  restic = callPackage ../tools/backup/restic { };
+
   restund = callPackage ../servers/restund {};
 
   rethinkdb = callPackage ../servers/nosql/rethinkdb {
@@ -11423,7 +11514,6 @@ with pkgs;
   linux_3_12 = callPackage ../os-specific/linux/kernel/linux-3.12.nix {
     kernelPatches = with kernelPatches;
       [ bridge_stp_helper
-        DCCP_double_free_vulnerability_CVE-2017-6074
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -11492,7 +11582,6 @@ with pkgs;
     kernelPatches = [
       kernelPatches.bridge_stp_helper
       kernelPatches.modinst_arg_list_too_long
-      kernelPatches.DCCP_double_free_vulnerability_CVE-2017-6074
     ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [
       kernelPatches.mips_fpureg_emu
       kernelPatches.mips_fpu_sigill
@@ -12808,6 +12897,8 @@ with pkgs;
     guile = guile_1_8;
   };
 
+  bevelbar = callPackage ../applications/window-managers/bevelbar { };
+
   bibletime = callPackage ../applications/misc/bibletime { };
 
   bitkeeper = callPackage ../applications/version-management/bitkeeper {
@@ -12945,6 +13036,8 @@ with pkgs;
 
   clfswm = callPackage ../applications/window-managers/clfswm { };
 
+  cligh = callPackage ../development/tools/github/cligh {};
+
   clipgrab = callPackage ../applications/video/clipgrab { };
 
   clipit = callPackage ../applications/misc/clipit { };
@@ -13040,7 +13133,7 @@ with pkgs;
 
   dbvisualizer = callPackage ../applications/misc/dbvisualizer {};
 
-  dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; };
+  dd-agent = callPackage ../tools/networking/dd-agent { };
 
   deadbeef = callPackage ../applications/audio/deadbeef {
     pulseSupport = config.pulseaudio or true;
@@ -13176,19 +13269,15 @@ with pkgs;
     withGTK3 = false;
   }));
 
-  emacs24Macport_24_5 = lowPrio (callPackage ../applications/editors/emacs/macport-24.5.nix {
+  emacsMacport = emacs25Macport;
+  emacs25Macport = callPackage ../applications/editors/emacs/macport.nix {
     inherit (darwin.apple_sdk.frameworks)
       AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
       ImageCaptureCore GSS ImageIO;
-  });
-  emacs24Macport = self.emacs24Macport_24_5;
+  };
 
-  emacs25Macport_25_1 = lowPrio (callPackage ../applications/editors/emacs/macport-25.1.nix {
-    inherit (darwin.apple_sdk.frameworks)
-      AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
-      ImageCaptureCore GSS ImageIO;
-  });
-  emacs25Macport = self.emacs25Macport_25_1;
+  # for backwards compatibility
+  emacs25Macport_25_1 = emacs25Macport;
 
   emacsPackagesGen = emacs: self: let callPackage = newScope self; in rec {
     inherit emacs;
@@ -13413,6 +13502,8 @@ with pkgs;
 
   keepass = callPackage ../applications/misc/keepass { };
 
+  keepass-keeagent = callPackage ../applications/misc/keepass-plugins/keeagent { };
+
   keepass-keefox = callPackage ../applications/misc/keepass-plugins/keefox { };
 
   keepass-keepasshttp = callPackage ../applications/misc/keepass-plugins/keepasshttp { };
@@ -13900,10 +13991,6 @@ with pkgs;
 
   ht = callPackage ../applications/editors/ht { };
 
-  htmldoc = callPackage ../applications/misc/htmldoc {
-    fltk = fltk13;
-  };
-
   hugin = callPackage ../applications/graphics/hugin { };
 
   hugo = callPackage ../applications/misc/hugo { };
@@ -14122,6 +14209,8 @@ with pkgs;
 
   kadu = kde4.callPackage ../applications/networking/instant-messengers/kadu { };
 
+  kanboard = callPackage ../applications/misc/kanboard { };
+
   kde-telepathy = kde4.callPackage ../applications/networking/instant-messengers/telepathy/kde {};
 
   kdeApplications =
@@ -14137,7 +14226,7 @@ with pkgs;
 
   inherit (kdeApplications)
     akonadi ark dolphin ffmpegthumbs filelight gwenview kate
-    kdenlive kcalc kcolorchooser kcontacts kgpg khelpcenter kig konsole marble
+    kdenlive kcalc kcolorchooser kcontacts kgpg khelpcenter kig konsole krfb marble
     okteta okular spectacle;
 
   kdeconnect = libsForQt5.callPackage ../applications/misc/kdeconnect { };
@@ -14189,6 +14278,8 @@ with pkgs;
 
   kmplayer = kde4.callPackage ../applications/video/kmplayer { };
 
+  kodestudio = callPackage ../applications/editors/kodestudio { };
+
   konversation = libsForQt5.callPackage ../applications/networking/irc/konversation { };
 
   krita = libsForQt5.callPackage ../applications/graphics/krita {
@@ -14203,7 +14294,7 @@ with pkgs;
   ktorrent = libsForQt5.callPackage ../applications/networking/p2p/ktorrent { };
 
   kubernetes = callPackage ../applications/networking/cluster/kubernetes {
-    go = go_1_6;
+    go = go_1_7;
   };
 
   lame = callPackage ../development/libraries/lame { };
@@ -14283,9 +14374,7 @@ with pkgs;
     lcms = lcms2;
     harfbuzz = harfbuzz.override {
       withIcu = true; withGraphite2 = true;
-      icu = icu_57;
     };
-    icu = icu_57;
   });
 
 
@@ -14331,7 +14420,8 @@ with pkgs;
   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
 
   handbrake = callPackage ../applications/video/handbrake {
-    ffmpeg = ffmpeg_2;
+    # TODO: remove when 3.2 becomes default
+    ffmpeg = ffmpeg_3_2;
   };
 
   lilyterm = callPackage ../applications/misc/lilyterm {
@@ -14370,6 +14460,7 @@ with pkgs;
   makeself = callPackage ../applications/misc/makeself { };
 
   marathon = callPackage ../applications/networking/cluster/marathon { };
+  marathonctl = callPackage ../tools/virtualization/marathonctl { } ;
 
   marp = callPackage ../applications/office/marp { };
 
@@ -14429,6 +14520,8 @@ with pkgs;
 
   mimms = callPackage ../applications/audio/mimms {};
 
+  meh = callPackage ../applications/graphics/meh {};
+
   mirage = callPackage ../applications/graphics/mirage { };
 
   mixxx = callPackage ../applications/audio/mixxx {
@@ -14847,6 +14940,8 @@ with pkgs;
 
   phrasendrescher = callPackage ../tools/security/phrasendrescher { };
 
+  phraseapp-client = callPackage ../tools/misc/phraseapp-client { };
+
   phwmon = callPackage ../applications/misc/phwmon { };
 
   pianobar = callPackage ../applications/audio/pianobar { };
@@ -14958,10 +15053,14 @@ with pkgs;
 
   psi = kde4.callPackage ../applications/networking/instant-messengers/psi { };
 
+  psi-plus = callPackage ../applications/networking/instant-messengers/psi-plus { };
+
   psol = callPackage ../development/libraries/psol/default.nix { };
 
   pstree = callPackage ../applications/misc/pstree { };
 
+  ptask = callPackage ../applications/misc/ptask { };
+
   pulseview = callPackage ../applications/science/electronics/pulseview { };
 
   puredata = callPackage ../applications/audio/puredata { };
@@ -14996,6 +15095,8 @@ with pkgs;
 
   qjackctl = libsForQt5.callPackage ../applications/audio/qjackctl { };
 
+  qmetro = callPackage ../applications/misc/qmetro { };
+
   qmidinet = callPackage ../applications/audio/qmidinet { };
 
   qmidiroute = callPackage ../applications/audio/qmidiroute { };
@@ -15245,6 +15346,8 @@ with pkgs;
 
   sooperlooper = callPackage ../applications/audio/sooperlooper { };
 
+  sops = callPackage ../tools/security/sops { };
+
   sorcer = callPackage ../applications/audio/sorcer { };
 
   sound-juicer = callPackage ../applications/audio/sound-juicer { };
@@ -15442,6 +15545,8 @@ with pkgs;
     webkit = webkitgtk2;
   };
 
+  surf-webkit2 = callPackage ../applications/networking/browsers/surf/webkit2.nix { };
+
   swh_lv2 = callPackage ../applications/audio/swh-lv2 { };
 
   sylpheed = callPackage ../applications/networking/mailreaders/sylpheed { };
@@ -15482,11 +15587,7 @@ with pkgs;
   teamspeak_client = libsForQt55.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
   teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
 
-  taskjuggler-2 = callPackage ../applications/misc/taskjuggler/2.x { };
-
-  taskjuggler = callPackage ../applications/misc/taskjuggler/3.x {
-    ruby = ruby_2_0;
-  };
+  taskjuggler = callPackage ../applications/misc/taskjuggler { ruby = ruby_2_0; };
 
   tasknc = callPackage ../applications/misc/tasknc { };
 
@@ -15712,9 +15813,7 @@ with pkgs;
     inherit (lua52Packages) lpeg;
   };
 
-  virt-viewer = callPackage ../applications/virtualization/virt-viewer {
-    spice_gtk = spice_gtk;
-  };
+  virt-viewer = callPackage ../applications/virtualization/virt-viewer { };
 
   virt-top = callPackage ../applications/virtualization/virt-top {
     ocamlPackages = ocamlPackages_4_01_0;
@@ -15727,6 +15826,8 @@ with pkgs;
     system-libvirt = libvirt;
   };
 
+  virtmanager-qt = libsForQt5.callPackage ../applications/virtualization/virt-manager/qt.nix { };
+
   virtinst = callPackage ../applications/virtualization/virtinst {};
 
   virtualbox = callPackage ../applications/virtualization/virtualbox {
@@ -15790,7 +15891,8 @@ with pkgs;
     gtk = gtk2;
   };
 
-  vlc_qt5 = libsForQt5.vlc;
+  # VLC 3.0 is needed to compile in C++11 mode (QT 5.7)
+  vlc_qt5 = libsForQt56.vlc;
 
   vmpk = callPackage ../applications/audio/vmpk { };
 
@@ -15829,6 +15931,8 @@ with pkgs;
     imlib2 = imlib2-nox;
   };
 
+  wayv = callPackage ../tools/X11/wayv {};
+
   weechat = callPackage ../applications/networking/irc/weechat {
     inherit (darwin) libobjc;
     inherit (darwin) libresolv;
@@ -15952,6 +16056,8 @@ with pkgs;
       );
   };
 
+  wtftw = callPackage ../applications/window-managers/wtftw {};
+
   wxhexeditor = callPackage ../applications/editors/wxhexeditor { };
 
   wxcam = callPackage ../applications/video/wxcam {
@@ -15968,12 +16074,19 @@ with pkgs;
 
   x42-plugins = callPackage ../applications/audio/x42-plugins { };
 
+  xannotate = callPackage ../tools/X11/xannotate {};
+
   xaos = callPackage ../applications/graphics/xaos {
     libpng = libpng12;
   };
 
   xara = callPackage ../applications/graphics/xara { };
 
+  xastir = callPackage ../applications/misc/xastir {
+    rastermagick = imagemagick;
+    inherit (xorg) libXt;
+  };
+
   xawtv = callPackage ../applications/video/xawtv { };
 
   xbindkeys = callPackage ../tools/X11/xbindkeys { };
@@ -16181,8 +16294,6 @@ with pkgs;
 
   inherit (gnome3) yelp;
 
-  ykpers = callPackage ../applications/misc/ykpers {};
-
   yoshimi = callPackage ../applications/audio/yoshimi { };
 
   inherit (python3Packages) you-get;
@@ -16988,6 +17099,8 @@ with pkgs;
 
   alliance = callPackage ../applications/science/electronics/alliance { };
 
+  ants = callPackage ../applications/science/biology/ants { };
+
   archimedes = callPackage ../applications/science/electronics/archimedes {
     stdenv = overrideCC stdenv gcc49;
   };
@@ -17608,6 +17721,8 @@ with pkgs;
 
   crashplan = callPackage ../applications/backup/crashplan { };
 
+  colort = callPackage ../applications/misc/colort { };
+
   e17gtk = callPackage ../misc/themes/e17gtk { };
 
   epson-escpr = callPackage ../misc/drivers/epson-escpr { };
@@ -17975,9 +18090,22 @@ with pkgs;
 
   sqsh = callPackage ../development/tools/sqsh { };
 
-  terraform = callPackage ../applications/networking/cluster/terraform {};
+  inherit (callPackage ../applications/networking/cluster/terraform {})
+    terraform_0_8_5
+    terraform_0_8_8
+    terraform_0_9_0;
+
+  terraform_0_8 = terraform_0_8_8;
+  terraform_0_9 = terraform_0_9_0;
+  terraform = terraform_0_8;
 
-  terragrunt = callPackage ../applications/networking/cluster/terragrunt {};
+  terragrunt = callPackage ../applications/networking/cluster/terragrunt {
+    terraform = terraform_0_8;
+  };
+
+  terragrunt_0_9_8 = callPackage ../applications/networking/cluster/terragrunt/0.9.8.nix {
+    terraform = terraform_0_8_5;
+  };
 
   tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; };
 
@@ -18115,6 +18243,8 @@ with pkgs;
 
   wmutils-opt = callPackage ../tools/X11/wmutils-opt { };
 
+  wordpress = callPackage ../servers/web-apps/wordpress { };
+
   wraith = callPackage ../applications/networking/irc/wraith { };
 
   wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { };
@@ -18133,7 +18263,11 @@ with pkgs;
 
   xcftools = callPackage ../tools/graphics/xcftools { };
 
-  xhyve = callPackage ../applications/virtualization/xhyve { };
+  xhyve = callPackage ../applications/virtualization/xhyve {
+    inherit (darwin.apple_sdk.frameworks) Hypervisor vmnet;
+    inherit (darwin.apple_sdk.libs) xpc;
+    inherit (darwin) libobjc;
+  };
 
   xinput_calibrator = callPackage ../tools/X11/xinput_calibrator { };
 
@@ -18207,6 +18341,8 @@ with pkgs;
 
   mg = callPackage ../applications/editors/mg { };
 
+  mpvc = callPackage ../applications/misc/mpvc { };
+
   aucdtect = callPackage ../tools/audio/aucdtect { };
 
   togglesg-download = callPackage ../tools/misc/togglesg-download { };
@@ -18241,6 +18377,8 @@ with pkgs;
 
   xulrunner = firefox-unwrapped;
 
+  xrq = callPackage ../applications/misc/xrq { };
+
   nitrokey-app = callPackage ../tools/security/nitrokey-app { };
 
   fpm2 = callPackage ../tools/security/fpm2 { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index b4226e656fde..bad483f02373 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -79,6 +79,10 @@ in rec {
     ghcjsHEAD = packages.ghc802.callPackage ../development/compilers/ghcjs/head.nix {
       bootPkgs = packages.ghc802;
     };
+    ghcHaLVM240 = callPackage ../development/compilers/halvm/2.4.0.nix rec {
+      bootPkgs = packages.ghc802;
+      inherit (bootPkgs) hscolour alex happy;
+    };
 
     jhc = callPackage ../development/compilers/jhc {
       inherit (packages.ghc763) ghcWithPackages;
@@ -100,6 +104,7 @@ in rec {
       in pkgs.recurseIntoAttrs (integerSimpleGhcs // {
            ghcHEAD = integerSimpleGhcs.ghcHEAD.override { selfPkgs = packages.integer-simple.ghcHEAD; };
          });
+
   };
 
   packages = {
@@ -167,6 +172,10 @@ in rec {
       ghc = compiler.ghcjsHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
+    ghcHaLVM240 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghcHaLVM240;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-halvm-2.4.0.nix { };
+    };
 
     # The integer-simple attribute set contains package sets for all the GHC compilers
     # using integer-simple instead of integer-gmp.
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index d2aaa63c667f..ea3a849c7ac5 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -459,7 +459,7 @@ let
     meta = {
       description = "Simple implementation of msgpack in C Lua 5.1";
       homepage = "https://github.com/tarruda/libmpack";
-      platforms = stdenv.lib.platforms.linux;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
       license = stdenv.lib.licenses.mit;
       # gcc -llua fails with luajit
       broken = (builtins.parseDrvName lua.name).name != "lua";
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 1cc5de01e101..f46aa3a251c7 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -53,6 +53,8 @@ let
 
     bolt = callPackage ../development/ocaml-modules/bolt { };
 
+    bos = callPackage ../development/ocaml-modules/bos { };
+
     bitstring =
       if lib.versionOlder "4.02" ocaml.version
       then callPackage ../development/ocaml-modules/bitstring { }
@@ -138,6 +140,8 @@ let
 
     cppo = callPackage ../development/tools/ocaml/cppo { };
 
+    cpuid = callPackage ../development/ocaml-modules/cpuid { };
+
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
     cstruct = callPackage ../development/ocaml-modules/cstruct {
@@ -194,6 +198,8 @@ let
 
     fpath = callPackage ../development/ocaml-modules/fpath { };
 
+    functoria = callPackage ../development/ocaml-modules/functoria { };
+
     functory = callPackage ../development/ocaml-modules/functory { };
 
     gen = callPackage ../development/ocaml-modules/gen { };
@@ -261,7 +267,7 @@ let
       else lambdaTerm-1_6;
 
     llvm = callPackage ../development/ocaml-modules/llvm {
-      llvm = pkgs.llvm_37;
+      llvm = pkgs.llvm_39;
     };
 
     logs = callPackage ../development/ocaml-modules/logs {
@@ -336,6 +342,8 @@ let
 
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
 
+    ocaml-migrate-parsetree = callPackage ../development/ocaml-modules/ocaml-migrate-parsetree { };
+
     ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
 
     ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
@@ -376,6 +384,8 @@ let
 
     ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
 
+    ocsigen-toolkit = callPackage ../development/ocaml-modules/ocsigen-toolkit { };
+
     ojquery = callPackage ../development/ocaml-modules/ojquery { };
 
     omd = callPackage ../development/ocaml-modules/omd { };
@@ -473,6 +483,8 @@ let
       then callPackage ../development/ocaml-modules/ppx_deriving {}
       else null;
 
+    ppx_deriving_yojson = callPackage ../development/ocaml-modules/ppx_deriving_yojson {};
+
     ppx_import = callPackage ../development/ocaml-modules/ppx_import {};
 
     ppx_tools =
@@ -490,6 +502,8 @@ let
 
     re = callPackage ../development/ocaml-modules/re { };
 
+    rresult = callPackage ../development/ocaml-modules/rresult { };
+
     safepass = callPackage ../development/ocaml-modules/safepass { };
 
     sedlex = callPackage ../development/ocaml-modules/sedlex { };
@@ -748,8 +762,6 @@ let
 
     haxe = callPackage ../development/compilers/haxe { };
 
-    ocaml-top = callPackage ../development/tools/ocaml/ocaml-top { };
-
     ocamlnat = callPackage  ../development/ocaml-modules/ocamlnat { };
 
     trv = callPackage ../development/tools/misc/trv { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index db37a83154e4..72b80afebbb6 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -25,10 +25,10 @@ let self = _self // overrides; _self = with self; {
 
 
   ack = buildPerlPackage rec {
-    name = "ack-2.14";
+    name = "ack-2.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "0gqv30666vlclnwylhk9i64s7raa70x4ncy6bg48s5gcxwrshjc5";
+      sha256 = "0ifbmbfvagfi76i7vjpggs2hrbqqisd14f5zizan6cbdn8dl5z2g";
     };
     outputs = ["out" "doc"];
     # use gnused so that the preCheck command passes
@@ -5120,6 +5120,35 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  FileFindObject = buildPerlPackage rec {
+    name = "File-Find-Object-v0.3.2";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "7c467b6b7752bff46b7b8b84c9aabeac45bbfdab1e2224108a2e2170adb9f2b7";
+    };
+    buildInputs = [ ModuleBuild perl ];
+    propagatedBuildInputs = [ ClassXSAccessor ];
+    meta = {
+      description = "An object oriented File::Find replacement";
+      license = stdenv.lib.licenses.artistic2;
+    };
+  };
+
+  FileFindObjectRule = buildPerlModule rec {
+    name = "File-Find-Object-Rule-0.0306";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "2ce55766b25fb8799d37b95bca61e8a71d8a437e28541e1cd06b7eb89f7739d1";
+    };
+    buildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ ClassXSAccessor FileFindObject NumberCompare TextGlob ];
+    meta = {
+      homepage = http://www.shlomifish.org/open-source/projects/File-Find-Object/;
+      description = "Alternative interface to File::Find::Object";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   FileFindRule = buildPerlPackage rec {
     name = "File-Find-Rule-0.33";
     src = fetchurl {
@@ -5142,6 +5171,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  FileFinder = buildPerlPackage rec {
+    name = "File-Finder-0.53";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/ME/MERLYN/${name}.tar.gz";
+      sha256 = "2ecbc19ac67a9e635c872a807a8d3eaaff5babc054f15a191d47cdfc5f176a74";
+    };
+    propagatedBuildInputs = [ TextGlob ];
+    meta = {
+      license = stdenv.lib.licenses.free; # Same as Perl
+    };
+  };
+
   FileHandleUnget = buildPerlPackage rec {
     name = "FileHandle-Unget-0.1628";
     src = fetchurl {
@@ -8692,6 +8733,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  MooX = buildPerlPackage rec {
+    name = "MooX-0.101";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/G/GE/GETTY/${name}.tar.gz";
+      sha256 = "2ff91a656e78aae0aca42293829d7a7e5acb9bf22b0401635b2ab6c870de32d5";
+    };
+    propagatedBuildInputs = [ DataOptList ImportInto ModuleRuntime Moo ];
+    meta = {
+      homepage = https://github.com/Getty/p5-moox;
+      description = "Using Moo and MooX:: packages the most lazy way";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   MooXlate = buildPerlPackage {
     name = "MooX-late-0.015";
     src = fetchurl {
@@ -10163,10 +10218,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   PathTiny = buildPerlPackage {
-    name = "Path-Tiny-0.052";
+    name = "Path-Tiny-0.104";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.052.tar.gz;
-      sha256 = "1b70yhbdww9k5m4a4lhdd71jrxdxhi10533slmxynxa04nyn2f0a";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.104.tar.gz;
+      sha256 = "c69f1dcfeb4aa004086deb9bc14c7d79f45798b947f1efbd634a3442e267aaef";
     };
     buildInputs = [ DevelHide Filepushd TestDeep TestFailWarnings TestFatal perl ];
     propagatedBuildInputs = [ autodie ];
@@ -12137,6 +12192,21 @@ let self = _self // overrides; _self = with self; {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
+ 
+  TaskFreecellSolverTesting = buildPerlModule rec {
+    name = "Task-FreecellSolver-Testing-v0.0.10";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "ce8960c0250a9947ae5b4485e8a3e807bb2d87b1120096464b3d2247d2c194ff";
+    };
+    buildInputs = [ ModuleBuild perl ];
+    propagatedBuildInputs = [ EnvPath FileWhich GamesSolitaireVerify Inline InlineC ListMoreUtils Moo MooX PathTiny StringShellQuote TaskTestRunAllPlugins TemplateToolkit TestDataSplit TestDifferences TestPerlTidy TestRunPluginTrimDisplayedFilenames TestRunValgrind TestTrailingSpace YAMLLibYAML ];
+    meta = {
+      homepage = http://metacpan.org/release/Task-FreecellSolver-Testing;
+      description = "Install the CPAN dependencies of the Freecell Solver test suite";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
 
   TaskPlack = buildPerlModule rec {
     name = "Task-Plack-0.28";
@@ -12147,6 +12217,21 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Plack PSGI ModuleBuildTiny ];
   };
 
+  TaskTestRunAllPlugins = buildPerlPackage rec {
+    name = "Task-Test-Run-AllPlugins-0.0105";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "fd43bd053aa884a5abca851f145a0e29898515dcbfc3512f18cd0d86d28eb0a9";
+    };
+    buildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ TestRun TestRunCmdLine TestRunPluginAlternateInterpreters TestRunPluginBreakOnFailure TestRunPluginColorFileVerdicts TestRunPluginColorSummary TestRunPluginTrimDisplayedFilenames ];
+    meta = {
+      homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
+      description = "Specifications for installing all the Test::Run";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   TaskWeaken = buildPerlPackage {
     name = "Task-Weaken-1.04";
     src = fetchurl {
@@ -12571,6 +12656,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TestDataSplit = buildPerlModule rec {
+    name = "Test-Data-Split-0.2.0";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "90811c2af56750bf08eeff39e1e30f2ff8f625e809ed838b5ccb56a256c4b595";
+    };
+    buildInputs = [ ModuleBuild TestDifferences perl ];
+    propagatedBuildInputs = [ IOAll ListMoreUtils MooX MooXlate ];
+    meta = {
+      description = "Split data-driven tests into several test scripts";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   TestDeep = buildPerlPackage {
     name = "Test-Deep-0.112";
     src = fetchurl {
@@ -12969,6 +13068,18 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ PerlCritic ];
   };
 
+  TestPerlTidy = buildPerlPackage rec {
+    name = "Test-PerlTidy-20130104";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/L/LA/LARRYL/${name}.tar.gz";
+      sha256 = "3f15d9f3f4811e348594620312258d75095237925b491ada623fa73ac9d2b9c8";
+    };
+    propagatedBuildInputs = [ FileFinder FileSlurp PerlTidy TextDiff ];
+    meta = {
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   TestPod = buildPerlPackage rec {
     name = "Test-Pod-1.51";
     src = fetchurl {
@@ -13058,6 +13169,129 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TestRun = buildPerlPackage rec {
+    name = "Test-Run-0.0304";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "f3feaf9c4494c0b3a5294228cab27efe93653b7e0bbd7fbb99b94b65b247f323";
+    };
+    buildInputs = [ ModuleBuild TestTrap ];
+    propagatedBuildInputs = [ IPCSystemSimple ListMoreUtils MROCompat Moose MooseXStrictConstructor TextSprintfNamed UNIVERSALrequire ];
+    meta = {
+      homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
+      description = "Base class to run standard TAP scripts";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  TestRunCmdLine = buildPerlPackage rec {
+    name = "Test-Run-CmdLine-0.0131";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "cceeeecd3f4b2f1d2929f3ada351c1ade23a8ac73ef0486dc6e9605ebcdaef18";
+    };
+    buildInputs = [ ModuleBuild TestTrap ];
+    propagatedBuildInputs = [ Moose MooseXGetopt TestRun UNIVERSALrequire YAMLLibYAML ];
+    meta = {
+      homepage = http://web-cpan.berlios.de/modules/Test-Run/;
+      description = "Analyze tests from the command line using Test::Run";
+      license = stdenv.lib.licenses.mit;
+    };
+   };
+
+  TestRunPluginAlternateInterpreters = buildPerlPackage rec {
+    name = "Test-Run-Plugin-AlternateInterpreters-0.0124";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "eecb3830d350b5d7853322df4f3090af42ff17e9c31075f8d4f69856c968bff3";
+    };
+    buildInputs = [ ModuleBuild TestTrap YAMLLibYAML ];
+    propagatedBuildInputs = [ MROCompat Moose TestRun TestRunCmdLine ];
+    meta = {
+      homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
+      description = "Define different interpreters for different test scripts with Test::Run";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  TestRunPluginBreakOnFailure = buildPerlPackage rec {
+    name = "Test-Run-Plugin-BreakOnFailure-v0.0.5";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "e422eb64a2fa6ae59837312e37ab88d68b4945148eb436a3774faed5074f0430";
+    };
+    buildInputs = [ ModuleBuild TestTrap YAMLLibYAML ];
+    propagatedBuildInputs = [ MROCompat Moose TestRun TestRunCmdLine ];
+    meta = {
+      homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
+      description = "Stop processing the entire test suite";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  TestRunPluginColorFileVerdicts = buildPerlPackage rec {
+    name = "Test-Run-Plugin-ColorFileVerdicts-0.0124";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "0418f03abe241f5a3c2a2ab3dd2679d11eee42c9e1f5b5a6ea80d9e238374302";
+    };
+    buildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ MROCompat Moose TestRun TestRunCmdLine ] ++ moreInputs;
+    moreInputs = [ TestTrap ]; # Added because tests were failing without it
+    doCheck=true;
+    meta = {
+      homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
+      description = "Make the file verdict ('ok', 'NOT OK')";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  TestRunPluginColorSummary = buildPerlModule rec {
+    name = "Test-Run-Plugin-ColorSummary-0.0202";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "ea4fb6768c4f6645cedf87d9b7c6baf97364ebc6f4171e4dd5f68939fb2bdd3a";
+    };
+    buildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ TestRun TestRunCmdLine ] ++ moreInputs;
+    moreInputs = [ TestTrap ]; # Added because tests were failing without it
+    doCheck=true;
+    meta = {
+      homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
+      description = "A Test::Run plugin that";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  TestRunPluginTrimDisplayedFilenames = buildPerlPackage rec {
+    name = "Test-Run-Plugin-TrimDisplayedFilenames-0.0125";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "2255bc5cb6ab65ee4dfff3bcdf007fb74785ff3bb439a9cef5052c66d80424a5";
+    };
+    buildInputs = [ ModuleBuild TestTrap YAMLLibYAML ];
+    propagatedBuildInputs = [ MROCompat Moose TestRun TestRunCmdLine ];
+    meta = {
+      homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
+      description = "Trim the first components";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  TestRunValgrind = buildPerlModule rec {
+    name = "Test-RunValgrind-0.0.1";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "67bf3cf3e7d5d23ec33e592f8b0dbcccfa01205d5bf0a3d73d8c8358d167e83f";
+    };
+    buildInputs = [ ModuleBuild perl ];
+    propagatedBuildInputs = [ PathTiny ];
+    meta = {
+      description = "Tests that an external program is valgrind-clean";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   TestScript = buildPerlPackage rec {
     name = "Test-Script-1.10";
     src = fetchurl {
@@ -13180,6 +13414,20 @@ let self = _self // overrides; _self = with self; {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
+ 
+  TestTrailingSpace = buildPerlPackage rec {
+    name = "Test-TrailingSpace-0.0301";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "a28875747adb7a0e7d1ae8a4ffe71869e7ceb3a85d0cb30172959dada7de5970";
+    };
+    buildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ FileFindObjectRule ];
+    meta = {
+      description = "Test for trailing space in source files";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
 
   TestUnitLite = buildPerlPackage {
     name = "Test-Unit-Lite-0.1202";
@@ -13674,6 +13922,19 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ if_ ];
   };
 
+  TextSprintfNamed = buildPerlPackage rec {
+    name = "Text-Sprintf-Named-0.0402";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "951317fce8fa5dd08190ba760182bc71f2b4346fa21df55c76155e6353e2864f";
+    };
+    buildInputs = [ ModuleBuild TestWarn ];
+    meta = {
+      description = "Sprintf-like function with named conversions";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   TextTable = buildPerlPackage rec {
     name = "Text-Table-1.130";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4dbb61cc4568..cf06f64421e1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -289,6 +289,8 @@ in {
 
   plantuml = callPackage ../tools/misc/plantuml { };
 
+  pyaes = callPackage ../development/python-modules/pyaes.nix { };
+
   pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}";
 
   pycairo = callPackage ../development/python-modules/pycairo { };
@@ -305,6 +307,37 @@ in {
 
   pygame-git = callPackage ../development/python-modules/pygame/git.nix { };
 
+  pygame_sdl2 = buildPythonPackage rec {
+    pname = "pygame_sdl2";
+    version = "6.99.10.1227";
+    name = "${pname}-${version}";
+
+    meta = {
+      description = "A reimplementation of parts of pygame API using SDL2";
+      homepage    = "https://github.com/renpy/pygame_sdl2";
+      # Some parts are also available under Zlib License
+      license     = licenses.lgpl2;
+      maintainers = with maintainers; [ raskin ];
+    };
+
+    propagatedBuildInputs = with self; [ ];
+    buildInputs = with pkgs; with self; [
+      SDL2 SDL2_image SDL2_ttf SDL2_mixer
+      cython libjpeg libpng ];
+
+    postInstall = ''
+      ( cd "$out"/include/python*/ ;
+        ln -s pygame-sdl2 pygame_sdl2 || true ; )
+    '';
+
+    src = pkgs.fetchFromGitHub {
+      owner = "renpy";
+      repo = "${pname}";
+      rev = "renpy-${version}";
+      sha256 = "10n6janvqh5adn7pcijqwqfh234sybjz788kb8ac6b4l11hy2lx1";
+    };
+  };
+
   pygobject2 = callPackage ../development/python-modules/pygobject { };
   pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { };
 
@@ -903,7 +936,7 @@ in {
 
 
   alot = buildPythonPackage rec {
-    rev = "0.5";
+    rev = "0.5.1";
     name = "alot-${rev}";
 
     disabled = isPy3k;
@@ -912,7 +945,7 @@ in {
       owner = "pazz";
       repo = "alot";
       inherit rev;
-      sha256 = "1hzajfh0f21k97xip9blg7zifiv3y5k33swp2h9sc57qd7qkr5i6";
+      sha256 = "0ipkhc5wllfq78lg47aiq4qih0yjq8ad9xkrbgc88xk8pk9166i8";
     };
 
     postPatch = ''
@@ -2896,7 +2929,7 @@ in {
     };
   };
 
-  # Needed for bleach 1.5.0 and calibre 2.76.0
+  # Needed for FlexGet 1.2.337 and calibre 2.76.0
   html5lib_0_9999999 = self.html5lib.override rec {
     name = "html5lib-${version}";
     buildInputs = with self; [ nose flake8 ];
@@ -2914,21 +2947,16 @@ in {
 
   bleach = buildPythonPackage rec {
     pname = "bleach";
-    version = "1.5.0";
+    version = "2.0.0";
     name = "${pname}-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-      sha256 = "978e758599b54cd3caa2e160d74102879b230ea8dc93871d0783721eef58bc65";
+      sha256 = "0c5w7hh70lqzca7ir71j891csvch1899r8q09zgswk1y00q22lmr";
     };
 
     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" ""
-    '';
+    propagatedBuildInputs = with self; [ six html5lib ];
 
     meta = {
       description = "An easy, HTML5, whitelisting HTML sanitizer";
@@ -3630,31 +3658,6 @@ in {
     };
   };
 
-  celery_3 = buildPythonPackage rec {
-    name = "celery-${version}";
-    version = "3.1.23";
-
-    disabled = (pythonOlder "2.6") || isPy35;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/celery/${name}.tar.gz";
-      sha256 = "0614ppp18vmiwdk0rxvz0wn62d7svanwdnx7jgqxpy9pb20rqd8s";
-    };
-
-    buildInputs = with self; [ mock nose unittest2 ];
-    propagatedBuildInputs = with self; [ kombu_3 billiard_33 pytz anyjson amqp_1 ];
-
-    checkPhase = ''
-      nosetests $out/${python.sitePackages}/celery/tests/
-    '';
-
-    meta = {
-      homepage = https://github.com/celery/celery/;
-      description = "Distributed task queue";
-      license = licenses.bsd3;
-    };
-  };
-
   celery = buildPythonPackage rec {
     name = "celery-${version}";
     version = "4.0.2";
@@ -4174,6 +4177,12 @@ in {
     # No tests available
     doCheck = false;
 
+    # Fix issue when used together with other namespace packages
+    # https://github.com/NixOS/nixpkgs/issues/23855
+    patches = [
+      ./../development/python-modules/configparser/0001-namespace-fix.patch
+    ];
+
     meta = {
       maintainers = [ ];
       platforms = platforms.all;
@@ -5085,6 +5094,8 @@ in {
     };
   };
 
+  python-jose = callPackage ../development/python-modules/python-jose {};
+
   pyhepmc = buildPythonPackage rec {
     name = "pyhepmc-${version}";
     version = "0.5.0";
@@ -5160,7 +5171,25 @@ in {
     };
   };
 
-  pytestdjango = callPackage ../development/python-modules/pytestdjango.nix { };
+  pytest-catchlog = buildPythonPackage rec {
+    name = "pytest-catchlog-1.2.2";
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/p/pytest-catchlog/${name}.zip";
+      sha256 = "1w7wxh27sbqwm4jgwrjr9c2gy384aca5jzw9c0wzhl0pmk2mvqab";
+    };
+
+    buildInputs = with self; [ pytest ];
+
+    checkPhase = "make test";
+
+    meta = {
+      license = licenses.mit;
+      website = https://pypi.python.org/pypi/pytest-catchlog/;
+      description = "py.test plugin to catch log messages. This is a fork of pytest-capturelog.";
+    };
+  };
+
+  pytest-django = callPackage ../development/python-modules/pytest-django { };
 
   pytest-fixture-config = buildPythonPackage rec {
     name = "${pname}-${version}";
@@ -5374,10 +5403,10 @@ in {
 
   pytest-shutil = buildPythonPackage rec {
     name = "pytest-shutil-${version}";
-    version = "1.1.1";
+    version = "1.2.8";
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pytest-shutil/${name}.tar.gz";
-      sha256 = "bb3c4fc2dddaf70b38bd9bb7a710d07728fa14f88fbc89c2a07979b383ade5d4";
+      sha256 = "924accaec3f3781416139e580386ab4f849cb8662bc1072405a81d3a5e56bf3d";
     };
     buildInputs = with self; [ cmdline pytest ];
     propagatedBuildInputs = with self; [ pytestcov coverage setuptools-git mock pathpy execnet contextlib2 ];
@@ -5389,12 +5418,9 @@ in {
       license = licenses.mit;
     };
 
-
     checkPhase = ''
       py.test
     '';
-    # Bunch of pickle errors
-    doCheck = false;
   };
 
   pytestcov = buildPythonPackage (rec {
@@ -5424,10 +5450,10 @@ in {
   pytest-virtualenv = buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "pytest-virtualenv";
-    version = "1.1.0";
+    version = "1.2.7";
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/${pname}/${name}.tar.gz";
-      sha256 = "093f5fa479ee6201e48db367c307531dc8b800609b0c3ddca9c01e0fd466a669";
+      sha256 = "51fb6468670624b2315aecaf1a2bbd698509e3ea6a1e28b094984c45e1376755";
     };
     buildInputs = with self; [ pytest pytestcov mock cmdline ];
     propagatedBuildInputs = with self; [ pytest-fixture-config pytest-shutil ];
@@ -5725,6 +5751,8 @@ in {
 
   leather = callPackage ../development/python-modules/leather { };
 
+  libais = callPackage ../development/python-modules/libais { };
+
   libtmux = buildPythonPackage rec {
     name = "libtmux-${version}";
     version = "0.6.0";
@@ -5839,17 +5867,16 @@ in {
 
   requests-cache = buildPythonPackage (rec {
     name = "requests-cache-${version}";
-    version = "0.4.10";
-    disabled = isPy3k;
+    version = "0.4.13";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/r/requests-cache/${name}.tar.gz";
-      sha256 = "671969d00719fa3e80476b128dc9232025926884d0110d4d235abdd9c3508fc0";
+      sha256 = "18jpyivnq5pjbkymk3i473rihpj2bgikafpha7xvr6w736hiqmpy";
     };
 
     buildInputs = with self; [ mock ];
 
-    propagatedBuildInputs = with self; [ self.six requests2 ];
+    propagatedBuildInputs = with self; [ requests2 six urllib3 ];
 
     meta = {
       description = "Persistent cache for requests library";
@@ -5982,26 +6009,11 @@ in {
       description = "Date parsing library designed to parse dates from HTML pages";
       homepage = http://pypi.python.org/pypi/dateparser;
       license = licenses.bsd3;
+      broken = true;
     };
   };
 
-  dateutil = buildPythonPackage (rec {
-    name = "dateutil-${version}";
-    version = "2.5.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-dateutil/python-${name}.tar.gz";
-      sha256 = "1v9j9fmf8g911yg6k01xa2db6dx3wv73zkk7fncsj7vagjqgs20l";
-    };
-
-    propagatedBuildInputs = with self; [ self.six ];
-
-    meta = {
-      description = "Powerful extensions to the standard datetime module";
-      homepage = http://pypi.python.org/pypi/python-dateutil;
-      license = "BSD-style";
-    };
-  });
+  dateutil = callPackage ../development/python-modules/dateutil { };
 
   # csvkit 0.9.1 needs dateutil==2.2
   dateutil_2_2 = buildPythonPackage (rec {
@@ -6590,24 +6602,8 @@ in {
     };
   };
 
-  ds4drv = buildPythonPackage rec {
-    name = "ds4drv-${version}";
-    version = "0.5.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/ds4drv/${name}.tar.gz";
-      sha256 = "0dq2z1z09zxa6rn3v94vwqaaz29jwiydkss8hbjglixf20krmw3b";
-    };
-
-    propagatedBuildInputs = with self; [ evdev pyudev ];
-
-    buildInputs = [ pkgs.bluez ];
-
-    meta = {
-      description = "Userspace driver for the DualShock 4 controller";
-      homepage = "https://github.com/chrippa/ds4drv";
-      license = licenses.mit;
-    };
-
+  ds4drv = callPackage ../development/python-modules/ds4drv.nix {
+    inherit (pkgs) fetchFromGitHub bluez;
   };
 
   dyn = buildPythonPackage rec {
@@ -6682,6 +6678,8 @@ in {
     };
   };
 
+  edward = callPackage ../development/python-modules/edward { };
+
   elasticsearch = buildPythonPackage (rec {
     name = "elasticsearch-1.9.0";
 
@@ -8599,9 +8597,44 @@ in {
 
     meta = {
       description = "A build system for software projects in a variety of languages";
-      homepage = "http://www.pantsbuild.org/";
-      license = licenses.asl20;
+      homepage    = "http://www.pantsbuild.org/";
+      license     = licenses.asl20;
       maintainers = with maintainers; [ copumpkin ];
+      platforms   = platforms.unix;
+    };
+  };
+
+  pants13-pre = buildPythonPackage rec {
+    pname   = "pantsbuild.pants";
+    version = "1.3.0.dev13";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "0gnz0f74s53xccfdn78v2dg1m3gx2mm0pdmmjvs5ikfbb9lidhz4";
+    };
+
+    prePatch = ''
+      sed -E -i "s/'([[:alnum:].-]+)[=><][[:digit:]=><.,]*'/'\\1'/g" setup.py
+    '';
+
+    # Unnecessary, and causes some really weird behavior around .class files, which
+    # this package bundles. See https://github.com/NixOS/nixpkgs/issues/22520.
+    dontStrip = true;
+
+    propagatedBuildInputs = with self; [
+      twitter-common-collections setproctitle setuptools six ansicolors
+      packaging pathspec_0_5 scandir twitter-common-dirutil psutil requests2
+      pystache pex docutils markdown pygments twitter-common-confluence
+      fasteners coverage pywatchman futures cffi
+    ];
+
+    meta = {
+      description = "A build system for software projects in a variety of languages";
+      homepage    = "http://www.pantsbuild.org/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+      platforms   = platforms.unix;
     };
   };
 
@@ -8640,6 +8673,7 @@ in {
     };
   };
 
+  # Get rid of this when pants 1.3.0 is released and make 0.5 the default
   pathspec = buildPythonPackage rec {
     pname   = "pathspec";
     version = "0.3.4";
@@ -8658,6 +8692,24 @@ in {
     };
   };
 
+  pathspec_0_5 = buildPythonPackage rec {
+    pname   = "pathspec";
+    version = "0.5.0";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "07yx1gxj9v1iyyiy5fhq2wsmh4qfbrx158wi7jb0nx6lah80ffma";
+    };
+
+    meta = {
+      description = "Utility library for gitignore-style pattern matching of file paths";
+      homepage = "https://github.com/cpburnz/python-path-specification";
+      license = licenses.mpl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
   pathtools = buildPythonPackage rec {
     name = "pathtools-${version}";
     version = "0.1.2";
@@ -8987,7 +9039,9 @@ in {
     };
   };
 
-   pybluez = buildPythonPackage rec {
+  pycassa = callPackage ../development/python-modules/pycassa { };
+
+  pybluez = buildPythonPackage rec {
     version = "unstable-20160819";
     pname = "pybluez";
     name = "${pname}-${version}";
@@ -10073,6 +10127,11 @@ in {
       substituteInPlace pywatchman/__init__.py \
         --replace "'watchman'" "'${pkgs.watchman}/bin/watchman'"
     '';
+    # SyntaxError
+    disabled = isPy3k;
+    # No tests in archive
+    doCheck = false;
+
   };
 
   zope_tales = buildPythonPackage rec {
@@ -10632,24 +10691,7 @@ in {
 
   djangorestframework = callPackage ../development/python-modules/djangorestframework { };
 
-  django_raster = buildPythonPackage rec {
-    name = "django-raster-${version}";
-    version = "0.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-raster/${name}.tar.gz";
-      sha256 = "0vn11y07wag7yvjzrk7m99xs3cqyaaaklwcsik9zbvw0kwp2khni";
-    };
-
-    propagatedBuildInputs = with self ; [ numpy django_colorful pillow psycopg2
-                                          pyparsing django celery_3 ];
-
-    meta = {
-      description = "Basic raster data integration for Django";
-      homepage = https://github.com/geodesign/django-raster;
-      license = licenses.mit;
-    };
-  };
+  django-raster = callPackage ../development/python-modules/django-raster { };
 
   django_redis = buildPythonPackage rec {
     name = "django-redis-${version}";
@@ -13101,12 +13143,12 @@ in {
   };
 
   ipython = buildPythonPackage rec {
-    version = "5.2.1";
+    version = "5.3.0";
     name = "ipython-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/i/ipython/${name}.tar.gz";
-      sha256 = "04dafc37c8876e10e797264302e4333dbcd2854ef6d16bb57cc12ce26515bfdb";
+      sha256 = "bf5e615e7d96dac5a61fbf98d9e2926d98aa55582681bea7e9382992a3f43c1d";
     };
 
     prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -13136,12 +13178,12 @@ in {
   };
 
   ipython_genutils = buildPythonPackage rec {
-    version = "0.1.0";
+    version = "0.2.0";
     name = "ipython_genutils-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/i/ipython_genutils/${name}.tar.gz";
-      sha256 = "3a0624a251a26463c9dfa0ffa635ec51c4265380980d9a50d65611c3c2bd82a6";
+      sha256 = "eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8";
     };
 
     LC_ALL = "en_US.UTF-8";
@@ -13471,16 +13513,16 @@ in {
   };
 
   jupyter_client = buildPythonPackage rec {
-    version = "4.4.0";
+    version = "5.0.0";
     name = "jupyter_client-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/j/jupyter_client/${name}.tar.gz";
-      sha256 = "c99a52fac2e5b7a3b714e9252ebf72cbf97536d556ae2b5082baccc3e5cd52ee";
+      sha256 = "2766f9c2deb9ae826e65d53a56a36d69b184f63d0dcb7710835273327126bc5b";
     };
 
     buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [traitlets jupyter_core pyzmq] ++ optional isPyPy py;
+    propagatedBuildInputs = with self; [traitlets jupyter_core pyzmq dateutil] ++ optional isPyPy py;
 
     checkPhase = ''
       nosetests -v
@@ -13498,12 +13540,12 @@ in {
   };
 
   jupyter_core = buildPythonPackage rec {
-    version = "4.2.1";
+    version = "4.3.0";
     name = "jupyter_core-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/j/jupyter_core/${name}.tar.gz";
-      sha256 = "89c55399c8437f777197c2c82c1ff5639c7f71d4eb2f172a81afa120b68dc7b3";
+      sha256 = "a96b129e1641425bf057c3d46f4f44adce747a7d60107e8ad771045c36514d40";
     };
 
     buildInputs = with self; [ pytest mock ];
@@ -13873,6 +13915,10 @@ in {
     clblas = pkgs.clblas-cuda;
   };
 
+  libnacl = callPackage ../development/python-modules/libnacl/default.nix {
+    inherit (pkgs) libsodium;
+  };
+
   libplist = if isPy3k then throw "libplist not supported for interpreter ${python.executable}" else
     (pkgs.libplist.override{python2Packages=self; }).py;
 
@@ -13947,6 +13993,28 @@ in {
     };
   };
 
+  livereload = buildPythonPackage rec {
+    name = "livereload-${version}";
+    version = "2.5.0";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "lepture";
+      repo = "python-livereload";
+      rev = "v${version}";
+      sha256 = "0ixsc7wibmkfk9fnyq0d1b5d9snxfpzzzgsxvq28rn54v6q8b7m2";
+    };
+
+    buildInputs = with self; [ nose django ];
+
+    propagatedBuildInputs = with self; [ tornado six ];
+
+    meta = {
+      description = "Runs a local server that reloads as you develop";
+      homepage = "https://github.com/lepture/python-livereload";
+      license = licenses.bsd3;
+    };
+  };
+
   llfuse = buildPythonPackage rec {
     name = "llfuse-1.0";
 
@@ -15344,16 +15412,15 @@ in {
   };
 
   pygal = buildPythonPackage rec {
-    version = "2.0.10";
-    name = "pygal-${version}";
+    pname = "pygal";
+    version = "2.3.1";
+    name = "${pname}-${version}";
 
     doCheck = !isPyPy;  # one check fails with pypy
 
-    src = pkgs.fetchFromGitHub {
-      owner = "Kozea";
-      repo = "pygal";
-      rev = version;
-      sha256 = "1j7qjgraapvfc80yp8xcbddqrw8379gqi7pwkvfml3qcqm0z0d33";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "7ba5a191233d0c2d8bf4b4d26b06e42bd77483a59ba7d3e5b884d81d1a870667";
     };
 
     buildInputs = with self; [ flask pyquery pytest ];
@@ -15610,12 +15677,12 @@ in {
   };
 
   nbformat = buildPythonPackage rec {
-    version = "4.2.0";
+    version = "4.3.0";
     name = "nbformat-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/nbformat/${name}.tar.gz";
-      sha256 = "389a5b630a30539074f238a48fb9864592f63d611baccfa2ffaf14ffe239de06";
+      sha256 = "5febcce872672f1c97569e89323992bdcb8573fdad703f835e6521253191478b";
     };
     LC_ALL="en_US.UTF-8";
     buildInputs = with self; [ pytest pkgs.glibcLocales ];
@@ -16058,12 +16125,12 @@ in {
   };
 
   notebook = buildPythonPackage rec {
-    version = "4.3.2";
+    version = "4.4.1";
     name = "notebook-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/notebook/${name}.tar.gz";
-      sha256 = "fc77edf4ec295542172aa66a3e9d527e75038fcaadd3ed20afbf8596e5629aa9";
+      sha256 = "dfadef2babd7c04c6c257df7d07d7ba587e503dbb4e4c95305f9a95b8d3a9765";
     };
 
     LC_ALL = "en_US.UTF-8";
@@ -18205,7 +18272,7 @@ in {
 
   parsedatetime = buildPythonPackage rec {
     name = "parsedatetime-${version}";
-    version = "2.1";
+    version = "2.3";
 
     meta = {
       description = "Parse human-readable date/time text";
@@ -18213,11 +18280,12 @@ in {
       license = licenses.asl20;
     };
 
-    buildInputs = with self; [ PyICU nose ];
+    buildInputs = with self; [ pytest pytestrunner ];
+    propagatedBuildInputs = with self; [ future ];
 
     src = pkgs.fetchurl {
         url = "mirror://pypi/p/parsedatetime/${name}.tar.gz";
-        sha256 = "0bdgyw6y3v7bcxlx0p50s8drxsh5bb5cy2afccqr3j90amvpii8p";
+        sha256 = "1vkrmd398s11h1zn3zaqqsiqhj9lwy1ikcg6irx2lrgjzjg3rjll";
     };
   };
 
@@ -18453,14 +18521,14 @@ in {
 
   pathlib2 = if !(pythonOlder "3.4") then null else buildPythonPackage rec {
     name = "pathlib2-${version}";
-    version = "2.1.0";
+    version = "2.2.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pathlib2/${name}.tar.gz";
-      sha256 = "deb3a960c1d55868dfbcac98432358b92ba89d95029cddd4040db1f27405055c";
+      sha256 = "ce9007df617ef6b7bd8a31cd2089ed0c1fed1f7c23cf2bf1ba140b3dd563175d";
     };
 
-    propagatedBuildInputs = with self; [ six ];
+    propagatedBuildInputs = with self; [ six ] ++ optional (pythonOlder "3.5") scandir;
 
     meta = {
       description = "This module offers classes representing filesystem paths with semantics appropriate for different operating systems.";
@@ -18471,12 +18539,12 @@ in {
   };
 
   pathpy = buildPythonPackage rec {
-    version = "8.1.2";
+    version = "10.1";
     name = "path.py-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/path.py/${name}.tar.gz";
-      sha256 = "ada95d117c4559abe64080961daf5badda68561afdd34c278f8ca20f2fa466d2";
+      sha256 = "8b0ee56f6c1421a9038823926ee8da354ce70933424b408558bc6b48496587f3";
     };
 
     buildInputs = with self; [setuptools_scm pytestrunner pytest pkgs.glibcLocales ];
@@ -18823,15 +18891,18 @@ in {
   };
 
   pickleshare = buildPythonPackage rec {
-    version = "0.5";
+    version = "0.7.4";
     name = "pickleshare-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pickleshare/${name}.tar.gz";
-      sha256 = "c0be5745035d437dbf55a96f60b7712345b12423f7d0951bd7d8dc2141ca9286";
+      sha256 = "84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b";
     };
 
-    propagatedBuildInputs = with self; [pathpy];
+    propagatedBuildInputs = with self; [pathpy] ++ optional (pythonOlder "3.4") pathlib2;
+
+    # No proper test suite
+    doCheck = false;
 
     meta = {
       description = "Tiny 'shelve'-like database with concurrency support";
@@ -18886,6 +18957,10 @@ in {
     };
   };
 
+  pip-tools = callPackage ../development/python-modules/pip-tools {
+    glibcLocales = pkgs.glibcLocales;
+  };
+
   pika = buildPythonPackage rec {
     name = "pika-${version}";
     version = "0.10.0";
@@ -18928,6 +19003,8 @@ in {
      };
   };
 
+  proselint = callPackage ../tools/text/proselint { };
+
   pylibconfig2 = buildPythonPackage rec {
     name = "pylibconfig2-${version}";
     version = "0.2.4";
@@ -18948,6 +19025,8 @@ in {
     };
   };
 
+  pylibmc = callPackage ../development/python-modules/pylibmc {};
+
   pymetar = buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "pymetar";
@@ -19195,12 +19274,12 @@ in {
   };
 
   powerline = buildPythonPackage rec {
-    rev  = "2.4";
+    rev  = "2.5.2";
     name = "powerline-${rev}";
     src = pkgs.fetchurl {
       url    = "https://github.com/powerline/powerline/archive/${rev}.tar.gz";
       name   = "${name}.tar.gz";
-      sha256 = "12fp3cpwgpkxcj4mfjdpsmf1h0b8pqy1icb07jdivz9kw18h0184";
+      sha256 = "064rp2jzz4vp1xqk3445qf08pq3aif00q1rjqaqx2pla15s27yrz";
     };
 
     propagatedBuildInputs = with self; [ pkgs.git pkgs.mercurial pkgs.bazaar self.psutil self.pygit2 ];
@@ -19319,10 +19398,10 @@ in {
 
   prompt_toolkit = buildPythonPackage rec {
     name = "prompt_toolkit-${version}";
-    version = "1.0.9";
+    version = "1.0.13";
 
     src = pkgs.fetchurl {
-      sha256 = "172r15k9kwdw2lnajvpz1632dd16nqz1kcal1p0lq5ywdarj6rfd";
+      sha256 = "33d68ca09f76cd73287fde7df5748ffacf26a8238dd61ee81ac50860ea7c6776";
       url = "mirror://pypi/p/prompt_toolkit/${name}.tar.gz";
     };
     checkPhase = ''
@@ -19769,7 +19848,6 @@ in {
     };
   };
 
-
   Babel = buildPythonPackage (rec {
     name = "Babel-2.3.4";
 
@@ -20382,6 +20460,8 @@ in {
     };
   };
 
+  PyGithub = callPackage ../development/python-modules/pyGithub {};
+
   pyglet = buildPythonPackage rec {
     name = "pyglet-${version}";
     version = "1.2.4";
@@ -21198,32 +21278,10 @@ in {
     buildInputs = with self; [ pyasn1 pycrypto ];
   };
 
-  pyudev = buildPythonPackage rec {
-    name = "pyudev-${version}";
-    version = "0.16.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyudev/${name}.tar.gz";
-      sha256 = "765d1c14bd9bd031f64e2612225621984cb2bbb8cbc0c03538bcc4c735ff1c95";
-    };
-
-    postPatch = ''
-      sed -i -e '/udev_library_name/,/^ *libudev/ {
-        s|CDLL([^,]*|CDLL("${pkgs.systemd.lib}/lib/libudev.so.1"|p; d
-      }' pyudev/_libudev.py
-    '';
-
-    propagatedBuildInputs = with self; [ pkgs.systemd ];
-
-    meta = {
-      homepage = "http://pyudev.readthedocs.org/";
-      description = "Pure Python libudev binding";
-      license = licenses.lgpl21Plus;
-      platforms = platforms.linux;
-    };
+  pyudev = callPackage ../development/python-modules/pyudev.nix {
+    inherit (pkgs) fetchurl systemd;
   };
 
-
   pynzb = buildPythonPackage (rec {
     name = "pynzb-0.1.0";
 
@@ -21540,11 +21598,15 @@ in {
 
     checkPhase = ''
       runHook preCheck
-      export LANG="en_US.UTF-8";
-      py.test;
+      export LANG="en_US.UTF-8"
+      py.test
       runHook postCheck
     '';
 
+    # Seems to fail unpredictably on Darwin. See http://hydra.nixos.org/build/49877419/nixlog/1
+    # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail.
+    doCheck = !stdenv.isDarwin;
+
     buildInputs = [ pkgs.openssl self.pytest pkgs.glibcLocales ];
     propagatedBuildInputs = [ self.cryptography self.pyasn1 self.idna ];
   };
@@ -23451,11 +23513,11 @@ in {
 
   setuptools_scm = buildPythonPackage rec {
     name = "setuptools_scm-${version}";
-    version = "1.11.1";
+    version = "1.15.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/setuptools_scm/${name}.tar.gz";
-      sha256 = "8c45f738a23410c5276b0ed9294af607f491e4260589f1eb90df8312e23819bf";
+      sha256 = "0bwyc5markib0i7i2qlyhdzxhiywzxbkfiapldma8m91m82jvwfs";
     };
 
     buildInputs = with self; [ pip pytest ];
@@ -23876,7 +23938,7 @@ in {
       sha256 = "0kqvjb89b02wp41p650ydfspi1s8d7akx1igcrw62diidqbxp04n";
     };
 
-    propagatedBuildInputs = with self; [ pydns lockfile ];
+    propagatedBuildInputs = with self; [ bsddb3 pydns lockfile ];
 
     meta = {
       description = "Statistical anti-spam filter, initially based on the work of Paul Graham";
@@ -24758,8 +24820,21 @@ in {
     };
   });
 
+  sphinxcontrib-openapi = buildPythonPackage (rec {
+    name = "sphinxcontrib-openapi-0.3.0";
+
+    doCheck = false;
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/s/sphinxcontrib-openapi/${name}.tar.gz";
+      sha256 = "0fyniq37nnmhrk4j7mzvg6vfcpb624hb9x70g6mccyw4xrnhadv6";
+    };
+
+    propagatedBuildInputs = with self; [setuptools_scm pyyaml jsonschema sphinxcontrib_httpdomain];
+  });
+
   sphinxcontrib_httpdomain = buildPythonPackage (rec {
-    name = "sphinxcontrib-httpdomain-1.3.0";
+    name = "sphinxcontrib-httpdomain-1.5.0";
 
     # Check is disabled due to this issue:
     # https://bitbucket.org/pypa/setuptools/issue/137/typeerror-unorderable-types-str-nonetype
@@ -24767,7 +24842,7 @@ in {
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/sphinxcontrib-httpdomain/${name}.tar.gz";
-      sha256 = "ba8fbe82eddc96cfa9d7b975b0422801a14ace9d7e051b8b2c725b92ea6137b5";
+      sha256 = "0srg8lwf4m1hyhz942fcdfxh689xphndngiidb575qmfbi89gc7a";
     };
 
     propagatedBuildInputs = with self; [sphinx];
@@ -25672,12 +25747,13 @@ in {
   };
 
   traitlets = buildPythonPackage rec {
-    version = "4.3.1";
-    name = "traitlets-${version}";
+    pname = "traitlets";
+    version = "4.3.2";
+    name = "${pname}-${version}";
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/traitlets/${name}.tar.gz";
-      sha256 = "ba8c94323ccbe8fd792e45d8efe8c95d3e0744cc8c085295b607552ab573724c";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835";
     };
 
     LC_ALL = "en_US.UTF-8";
@@ -28223,10 +28299,10 @@ EOF
   };
 
   pyzmq = buildPythonPackage rec {
-    name = "pyzmq-15.2.0";
+    name = "pyzmq-16.0.2";
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pyzmq/${name}.tar.gz";
-      sha256 = "2dafa322670a94e20283aba2a44b92134d425bd326419b68ad4db8d0831a26ec";
+      sha256 = "0322543fff5ab6f87d11a8a099c4c07dd8a1719040084b6ce9162bcdf5c45c9d";
     };
     buildInputs = with self; [ pkgs.zeromq3 pytest tornado ];
     propagatedBuildInputs = [ self.py ];
@@ -29074,6 +29150,8 @@ EOF
     };
   };
 
+  first = callPackage ../development/python-modules/first {};
+
   flaskbabel = buildPythonPackage rec {
     name = "Flask-Babel-0.11.1";
 
@@ -30812,48 +30890,9 @@ EOF
     };
   };
 
-  mnemonic = buildPythonPackage rec{
-    version = "0.12";
-    name = "mnemonic-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mnemonic/${name}.tar.gz";
-      sha256 = "0j5jm4v54135qqw455fw4ix2mhxhzjqvxji9gqkpxagk31cvbnj4";
-    };
+  mnemonic = callPackage ../development/python-modules/mnemonic.nix { };
 
-    propagatedBuildInputs = with self; [ pbkdf2 ];
-
-    meta = {
-      description = "Implementation of Bitcoin BIP-0039";
-      homepage = https://github.com/trezor/python-mnemonic;
-      license = licenses.mit;
-      maintainers = with maintainers; [ np ];
-    };
-  };
-
-  trezor = buildPythonPackage rec{
-    version = "0.7.4";
-    name = "trezor-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/trezor/${name}.tar.gz";
-      sha256 = "18nr76jkdg24sb3r8cfbiq12b95gnh0amc0r1wx9mmg3pwq6jx6y";
-    };
-
-    propagatedBuildInputs = with self; [ protobuf3_0 hidapi ];
-
-    buildInputs = with self; [ ecdsa mnemonic ];
-
-    # There are no actual tests: "ImportError: No module named tests"
-    doCheck = false;
-
-    meta = {
-      description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet";
-      homepage = https://github.com/trezor/python-trezor;
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ np ];
-    };
-  };
+  trezor = callPackage ../development/python-modules/trezor.nix { };
 
   keepkey = buildPythonPackage rec{
     version = "0.7.3";
@@ -31350,7 +31389,7 @@ EOF
       sha256 = "0hq887yb3rwc0rcw32lh7xdkk9bbrqy274aspzqkd6f7dyhp73ih";
     };
 
-    disabled = isPy3k;
+    propagatedBuildInputs = with self; [ requests-cache ];
 
     meta = {
       description = "Simple to use TVDB (thetvdb.com) API in Python.";
@@ -31362,19 +31401,18 @@ EOF
 
   tvnamer = buildPythonPackage rec {
     name = "tvnamer-${version}";
-    version = "2.3";
+    version = "2.4";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/t/tvnamer/${name}.tar.gz";
-      sha256 = "15i6qvhwhcx08c96xx3s2841yc7k8gxrqqvhw908c11g0045c2r3";
+      sha256 = "10iizmwna2xpyc2694hsrvny68y3bdq576p8kxsvg5gj2spnsxav";
     };
 
-    propagatedBuildInputs = with self; [
-      tvdb_api
-    ];
+    buildInputs = with self; [ pytest ];
+    propagatedBuildInputs = with self; [ tvdb_api ];
 
-    # tvdb_api isn't working with Python 3
-    disabled = isPy3k;
+    # a ton of tests fail with: IOError: tvnamer/main.py could not be found in . or ..
+    doCheck = false;
 
     meta = {
       description = "Automatic TV episode file renamer, uses data from thetvdb.com via tvdb_api.";
@@ -32100,6 +32138,9 @@ EOF
   yenc = callPackage ../development/python-modules/yenc {
   };
 
+  zeep = callPackage ../development/python-modules/zeep {
+  };
+
   zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else
     (pkgs.zeitgeist.override{python2Packages=self;}).py;
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 3a9a304a72d2..b5207879a5e6 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -41,23 +41,18 @@ let
               jobs.lib-tests
               jobs.stdenv.x86_64-linux
               jobs.stdenv.i686-linux
-              jobs.stdenv.aarch64-linux
               jobs.stdenv.x86_64-darwin
               jobs.linux.x86_64-linux
               jobs.linux.i686-linux
-              jobs.linux.aarch64-linux
               jobs.python.x86_64-linux
               jobs.python.i686-linux
-              jobs.python.aarch64-linux
               jobs.python.x86_64-darwin
               jobs.python3.x86_64-linux
               jobs.python3.i686-linux
-              jobs.python3.aarch64-linux
               jobs.python3.x86_64-darwin
               # Many developers use nix-repl
               jobs.nix-repl.x86_64-linux
               jobs.nix-repl.i686-linux
-              jobs.nix-repl.aarch64-linux
               jobs.nix-repl.x86_64-darwin
               # Needed by travis-ci to test PRs
               jobs.nox.i686-linux
@@ -66,7 +61,6 @@ let
               # Ensure that X11/GTK+ are in order.
               jobs.thunderbird.x86_64-linux
               jobs.thunderbird.i686-linux
-              jobs.thunderbird.aarch64-linux
               # Ensure that basic stuff works on darwin
               jobs.git.x86_64-darwin
               jobs.mysql.x86_64-darwin
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index faed3a218fc5..1659208f76f2 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,9 +7,9 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2017-02-19";
-  rev = "d822c5853cb14caa5de84a71f6d4ed07ea5e31e1";
-  sha256 = "18m0smlqw3vkn0ljk01l333jj0x32m8rr1dgmpnq621vqvpk5mzp";
+  version = "2017-03-13";
+  rev = "e5b7b45fa4e1168715a1132a65ad89fbc1d5ed82";
+  sha256 = "1glwd7b5ckiw2nzc28djyarml21cqdajc1jn03vzf4sl58bvahyb";
 
   src = fetchFromGitHub {
       inherit rev;