summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/Makefile5
-rw-r--r--doc/coding-conventions.xml168
-rw-r--r--doc/cross-compilation.xml27
-rw-r--r--doc/default.nix1
-rw-r--r--doc/functions.xml48
-rw-r--r--doc/languages-frameworks/bower.xml4
-rw-r--r--doc/meta.xml52
-rw-r--r--doc/multiple-output.xml32
-rw-r--r--doc/package-notes.xml12
-rw-r--r--doc/shell.nix2
-rw-r--r--doc/stdenv.xml426
-rw-r--r--lib/systems/platforms.nix157
-rw-r--r--maintainers/maintainer-list.nix30
-rw-r--r--nixos/doc/manual/Makefile5
-rw-r--r--nixos/doc/manual/administration/boot-problems.xml15
-rw-r--r--nixos/doc/manual/configuration/config-file.xml24
-rw-r--r--nixos/doc/manual/configuration/linux-kernel.xml51
-rw-r--r--nixos/doc/manual/development/building-parts.xml27
-rw-r--r--nixos/doc/manual/development/option-declarations.xml12
-rw-r--r--nixos/doc/manual/development/option-types.xml129
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.xml81
-rw-r--r--nixos/doc/manual/installation/installing.xml20
-rw-r--r--nixos/doc/manual/man-nixos-build-vms.xml27
-rw-r--r--nixos/doc/manual/man-nixos-enter.xml49
-rw-r--r--nixos/doc/manual/man-nixos-generate-config.xml41
-rw-r--r--nixos/doc/manual/man-nixos-install.xml92
-rw-r--r--nixos/doc/manual/man-nixos-option.xml30
-rw-r--r--nixos/doc/manual/man-nixos-rebuild.xml135
-rw-r--r--nixos/doc/manual/man-nixos-version.xml28
-rw-r--r--nixos/doc/manual/release-notes/rl-1509.xml10
-rw-r--r--nixos/doc/manual/release-notes/rl-1809.xml107
-rw-r--r--nixos/doc/manual/shell.nix2
-rwxr-xr-xnixos/doc/varlistentry-fixer.rb124
-rw-r--r--nixos/doc/xmlformat.conf7
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix25
-rw-r--r--nixos/modules/module-list.nix2
-rw-r--r--nixos/modules/programs/mosh.nix18
-rw-r--r--nixos/modules/services/audio/mpd.nix9
-rw-r--r--nixos/modules/services/backup/duplicati.nix19
-rw-r--r--nixos/modules/services/cluster/kubernetes/default.nix2
-rw-r--r--nixos/modules/services/computing/slurm/slurm.nix65
-rw-r--r--nixos/modules/services/mail/exim.nix1
-rw-r--r--nixos/modules/services/misc/gitea.nix4
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix12
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix1
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix39
-rw-r--r--nixos/modules/services/networking/morty.nix98
-rw-r--r--nixos/modules/services/networking/openntpd.nix10
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix36
-rw-r--r--nixos/modules/services/networking/sslh.nix114
-rw-r--r--nixos/modules/services/scheduling/fcron.nix1
-rw-r--r--nixos/modules/services/security/munge.nix16
-rw-r--r--nixos/modules/services/web-servers/minio.nix2
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix5
-rw-r--r--nixos/modules/system/boot/loader/grub/install-grub.pl26
-rw-r--r--nixos/modules/system/boot/systemd-lib.nix14
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix3
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix2
-rw-r--r--nixos/modules/virtualisation/kvmgt.nix64
-rw-r--r--nixos/release-combined.nix14
-rw-r--r--nixos/release.nix4
-rw-r--r--nixos/tests/gnome3.nix9
-rw-r--r--nixos/tests/haproxy.nix41
-rw-r--r--nixos/tests/hydra.nix32
-rwxr-xr-xnixos/tests/hydra/create-trivial-project.sh56
-rw-r--r--nixos/tests/hydra/default.nix78
-rw-r--r--nixos/tests/iftop.nix14
-rw-r--r--nixos/tests/memcached.nix28
-rw-r--r--nixos/tests/morty.nix32
-rw-r--r--nixos/tests/slurm.nix24
-rw-r--r--pkgs/applications/altcoins/aeon/default.nix30
-rw-r--r--pkgs/applications/altcoins/default.nix1
-rw-r--r--pkgs/applications/altcoins/parity-ui/default.nix4
-rw-r--r--pkgs/applications/altcoins/parity/beta.nix7
-rw-r--r--pkgs/applications/altcoins/parity/default.nix8
-rw-r--r--pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch101
-rw-r--r--pkgs/applications/audio/faust/faust2.nix8
-rw-r--r--pkgs/applications/audio/midas/generic.nix43
-rw-r--r--pkgs/applications/audio/midas/m32edit.nix9
-rw-r--r--pkgs/applications/audio/midas/x32edit.nix9
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix4
-rw-r--r--pkgs/applications/audio/pulseaudio-ctl/default.nix41
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/qsampler/default.nix4
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix4
-rw-r--r--pkgs/applications/audio/snd/default.nix4
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/haskell/default.nix3
-rw-r--r--pkgs/applications/editors/emacs/macport.nix6
-rw-r--r--pkgs/applications/editors/focuswriter/default.nix4
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix12
-rw-r--r--pkgs/applications/editors/ne/default.nix4
-rw-r--r--pkgs/applications/editors/scite/default.nix6
-rw-r--r--pkgs/applications/editors/vscode/default.nix8
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix5
-rw-r--r--pkgs/applications/graphics/freecad/default.nix12
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix13
-rw-r--r--pkgs/applications/misc/barrier/default.nix33
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cura/default.nix16
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/hello-unfree/default.nix23
-rw-r--r--pkgs/applications/misc/hello/default.nix3
-rw-r--r--pkgs/applications/misc/jekyll/basic/Gemfile.lock8
-rw-r--r--pkgs/applications/misc/jekyll/basic/gemset.nix16
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile.lock12
-rw-r--r--pkgs/applications/misc/jekyll/full/gemset.nix24
-rw-r--r--pkgs/applications/misc/udiskie/default.nix4
-rw-r--r--pkgs/applications/misc/urh/default.nix4
-rw-r--r--pkgs/applications/misc/wsjtx/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix786
-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/tor-browser-bundle-bin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/kvm2.nix36
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix105
-rw-r--r--pkgs/applications/networking/errbot/default.nix4
-rw-r--r--pkgs/applications/networking/flent/default.nix4
-rw-r--r--pkgs/applications/networking/ids/bro/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix96
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix8
-rw-r--r--pkgs/applications/networking/ipfs/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix22
-rw-r--r--pkgs/applications/networking/newsreaders/quiterss/0001-Revert-change-WebKit-602.1-c2f.patch157
-rw-r--r--pkgs/applications/networking/newsreaders/quiterss/default.nix15
-rw-r--r--pkgs/applications/networking/p2p/synapse-bt/default.nix27
-rw-r--r--pkgs/applications/networking/p2p/zeronet/default.nix41
-rw-r--r--pkgs/applications/networking/remote/citrix-receiver/default.nix3
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/xearth/default.nix32
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/logic/cryptoverif/default.nix4
-rw-r--r--pkgs/applications/science/logic/z3/default.nix6
-rw-r--r--pkgs/applications/science/math/pynac/default.nix4
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix4
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--pkgs/applications/version-management/subversion/default.nix13
-rw-r--r--pkgs/applications/video/mapmap/default.nix63
-rw-r--r--pkgs/applications/video/obs-studio/linuxbrowser.nix48
-rw-r--r--pkgs/applications/video/vlc/default.nix12
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix7
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix2
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix20
-rw-r--r--pkgs/build-support/docker/default.nix2
-rw-r--r--pkgs/build-support/setup-hooks/auto-patchelf.sh1
-rw-r--r--pkgs/data/fonts/unifont/default.nix8
-rw-r--r--pkgs/data/misc/cacert/default.nix2
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--pkgs/data/misc/wireless-regdb/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/vinagre/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/geocode-glib/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/totem/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/core/vte/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-applets/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-themes/default.nix4
-rw-r--r--pkgs/development/compilers/adobe-flex-sdk/default.nix41
-rw-r--r--pkgs/development/compilers/apache-flex-sdk/default.nix56
-rw-r--r--pkgs/development/compilers/ats2/default.nix8
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix19
-rw-r--r--pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix7
-rw-r--r--pkgs/development/compilers/ghcjs-ng/default.nix9
-rw-r--r--pkgs/development/compilers/jetbrains-jdk/default.nix4
-rw-r--r--pkgs/development/compilers/julia/0.6.nix12
-rw-r--r--pkgs/development/compilers/mint/crystal2nix.cr35
-rw-r--r--pkgs/development/compilers/mint/default.nix61
-rw-r--r--pkgs/development/compilers/mint/shards.nix62
-rw-r--r--pkgs/development/compilers/owl-lisp/default.nix4
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/rust/binaryBuild.nix2
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix14
-rw-r--r--pkgs/development/compilers/rust/default.nix20
-rw-r--r--pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch53
-rw-r--r--pkgs/development/compilers/rust/patches/disable-test-inherit-env.patch10
-rw-r--r--pkgs/development/compilers/rust/patches/grsec.patch24
-rw-r--r--pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch104
-rw-r--r--pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch20
-rw-r--r--pkgs/development/compilers/rust/rustc.nix3
-rw-r--r--pkgs/development/compilers/scala/dotty-bare.nix4
-rw-r--r--pkgs/development/compilers/urn/default.nix61
-rw-r--r--pkgs/development/coq-modules/contribs/default.nix17
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix11
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml237
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix11
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix3121
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix5
-rw-r--r--pkgs/development/interpreters/joker/default.nix4
-rw-r--r--pkgs/development/interpreters/racket/default.nix12
-rw-r--r--pkgs/development/interpreters/renpy/default.nix4
-rw-r--r--pkgs/development/libraries/SDL/default.nix6
-rw-r--r--pkgs/development/libraries/SDL2/default.nix3
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix3
-rw-r--r--pkgs/development/libraries/SDL2_image/default.nix3
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix3
-rw-r--r--pkgs/development/libraries/SDL2_net/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2_ttf/default.nix2
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/bulletml/default.nix73
-rw-r--r--pkgs/development/libraries/cairo/default.nix4
-rw-r--r--pkgs/development/libraries/cfitsio/darwin-curl-config.patch25
-rw-r--r--pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch21
-rw-r--r--pkgs/development/libraries/cfitsio/default.nix6
-rw-r--r--pkgs/development/libraries/eigen/3.3.nix11
-rw-r--r--pkgs/development/libraries/fftw/default.nix4
-rw-r--r--pkgs/development/libraries/freeimage/default.nix6
-rw-r--r--pkgs/development/libraries/gdal/default.nix12
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix18
-rw-r--r--pkgs/development/libraries/getdns/default.nix6
-rw-r--r--pkgs/development/libraries/java/lombok/default.nix4
-rw-r--r--pkgs/development/libraries/json-glib/default.nix21
-rw-r--r--pkgs/development/libraries/libbdplus/default.nix4
-rw-r--r--pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch37
-rw-r--r--pkgs/development/libraries/libcef/default.nix45
-rw-r--r--pkgs/development/libraries/libdazzle/default.nix4
-rw-r--r--pkgs/development/libraries/libffi/default.nix5
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--pkgs/development/libraries/librealsense/default.nix4
-rw-r--r--pkgs/development/libraries/libunistring/default.nix2
-rw-r--r--pkgs/development/libraries/libutempter/default.nix8
-rw-r--r--pkgs/development/libraries/libutempter/exec_path.patch25
-rw-r--r--pkgs/development/libraries/libvirt/default.nix6
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix4
-rw-r--r--pkgs/development/libraries/medfile/default.nix24
-rw-r--r--pkgs/development/libraries/ndpi/default.nix4
-rw-r--r--pkgs/development/libraries/npth/default.nix2
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix5
-rw-r--r--pkgs/development/libraries/pkcs11helper/default.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix7
-rw-r--r--pkgs/development/libraries/qt-5/mkDerivation.nix3
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix19
-rw-r--r--pkgs/development/libraries/readline/readline-7.0-patches.nix2
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix29
-rw-r--r--pkgs/development/libraries/science/math/nccl/default.nix10
-rw-r--r--pkgs/development/libraries/serf/default.nix35
-rw-r--r--pkgs/development/libraries/serf/scons.patch12
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix6
-rw-r--r--pkgs/development/libraries/spice/default.nix23
-rw-r--r--pkgs/development/libraries/sqlite/default.nix5
-rw-r--r--pkgs/development/libraries/vsqlite/default.nix4
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix4
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix4
-rw-r--r--pkgs/development/lua-modules/generic/default.nix4
-rw-r--r--pkgs/development/mobile/androidenv/androidndk.nix22
-rw-r--r--pkgs/development/mobile/androidenv/default.nix6
-rw-r--r--pkgs/development/node-packages/default-v8.nix9
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/0.9.nix11
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/functory/default.nix18
-rw-r--r--pkgs/development/ocaml-modules/gg/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix14
-rw-r--r--pkgs/development/ocaml-modules/janestreet/js-build-tools.nix6
-rw-r--r--pkgs/development/ocaml-modules/lambda-term/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/linenoise/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/mstruct/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/nocrypto/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ppx_import/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/reactivedata/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/topkg/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/uchar/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/xmlm/default.nix30
-rw-r--r--pkgs/development/perl-modules/BerkeleyDB/default.nix6
-rw-r--r--pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix4
-rw-r--r--pkgs/development/perl-modules/DBD-Pg/default.nix4
-rw-r--r--pkgs/development/perl-modules/DBD-SQLite/default.nix28
-rw-r--r--pkgs/development/perl-modules/DBD-mysql/default.nix6
-rw-r--r--pkgs/development/perl-modules/DBD-sybase/default.nix17
-rw-r--r--pkgs/development/perl-modules/DB_File/default.nix4
-rw-r--r--pkgs/development/perl-modules/Unicode-String-perl-5-22.patch11
-rw-r--r--pkgs/development/perl-modules/gd-options-passthrough-and-fontconfig.patch49
-rw-r--r--pkgs/development/python-modules/Cython/default.nix19
-rw-r--r--pkgs/development/python-modules/amazon_kclpy/default.nix34
-rw-r--r--pkgs/development/python-modules/autograd/default.nix24
-rw-r--r--pkgs/development/python-modules/cairocffi/cairocffi-0.8.1-cairo-1.15.12.patch24
-rw-r--r--pkgs/development/python-modules/cairocffi/default.nix9
-rw-r--r--pkgs/development/python-modules/cairocffi/dlopen-paths.patch8
-rw-r--r--pkgs/development/python-modules/detox/default.nix4
-rw-r--r--pkgs/development/python-modules/envs/default.nix13
-rw-r--r--pkgs/development/python-modules/h5py/default.nix15
-rw-r--r--pkgs/development/python-modules/h5py/numpy-1.14.patch94
-rw-r--r--pkgs/development/python-modules/jira/default.nix18
-rw-r--r--pkgs/development/python-modules/jira/sphinx-fix.patch11
-rw-r--r--pkgs/development/python-modules/libvirt/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy/default.nix4
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/default.nix2
-rw-r--r--pkgs/development/python-modules/pandas/pandas-0.22.0-pytest-3.5.1.patch13
-rw-r--r--pkgs/development/python-modules/pvlib/default.nix25
-rw-r--r--pkgs/development/python-modules/pyezminc/default.nix33
-rw-r--r--pkgs/development/python-modules/pykdtree/default.nix24
-rw-r--r--pkgs/development/python-modules/tensorflow/bin.nix56
-rw-r--r--pkgs/development/python-modules/tensorflow/prefetcher.sh29
-rw-r--r--pkgs/development/python-modules/tensorflow/tf1.7.1-hashes.nix34
-rw-r--r--pkgs/development/python-modules/trustme/default.nix4
-rw-r--r--pkgs/development/python-modules/typing-extensions/default.nix31
-rw-r--r--pkgs/development/python-modules/voluptuous-serialize/default.nix35
-rw-r--r--pkgs/development/r-modules/default.nix5
-rw-r--r--pkgs/development/ruby-modules/solargraph/Gemfile.lock14
-rw-r--r--pkgs/development/ruby-modules/solargraph/gemset.nix30
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix25
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/deps.nix29
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/dep2nix/default.nix34
-rw-r--r--pkgs/development/tools/dep2nix/deps.nix145
-rw-r--r--pkgs/development/tools/gllvm/default.nix5
-rw-r--r--pkgs/development/tools/godep/default.nix30
-rw-r--r--pkgs/development/tools/godep/deps.nix67
-rw-r--r--pkgs/development/tools/haskell/ihaskell/wrapper.nix2
-rw-r--r--pkgs/development/tools/haskell/multi-ghc-travis/default.nix13
-rw-r--r--pkgs/development/tools/misc/binutils/support-ios.patch68
-rw-r--r--pkgs/development/tools/misc/ctags/default.nix2
-rw-r--r--pkgs/development/tools/misc/intltool/default.nix8
-rw-r--r--pkgs/development/tools/misc/itstool/default.nix6
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/jbuilder/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/opaline/default.nix27
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix6
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix6
-rw-r--r--pkgs/development/tools/wllvm/default.nix4
-rw-r--r--pkgs/games/cutemaze/default.nix4
-rw-r--r--pkgs/games/dwarf-fortress/default.nix12
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix18
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/fix-stonesense.patch23
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/default.nix19
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix4
-rw-r--r--pkgs/games/dwarf-fortress/game.nix8
-rw-r--r--pkgs/games/dwarf-fortress/soundsense.nix2
-rw-r--r--pkgs/games/dwarf-fortress/themes/cla.nix33
-rw-r--r--pkgs/games/dwarf-fortress/themes/default.nix25
-rw-r--r--pkgs/games/dwarf-fortress/themes/phoebus.nix34
-rw-r--r--pkgs/games/dwarf-fortress/themes/themes.json72
-rw-r--r--pkgs/games/dwarf-fortress/unfuck.nix4
-rw-r--r--pkgs/games/freecell-solver/default.nix21
-rw-r--r--pkgs/games/multimc/default.nix7
-rw-r--r--pkgs/games/opendune/default.nix32
-rw-r--r--pkgs/games/openrct2/default.nix2
-rw-r--r--pkgs/games/rrootage/default.nix80
-rw-r--r--pkgs/games/steam/chrootenv.nix3
-rw-r--r--pkgs/misc/emulators/wine/sources.nix14
-rw-r--r--pkgs/misc/screensavers/i3lock-pixeled/default.nix22
-rw-r--r--pkgs/misc/themes/adapta-kde/default.nix28
-rw-r--r--pkgs/misc/uboot/default.nix25
-rw-r--r--pkgs/os-specific/bsd/netbsd/compat.patch18
-rw-r--r--pkgs/os-specific/bsd/netbsd/default.nix10
-rw-r--r--pkgs/os-specific/bsd/netbsd/libbsd-overlay.pc11
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix6
-rw-r--r--pkgs/os-specific/darwin/xcode/default.nix2
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/copperhead-4-16.patch2571
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.16.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.17.nix18
-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-copperhead-stable.nix30
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix27
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix5
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix7
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxcfs/default.nix4
-rw-r--r--pkgs/os-specific/linux/musl/fts-setup-hook.sh4
-rw-r--r--pkgs/os-specific/linux/musl/fts.nix19
-rw-r--r--pkgs/os-specific/linux/musl/getconf.nix19
-rw-r--r--pkgs/os-specific/linux/musl/getent.nix18
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix4
-rw-r--r--pkgs/os-specific/linux/powerstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/procps-ng/default.nix4
-rw-r--r--pkgs/servers/computing/slurm/default.nix27
-rw-r--r--pkgs/servers/dns/dnsdist/default.nix1
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix4
-rw-r--r--pkgs/servers/dns/powerdns/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/servers/home-assistant/default.nix4
-rw-r--r--pkgs/servers/http/h2o/default.nix4
-rw-r--r--pkgs/servers/http/hiawatha/default.nix52
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix13
-rw-r--r--pkgs/servers/mail/opensmtpd/proc_path.diff37
-rw-r--r--pkgs/servers/matrix-synapse/default.nix6
-rw-r--r--pkgs/servers/monitoring/plugins/labs_consol_de.nix19
-rw-r--r--pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix93
-rw-r--r--pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix23
-rw-r--r--pkgs/servers/monitoring/prometheus/snmp-exporter.nix4
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix6
-rw-r--r--pkgs/servers/sql/mariadb/default.nix4
-rw-r--r--pkgs/servers/web-apps/morty/default.nix41
-rw-r--r--pkgs/servers/web-apps/morty/deps.nix57
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix4
-rw-r--r--pkgs/shells/powershell/default.nix48
-rw-r--r--pkgs/shells/tcsh/default.nix11
-rw-r--r--pkgs/shells/xonsh/default.nix4
-rw-r--r--pkgs/shells/zsh/grml-zsh-config/default.nix4
-rw-r--r--pkgs/test/cc-wrapper/default.nix3
-rw-r--r--pkgs/tools/X11/xidlehook/default.nix12
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/admin/certbot/default.nix2
-rw-r--r--pkgs/tools/backup/znapzend/default.nix35
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix4
-rw-r--r--pkgs/tools/compression/xar/default.nix5
-rw-r--r--pkgs/tools/filesystems/genimage/default.nix4
-rw-r--r--pkgs/tools/filesystems/securefs/default.nix4
-rw-r--r--pkgs/tools/filesystems/squashfs/darwin.patch431
-rw-r--r--pkgs/tools/filesystems/squashfs/default.nix4
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix4
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/pdfredacttools/default.nix38
-rw-r--r--pkgs/tools/graphics/plotutils/default.nix5
-rw-r--r--pkgs/tools/graphics/pstoedit/default.nix4
-rw-r--r--pkgs/tools/graphics/qrencode/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-table-extra/default.nix29
-rw-r--r--pkgs/tools/misc/bat/default.nix16
-rw-r--r--pkgs/tools/misc/bibutils/default.nix4
-rw-r--r--pkgs/tools/misc/detox/default.nix4
-rw-r--r--pkgs/tools/misc/dylibbundler/default.nix22
-rw-r--r--pkgs/tools/misc/graylog/default.nix4
-rw-r--r--pkgs/tools/misc/mc/default.nix4
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/powerline-rs/default.nix4
-rw-r--r--pkgs/tools/misc/skim/default.nix8
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix23
-rw-r--r--pkgs/tools/misc/trash-cli/nix-paths.patch26
-rw-r--r--pkgs/tools/networking/aria2/default.nix4
-rw-r--r--pkgs/tools/networking/curl/7_59.nix113
-rw-r--r--pkgs/tools/networking/haproxy/default.nix18
-rw-r--r--pkgs/tools/networking/mosh/default.nix11
-rw-r--r--pkgs/tools/networking/mosh/utempter_path.patch14
-rw-r--r--pkgs/tools/networking/nzbget/default.nix4
-rw-r--r--pkgs/tools/networking/phodav/default.nix25
-rw-r--r--pkgs/tools/networking/shadowsocks-libev/default.nix15
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix4
-rw-r--r--pkgs/tools/networking/wireguard-go/default.nix8
-rw-r--r--pkgs/tools/networking/wireguard-go/deps.nix12
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix4
-rw-r--r--pkgs/tools/security/ctmg/default.nix21
-rw-r--r--pkgs/tools/security/eid-mw/default.nix4
-rw-r--r--pkgs/tools/security/keybase/default.nix4
-rw-r--r--pkgs/tools/security/pass/extensions/audit.nix42
-rw-r--r--pkgs/tools/security/pass/extensions/default.nix3
-rw-r--r--pkgs/tools/security/pass/extensions/import.nix7
-rw-r--r--pkgs/tools/security/pinentry/default.nix2
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/system/logcheck/default.nix4
-rw-r--r--pkgs/tools/system/monit/default.nix4
-rw-r--r--pkgs/tools/text/odt2txt/default.nix9
-rw-r--r--pkgs/tools/text/schema2ldif/default.nix31
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix163
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix101
-rw-r--r--pkgs/top-level/php-packages.nix12
-rw-r--r--pkgs/top-level/python-packages.nix36
-rw-r--r--pkgs/top-level/unix-tools.nix10
479 files changed, 12595 insertions, 4629 deletions
diff --git a/doc/Makefile b/doc/Makefile
index 8a4612e95f19..ba77be6678c4 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -12,6 +12,11 @@ format:
 	find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
 		xmlformat --config-file "$$XMLFORMAT_CONFIG" -i {}
 
+.PHONY: fix-misc-xml
+fix-misc-xml:
+	find . -iname '*.xml' -type f \
+		-exec ../nixos/doc/varlistentry-fixer.rb {} ';'
+
 .PHONY: clean
 clean:
 	rm -f ${MD_TARGETS} .version manual-full.xml
diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml
index f244c11d4f20..b3f7f093835c 100644
--- a/doc/coding-conventions.xml
+++ b/doc/coding-conventions.xml
@@ -312,11 +312,15 @@ args.stdenv.mkDerivation (args // {
 
    <variablelist>
     <varlistentry>
-     <term>If it’s used to support <emphasis>software development</emphasis>:</term>
+     <term>
+      If it’s used to support <emphasis>software development</emphasis>:
+     </term>
      <listitem>
       <variablelist>
        <varlistentry>
-        <term>If it’s a <emphasis>library</emphasis> used by other packages:</term>
+        <term>
+         If it’s a <emphasis>library</emphasis> used by other packages:
+        </term>
         <listitem>
          <para>
           <filename>development/libraries</filename> (e.g.
@@ -325,7 +329,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s a <emphasis>compiler</emphasis>:</term>
+        <term>
+         If it’s a <emphasis>compiler</emphasis>:
+        </term>
         <listitem>
          <para>
           <filename>development/compilers</filename> (e.g.
@@ -334,7 +340,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s an <emphasis>interpreter</emphasis>:</term>
+        <term>
+         If it’s an <emphasis>interpreter</emphasis>:
+        </term>
         <listitem>
          <para>
           <filename>development/interpreters</filename> (e.g.
@@ -343,11 +351,15 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s a (set of) development <emphasis>tool(s)</emphasis>:</term>
+        <term>
+         If it’s a (set of) development <emphasis>tool(s)</emphasis>:
+        </term>
         <listitem>
          <variablelist>
           <varlistentry>
-           <term>If it’s a <emphasis>parser generator</emphasis> (including lexers):</term>
+           <term>
+            If it’s a <emphasis>parser generator</emphasis> (including lexers):
+           </term>
            <listitem>
             <para>
              <filename>development/tools/parsing</filename> (e.g.
@@ -356,7 +368,9 @@ args.stdenv.mkDerivation (args // {
            </listitem>
           </varlistentry>
           <varlistentry>
-           <term>If it’s a <emphasis>build manager</emphasis>:</term>
+           <term>
+            If it’s a <emphasis>build manager</emphasis>:
+           </term>
            <listitem>
             <para>
              <filename>development/tools/build-managers</filename> (e.g.
@@ -365,7 +379,9 @@ args.stdenv.mkDerivation (args // {
            </listitem>
           </varlistentry>
           <varlistentry>
-           <term>Else:</term>
+           <term>
+            Else:
+           </term>
            <listitem>
             <para>
              <filename>development/tools/misc</filename> (e.g.
@@ -377,7 +393,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>Else:</term>
+        <term>
+         Else:
+        </term>
         <listitem>
          <para>
           <filename>development/misc</filename>
@@ -388,7 +406,9 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>If it’s a (set of) <emphasis>tool(s)</emphasis>:</term>
+     <term>
+      If it’s a (set of) <emphasis>tool(s)</emphasis>:
+     </term>
      <listitem>
       <para>
        (A tool is a relatively small program, especially one intended to be
@@ -396,7 +416,9 @@ args.stdenv.mkDerivation (args // {
       </para>
       <variablelist>
        <varlistentry>
-        <term>If it’s for <emphasis>networking</emphasis>:</term>
+        <term>
+         If it’s for <emphasis>networking</emphasis>:
+        </term>
         <listitem>
          <para>
           <filename>tools/networking</filename> (e.g.
@@ -405,7 +427,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s for <emphasis>text processing</emphasis>:</term>
+        <term>
+         If it’s for <emphasis>text processing</emphasis>:
+        </term>
         <listitem>
          <para>
           <filename>tools/text</filename> (e.g. <filename>diffutils</filename>)
@@ -413,9 +437,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s a <emphasis>system utility</emphasis>, i.e.,
-          something related or essential to the operation of a
-          system:</term>
+        <term>
+         If it’s a <emphasis>system utility</emphasis>, i.e., something related or essential to the operation of a system:
+        </term>
         <listitem>
          <para>
           <filename>tools/system</filename> (e.g. <filename>cron</filename>)
@@ -423,8 +447,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s an <emphasis>archiver</emphasis> (which may
-          include a compression function):</term>
+        <term>
+         If it’s an <emphasis>archiver</emphasis> (which may include a compression function):
+        </term>
         <listitem>
          <para>
           <filename>tools/archivers</filename> (e.g. <filename>zip</filename>,
@@ -433,7 +458,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s a <emphasis>compression</emphasis> program:</term>
+        <term>
+         If it’s a <emphasis>compression</emphasis> program:
+        </term>
         <listitem>
          <para>
           <filename>tools/compression</filename> (e.g.
@@ -442,7 +469,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s a <emphasis>security</emphasis>-related program:</term>
+        <term>
+         If it’s a <emphasis>security</emphasis>-related program:
+        </term>
         <listitem>
          <para>
           <filename>tools/security</filename> (e.g. <filename>nmap</filename>,
@@ -451,7 +480,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>Else:</term>
+        <term>
+         Else:
+        </term>
         <listitem>
          <para>
           <filename>tools/misc</filename>
@@ -462,7 +493,9 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>If it’s a <emphasis>shell</emphasis>:</term>
+     <term>
+      If it’s a <emphasis>shell</emphasis>:
+     </term>
      <listitem>
       <para>
        <filename>shells</filename> (e.g. <filename>bash</filename>)
@@ -470,11 +503,15 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>If it’s a <emphasis>server</emphasis>:</term>
+     <term>
+      If it’s a <emphasis>server</emphasis>:
+     </term>
      <listitem>
       <variablelist>
        <varlistentry>
-        <term>If it’s a web server:</term>
+        <term>
+         If it’s a web server:
+        </term>
         <listitem>
          <para>
           <filename>servers/http</filename> (e.g.
@@ -483,7 +520,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s an implementation of the X Windowing System:</term>
+        <term>
+         If it’s an implementation of the X Windowing System:
+        </term>
         <listitem>
          <para>
           <filename>servers/x11</filename> (e.g. <filename>xorg</filename> —
@@ -492,7 +531,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>Else:</term>
+        <term>
+         Else:
+        </term>
         <listitem>
          <para>
           <filename>servers/misc</filename>
@@ -503,7 +544,9 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>If it’s a <emphasis>desktop environment</emphasis>:</term>
+     <term>
+      If it’s a <emphasis>desktop environment</emphasis>:
+     </term>
      <listitem>
       <para>
        <filename>desktops</filename> (e.g. <filename>kde</filename>,
@@ -512,7 +555,9 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>If it’s a <emphasis>window manager</emphasis>:</term>
+     <term>
+      If it’s a <emphasis>window manager</emphasis>:
+     </term>
      <listitem>
       <para>
        <filename>applications/window-managers</filename> (e.g.
@@ -521,7 +566,9 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>If it’s an <emphasis>application</emphasis>:</term>
+     <term>
+      If it’s an <emphasis>application</emphasis>:
+     </term>
      <listitem>
       <para>
        A (typically large) program with a distinct user interface, primarily
@@ -529,7 +576,9 @@ args.stdenv.mkDerivation (args // {
       </para>
       <variablelist>
        <varlistentry>
-        <term>If it’s a <emphasis>version management system</emphasis>:</term>
+        <term>
+         If it’s a <emphasis>version management system</emphasis>:
+        </term>
         <listitem>
          <para>
           <filename>applications/version-management</filename> (e.g.
@@ -538,7 +587,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s for <emphasis>video playback / editing</emphasis>:</term>
+        <term>
+         If it’s for <emphasis>video playback / editing</emphasis>:
+        </term>
         <listitem>
          <para>
           <filename>applications/video</filename> (e.g.
@@ -547,7 +598,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s for <emphasis>graphics viewing / editing</emphasis>:</term>
+        <term>
+         If it’s for <emphasis>graphics viewing / editing</emphasis>:
+        </term>
         <listitem>
          <para>
           <filename>applications/graphics</filename> (e.g.
@@ -556,11 +609,15 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s for <emphasis>networking</emphasis>:</term>
+        <term>
+         If it’s for <emphasis>networking</emphasis>:
+        </term>
         <listitem>
          <variablelist>
           <varlistentry>
-           <term>If it’s a <emphasis>mailreader</emphasis>:</term>
+           <term>
+            If it’s a <emphasis>mailreader</emphasis>:
+           </term>
            <listitem>
             <para>
              <filename>applications/networking/mailreaders</filename> (e.g.
@@ -569,7 +626,9 @@ args.stdenv.mkDerivation (args // {
            </listitem>
           </varlistentry>
           <varlistentry>
-           <term>If it’s a <emphasis>newsreader</emphasis>:</term>
+           <term>
+            If it’s a <emphasis>newsreader</emphasis>:
+           </term>
            <listitem>
             <para>
              <filename>applications/networking/newsreaders</filename> (e.g.
@@ -578,7 +637,9 @@ args.stdenv.mkDerivation (args // {
            </listitem>
           </varlistentry>
           <varlistentry>
-           <term>If it’s a <emphasis>web browser</emphasis>:</term>
+           <term>
+            If it’s a <emphasis>web browser</emphasis>:
+           </term>
            <listitem>
             <para>
              <filename>applications/networking/browsers</filename> (e.g.
@@ -587,7 +648,9 @@ args.stdenv.mkDerivation (args // {
            </listitem>
           </varlistentry>
           <varlistentry>
-           <term>Else:</term>
+           <term>
+            Else:
+           </term>
            <listitem>
             <para>
              <filename>applications/networking/misc</filename>
@@ -598,7 +661,9 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>Else:</term>
+        <term>
+         Else:
+        </term>
         <listitem>
          <para>
           <filename>applications/misc</filename>
@@ -609,12 +674,15 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>If it’s <emphasis>data</emphasis> (i.e., does not have a
-    straight-forward executable semantics):</term>
+     <term>
+      If it’s <emphasis>data</emphasis> (i.e., does not have a straight-forward executable semantics):
+     </term>
      <listitem>
       <variablelist>
        <varlistentry>
-        <term>If it’s a <emphasis>font</emphasis>:</term>
+        <term>
+         If it’s a <emphasis>font</emphasis>:
+        </term>
         <listitem>
          <para>
           <filename>data/fonts</filename>
@@ -622,11 +690,15 @@ args.stdenv.mkDerivation (args // {
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term>If it’s related to <emphasis>SGML/XML processing</emphasis>:</term>
+        <term>
+         If it’s related to <emphasis>SGML/XML processing</emphasis>:
+        </term>
         <listitem>
          <variablelist>
           <varlistentry>
-           <term>If it’s an <emphasis>XML DTD</emphasis>:</term>
+           <term>
+            If it’s an <emphasis>XML DTD</emphasis>:
+           </term>
            <listitem>
             <para>
              <filename>data/sgml+xml/schemas/xml-dtd</filename> (e.g.
@@ -635,7 +707,9 @@ args.stdenv.mkDerivation (args // {
            </listitem>
           </varlistentry>
           <varlistentry>
-           <term>If it’s an <emphasis>XSLT stylesheet</emphasis>:</term>
+           <term>
+            If it’s an <emphasis>XSLT stylesheet</emphasis>:
+           </term>
            <listitem>
             <para>
              (Okay, these are executable...)
@@ -653,7 +727,9 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>If it’s a <emphasis>game</emphasis>:</term>
+     <term>
+      If it’s a <emphasis>game</emphasis>:
+     </term>
      <listitem>
       <para>
        <filename>games</filename>
@@ -661,7 +737,9 @@ args.stdenv.mkDerivation (args // {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>Else:</term>
+     <term>
+      Else:
+     </term>
      <listitem>
       <para>
        <filename>misc</filename>
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index fe0e0d88d30e..3b433fdcc1d2 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -60,7 +60,8 @@
 
    <variablelist>
     <varlistentry>
-     <term><varname>buildPlatform</varname>
+     <term>
+      <varname>buildPlatform</varname>
      </term>
      <listitem>
       <para>
@@ -71,7 +72,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>hostPlatform</varname>
+     <term>
+      <varname>hostPlatform</varname>
      </term>
      <listitem>
       <para>
@@ -82,7 +84,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>targetPlatform</varname>
+     <term>
+      <varname>targetPlatform</varname>
      </term>
      <listitem>
       <para>
@@ -128,7 +131,8 @@
 
    <variablelist>
     <varlistentry>
-     <term><varname>system</varname>
+     <term>
+      <varname>system</varname>
      </term>
      <listitem>
       <para>
@@ -141,7 +145,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>config</varname>
+     <term>
+      <varname>config</varname>
      </term>
      <listitem>
       <para>
@@ -157,7 +162,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>parsed</varname>
+     <term>
+      <varname>parsed</varname>
      </term>
      <listitem>
       <para>
@@ -171,7 +177,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>libc</varname>
+     <term>
+      <varname>libc</varname>
      </term>
      <listitem>
       <para>
@@ -183,7 +190,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>is*</varname>
+     <term>
+      <varname>is*</varname>
      </term>
      <listitem>
       <para>
@@ -195,7 +203,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>platform</varname>
+     <term>
+      <varname>platform</varname>
      </term>
      <listitem>
       <para>
diff --git a/doc/default.nix b/doc/default.nix
index 0d95d3f04573..f99aaff5f8a6 100644
--- a/doc/default.nix
+++ b/doc/default.nix
@@ -44,5 +44,6 @@ pkgs.stdenv.mkDerivation {
 
     mkdir -p $out/nix-support/
     echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
+    echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products
   '';
 }
diff --git a/doc/functions.xml b/doc/functions.xml
index cdae96703f13..746ef7131f86 100644
--- a/doc/functions.xml
+++ b/doc/functions.xml
@@ -321,7 +321,8 @@ merge:"diff3"
 
   <variablelist>
    <varlistentry>
-    <term><literal>name</literal>
+    <term>
+     <literal>name</literal>
     </term>
     <listitem>
      <para>
@@ -330,7 +331,8 @@ merge:"diff3"
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>targetPkgs</literal>
+    <term>
+     <literal>targetPkgs</literal>
     </term>
     <listitem>
      <para>
@@ -340,7 +342,8 @@ merge:"diff3"
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>multiPkgs</literal>
+    <term>
+     <literal>multiPkgs</literal>
     </term>
     <listitem>
      <para>
@@ -351,7 +354,8 @@ merge:"diff3"
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>extraBuildCommands</literal>
+    <term>
+     <literal>extraBuildCommands</literal>
     </term>
     <listitem>
      <para>
@@ -361,7 +365,8 @@ merge:"diff3"
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>extraBuildCommandsMulti</literal>
+    <term>
+     <literal>extraBuildCommandsMulti</literal>
     </term>
     <listitem>
      <para>
@@ -371,7 +376,8 @@ merge:"diff3"
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>extraOutputsToInstall</literal>
+    <term>
+     <literal>extraOutputsToInstall</literal>
     </term>
     <listitem>
      <para>
@@ -381,7 +387,8 @@ merge:"diff3"
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>extraInstallCommands</literal>
+    <term>
+     <literal>extraInstallCommands</literal>
     </term>
     <listitem>
      <para>
@@ -391,7 +398,8 @@ merge:"diff3"
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>runScript</literal>
+    <term>
+     <literal>runScript</literal>
     </term>
     <listitem>
      <para>
@@ -624,9 +632,9 @@ merge:"diff3"
 
    <para>
     This function is analogous to the <command>docker pull</command> command,
-    in that can be used to pull a Docker image from a Docker registry.
-    By default <link xlink:href="https://hub.docker.com/">Docker Hub</link>
-    is used to pull images.
+    in that can be used to pull a Docker image from a Docker registry. By
+    default <link xlink:href="https://hub.docker.com/">Docker Hub</link> is
+    used to pull images.
    </para>
 
    <para>
@@ -648,15 +656,15 @@ merge:"diff3"
    <calloutlist>
     <callout arearefs='ex-dockerTools-pullImage-1'>
      <para>
-      <varname>imageName</varname> specifies the name of the image to be downloaded,
-      which can also include the registry namespace (e.g. <literal>nixos</literal>).
-      This argument is required.
+      <varname>imageName</varname> specifies the name of the image to be
+      downloaded, which can also include the registry namespace (e.g.
+      <literal>nixos</literal>). This argument is required.
      </para>
     </callout>
     <callout arearefs='ex-dockerTools-pullImage-2'>
      <para>
-      <varname>imageDigest</varname> specifies the digest of the image
-      to be downloaded. Skopeo can be used to get the digest of an image
+      <varname>imageDigest</varname> specifies the digest of the image to be
+      downloaded. Skopeo can be used to get the digest of an image
 <programlisting>
   $ skopeo inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'
   sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
@@ -666,10 +674,10 @@ merge:"diff3"
     </callout>
     <callout arearefs='ex-dockerTools-pullImage-3'>
      <para>
-      <varname>finalImageTag</varname>, if specified, this is the tag of
-      the image to be created. Note it is never used to fetch the image
-      since we prefer to rely on the immutable digest ID. By default
-      it's <literal>latest</literal>.
+      <varname>finalImageTag</varname>, if specified, this is the tag of the
+      image to be created. Note it is never used to fetch the image since we
+      prefer to rely on the immutable digest ID. By default it's
+      <literal>latest</literal>.
      </para>
     </callout>
     <callout arearefs='ex-dockerTools-pullImage-4'>
diff --git a/doc/languages-frameworks/bower.xml b/doc/languages-frameworks/bower.xml
index db7536cdc14e..118f6e10473a 100644
--- a/doc/languages-frameworks/bower.xml
+++ b/doc/languages-frameworks/bower.xml
@@ -205,8 +205,8 @@ pkgs.stdenv.mkDerivation {
 
   <variablelist>
    <varlistentry>
-    <term><literal>ENOCACHE</literal> errors from
-    <varname>buildBowerComponents</varname>
+    <term>
+     <literal>ENOCACHE</literal> errors from <varname>buildBowerComponents</varname>
     </term>
     <listitem>
      <para>
diff --git a/doc/meta.xml b/doc/meta.xml
index ab6befd4381c..496b32916552 100644
--- a/doc/meta.xml
+++ b/doc/meta.xml
@@ -83,7 +83,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
 
   <variablelist>
    <varlistentry>
-    <term><varname>description</varname>
+    <term>
+     <varname>description</varname>
     </term>
     <listitem>
      <para>
@@ -106,7 +107,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>longDescription</varname>
+    <term>
+     <varname>longDescription</varname>
     </term>
     <listitem>
      <para>
@@ -115,7 +117,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>branch</varname>
+    <term>
+     <varname>branch</varname>
     </term>
     <listitem>
      <para>
@@ -126,7 +129,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>homepage</varname>
+    <term>
+     <varname>homepage</varname>
     </term>
     <listitem>
      <para>
@@ -136,7 +140,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>downloadPage</varname>
+    <term>
+     <varname>downloadPage</varname>
     </term>
     <listitem>
      <para>
@@ -146,7 +151,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>license</varname>
+    <term>
+     <varname>license</varname>
     </term>
     <listitem>
      <para>
@@ -198,7 +204,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>maintainers</varname>
+    <term>
+     <varname>maintainers</varname>
     </term>
     <listitem>
      <para>
@@ -213,7 +220,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>priority</varname>
+    <term>
+     <varname>priority</varname>
     </term>
     <listitem>
      <para>
@@ -225,7 +233,8 @@ hello-2.3  A program that produces a familiar, friendly greeting
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>platforms</varname>
+    <term>
+     <varname>platforms</varname>
     </term>
     <listitem>
      <para>
@@ -242,7 +251,8 @@ meta.platforms = stdenv.lib.platforms.linux;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>hydraPlatforms</varname>
+    <term>
+     <varname>hydraPlatforms</varname>
     </term>
     <listitem>
      <para>
@@ -261,7 +271,8 @@ meta.hydraPlatforms = [];
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>broken</varname>
+    <term>
+     <varname>broken</varname>
     </term>
     <listitem>
      <para>
@@ -273,7 +284,8 @@ meta.hydraPlatforms = [];
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>updateWalker</varname>
+    <term>
+     <varname>updateWalker</varname>
     </term>
     <listitem>
      <para>
@@ -305,8 +317,8 @@ meta.hydraPlatforms = [];
    generic options are available:
    <variablelist>
     <varlistentry>
-     <term><varname>stdenv.lib.licenses.free</varname>,
-    <varname>"free"</varname>
+     <term>
+      <varname>stdenv.lib.licenses.free</varname>, <varname>"free"</varname>
      </term>
      <listitem>
       <para>
@@ -315,8 +327,8 @@ meta.hydraPlatforms = [];
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>stdenv.lib.licenses.unfreeRedistributable</varname>,
-    <varname>"unfree-redistributable"</varname>
+     <term>
+      <varname>stdenv.lib.licenses.unfreeRedistributable</varname>, <varname>"unfree-redistributable"</varname>
      </term>
      <listitem>
       <para>
@@ -336,8 +348,8 @@ meta.hydraPlatforms = [];
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>stdenv.lib.licenses.unfree</varname>,
-    <varname>"unfree"</varname>
+     <term>
+      <varname>stdenv.lib.licenses.unfree</varname>, <varname>"unfree"</varname>
      </term>
      <listitem>
       <para>
@@ -348,8 +360,8 @@ meta.hydraPlatforms = [];
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>stdenv.lib.licenses.unfreeRedistributableFirmware</varname>,
-    <varname>"unfree-redistributable-firmware"</varname>
+     <term>
+      <varname>stdenv.lib.licenses.unfreeRedistributableFirmware</varname>, <varname>"unfree-redistributable-firmware"</varname>
      </term>
      <listitem>
       <para>
diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml
index 040c12c92913..981b4b966cdf 100644
--- a/doc/multiple-output.xml
+++ b/doc/multiple-output.xml
@@ -188,8 +188,8 @@
 
    <variablelist>
     <varlistentry>
-     <term><varname>
-         $outputDev</varname>
+     <term>
+      <varname> $outputDev</varname>
      </term>
      <listitem>
       <para>
@@ -200,8 +200,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>
-        $outputBin</varname>
+     <term>
+      <varname> $outputBin</varname>
      </term>
      <listitem>
       <para>
@@ -211,8 +211,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>
-        $outputLib</varname>
+     <term>
+      <varname> $outputLib</varname>
      </term>
      <listitem>
       <para>
@@ -223,8 +223,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>
-        $outputDoc</varname>
+     <term>
+      <varname> $outputDoc</varname>
      </term>
      <listitem>
       <para>
@@ -235,8 +235,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>
-        $outputDevdoc</varname>
+     <term>
+      <varname> $outputDevdoc</varname>
      </term>
      <listitem>
       <para>
@@ -248,8 +248,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>
-        $outputMan</varname>
+     <term>
+      <varname> $outputMan</varname>
      </term>
      <listitem>
       <para>
@@ -259,8 +259,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>
-        $outputDevman</varname>
+     <term>
+      <varname> $outputDevman</varname>
      </term>
      <listitem>
       <para>
@@ -270,8 +270,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>
-        $outputInfo</varname>
+     <term>
+      <varname> $outputInfo</varname>
      </term>
      <listitem>
       <para>
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index f16826ae6806..a6347bfdebaf 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -428,7 +428,9 @@ packageOverrides = pkgs: {
    <para>
     <variablelist>
      <varlistentry>
-      <term>Steam fails to start. What do I do?</term>
+      <term>
+       Steam fails to start. What do I do?
+      </term>
       <listitem>
        <para>
         Try to run
@@ -438,7 +440,9 @@ packageOverrides = pkgs: {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term>Using the FOSS Radeon or nouveau (nvidia) drivers</term>
+      <term>
+       Using the FOSS Radeon or nouveau (nvidia) drivers
+      </term>
       <listitem>
        <itemizedlist>
         <listitem>
@@ -462,7 +466,9 @@ packageOverrides = pkgs: {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term>Java</term>
+      <term>
+       Java
+      </term>
       <listitem>
        <orderedlist>
         <listitem>
diff --git a/doc/shell.nix b/doc/shell.nix
index e8da2eaf16be..24fe20e81050 100644
--- a/doc/shell.nix
+++ b/doc/shell.nix
@@ -1,5 +1,5 @@
 { pkgs ? import ../. {} }:
 (import ./default.nix).overrideAttrs (x: {
-  buildInputs = x.buildInputs ++ [ pkgs.xmloscopy ];
+  buildInputs = x.buildInputs ++ [ pkgs.xmloscopy pkgs.ruby ];
 
 })
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index 78fa1d209b58..e7f52377e687 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -361,7 +361,8 @@ let f(h, h + 1, i) = i + h
   <variablelist>
    <title>Variables specifying dependencies</title>
    <varlistentry>
-    <term><varname>depsBuildBuild</varname>
+    <term>
+     <varname>depsBuildBuild</varname>
     </term>
     <listitem>
      <para>
@@ -386,7 +387,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>nativeBuildInputs</varname>
+    <term>
+     <varname>nativeBuildInputs</varname>
     </term>
     <listitem>
      <para>
@@ -412,7 +414,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>depsBuildTarget</varname>
+    <term>
+     <varname>depsBuildTarget</varname>
     </term>
     <listitem>
      <para>
@@ -451,7 +454,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>depsHostHost</varname>
+    <term>
+     <varname>depsHostHost</varname>
     </term>
     <listitem>
      <para>
@@ -469,7 +473,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>buildInputs</varname>
+    <term>
+     <varname>buildInputs</varname>
     </term>
     <listitem>
      <para>
@@ -492,7 +497,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>depsTargetTarget</varname>
+    <term>
+     <varname>depsTargetTarget</varname>
     </term>
     <listitem>
      <para>
@@ -508,7 +514,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>depsBuildBuildPropagated</varname>
+    <term>
+     <varname>depsBuildBuildPropagated</varname>
     </term>
     <listitem>
      <para>
@@ -519,7 +526,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>propagatedNativeBuildInputs</varname>
+    <term>
+     <varname>propagatedNativeBuildInputs</varname>
     </term>
     <listitem>
      <para>
@@ -539,7 +547,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>depsBuildTargetPropagated</varname>
+    <term>
+     <varname>depsBuildTargetPropagated</varname>
     </term>
     <listitem>
      <para>
@@ -549,7 +558,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>depsHostHostPropagated</varname>
+    <term>
+     <varname>depsHostHostPropagated</varname>
     </term>
     <listitem>
      <para>
@@ -558,7 +568,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>propagatedBuildInputs</varname>
+    <term>
+     <varname>propagatedBuildInputs</varname>
     </term>
     <listitem>
      <para>
@@ -569,7 +580,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>depsTargetTarget</varname>
+    <term>
+     <varname>depsTargetTarget</varname>
     </term>
     <listitem>
      <para>
@@ -586,7 +598,8 @@ let f(h, h + 1, i) = i + h
   <variablelist>
    <title>Variables affecting <literal>stdenv</literal> initialisation</title>
    <varlistentry>
-    <term><varname>NIX_DEBUG</varname>
+    <term>
+     <varname>NIX_DEBUG</varname>
     </term>
     <listitem>
      <para>
@@ -607,7 +620,8 @@ let f(h, h + 1, i) = i + h
   <variablelist>
    <title>Variables affecting build properties</title>
    <varlistentry>
-    <term><varname>enableParallelBuilding</varname>
+    <term>
+     <varname>enableParallelBuilding</varname>
     </term>
     <listitem>
      <para>
@@ -624,7 +638,8 @@ let f(h, h + 1, i) = i + h
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>preferLocalBuild</varname>
+    <term>
+     <varname>preferLocalBuild</varname>
     </term>
     <listitem>
      <para>
@@ -642,7 +657,8 @@ let f(h, h + 1, i) = i + h
   <variablelist>
    <title>Special variables</title>
    <varlistentry>
-    <term><varname>passthru</varname>
+    <term>
+     <varname>passthru</varname>
     </term>
     <listitem>
      <para>
@@ -707,7 +723,8 @@ passthru = {
     <variablelist>
      <title>Variables affecting phase control</title>
      <varlistentry>
-      <term><varname>phases</varname>
+      <term>
+       <varname>phases</varname>
       </term>
       <listitem>
        <para>
@@ -727,7 +744,8 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term><varname>prePhases</varname>
+      <term>
+       <varname>prePhases</varname>
       </term>
       <listitem>
        <para>
@@ -736,7 +754,8 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term><varname>preConfigurePhases</varname>
+      <term>
+       <varname>preConfigurePhases</varname>
       </term>
       <listitem>
        <para>
@@ -745,7 +764,8 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term><varname>preBuildPhases</varname>
+      <term>
+       <varname>preBuildPhases</varname>
       </term>
       <listitem>
        <para>
@@ -754,7 +774,8 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term><varname>preInstallPhases</varname>
+      <term>
+       <varname>preInstallPhases</varname>
       </term>
       <listitem>
        <para>
@@ -763,7 +784,8 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term><varname>preFixupPhases</varname>
+      <term>
+       <varname>preFixupPhases</varname>
       </term>
       <listitem>
        <para>
@@ -772,7 +794,8 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term><varname>preDistPhases</varname>
+      <term>
+       <varname>preDistPhases</varname>
       </term>
       <listitem>
        <para>
@@ -781,7 +804,8 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term><varname>postPhases</varname>
+      <term>
+       <varname>postPhases</varname>
       </term>
       <listitem>
        <para>
@@ -804,7 +828,9 @@ passthru = {
     default:
     <variablelist>
      <varlistentry>
-      <term>Tar files</term>
+      <term>
+       Tar files
+      </term>
       <listitem>
        <para>
         These can optionally be compressed using <command>gzip</command>
@@ -817,7 +843,9 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term>Zip files</term>
+      <term>
+       Zip files
+      </term>
       <listitem>
        <para>
         Zip files are unpacked using <command>unzip</command>. However,
@@ -827,7 +855,9 @@ passthru = {
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term>Directories in the Nix store</term>
+      <term>
+       Directories in the Nix store
+      </term>
       <listitem>
        <para>
         These are simply copied to the current directory. The hash part of the
@@ -847,7 +877,8 @@ passthru = {
    <variablelist>
     <title>Variables controlling the unpack phase</title>
     <varlistentry>
-     <term><varname>srcs</varname> / <varname>src</varname>
+     <term>
+      <varname>srcs</varname> / <varname>src</varname>
      </term>
      <listitem>
       <para>
@@ -857,7 +888,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>sourceRoot</varname>
+     <term>
+      <varname>sourceRoot</varname>
      </term>
      <listitem>
       <para>
@@ -869,7 +901,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>setSourceRoot</varname>
+     <term>
+      <varname>setSourceRoot</varname>
      </term>
      <listitem>
       <para>
@@ -881,7 +914,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>preUnpack</varname>
+     <term>
+      <varname>preUnpack</varname>
      </term>
      <listitem>
       <para>
@@ -890,7 +924,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postUnpack</varname>
+     <term>
+      <varname>postUnpack</varname>
      </term>
      <listitem>
       <para>
@@ -899,7 +934,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontMakeSourcesWritable</varname>
+     <term>
+      <varname>dontMakeSourcesWritable</varname>
      </term>
      <listitem>
       <para>
@@ -911,7 +947,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>unpackCmd</varname>
+     <term>
+      <varname>unpackCmd</varname>
      </term>
      <listitem>
       <para>
@@ -935,7 +972,8 @@ passthru = {
    <variablelist>
     <title>Variables controlling the patch phase</title>
     <varlistentry>
-     <term><varname>patches</varname>
+     <term>
+      <varname>patches</varname>
      </term>
      <listitem>
       <para>
@@ -948,7 +986,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>patchFlags</varname>
+     <term>
+      <varname>patchFlags</varname>
      </term>
      <listitem>
       <para>
@@ -959,7 +998,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>prePatch</varname>
+     <term>
+      <varname>prePatch</varname>
      </term>
      <listitem>
       <para>
@@ -968,7 +1008,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postPatch</varname>
+     <term>
+      <varname>postPatch</varname>
      </term>
      <listitem>
       <para>
@@ -991,7 +1032,8 @@ passthru = {
    <variablelist>
     <title>Variables controlling the configure phase</title>
     <varlistentry>
-     <term><varname>configureScript</varname>
+     <term>
+      <varname>configureScript</varname>
      </term>
      <listitem>
       <para>
@@ -1003,7 +1045,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>configureFlags</varname>
+     <term>
+      <varname>configureFlags</varname>
      </term>
      <listitem>
       <para>
@@ -1013,7 +1056,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>configureFlagsArray</varname>
+     <term>
+      <varname>configureFlagsArray</varname>
      </term>
      <listitem>
       <para>
@@ -1024,7 +1068,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontAddPrefix</varname>
+     <term>
+      <varname>dontAddPrefix</varname>
      </term>
      <listitem>
       <para>
@@ -1034,7 +1079,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>prefix</varname>
+     <term>
+      <varname>prefix</varname>
      </term>
      <listitem>
       <para>
@@ -1045,7 +1091,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontAddDisableDepTrack</varname>
+     <term>
+      <varname>dontAddDisableDepTrack</varname>
      </term>
      <listitem>
       <para>
@@ -1056,7 +1103,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontFixLibtool</varname>
+     <term>
+      <varname>dontFixLibtool</varname>
      </term>
      <listitem>
       <para>
@@ -1076,7 +1124,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontDisableStatic</varname>
+     <term>
+      <varname>dontDisableStatic</varname>
      </term>
      <listitem>
       <para>
@@ -1090,7 +1139,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>configurePlatforms</varname>
+     <term>
+      <varname>configurePlatforms</varname>
      </term>
      <listitem>
       <para>
@@ -1111,7 +1161,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>preConfigure</varname>
+     <term>
+      <varname>preConfigure</varname>
      </term>
      <listitem>
       <para>
@@ -1120,7 +1171,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postConfigure</varname>
+     <term>
+      <varname>postConfigure</varname>
      </term>
      <listitem>
       <para>
@@ -1146,7 +1198,8 @@ passthru = {
    <variablelist>
     <title>Variables controlling the build phase</title>
     <varlistentry>
-     <term><varname>dontBuild</varname>
+     <term>
+      <varname>dontBuild</varname>
      </term>
      <listitem>
       <para>
@@ -1155,7 +1208,8 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>makefile</varname>
+     <term>
+      <varname>makefile</varname>
      </term>
      <listitem>
       <para>
@@ -1164,15 +1218,19 @@ passthru = {
      </listitem>
     </varlistentry>
     <varlistentry>
-      <term><varname>checkInputs</varname>
-      </term>
-      <listitem><para>
-        A list of dependencies used by the phase. This gets included in
-        <varname>buildInputs</varname> when <varname>doCheck</varname> is set.
-      </para></listitem>
+     <term>
+      <varname>checkInputs</varname>
+     </term>
+     <listitem>
+      <para>
+       A list of dependencies used by the phase. This gets included in
+       <varname>buildInputs</varname> when <varname>doCheck</varname> is set.
+      </para>
+     </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>makeFlags</varname>
+     <term>
+      <varname>makeFlags</varname>
      </term>
      <listitem>
       <para>
@@ -1193,7 +1251,8 @@ makeFlags = [ "PREFIX=$(out)" ];
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>makeFlagsArray</varname>
+     <term>
+      <varname>makeFlagsArray</varname>
      </term>
      <listitem>
       <para>
@@ -1211,7 +1270,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>buildFlags</varname> / <varname>buildFlagsArray</varname>
+     <term>
+      <varname>buildFlags</varname> / <varname>buildFlagsArray</varname>
      </term>
      <listitem>
       <para>
@@ -1222,7 +1282,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>preBuild</varname>
+     <term>
+      <varname>preBuild</varname>
      </term>
      <listitem>
       <para>
@@ -1231,7 +1292,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postBuild</varname>
+     <term>
+      <varname>postBuild</varname>
      </term>
      <listitem>
       <para>
@@ -1266,7 +1328,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
    <variablelist>
     <title>Variables controlling the check phase</title>
     <varlistentry>
-     <term><varname>doCheck</varname>
+     <term>
+      <varname>doCheck</varname>
      </term>
      <listitem>
       <para>
@@ -1282,9 +1345,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>makeFlags</varname> /
-    <varname>makeFlagsArray</varname> /
-    <varname>makefile</varname>
+     <term>
+      <varname>makeFlags</varname> / <varname>makeFlagsArray</varname> / <varname>makefile</varname>
      </term>
      <listitem>
       <para>
@@ -1293,7 +1355,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>checkTarget</varname>
+     <term>
+      <varname>checkTarget</varname>
      </term>
      <listitem>
       <para>
@@ -1303,7 +1366,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>checkFlags</varname> / <varname>checkFlagsArray</varname>
+     <term>
+      <varname>checkFlags</varname> / <varname>checkFlagsArray</varname>
      </term>
      <listitem>
       <para>
@@ -1314,7 +1378,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>preCheck</varname>
+     <term>
+      <varname>preCheck</varname>
      </term>
      <listitem>
       <para>
@@ -1323,7 +1388,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postCheck</varname>
+     <term>
+      <varname>postCheck</varname>
      </term>
      <listitem>
       <para>
@@ -1347,9 +1413,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
    <variablelist>
     <title>Variables controlling the install phase</title>
     <varlistentry>
-     <term><varname>makeFlags</varname> /
-    <varname>makeFlagsArray</varname> /
-    <varname>makefile</varname>
+     <term>
+      <varname>makeFlags</varname> / <varname>makeFlagsArray</varname> / <varname>makefile</varname>
      </term>
      <listitem>
       <para>
@@ -1358,7 +1423,8 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>installTargets</varname>
+     <term>
+      <varname>installTargets</varname>
      </term>
      <listitem>
       <para>
@@ -1370,7 +1436,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>installFlags</varname> / <varname>installFlagsArray</varname>
+     <term>
+      <varname>installFlags</varname> / <varname>installFlagsArray</varname>
      </term>
      <listitem>
       <para>
@@ -1381,7 +1448,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>preInstall</varname>
+     <term>
+      <varname>preInstall</varname>
      </term>
      <listitem>
       <para>
@@ -1390,7 +1458,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postInstall</varname>
+     <term>
+      <varname>postInstall</varname>
      </term>
      <listitem>
       <para>
@@ -1444,7 +1513,8 @@ installTargets = "install-bin install-doc";</programlisting>
    <variablelist>
     <title>Variables controlling the fixup phase</title>
     <varlistentry>
-     <term><varname>dontStrip</varname>
+     <term>
+      <varname>dontStrip</varname>
      </term>
      <listitem>
       <para>
@@ -1454,7 +1524,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontStripHost</varname>
+     <term>
+      <varname>dontStripHost</varname>
      </term>
      <listitem>
       <para>
@@ -1466,7 +1537,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontStripTarget</varname>
+     <term>
+      <varname>dontStripTarget</varname>
      </term>
      <listitem>
       <para>
@@ -1478,7 +1550,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontMoveSbin</varname>
+     <term>
+      <varname>dontMoveSbin</varname>
      </term>
      <listitem>
       <para>
@@ -1488,7 +1561,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>stripAllList</varname>
+     <term>
+      <varname>stripAllList</varname>
      </term>
      <listitem>
       <para>
@@ -1500,7 +1574,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>stripAllFlags</varname>
+     <term>
+      <varname>stripAllFlags</varname>
      </term>
      <listitem>
       <para>
@@ -1511,7 +1586,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>stripDebugList</varname>
+     <term>
+      <varname>stripDebugList</varname>
      </term>
      <listitem>
       <para>
@@ -1522,7 +1598,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>stripDebugFlags</varname>
+     <term>
+      <varname>stripDebugFlags</varname>
      </term>
      <listitem>
       <para>
@@ -1533,7 +1610,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontPatchELF</varname>
+     <term>
+      <varname>dontPatchELF</varname>
      </term>
      <listitem>
       <para>
@@ -1543,7 +1621,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontPatchShebangs</varname>
+     <term>
+      <varname>dontPatchShebangs</varname>
      </term>
      <listitem>
       <para>
@@ -1553,7 +1632,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>forceShare</varname>
+     <term>
+      <varname>forceShare</varname>
      </term>
      <listitem>
       <para>
@@ -1564,7 +1644,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>setupHook</varname>
+     <term>
+      <varname>setupHook</varname>
      </term>
      <listitem>
       <para>
@@ -1579,7 +1660,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>preFixup</varname>
+     <term>
+      <varname>preFixup</varname>
      </term>
      <listitem>
       <para>
@@ -1588,7 +1670,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postFixup</varname>
+     <term>
+      <varname>postFixup</varname>
      </term>
      <listitem>
       <para>
@@ -1597,7 +1680,8 @@ installTargets = "install-bin install-doc";</programlisting>
      </listitem>
     </varlistentry>
     <varlistentry xml:id="stdenv-separateDebugInfo">
-     <term><varname>separateDebugInfo</varname>
+     <term>
+      <varname>separateDebugInfo</varname>
      </term>
      <listitem>
       <para>
@@ -1639,7 +1723,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
    <variablelist>
     <title>Variables controlling the installCheck phase</title>
     <varlistentry>
-     <term><varname>doInstallCheck</varname>
+     <term>
+      <varname>doInstallCheck</varname>
      </term>
      <listitem>
       <para>
@@ -1655,16 +1740,20 @@ set debug-file-directory ~/.nix-profile/lib/debug
      </listitem>
     </varlistentry>
     <varlistentry>
-      <term><varname>installCheckInputs</varname>
-      </term>
-      <listitem><para>
-        A list of dependencies used by the phase. This gets included in
-        <varname>buildInputs</varname> when <varname>doInstallCheck</varname>
-        is set.
-      </para></listitem>
+     <term>
+      <varname>installCheckInputs</varname>
+     </term>
+     <listitem>
+      <para>
+       A list of dependencies used by the phase. This gets included in
+       <varname>buildInputs</varname> when <varname>doInstallCheck</varname> is
+       set.
+      </para>
+     </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>preInstallCheck</varname>
+     <term>
+      <varname>preInstallCheck</varname>
      </term>
      <listitem>
       <para>
@@ -1673,7 +1762,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postInstallCheck</varname>
+     <term>
+      <varname>postInstallCheck</varname>
      </term>
      <listitem>
       <para>
@@ -1698,7 +1788,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
    <variablelist>
     <title>Variables controlling the distribution phase</title>
     <varlistentry>
-     <term><varname>distTarget</varname>
+     <term>
+      <varname>distTarget</varname>
      </term>
      <listitem>
       <para>
@@ -1708,7 +1799,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>distFlags</varname> / <varname>distFlagsArray</varname>
+     <term>
+      <varname>distFlags</varname> / <varname>distFlagsArray</varname>
      </term>
      <listitem>
       <para>
@@ -1717,7 +1809,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>tarballs</varname>
+     <term>
+      <varname>tarballs</varname>
      </term>
      <listitem>
       <para>
@@ -1728,7 +1821,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>dontCopyDist</varname>
+     <term>
+      <varname>dontCopyDist</varname>
      </term>
      <listitem>
       <para>
@@ -1737,7 +1831,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>preDist</varname>
+     <term>
+      <varname>preDist</varname>
      </term>
      <listitem>
       <para>
@@ -1746,7 +1841,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><varname>postDist</varname>
+     <term>
+      <varname>postDist</varname>
      </term>
      <listitem>
       <para>
@@ -1766,7 +1862,8 @@ set debug-file-directory ~/.nix-profile/lib/debug
 
   <variablelist>
    <varlistentry xml:id='fun-makeWrapper'>
-    <term><function>makeWrapper</function><replaceable>executable</replaceable><replaceable>wrapperfile</replaceable><replaceable>args</replaceable>
+    <term>
+     <function>makeWrapper</function> <replaceable>executable</replaceable> <replaceable>wrapperfile</replaceable> <replaceable>args</replaceable>
     </term>
     <listitem>
      <para>
@@ -1791,7 +1888,8 @@ makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello
     </listitem>
    </varlistentry>
    <varlistentry xml:id='fun-substitute'>
-    <term><function>substitute</function><replaceable>infile</replaceable><replaceable>outfile</replaceable><replaceable>subs</replaceable>
+    <term>
+     <function>substitute</function> <replaceable>infile</replaceable> <replaceable>outfile</replaceable> <replaceable>subs</replaceable>
     </term>
     <listitem>
      <para>
@@ -1801,7 +1899,8 @@ makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello
       <replaceable>subs</replaceable> are of the following form:
       <variablelist>
        <varlistentry>
-        <term><option>--replace</option><replaceable>s1</replaceable><replaceable>s2</replaceable>
+        <term>
+         <option>--replace</option> <replaceable>s1</replaceable> <replaceable>s2</replaceable>
         </term>
         <listitem>
          <para>
@@ -1811,7 +1910,8 @@ makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term><option>--subst-var</option><replaceable>varName</replaceable>
+        <term>
+         <option>--subst-var</option> <replaceable>varName</replaceable>
         </term>
         <listitem>
          <para>
@@ -1826,7 +1926,8 @@ makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello
         </listitem>
        </varlistentry>
        <varlistentry>
-        <term><option>--subst-var-by</option><replaceable>varName</replaceable><replaceable>s</replaceable>
+        <term>
+         <option>--subst-var-by</option> <replaceable>varName</replaceable> <replaceable>s</replaceable>
         </term>
         <listitem>
          <para>
@@ -1860,7 +1961,8 @@ substitute ./foo.in ./foo.out \
     </listitem>
    </varlistentry>
    <varlistentry xml:id='fun-substituteInPlace'>
-    <term><function>substituteInPlace</function><replaceable>file</replaceable><replaceable>subs</replaceable>
+    <term>
+     <function>substituteInPlace</function> <replaceable>file</replaceable> <replaceable>subs</replaceable>
     </term>
     <listitem>
      <para>
@@ -1870,7 +1972,8 @@ substitute ./foo.in ./foo.out \
     </listitem>
    </varlistentry>
    <varlistentry xml:id='fun-substituteAll'>
-    <term><function>substituteAll</function><replaceable>infile</replaceable><replaceable>outfile</replaceable>
+    <term>
+     <function>substituteAll</function> <replaceable>infile</replaceable> <replaceable>outfile</replaceable>
     </term>
     <listitem>
      <para>
@@ -1909,7 +2012,8 @@ echo @foo@
     </listitem>
    </varlistentry>
    <varlistentry xml:id='fun-substituteAllInPlace'>
-    <term><function>substituteAllInPlace</function><replaceable>file</replaceable>
+    <term>
+     <function>substituteAllInPlace</function> <replaceable>file</replaceable>
     </term>
     <listitem>
      <para>
@@ -1919,7 +2023,8 @@ echo @foo@
     </listitem>
    </varlistentry>
    <varlistentry xml:id='fun-stripHash'>
-    <term><function>stripHash</function><replaceable>path</replaceable>
+    <term>
+     <function>stripHash</function> <replaceable>path</replaceable>
     </term>
     <listitem>
      <para>
@@ -1939,7 +2044,8 @@ someVar=$(stripHash $name)
     </listitem>
    </varlistentry>
    <varlistentry xml:id='fun-wrapProgram'>
-    <term><function>wrapProgram</function><replaceable>executable</replaceable><replaceable>makeWrapperArgs</replaceable>
+    <term>
+     <function>wrapProgram</function> <replaceable>executable</replaceable> <replaceable>makeWrapperArgs</replaceable>
     </term>
     <listitem>
      <para>
@@ -2039,7 +2145,9 @@ addEnvHooks "$hostOffset" myBashFunction
    mechanism is only to be used as a last resort, it might be.
    <variablelist>
     <varlistentry>
-     <term>Bintools Wrapper</term>
+     <term>
+      Bintools Wrapper
+     </term>
      <listitem>
       <para>
        Bintools Wrapper wraps the binary utilities for a bunch of miscellaneous
@@ -2109,7 +2217,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>CC Wrapper</term>
+     <term>
+      CC Wrapper
+     </term>
      <listitem>
       <para>
        CC Wrapper wraps a C toolchain for a bunch of miscellaneous purposes.
@@ -2140,7 +2250,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>Perl</term>
+     <term>
+      Perl
+     </term>
      <listitem>
       <para>
        Adds the <filename>lib/site_perl</filename> subdirectory of each build
@@ -2152,7 +2264,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>Python</term>
+     <term>
+      Python
+     </term>
      <listitem>
       <para>
        Adds the <filename>lib/${python.libPrefix}/site-packages</filename>
@@ -2162,7 +2276,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>pkg-config</term>
+     <term>
+      pkg-config
+     </term>
      <listitem>
       <para>
        Adds the <filename>lib/pkgconfig</filename> and
@@ -2172,7 +2288,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>Automake</term>
+     <term>
+      Automake
+     </term>
      <listitem>
       <para>
        Adds the <filename>share/aclocal</filename> subdirectory of each build
@@ -2181,7 +2299,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>Autoconf</term>
+     <term>
+      Autoconf
+     </term>
      <listitem>
       <para>
        The <varname>autoreconfHook</varname> derivation adds
@@ -2192,7 +2312,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>libxml2</term>
+     <term>
+      libxml2
+     </term>
      <listitem>
       <para>
        Adds every file named <filename>catalog.xml</filename> found under the
@@ -2203,7 +2325,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>teTeX / TeX Live</term>
+     <term>
+      teTeX / TeX Live
+     </term>
      <listitem>
       <para>
        Adds the <filename>share/texmf-nix</filename> subdirectory of each build
@@ -2212,7 +2336,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>Qt 4</term>
+     <term>
+      Qt 4
+     </term>
      <listitem>
       <para>
        Sets the <envar>QTDIR</envar> environment variable to Qt’s path.
@@ -2220,7 +2346,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>gdk-pixbuf</term>
+     <term>
+      gdk-pixbuf
+     </term>
      <listitem>
       <para>
        Exports <envar>GDK_PIXBUF_MODULE_FILE</envar> environment variable the
@@ -2230,7 +2358,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>GHC</term>
+     <term>
+      GHC
+     </term>
      <listitem>
       <para>
        Creates a temporary package database and registers every Haskell build
@@ -2239,7 +2369,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>GStreamer</term>
+     <term>
+      GStreamer
+     </term>
      <listitem>
       <para>
        Adds the GStreamer plugins subdirectory of each build input to the
@@ -2249,7 +2381,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>paxctl</term>
+     <term>
+      paxctl
+     </term>
      <listitem>
       <para>
        Defines the <varname>paxmark</varname> helper for setting per-executable
@@ -2271,7 +2405,9 @@ addEnvHooks "$hostOffset" myBashFunction
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>autoPatchelfHook</term>
+     <term>
+      autoPatchelfHook
+     </term>
      <listitem>
       <para>
        This is a special setup hook which helps in packaging proprietary
@@ -2330,7 +2466,8 @@ addEnvHooks "$hostOffset" myBashFunction
 
   <variablelist>
    <varlistentry>
-    <term><varname>format</varname>
+    <term>
+     <varname>format</varname>
     </term>
     <listitem>
      <para>
@@ -2354,7 +2491,8 @@ cc1plus: some warnings being treated as errors
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>stackprotector</varname>
+    <term>
+     <varname>stackprotector</varname>
     </term>
     <listitem>
      <para>
@@ -2375,7 +2513,8 @@ bin/blib.a(bios_console.o): In function `bios_handle_cup':
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>fortify</varname>
+    <term>
+     <varname>fortify</varname>
     </term>
     <listitem>
      <para>
@@ -2415,7 +2554,8 @@ fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute erro
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>pic</varname>
+    <term>
+     <varname>pic</varname>
     </term>
     <listitem>
      <para>
@@ -2439,7 +2579,8 @@ ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_le
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>strictoverflow</varname>
+    <term>
+     <varname>strictoverflow</varname>
     </term>
     <listitem>
      <para>
@@ -2457,7 +2598,8 @@ ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_le
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>relro</varname>
+    <term>
+     <varname>relro</varname>
     </term>
     <listitem>
      <para>
@@ -2477,7 +2619,8 @@ ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_le
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>bindnow</varname>
+    <term>
+     <varname>bindnow</varname>
     </term>
     <listitem>
      <para>
@@ -2509,7 +2652,8 @@ intel_drv.so: undefined symbol: vgaHWFreeHWRec
 
   <variablelist>
    <varlistentry>
-    <term><varname>pie</varname>
+    <term>
+     <varname>pie</varname>
     </term>
     <listitem>
      <para>
diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix
index 32f055b6b1c5..f624a5c140a3 100644
--- a/lib/systems/platforms.nix
+++ b/lib/systems/platforms.nix
@@ -167,171 +167,24 @@ rec {
   raspberrypi = {
     name = "raspberrypi";
     kernelMajor = "2.6";
-    kernelBaseConfig = "bcmrpi_defconfig";
+    kernelBaseConfig = "bcm2835_defconfig";
     kernelDTB = true;
     kernelArch = "arm";
     kernelAutoModules = false;
     kernelExtraConfig = ''
-      BLK_DEV_RAM y
-      BLK_DEV_INITRD y
-      BLK_DEV_CRYPTOLOOP m
-      BLK_DEV_DM m
-      DM_CRYPT m
-      MD y
-      REISERFS_FS m
-      BTRFS_FS y
-      XFS_FS m
-      JFS_FS y
-      EXT4_FS y
-
-      IP_PNP y
-      IP_PNP_DHCP y
-      NFS_FS y
-      ROOT_NFS y
-      TUN m
-      NFS_V4 y
-      NFS_V4_1 y
-      NFS_FSCACHE y
-      NFSD m
-      NFSD_V2_ACL y
-      NFSD_V3 y
-      NFSD_V3_ACL y
-      NFSD_V4 y
-      NETFILTER y
-      IP_NF_IPTABLES y
-      IP_NF_FILTER y
-      IP_NF_MATCH_ADDRTYPE y
-      IP_NF_TARGET_LOG y
-      IP_NF_MANGLE y
-      IPV6 m
-      VLAN_8021Q m
-
-      CIFS y
-      CIFS_XATTR y
-      CIFS_POSIX y
-      CIFS_FSCACHE y
-      CIFS_ACL y
-
-      ZRAM m
-
       # Disable OABI to have seccomp_filter (required for systemd)
       # https://github.com/raspberrypi/firmware/issues/651
       OABI_COMPAT n
-
-      # Fail to build
-      DRM n
-      SCSI_ADVANSYS n
-      USB_ISP1362_HCD n
-      SND_SOC n
-      SND_ALI5451 n
-      FB_SAVAGE n
-      SCSI_NSP32 n
-      ATA_SFF n
-      SUNGEM n
-      IRDA n
-      ATM_HE n
-      SCSI_ACARD n
-      BLK_DEV_CMD640_ENHANCED n
-
-      FUSE_FS m
-
-      # nixos mounts some cgroup
-      CGROUPS y
-
-      # Latencytop
-      LATENCYTOP y
     '';
     kernelTarget = "zImage";
     gcc = {
       arch = "armv6";
       fpu = "vfp";
-      # TODO(@Ericson2314) what is this and is it a good idea? It was
-      # used in some cross compilation examples but not others.
-      #
-      # abi = "aapcs-linux";
     };
   };
 
-  raspberrypi2 = armv7l-hf-multiplatform // {
-    name = "raspberrypi2";
-    kernelBaseConfig = "bcm2709_defconfig";
-    kernelDTB = true;
-    kernelAutoModules = false;
-    kernelExtraConfig = ''
-      BLK_DEV_RAM y
-      BLK_DEV_INITRD y
-      BLK_DEV_CRYPTOLOOP m
-      BLK_DEV_DM m
-      DM_CRYPT m
-      MD y
-      REISERFS_FS m
-      BTRFS_FS y
-      XFS_FS m
-      JFS_FS y
-      EXT4_FS y
-
-      IP_PNP y
-      IP_PNP_DHCP y
-      NFS_FS y
-      ROOT_NFS y
-      TUN m
-      NFS_V4 y
-      NFS_V4_1 y
-      NFS_FSCACHE y
-      NFSD m
-      NFSD_V2_ACL y
-      NFSD_V3 y
-      NFSD_V3_ACL y
-      NFSD_V4 y
-      NETFILTER y
-      IP_NF_IPTABLES y
-      IP_NF_FILTER y
-      IP_NF_MATCH_ADDRTYPE y
-      IP_NF_TARGET_LOG y
-      IP_NF_MANGLE y
-      IPV6 m
-      VLAN_8021Q m
-
-      CIFS y
-      CIFS_XATTR y
-      CIFS_POSIX y
-      CIFS_FSCACHE y
-      CIFS_ACL y
-
-      ZRAM m
-
-      # Disable OABI to have seccomp_filter (required for systemd)
-      # https://github.com/raspberrypi/firmware/issues/651
-      OABI_COMPAT n
-
-      # Fail to build
-      DRM n
-      SCSI_ADVANSYS n
-      USB_ISP1362_HCD n
-      SND_SOC n
-      SND_ALI5451 n
-      FB_SAVAGE n
-      SCSI_NSP32 n
-      ATA_SFF n
-      SUNGEM n
-      IRDA n
-      ATM_HE n
-      SCSI_ACARD n
-      BLK_DEV_CMD640_ENHANCED n
-
-      FUSE_FS m
-
-      # nixos mounts some cgroup
-      CGROUPS y
-
-      # Latencytop
-      LATENCYTOP y
-
-      # Disable the common config Xen, it doesn't build on ARM
-      XEN? n
-    '';
-    kernelTarget = "zImage";
-  };
+  # Legacy attribute, for compatibility with existing configs only.
+  raspberrypi2 = armv7l-hf-multiplatform;
 
   scaleway-c1 = armv7l-hf-multiplatform // {
     gcc = {
@@ -424,6 +277,10 @@ rec {
 
       # Hangs ODROID-XU4
       ARM_BIG_LITTLE_CPUIDLE n
+
+      # Disable OABI to have seccomp_filter (required for systemd)
+      # https://github.com/raspberrypi/firmware/issues/651
+      OABI_COMPAT n
     '';
     gcc = {
       # Some table about fpu flags:
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index a22a1d6d5d13..8a5845cafe3c 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -58,6 +58,11 @@
     github = "DamienCassou";
     name = "Damien Cassou";
   };
+  das_j = {
+    email = "janne@hess.ooo";
+    github = "dasJ";
+    name = "Janne Heß";
+  };
   DerGuteMoritz = {
     email = "moritz@twoticketsplease.de";
     github = "DerGuteMoritz";
@@ -557,6 +562,11 @@
     github = "basvandijk";
     name = "Bas van Dijk";
   };
+  bbarker = {
+    email = "brandon.barker@gmail.com";
+    github = "bbarker";
+    name = "Brandon Elam Barker";
+  };  
   bcarrell = {
     email = "brandoncarrell@gmail.com";
     github = "bcarrell";
@@ -2171,6 +2181,11 @@
     github = "limeytexan";
     name = "Michael Brantley";
   };
+  linc01n = {
+    email = "git@lincoln.hk";
+    github = "linc01n";
+    name = "Lincoln Lee";
+  };
   linquize = {
     email = "linquize@yahoo.com.hk";
     github = "linquize";
@@ -2284,6 +2299,11 @@
     github = "madjar";
     name = "Georges Dubus";
   };
+  mafo = {
+    email = "Marc.Fontaine@gmx.de";
+    github = "MarcFontaine";
+    name = "Marc Fontaine";
+  };
   magnetophon = {
     email = "bart@magnetophon.nl";
     github = "magnetophon";
@@ -2978,6 +2998,11 @@
     github = "phreedom";
     name = "Evgeny Egorochkin";
   };
+  phryneas = {
+    email = "mail@lenzw.de";
+    github = "phryneas";
+    name = "Lenz Weber";
+  };
   phunehehe = {
     email = "phunehehe@gmail.com";
     github = "phunehehe";
@@ -3945,6 +3970,11 @@
     github = "uralbash";
     name = "Svintsov Dmitry";
   };
+  uri-canva = {
+    email = "uri@canva.com";
+    github = "uri-canva";
+    name = "Uri Baghin";
+  };
   utdemir = {
     email = "me@utdemir.com";
     github = "utdemir";
diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile
index 2e2322d5fb51..5cbbf140869a 100644
--- a/nixos/doc/manual/Makefile
+++ b/nixos/doc/manual/Makefile
@@ -14,6 +14,11 @@ format:
 	find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
 		xmlformat --config-file "../xmlformat.conf" -i {}
 
+.PHONY: fix-misc-xml
+fix-misc-xml:
+	find . -iname '*.xml' -type f \
+		-exec ../varlistentry-fixer.rb {} ';'
+
 .PHONY: clean
 clean:
 	rm -f manual-combined.xml generated
diff --git a/nixos/doc/manual/administration/boot-problems.xml b/nixos/doc/manual/administration/boot-problems.xml
index 5f05ad261ef3..de3d8ac21aeb 100644
--- a/nixos/doc/manual/administration/boot-problems.xml
+++ b/nixos/doc/manual/administration/boot-problems.xml
@@ -14,7 +14,8 @@
   NixOS boot scripts or by systemd:
   <variablelist>
    <varlistentry>
-    <term><literal>boot.shell_on_fail</literal>
+    <term>
+     <literal>boot.shell_on_fail</literal>
     </term>
     <listitem>
      <para>
@@ -25,7 +26,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>boot.debug1</literal>
+    <term>
+     <literal>boot.debug1</literal>
     </term>
     <listitem>
      <para>
@@ -37,7 +39,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>boot.trace</literal>
+    <term>
+     <literal>boot.trace</literal>
     </term>
     <listitem>
      <para>
@@ -46,7 +49,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>single</literal>
+    <term>
+     <literal>single</literal>
     </term>
     <listitem>
      <para>
@@ -59,7 +63,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><literal>systemd.log_level=debug systemd.log_target=console</literal>
+    <term>
+     <literal>systemd.log_level=debug systemd.log_target=console</literal>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml
index a9420b3fc921..8a1a39c98c10 100644
--- a/nixos/doc/manual/configuration/config-file.xml
+++ b/nixos/doc/manual/configuration/config-file.xml
@@ -80,7 +80,9 @@ The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is no
   Options have various types of values. The most important are:
   <variablelist>
    <varlistentry>
-    <term>Strings</term>
+    <term>
+     Strings
+    </term>
     <listitem>
      <para>
       Strings are enclosed in double quotes, e.g.
@@ -112,7 +114,9 @@ The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is no
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term>Booleans</term>
+    <term>
+     Booleans
+    </term>
     <listitem>
      <para>
       These can be <literal>true</literal> or <literal>false</literal>, e.g.
@@ -124,7 +128,9 @@ The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is no
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term>Integers</term>
+    <term>
+     Integers
+    </term>
     <listitem>
      <para>
       For example,
@@ -141,7 +147,9 @@ The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is no
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term>Sets</term>
+    <term>
+     Sets
+    </term>
     <listitem>
      <para>
       Sets were introduced above. They are name/value pairs enclosed in braces,
@@ -157,7 +165,9 @@ The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is no
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term>Lists</term>
+    <term>
+     Lists
+    </term>
     <listitem>
      <para>
       The important thing to note about lists is that list elements are
@@ -173,7 +183,9 @@ swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term>Packages</term>
+    <term>
+     Packages
+    </term>
     <listitem>
      <para>
       Usually, the packages you need are already part of the Nix Packages
diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml
index 6502aaec83e5..f4d697c42dbd 100644
--- a/nixos/doc/manual/configuration/linux-kernel.xml
+++ b/nixos/doc/manual/configuration/linux-kernel.xml
@@ -67,6 +67,57 @@ nixpkgs.config.packageOverrides = pkgs:
   parameters, run <command>sysctl -a</command>.
  </para>
  <section>
+  <title>Customize your kernel</title>
+
+  <para>
+   The first step before compiling the kernel is to generate an appropriate
+   <literal>.config</literal> configuration. Either you pass your own config via
+   the <literal>configfile</literal> setting of <literal>linuxManualConfig</literal>:
+  <screen><![CDATA[
+  custom-kernel = super.linuxManualConfig {
+    inherit (super) stdenv hostPlatform;
+    inherit (linux_4_9) src;
+    version = "${linux_4_9.version}-custom";
+
+    configfile = /home/me/my_kernel_config;
+    allowImportFromDerivation = true;
+  };
+  ]]></screen>
+
+You can edit the config with this snippet (by default <command>make menuconfig</command> won't work
+  out of the box on nixos):
+  <screen><![CDATA[
+      nix-shell -E 'with import <nixpkgs> {}; kernelToOverride.overrideAttrs (o: {nativeBuildInputs=o.nativeBuildInputs ++ [ pkgconfig ncurses ];})'
+  ]]></screen>
+
+
+  or you can let nixpkgs generate the configuration.
+  Nixpkgs generates it via answering the interactive kernel utility <command>make config</command>.
+  The answers depend on parameters passed to <filename>pkgs/os-specific/linux/kernel/generic.nix</filename>
+  (which you can influence by overriding <literal>extraConfig, autoModules, modDirVersion, preferBuiltin, extraConfig</literal>).
+<screen><![CDATA[
+
+  mptcp93.override ({
+      name="mptcp-local";
+
+      ignoreConfigErrors = true;
+      autoModules = false;
+      kernelPreferBuiltin = true;
+
+      enableParallelBuilding = true;
+
+      extraConfig = ''
+        DEBUG_KERNEL y
+        FRAME_POINTER y
+        KGDB y
+        KGDB_SERIAL_CONSOLE y
+        DEBUG_INFO y
+      '';
+    });
+  ]]></screen>
+  </para>
+ </section>
+ <section>
   <title>Developing kernel modules</title>
 
   <para>
diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml
index 031048aaa377..eaffc0ef47c2 100644
--- a/nixos/doc/manual/development/building-parts.xml
+++ b/nixos/doc/manual/development/building-parts.xml
@@ -15,7 +15,8 @@ $ nix-build -A config.<replaceable>option</replaceable></screen>
   include:
   <variablelist>
    <varlistentry>
-    <term><varname>system.build.toplevel</varname>
+    <term>
+     <varname>system.build.toplevel</varname>
     </term>
     <listitem>
      <para>
@@ -32,7 +33,8 @@ $ nix-build -A system</screen>
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>system.build.manual.manual</varname>
+    <term>
+     <varname>system.build.manual.manual</varname>
     </term>
     <listitem>
      <para>
@@ -41,7 +43,8 @@ $ nix-build -A system</screen>
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>system.build.etc</varname>
+    <term>
+     <varname>system.build.etc</varname>
     </term>
     <listitem>
      <para>
@@ -51,9 +54,11 @@ $ nix-build -A system</screen>
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>system.build.initialRamdisk</varname>
+    <term>
+     <varname>system.build.initialRamdisk</varname>
     </term>
-    <term><varname>system.build.kernel</varname>
+    <term>
+     <varname>system.build.kernel</varname>
     </term>
     <listitem>
      <para>
@@ -69,11 +74,14 @@ $ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>system.build.nixos-rebuild</varname>
+    <term>
+     <varname>system.build.nixos-rebuild</varname>
     </term>
-    <term><varname>system.build.nixos-install</varname>
+    <term>
+     <varname>system.build.nixos-install</varname>
     </term>
-    <term><varname>system.build.nixos-generate-config</varname>
+    <term>
+     <varname>system.build.nixos-generate-config</varname>
     </term>
     <listitem>
      <para>
@@ -82,7 +90,8 @@ $ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>systemd.units.<replaceable>unit-name</replaceable>.unit</varname>
+    <term>
+     <varname>systemd.units.<replaceable>unit-name</replaceable>.unit</varname>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml
index a8f528a0a804..eee81bf64263 100644
--- a/nixos/doc/manual/development/option-declarations.xml
+++ b/nixos/doc/manual/development/option-declarations.xml
@@ -32,7 +32,8 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
   The function <varname>mkOption</varname> accepts the following arguments.
   <variablelist>
    <varlistentry>
-    <term><varname>type</varname>
+    <term>
+     <varname>type</varname>
     </term>
     <listitem>
      <para>
@@ -43,7 +44,8 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>default</varname>
+    <term>
+     <varname>default</varname>
     </term>
     <listitem>
      <para>
@@ -55,7 +57,8 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>example</varname>
+    <term>
+     <varname>example</varname>
     </term>
     <listitem>
      <para>
@@ -64,7 +67,8 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>description</varname>
+    <term>
+     <varname>description</varname>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml
index 5cb747e6d9f1..47dd09158e91 100644
--- a/nixos/doc/manual/development/option-types.xml
+++ b/nixos/doc/manual/development/option-types.xml
@@ -22,7 +22,8 @@
 
   <variablelist>
    <varlistentry>
-    <term><varname>types.attrs</varname>
+    <term>
+     <varname>types.attrs</varname>
     </term>
     <listitem>
      <para>
@@ -31,7 +32,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.bool</varname>
+    <term>
+     <varname>types.bool</varname>
     </term>
     <listitem>
      <para>
@@ -41,7 +43,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.path</varname>
+    <term>
+     <varname>types.path</varname>
     </term>
     <listitem>
      <para>
@@ -52,7 +55,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.package</varname>
+    <term>
+     <varname>types.package</varname>
     </term>
     <listitem>
      <para>
@@ -68,7 +72,8 @@
 
   <variablelist>
    <varlistentry>
-    <term><varname>types.int</varname>
+    <term>
+     <varname>types.int</varname>
     </term>
     <listitem>
      <para>
@@ -77,7 +82,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.ints.{s8, s16, s32}</varname>
+    <term>
+     <varname>types.ints.{s8, s16, s32}</varname>
     </term>
     <listitem>
      <para>
@@ -91,7 +97,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.ints.unsigned</varname>
+    <term>
+     <varname>types.ints.unsigned</varname>
     </term>
     <listitem>
      <para>
@@ -100,7 +107,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.ints.{u8, u16, u32}</varname>
+    <term>
+     <varname>types.ints.{u8, u16, u32}</varname>
     </term>
     <listitem>
      <para>
@@ -114,7 +122,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.ints.positive</varname>
+    <term>
+     <varname>types.ints.positive</varname>
     </term>
     <listitem>
      <para>
@@ -130,7 +139,8 @@
 
   <variablelist>
    <varlistentry>
-    <term><varname>types.str</varname>
+    <term>
+     <varname>types.str</varname>
     </term>
     <listitem>
      <para>
@@ -139,7 +149,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.lines</varname>
+    <term>
+     <varname>types.lines</varname>
     </term>
     <listitem>
      <para>
@@ -149,7 +160,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.commas</varname>
+    <term>
+     <varname>types.commas</varname>
     </term>
     <listitem>
      <para>
@@ -159,7 +171,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.envVar</varname>
+    <term>
+     <varname>types.envVar</varname>
     </term>
     <listitem>
      <para>
@@ -169,7 +182,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.strMatching</varname>
+    <term>
+     <varname>types.strMatching</varname>
     </term>
     <listitem>
      <para>
@@ -191,7 +205,8 @@
 
   <variablelist>
    <varlistentry>
-    <term><varname>types.enum</varname><replaceable>l</replaceable>
+    <term>
+     <varname>types.enum</varname> <replaceable>l</replaceable>
     </term>
     <listitem>
      <para>
@@ -202,7 +217,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.separatedString</varname><replaceable>sep</replaceable>
+    <term>
+     <varname>types.separatedString</varname> <replaceable>sep</replaceable>
     </term>
     <listitem>
      <para>
@@ -212,7 +228,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.ints.between</varname><replaceable>lowest</replaceable><replaceable>highest</replaceable>
+    <term>
+     <varname>types.ints.between</varname> <replaceable>lowest</replaceable> <replaceable>highest</replaceable>
     </term>
     <listitem>
      <para>
@@ -223,7 +240,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.submodule</varname><replaceable>o</replaceable>
+    <term>
+     <varname>types.submodule</varname> <replaceable>o</replaceable>
     </term>
     <listitem>
      <para>
@@ -250,7 +268,8 @@
 
   <variablelist>
    <varlistentry>
-    <term><varname>types.listOf</varname><replaceable>t</replaceable>
+    <term>
+     <varname>types.listOf</varname> <replaceable>t</replaceable>
     </term>
     <listitem>
      <para>
@@ -260,7 +279,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.attrsOf</varname><replaceable>t</replaceable>
+    <term>
+     <varname>types.attrsOf</varname> <replaceable>t</replaceable>
     </term>
     <listitem>
      <para>
@@ -271,7 +291,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.loaOf</varname><replaceable>t</replaceable>
+    <term>
+     <varname>types.loaOf</varname> <replaceable>t</replaceable>
     </term>
     <listitem>
      <para>
@@ -281,7 +302,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.nullOr</varname><replaceable>t</replaceable>
+    <term>
+     <varname>types.nullOr</varname> <replaceable>t</replaceable>
     </term>
     <listitem>
      <para>
@@ -291,7 +313,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.uniq</varname><replaceable>t</replaceable>
+    <term>
+     <varname>types.uniq</varname> <replaceable>t</replaceable>
     </term>
     <listitem>
      <para>
@@ -301,7 +324,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.either</varname><replaceable>t1</replaceable><replaceable>t2</replaceable>
+    <term>
+     <varname>types.either</varname> <replaceable>t1</replaceable> <replaceable>t2</replaceable>
     </term>
     <listitem>
      <para>
@@ -312,7 +336,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>types.coercedTo</varname><replaceable>from</replaceable><replaceable>f</replaceable><replaceable>to</replaceable>
+    <term>
+     <varname>types.coercedTo</varname> <replaceable>from</replaceable> <replaceable>f</replaceable> <replaceable>to</replaceable>
     </term>
     <listitem>
      <para>
@@ -468,7 +493,8 @@ config.mod.two = { foo = 2; bar = "two"; };</screen>
 
   <variablelist>
    <varlistentry>
-    <term><varname>check</varname>
+    <term>
+     <varname>check</varname>
     </term>
     <listitem>
      <para>
@@ -501,7 +527,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>merge</varname>
+    <term>
+     <varname>merge</varname>
     </term>
     <listitem>
      <para>
@@ -534,7 +561,8 @@ nixThings = mkOption {
 
   <variablelist>
    <varlistentry>
-    <term><varname>name</varname>
+    <term>
+     <varname>name</varname>
     </term>
     <listitem>
      <para>
@@ -543,7 +571,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>definition</varname>
+    <term>
+     <varname>definition</varname>
     </term>
     <listitem>
      <para>
@@ -553,7 +582,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>check</varname>
+    <term>
+     <varname>check</varname>
     </term>
     <listitem>
      <para>
@@ -565,7 +595,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>merge</varname>
+    <term>
+     <varname>merge</varname>
     </term>
     <listitem>
      <para>
@@ -573,7 +604,8 @@ nixThings = mkOption {
      </para>
      <variablelist>
       <varlistentry>
-       <term><replaceable>loc</replaceable>
+       <term>
+        <replaceable>loc</replaceable>
        </term>
        <listitem>
         <para>
@@ -583,7 +615,8 @@ nixThings = mkOption {
        </listitem>
       </varlistentry>
       <varlistentry>
-       <term><replaceable>defs</replaceable>
+       <term>
+        <replaceable>defs</replaceable>
        </term>
        <listitem>
         <para>
@@ -600,7 +633,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>getSubOptions</varname>
+    <term>
+     <varname>getSubOptions</varname>
     </term>
     <listitem>
      <para>
@@ -615,7 +649,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>getSubModules</varname>
+    <term>
+     <varname>getSubModules</varname>
     </term>
     <listitem>
      <para>
@@ -628,7 +663,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>substSubModules</varname>
+    <term>
+     <varname>substSubModules</varname>
     </term>
     <listitem>
      <para>
@@ -644,7 +680,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>typeMerge</varname>
+    <term>
+     <varname>typeMerge</varname>
     </term>
     <listitem>
      <para>
@@ -654,7 +691,8 @@ nixThings = mkOption {
      </para>
      <variablelist>
       <varlistentry>
-       <term><replaceable>f</replaceable>
+       <term>
+        <replaceable>f</replaceable>
        </term>
        <listitem>
         <para>
@@ -670,7 +708,8 @@ nixThings = mkOption {
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><varname>functor</varname>
+    <term>
+     <varname>functor</varname>
     </term>
     <listitem>
      <para>
@@ -679,7 +718,8 @@ nixThings = mkOption {
      </para>
      <variablelist>
       <varlistentry>
-       <term><varname>type</varname>
+       <term>
+        <varname>type</varname>
        </term>
        <listitem>
         <para>
@@ -688,7 +728,8 @@ nixThings = mkOption {
        </listitem>
       </varlistentry>
       <varlistentry>
-       <term><varname>wrapped</varname>
+       <term>
+        <varname>wrapped</varname>
        </term>
        <listitem>
         <para>
@@ -697,7 +738,8 @@ nixThings = mkOption {
        </listitem>
       </varlistentry>
       <varlistentry>
-       <term><varname>payload</varname>
+       <term>
+        <varname>payload</varname>
        </term>
        <listitem>
         <para>
@@ -709,7 +751,8 @@ nixThings = mkOption {
        </listitem>
       </varlistentry>
       <varlistentry>
-       <term><varname>binOp</varname>
+       <term>
+        <varname>binOp</varname>
        </term>
        <listitem>
         <para>
diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml
index 89a6a4423627..5935fbc049bd 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.xml
+++ b/nixos/doc/manual/development/writing-nixos-tests.xml
@@ -54,7 +54,8 @@ xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs.nix">nf
 <!-- FIXME: would be nice to generate this automatically. -->
   <variablelist>
    <varlistentry>
-    <term><option>virtualisation.memorySize</option>
+    <term>
+     <option>virtualisation.memorySize</option>
     </term>
     <listitem>
      <para>
@@ -63,7 +64,8 @@ xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs.nix">nf
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>virtualisation.vlans</option>
+    <term>
+     <option>virtualisation.vlans</option>
     </term>
     <listitem>
      <para>
@@ -75,7 +77,8 @@ xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs.nix">nf
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>virtualisation.writableStore</option>
+    <term>
+     <option>virtualisation.writableStore</option>
     </term>
     <listitem>
      <para>
@@ -120,7 +123,8 @@ startAll;
   The following methods are available on machine objects:
   <variablelist>
    <varlistentry>
-    <term><methodname>start</methodname>
+    <term>
+     <methodname>start</methodname>
     </term>
     <listitem>
      <para>
@@ -130,7 +134,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>shutdown</methodname>
+    <term>
+     <methodname>shutdown</methodname>
     </term>
     <listitem>
      <para>
@@ -139,7 +144,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>crash</methodname>
+    <term>
+     <methodname>crash</methodname>
     </term>
     <listitem>
      <para>
@@ -148,7 +154,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>block</methodname>
+    <term>
+     <methodname>block</methodname>
     </term>
     <listitem>
      <para>
@@ -158,7 +165,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>unblock</methodname>
+    <term>
+     <methodname>unblock</methodname>
     </term>
     <listitem>
      <para>
@@ -167,7 +175,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>screenshot</methodname>
+    <term>
+     <methodname>screenshot</methodname>
     </term>
     <listitem>
      <para>
@@ -177,7 +186,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>getScreenText</methodname>
+    <term>
+     <methodname>getScreenText</methodname>
     </term>
     <listitem>
      <para>
@@ -193,7 +203,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>sendMonitorCommand</methodname>
+    <term>
+     <methodname>sendMonitorCommand</methodname>
     </term>
     <listitem>
      <para>
@@ -203,7 +214,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>sendKeys</methodname>
+    <term>
+     <methodname>sendKeys</methodname>
     </term>
     <listitem>
      <para>
@@ -213,7 +225,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>sendChars</methodname>
+    <term>
+     <methodname>sendChars</methodname>
     </term>
     <listitem>
      <para>
@@ -224,7 +237,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>execute</methodname>
+    <term>
+     <methodname>execute</methodname>
     </term>
     <listitem>
      <para>
@@ -235,7 +249,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>succeed</methodname>
+    <term>
+     <methodname>succeed</methodname>
     </term>
     <listitem>
      <para>
@@ -245,7 +260,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>fail</methodname>
+    <term>
+     <methodname>fail</methodname>
     </term>
     <listitem>
      <para>
@@ -255,7 +271,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitUntilSucceeds</methodname>
+    <term>
+     <methodname>waitUntilSucceeds</methodname>
     </term>
     <listitem>
      <para>
@@ -264,7 +281,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitUntilFails</methodname>
+    <term>
+     <methodname>waitUntilFails</methodname>
     </term>
     <listitem>
      <para>
@@ -273,7 +291,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitForUnit</methodname>
+    <term>
+     <methodname>waitForUnit</methodname>
     </term>
     <listitem>
      <para>
@@ -282,7 +301,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitForFile</methodname>
+    <term>
+     <methodname>waitForFile</methodname>
     </term>
     <listitem>
      <para>
@@ -291,7 +311,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitForOpenPort</methodname>
+    <term>
+     <methodname>waitForOpenPort</methodname>
     </term>
     <listitem>
      <para>
@@ -301,7 +322,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitForClosedPort</methodname>
+    <term>
+     <methodname>waitForClosedPort</methodname>
     </term>
     <listitem>
      <para>
@@ -310,7 +332,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitForX</methodname>
+    <term>
+     <methodname>waitForX</methodname>
     </term>
     <listitem>
      <para>
@@ -319,7 +342,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitForText</methodname>
+    <term>
+     <methodname>waitForText</methodname>
     </term>
     <listitem>
      <para>
@@ -336,7 +360,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>waitForWindow</methodname>
+    <term>
+     <methodname>waitForWindow</methodname>
     </term>
     <listitem>
      <para>
@@ -346,7 +371,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>copyFileFromHost</methodname>
+    <term>
+     <methodname>copyFileFromHost</methodname>
     </term>
     <listitem>
      <para>
@@ -361,7 +387,8 @@ startAll;
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><methodname>systemctl</methodname>
+    <term>
+     <methodname>systemctl</methodname>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index 4e1fde662d6e..6066d025adbf 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -16,7 +16,9 @@
    </para>
    <variablelist>
     <varlistentry>
-     <term>UEFI systems</term>
+     <term>
+      UEFI systems
+     </term>
      <listitem>
       <para>
        You should boot the live CD in UEFI mode (consult your specific
@@ -138,7 +140,9 @@
      <listitem>
       <variablelist>
        <varlistentry>
-        <term>UEFI systems</term>
+        <term>
+         UEFI systems
+        </term>
         <listitem>
          <para>
           For creating boot partitions: <command>mkfs.fat</command>. Again
@@ -178,7 +182,9 @@
   <listitem>
    <variablelist>
     <varlistentry>
-     <term>UEFI systems</term>
+     <term>
+      UEFI systems
+     </term>
      <listitem>
       <para>
        Mount the boot file system on <filename>/mnt/boot</filename>, e.g.
@@ -234,7 +240,9 @@
    </para>
    <variablelist>
     <varlistentry>
-     <term>BIOS systems</term>
+     <term>
+      BIOS systems
+     </term>
      <listitem>
       <para>
        You <emphasis>must</emphasis> set the option
@@ -244,7 +252,9 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term>UEFI systems</term>
+     <term>
+      UEFI systems
+     </term>
      <listitem>
       <para>
        You <emphasis>must</emphasis> set the option
diff --git a/nixos/doc/manual/man-nixos-build-vms.xml b/nixos/doc/manual/man-nixos-build-vms.xml
index 02dad4c548b8..87e4f3dae869 100644
--- a/nixos/doc/manual/man-nixos-build-vms.xml
+++ b/nixos/doc/manual/man-nixos-build-vms.xml
@@ -12,14 +12,22 @@
   </refname><refpurpose>build a network of virtual machines from a network of NixOS configurations</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
-  <cmdsynopsis><command>nixos-build-vms</command>
-   <arg><option>--show-trace</option>
+  <cmdsynopsis>
+   <command>nixos-build-vms</command> 
+   <arg>
+    <option>--show-trace</option>
    </arg>
-   <arg><option>--no-out-link</option>
+    
+   <arg>
+    <option>--no-out-link</option>
    </arg>
-   <arg><option>--help</option>
+    
+   <arg>
+    <option>--help</option>
    </arg>
-   <arg choice="plain"><replaceable>network.nix</replaceable>
+    
+   <arg choice="plain">
+    <replaceable>network.nix</replaceable>
    </arg>
   </cmdsynopsis>
  </refsynopsisdiv>
@@ -78,7 +86,8 @@
   </para>
   <variablelist>
    <varlistentry>
-    <term><option>--show-trace</option>
+    <term>
+     <option>--show-trace</option>
     </term>
     <listitem>
      <para>
@@ -87,7 +96,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--no-out-link</option>
+    <term>
+     <option>--no-out-link</option>
     </term>
     <listitem>
      <para>
@@ -96,7 +106,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>-h</option>, <option>--help</option>
+    <term>
+     <option>-h</option>, <option>--help</option>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/man-nixos-enter.xml b/nixos/doc/manual/man-nixos-enter.xml
index 7db4b72ee36e..42edaa1ae5b6 100644
--- a/nixos/doc/manual/man-nixos-enter.xml
+++ b/nixos/doc/manual/man-nixos-enter.xml
@@ -12,26 +12,40 @@
   </refname><refpurpose>run a command in a NixOS chroot environment</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
-  <cmdsynopsis><command>nixos-enter</command>
+  <cmdsynopsis>
+   <command>nixos-enter</command> 
    <arg>
-    <arg choice='plain'><option>--root</option>
-    </arg><replaceable>root</replaceable>
+    <arg choice='plain'>
+     <option>--root</option>
+    </arg>
+     <replaceable>root</replaceable>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--system</option>
-    </arg><replaceable>system</replaceable>
+    <arg choice='plain'>
+     <option>--system</option>
+    </arg>
+     <replaceable>system</replaceable>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>-c</option>
-    </arg><replaceable>shell-command</replaceable>
+    <arg choice='plain'>
+     <option>-c</option>
+    </arg>
+     <replaceable>shell-command</replaceable>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--help</option>
+    <arg choice='plain'>
+     <option>--help</option>
     </arg>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--</option>
-    </arg><replaceable>arguments</replaceable>
+    <arg choice='plain'>
+     <option>--</option>
+    </arg>
+     <replaceable>arguments</replaceable>
    </arg>
   </cmdsynopsis>
  </refsynopsisdiv>
@@ -50,7 +64,8 @@
   </para>
   <variablelist>
    <varlistentry>
-    <term><option>--root</option>
+    <term>
+     <option>--root</option>
     </term>
     <listitem>
      <para>
@@ -60,7 +75,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--system</option>
+    <term>
+     <option>--system</option>
     </term>
     <listitem>
      <para>
@@ -72,9 +88,11 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--command</option>
+    <term>
+     <option>--command</option>
     </term>
-    <term><option>-c</option>
+    <term>
+     <option>-c</option>
     </term>
     <listitem>
      <para>
@@ -83,7 +101,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--</option>
+    <term>
+     <option>--</option>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/man-nixos-generate-config.xml b/nixos/doc/manual/man-nixos-generate-config.xml
index 8bf90f452db6..1227873f5780 100644
--- a/nixos/doc/manual/man-nixos-generate-config.xml
+++ b/nixos/doc/manual/man-nixos-generate-config.xml
@@ -12,16 +12,24 @@
   </refname><refpurpose>generate NixOS configuration modules</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
-  <cmdsynopsis><command>nixos-generate-config</command>
-   <arg><option>--force</option>
+  <cmdsynopsis>
+   <command>nixos-generate-config</command> 
+   <arg>
+    <option>--force</option>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--root</option>
-    </arg><replaceable>root</replaceable>
+    <arg choice='plain'>
+     <option>--root</option>
+    </arg>
+     <replaceable>root</replaceable>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--dir</option>
-    </arg><replaceable>dir</replaceable>
+    <arg choice='plain'>
+     <option>--dir</option>
+    </arg>
+     <replaceable>dir</replaceable>
    </arg>
   </cmdsynopsis>
  </refsynopsisdiv>
@@ -31,7 +39,8 @@
    This command writes two NixOS configuration modules:
    <variablelist>
     <varlistentry>
-     <term><option>/etc/nixos/hardware-configuration.nix</option>
+     <term>
+      <option>/etc/nixos/hardware-configuration.nix</option>
      </term>
      <listitem>
       <para>
@@ -53,7 +62,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><option>/etc/nixos/configuration.nix</option>
+     <term>
+      <option>/etc/nixos/configuration.nix</option>
      </term>
      <listitem>
       <para>
@@ -74,7 +84,8 @@
   </para>
   <variablelist>
    <varlistentry>
-    <term><option>--root</option>
+    <term>
+     <option>--root</option>
     </term>
     <listitem>
      <para>
@@ -88,7 +99,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--dir</option>
+    <term>
+     <option>--dir</option>
     </term>
     <listitem>
      <para>
@@ -99,7 +111,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--force</option>
+    <term>
+     <option>--force</option>
     </term>
     <listitem>
      <para>
@@ -109,7 +122,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--no-filesystems</option>
+    <term>
+     <option>--no-filesystems</option>
     </term>
     <listitem>
      <para>
@@ -119,7 +133,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--show-hardware-config</option>
+    <term>
+     <option>--show-hardware-config</option>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml
index 2d45e83a863f..25f4f40613ac 100644
--- a/nixos/doc/manual/man-nixos-install.xml
+++ b/nixos/doc/manual/man-nixos-install.xml
@@ -12,47 +12,76 @@
   </refname><refpurpose>install bootloader and NixOS</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
-  <cmdsynopsis><command>nixos-install</command>
+  <cmdsynopsis>
+   <command>nixos-install</command> 
    <arg>
-    <arg choice='plain'><option>-I</option>
-    </arg><replaceable>path</replaceable>
+    <arg choice='plain'>
+     <option>-I</option>
+    </arg>
+     <replaceable>path</replaceable>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--root</option>
-    </arg><replaceable>root</replaceable>
+    <arg choice='plain'>
+     <option>--root</option>
+    </arg>
+     <replaceable>root</replaceable>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--system</option>
-    </arg><replaceable>path</replaceable>
+    <arg choice='plain'>
+     <option>--system</option>
+    </arg>
+     <replaceable>path</replaceable>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--no-channel-copy</option>
+    <arg choice='plain'>
+     <option>--no-channel-copy</option>
     </arg>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--no-root-passwd</option>
+    <arg choice='plain'>
+     <option>--no-root-passwd</option>
     </arg>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--no-bootloader</option>
+    <arg choice='plain'>
+     <option>--no-bootloader</option>
     </arg>
    </arg>
-   <arg><group choice='req'>
-    <arg choice='plain'><option>--max-jobs</option>
+    
+   <arg>
+    <group choice='req'> 
+    <arg choice='plain'>
+     <option>--max-jobs</option>
     </arg>
-    <arg choice='plain'><option>-j</option>
-    </arg></group><replaceable>number</replaceable>
+     
+    <arg choice='plain'>
+     <option>-j</option>
+    </arg>
+     </group> <replaceable>number</replaceable>
    </arg>
-   <arg><option>--cores</option><replaceable>number</replaceable>
+    
+   <arg>
+    <option>--cores</option> <replaceable>number</replaceable>
    </arg>
-   <arg><option>--option</option><replaceable>name</replaceable><replaceable>value</replaceable>
+    
+   <arg>
+    <option>--option</option> <replaceable>name</replaceable> <replaceable>value</replaceable>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--show-trace</option>
+    <arg choice='plain'>
+     <option>--show-trace</option>
     </arg>
    </arg>
+    
    <arg>
-    <arg choice='plain'><option>--help</option>
+    <arg choice='plain'>
+     <option>--help</option>
     </arg>
    </arg>
   </cmdsynopsis>
@@ -106,7 +135,8 @@
   </para>
   <variablelist>
    <varlistentry>
-    <term><option>--root</option>
+    <term>
+     <option>--root</option>
     </term>
     <listitem>
      <para>
@@ -117,7 +147,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--system</option>
+    <term>
+     <option>--system</option>
     </term>
     <listitem>
      <para>
@@ -135,7 +166,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>-I</option>
+    <term>
+     <option>-I</option>
     </term>
     <listitem>
      <para>
@@ -147,9 +179,11 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--max-jobs</option>
+    <term>
+     <option>--max-jobs</option>
     </term>
-    <term><option>-j</option>
+    <term>
+     <option>-j</option>
     </term>
     <listitem>
      <para>
@@ -160,7 +194,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--cores</option>
+    <term>
+     <option>--cores</option>
     </term>
     <listitem>
      <para>
@@ -177,7 +212,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--option</option><replaceable>name</replaceable><replaceable>value</replaceable>
+    <term>
+     <option>--option</option> <replaceable>name</replaceable> <replaceable>value</replaceable>
     </term>
     <listitem>
      <para>
@@ -187,7 +223,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--show-trace</option>
+    <term>
+     <option>--show-trace</option>
     </term>
     <listitem>
      <para>
@@ -197,7 +234,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--help</option>
+    <term>
+     <option>--help</option>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml
index c22c3811dedf..d436cce742a2 100644
--- a/nixos/doc/manual/man-nixos-option.xml
+++ b/nixos/doc/manual/man-nixos-option.xml
@@ -12,14 +12,22 @@
   </refname><refpurpose>inspect a NixOS configuration</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
-  <cmdsynopsis><command>nixos-option</command>
-   <arg><option>-I</option><replaceable>path</replaceable>
+  <cmdsynopsis>
+   <command>nixos-option</command> 
+   <arg>
+    <option>-I</option> <replaceable>path</replaceable>
    </arg>
-   <arg><option>--verbose</option>
+    
+   <arg>
+    <option>--verbose</option>
    </arg>
-   <arg><option>--xml</option>
+    
+   <arg>
+    <option>--xml</option>
    </arg>
-   <arg choice="plain"><replaceable>option.name</replaceable>
+    
+   <arg choice="plain">
+    <replaceable>option.name</replaceable>
    </arg>
   </cmdsynopsis>
  </refsynopsisdiv>
@@ -42,7 +50,8 @@
   </para>
   <variablelist>
    <varlistentry>
-    <term><option>-I</option><replaceable>path</replaceable>
+    <term>
+     <option>-I</option> <replaceable>path</replaceable>
     </term>
     <listitem>
      <para>
@@ -52,7 +61,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--verbose</option>
+    <term>
+     <option>--verbose</option>
     </term>
     <listitem>
      <para>
@@ -62,7 +72,8 @@
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--xml</option>
+    <term>
+     <option>--xml</option>
     </term>
     <listitem>
      <para>
@@ -76,7 +87,8 @@
   <title>Environment</title>
   <variablelist>
    <varlistentry>
-    <term><envar>NIXOS_CONFIG</envar>
+    <term>
+     <envar>NIXOS_CONFIG</envar>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml
index e1a2c7108d18..551a65f5e96b 100644
--- a/nixos/doc/manual/man-nixos-rebuild.xml
+++ b/nixos/doc/manual/man-nixos-rebuild.xml
@@ -12,43 +12,75 @@
   </refname><refpurpose>reconfigure a NixOS machine</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
-  <cmdsynopsis><command>nixos-rebuild</command><group choice='req'>
-   <arg choice='plain'><option>switch</option>
+  <cmdsynopsis>
+   <command>nixos-rebuild</command><group choice='req'> 
+   <arg choice='plain'>
+    <option>switch</option>
    </arg>
-   <arg choice='plain'><option>boot</option>
+    
+   <arg choice='plain'>
+    <option>boot</option>
    </arg>
-   <arg choice='plain'><option>test</option>
+    
+   <arg choice='plain'>
+    <option>test</option>
    </arg>
-   <arg choice='plain'><option>build</option>
+    
+   <arg choice='plain'>
+    <option>build</option>
    </arg>
-   <arg choice='plain'><option>dry-build</option>
+    
+   <arg choice='plain'>
+    <option>dry-build</option>
    </arg>
-   <arg choice='plain'><option>dry-activate</option>
+    
+   <arg choice='plain'>
+    <option>dry-activate</option>
    </arg>
-   <arg choice='plain'><option>build-vm</option>
+    
+   <arg choice='plain'>
+    <option>build-vm</option>
    </arg>
-   <arg choice='plain'><option>build-vm-with-bootloader</option>
-   </arg></group>
+    
+   <arg choice='plain'>
+    <option>build-vm-with-bootloader</option>
+   </arg>
+    </group>
    <sbr />
-   <arg><option>--upgrade</option>
+   <arg>
+    <option>--upgrade</option>
    </arg>
-   <arg><option>--install-bootloader</option>
+    
+   <arg>
+    <option>--install-bootloader</option>
    </arg>
-   <arg><option>--no-build-nix</option>
+    
+   <arg>
+    <option>--no-build-nix</option>
    </arg>
-   <arg><option>--fast</option>
+    
+   <arg>
+    <option>--fast</option>
    </arg>
-   <arg><option>--rollback</option>
+    
+   <arg>
+    <option>--rollback</option>
    </arg>
    <sbr />
-   <arg><group choice='req'>
-    <arg choice='plain'><option>--profile-name</option>
+   <arg>
+    <group choice='req'> 
+    <arg choice='plain'>
+     <option>--profile-name</option>
+    </arg>
+     
+    <arg choice='plain'>
+     <option>-p</option>
     </arg>
-    <arg choice='plain'><option>-p</option>
-    </arg></group><replaceable>name</replaceable>
+     </group> <replaceable>name</replaceable>
    </arg>
    <sbr />
-   <arg><option>--show-trace</option>
+   <arg>
+    <option>--show-trace</option>
    </arg>
   </cmdsynopsis>
  </refsynopsisdiv>
@@ -68,7 +100,8 @@
    operation. It must be one of the following:
    <variablelist>
     <varlistentry>
-     <term><option>switch</option>
+     <term>
+      <option>switch</option>
      </term>
      <listitem>
       <para>
@@ -82,7 +115,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><option>boot</option>
+     <term>
+      <option>boot</option>
      </term>
      <listitem>
       <para>
@@ -94,7 +128,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><option>test</option>
+     <term>
+      <option>test</option>
      </term>
      <listitem>
       <para>
@@ -107,7 +142,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><option>build</option>
+     <term>
+      <option>build</option>
      </term>
      <listitem>
       <para>
@@ -124,7 +160,8 @@ $ nix-build /path/to/nixpkgs/nixos -A system
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><option>dry-build</option>
+     <term>
+      <option>dry-build</option>
      </term>
      <listitem>
       <para>
@@ -134,7 +171,8 @@ $ nix-build /path/to/nixpkgs/nixos -A system
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><option>dry-activate</option>
+     <term>
+      <option>dry-activate</option>
      </term>
      <listitem>
       <para>
@@ -147,7 +185,8 @@ $ nix-build /path/to/nixpkgs/nixos -A system
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><option>build-vm</option>
+     <term>
+      <option>build-vm</option>
      </term>
      <listitem>
       <para>
@@ -186,7 +225,8 @@ $ ./result/bin/run-*-vm
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><option>build-vm-with-bootloader</option>
+     <term>
+      <option>build-vm-with-bootloader</option>
      </term>
      <listitem>
       <para>
@@ -213,7 +253,8 @@ $ ./result/bin/run-*-vm
   </para>
   <variablelist>
    <varlistentry>
-    <term><option>--upgrade</option>
+    <term>
+     <option>--upgrade</option>
     </term>
     <listitem>
      <para>
@@ -222,7 +263,8 @@ $ ./result/bin/run-*-vm
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--install-bootloader</option>
+    <term>
+     <option>--install-bootloader</option>
     </term>
     <listitem>
      <para>
@@ -232,7 +274,8 @@ $ ./result/bin/run-*-vm
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--no-build-nix</option>
+    <term>
+     <option>--no-build-nix</option>
     </term>
     <listitem>
      <para>
@@ -246,7 +289,8 @@ $ ./result/bin/run-*-vm
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--fast</option>
+    <term>
+     <option>--fast</option>
     </term>
     <listitem>
      <para>
@@ -258,7 +302,8 @@ $ ./result/bin/run-*-vm
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--rollback</option>
+    <term>
+     <option>--rollback</option>
     </term>
     <listitem>
      <para>
@@ -271,9 +316,11 @@ $ ./result/bin/run-*-vm
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--profile-name</option>
+    <term>
+     <option>--profile-name</option>
     </term>
-    <term><option>-p</option>
+    <term>
+     <option>-p</option>
     </term>
     <listitem>
      <para>
@@ -299,7 +346,8 @@ $ nixos-rebuild switch -p test -I nixos-config=./test.nix
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--build-host</option>
+    <term>
+     <option>--build-host</option>
     </term>
     <listitem>
      <para>
@@ -323,7 +371,8 @@ $ nixos-rebuild switch -p test -I nixos-config=./test.nix
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><option>--target-host</option>
+    <term>
+     <option>--target-host</option>
     </term>
     <listitem>
      <para>
@@ -361,7 +410,8 @@ $ nixos-rebuild switch -p test -I nixos-config=./test.nix
   <title>Environment</title>
   <variablelist>
    <varlistentry>
-    <term><envar>NIXOS_CONFIG</envar>
+    <term>
+     <envar>NIXOS_CONFIG</envar>
     </term>
     <listitem>
      <para>
@@ -371,7 +421,8 @@ $ nixos-rebuild switch -p test -I nixos-config=./test.nix
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><envar>NIX_SSHOPTS</envar>
+    <term>
+     <envar>NIX_SSHOPTS</envar>
     </term>
     <listitem>
      <para>
@@ -386,7 +437,8 @@ $ nixos-rebuild switch -p test -I nixos-config=./test.nix
   <title>Files</title>
   <variablelist>
    <varlistentry>
-    <term><filename>/run/current-system</filename>
+    <term>
+     <filename>/run/current-system</filename>
     </term>
     <listitem>
      <para>
@@ -395,7 +447,8 @@ $ nixos-rebuild switch -p test -I nixos-config=./test.nix
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term><filename>/nix/var/nix/profiles/system</filename>
+    <term>
+     <filename>/nix/var/nix/profiles/system</filename>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/man-nixos-version.xml b/nixos/doc/manual/man-nixos-version.xml
index c173bce19136..931c4a5ad029 100644
--- a/nixos/doc/manual/man-nixos-version.xml
+++ b/nixos/doc/manual/man-nixos-version.xml
@@ -11,10 +11,14 @@
   </refname><refpurpose>show the NixOS version</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
-  <cmdsynopsis><command>nixos-version</command>
-   <arg><option>--hash</option>
+  <cmdsynopsis>
+   <command>nixos-version</command> 
+   <arg>
+    <option>--hash</option>
    </arg>
-   <arg><option>--revision</option>
+    
+   <arg>
+    <option>--revision</option>
    </arg>
   </cmdsynopsis>
  </refsynopsisdiv>
@@ -29,7 +33,8 @@
    The version consists of the following elements:
    <variablelist>
     <varlistentry>
-     <term><literal>16.03</literal>
+     <term>
+      <literal>16.03</literal>
      </term>
      <listitem>
       <para>
@@ -39,7 +44,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><literal>1011</literal>
+     <term>
+      <literal>1011</literal>
      </term>
      <listitem>
       <para>
@@ -53,7 +59,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><literal>6317da4</literal>
+     <term>
+      <literal>6317da4</literal>
      </term>
      <listitem>
       <para>
@@ -63,7 +70,8 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><literal>Emu</literal>
+     <term>
+      <literal>Emu</literal>
      </term>
      <listitem>
       <para>
@@ -83,9 +91,11 @@
   </para>
   <variablelist>
    <varlistentry>
-    <term><option>--hash</option>
+    <term>
+     <option>--hash</option>
     </term>
-    <term><option>--revision</option>
+    <term>
+     <option>--revision</option>
     </term>
     <listitem>
      <para>
diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml
index 734bc076b852..2465f370cf13 100644
--- a/nixos/doc/manual/release-notes/rl-1509.xml
+++ b/nixos/doc/manual/release-notes/rl-1509.xml
@@ -435,11 +435,11 @@ system.autoUpgrade.enable = true;
 <programlisting>
 system.nixos.stateVersion = "14.12";
 </programlisting>
-     The new option <option>system.nixos.stateVersion</option> ensures that certain
-     configuration changes that could break existing systems (such as the
-     <command>sshd</command> host key setting) will maintain compatibility with
-     the specified NixOS release. NixOps sets the state version of existing
-     deployments automatically.
+     The new option <option>system.nixos.stateVersion</option> ensures that
+     certain configuration changes that could break existing systems (such as
+     the <command>sshd</command> host key setting) will maintain compatibility
+     with the specified NixOS release. NixOps sets the state version of
+     existing deployments automatically.
     </para>
    </listitem>
    <listitem>
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
index 35dc69515ffd..5799354c6e99 100644
--- a/nixos/doc/manual/release-notes/rl-1809.xml
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -53,10 +53,12 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
 
   <itemizedlist>
    <listitem>
-     <para>When enabled the <literal>iproute2</literal> will copy the files
-       expected by ip route (e.g., <filename>rt_tables</filename>) in
-       <filename>/run/iproute2</filename>. This allows to write aliases for
-       routing tables for instance.</para>
+    <para>
+     When enabled the <literal>iproute2</literal> will copy the files expected
+     by ip route (e.g., <filename>rt_tables</filename>) in
+     <filename>/run/iproute2</filename>. This allows to write aliases for
+     routing tables for instance.
+    </para>
    </listitem>
   </itemizedlist>
  </section>
@@ -99,20 +101,30 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
    </listitem>
    <listitem>
     <para>
-     The <varname>services.docker-registry.extraConfig</varname> object doesn't contain
-     environment variables anymore. Instead it needs to provide an object structure
-     that can be mapped onto the YAML configuration defined in <link xlink:href="https://github.com/docker/distribution/blob/v2.6.2/docs/configuration.md">the <varname>docker/distribution</varname> docs</link>.
+     The <varname>services.docker-registry.extraConfig</varname> object doesn't
+     contain environment variables anymore. Instead it needs to provide an
+     object structure that can be mapped onto the YAML configuration defined in
+     <link xlink:href="https://github.com/docker/distribution/blob/v2.6.2/docs/configuration.md">the
+     <varname>docker/distribution</varname> docs</link>.
     </para>
    </listitem>
    <listitem>
     <para>
-     <literal>gnucash</literal> has changed from version 2.4 to 3.x.
-     If you've been using <literal>gnucash</literal> (version 2.4) instead of
-     <literal>gnucash26</literal> (version 2.6) you must open your Gnucash 
-     data file(s) with <literal>gnucash26</literal> and then save them to
-     upgrade the file format. Then you may use your data file(s) with
-     Gnucash 3.x. See the upgrade <link xlink:href="https://wiki.gnucash.org/wiki/FAQ#Using_Different_Versions.2C_Up_And_Downgrade">documentation</link>.
-     Gnucash 2.4 is still available under the attribute <literal>gnucash24</literal>.
+     <literal>gnucash</literal> has changed from version 2.4 to 3.x. If you've
+     been using <literal>gnucash</literal> (version 2.4) instead of
+     <literal>gnucash26</literal> (version 2.6) you must open your Gnucash data
+     file(s) with <literal>gnucash26</literal> and then save them to upgrade
+     the file format. Then you may use your data file(s) with Gnucash 3.x. See
+     the upgrade
+     <link xlink:href="https://wiki.gnucash.org/wiki/FAQ#Using_Different_Versions.2C_Up_And_Downgrade">documentation</link>.
+     Gnucash 2.4 is still available under the attribute
+     <literal>gnucash24</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <varname>services.munge</varname> now runs as user (and group) <literal>munge</literal> instead of root.
+     Make sure the key file is accessible to the daemon.
     </para>
    </listitem>
   </itemizedlist>
@@ -128,9 +140,9 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
   <itemizedlist>
    <listitem>
     <para>
-     <literal>dockerTools.pullImage</literal> relies on image digest
-     instead of image tag to download the image. The
-     <literal>sha256</literal> of a pulled image has to be updated.
+     <literal>dockerTools.pullImage</literal> relies on image digest instead of
+     image tag to download the image. The <literal>sha256</literal> of a pulled
+     image has to be updated.
     </para>
    </listitem>
    <listitem>
@@ -187,32 +199,40 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
     <para>
      The module for <option>security.dhparams</option> has two new options now:
     </para>
-
     <variablelist>
      <varlistentry>
-      <term><option>security.dhparams.stateless</option></term>
-      <listitem><para>
-       Puts the generated Diffie-Hellman parameters into the Nix store instead
-       of managing them in a stateful manner in
-       <filename class="directory">/var/lib/dhparams</filename>.
-      </para></listitem>
+      <term>
+       <option>security.dhparams.stateless</option>
+      </term>
+      <listitem>
+       <para>
+        Puts the generated Diffie-Hellman parameters into the Nix store instead
+        of managing them in a stateful manner in
+        <filename class="directory">/var/lib/dhparams</filename>.
+       </para>
+      </listitem>
      </varlistentry>
      <varlistentry>
-      <term><option>security.dhparams.defaultBitSize</option></term>
-      <listitem><para>
-       The default bit size to use for the generated Diffie-Hellman parameters.
-      </para></listitem>
+      <term>
+       <option>security.dhparams.defaultBitSize</option>
+      </term>
+      <listitem>
+       <para>
+        The default bit size to use for the generated Diffie-Hellman
+        parameters.
+       </para>
+      </listitem>
      </varlistentry>
     </variablelist>
-
-    <note><para>
-     The path to the actual generated parameter files should now be queried
-     using
-     <literal>config.security.dhparams.params.<replaceable>name</replaceable>.path</literal>
-     because it might be either in the Nix store or in a directory configured
-     by <option>security.dhparams.path</option>.
-    </para></note>
-
+    <note>
+     <para>
+      The path to the actual generated parameter files should now be queried
+      using
+      <literal>config.security.dhparams.params.<replaceable>name</replaceable>.path</literal>
+      because it might be either in the Nix store or in a directory configured
+      by <option>security.dhparams.path</option>.
+     </para>
+    </note>
     <note>
      <title>For developers:</title>
      <para>
@@ -237,20 +257,23 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
    </listitem>
    <listitem>
     <para>
-     <literal>networking.networkmanager.useDnsmasq</literal> has been deprecated. Use
-     <literal>networking.networkmanager.dns</literal> instead.
+     <literal>networking.networkmanager.useDnsmasq</literal> has been
+     deprecated. Use <literal>networking.networkmanager.dns</literal> instead.
     </para>
    </listitem>
    <listitem>
     <para>
-     The option <varname>services.kubernetes.apiserver.admissionControl</varname>
-     was renamed to <varname>services.kubernetes.apiserver.enableAdmissionPlugins</varname>.
+     The option
+     <varname>services.kubernetes.apiserver.admissionControl</varname> was
+     renamed to
+     <varname>services.kubernetes.apiserver.enableAdmissionPlugins</varname>.
     </para>
    </listitem>
    <listitem>
     <para>
      Recommented way to access the Kubernetes Dashboard is with HTTPS (TLS)
-     Therefore; public service port for the dashboard has changed to 443 (container port 8443) and scheme to https.
+     Therefore; public service port for the dashboard has changed to 443
+     (container port 8443) and scheme to https.
     </para>
    </listitem>
   </itemizedlist>
diff --git a/nixos/doc/manual/shell.nix b/nixos/doc/manual/shell.nix
index 7f8422b4ec11..cc3609d750e0 100644
--- a/nixos/doc/manual/shell.nix
+++ b/nixos/doc/manual/shell.nix
@@ -4,5 +4,5 @@ in
 pkgs.mkShell {
   name = "nixos-manual";
 
-  buildInputs = with pkgs; [ xmlformat jing xmloscopy ];
+  buildInputs = with pkgs; [ xmlformat jing xmloscopy ruby ];
 }
diff --git a/nixos/doc/varlistentry-fixer.rb b/nixos/doc/varlistentry-fixer.rb
new file mode 100755
index 000000000000..6c7cc1e6439b
--- /dev/null
+++ b/nixos/doc/varlistentry-fixer.rb
@@ -0,0 +1,124 @@
+#!/usr/bin/env ruby
+
+# This script is written intended as a living, evolving tooling
+# to fix oopsies within the docbook documentation.
+#
+# This is *not* a formatter. It, instead, handles some known cases
+# where something bad happened, and fixing it manually is tedious.
+#
+# Read the code to see the different cases it handles.
+#
+# ALWAYS `make format` after fixing with this!
+# ALWAYS read the changes, this tool isn't yet proven to be always right.
+
+require "rexml/document"
+include REXML
+
+if ARGV.length < 1 then
+	$stderr.puts "Needs a filename."
+	exit 1
+end
+
+filename = ARGV.shift
+doc = Document.new(File.open(filename))
+
+$touched = false
+
+# Fixing varnames having a sibling element without spacing.
+# This is to fix an initial `xmlformat` issue where `term`
+# would mangle as spaces.
+#
+#   <varlistentry>
+#    <term><varname>types.separatedString</varname><replaceable>sep</replaceable> <----
+#    </term>
+#    ...
+#
+# Generates: types.separatedStringsep
+#                               ^^^^
+#
+# <varlistentry xml:id='fun-makeWrapper'>
+#  <term>
+#   <function>makeWrapper</function><replaceable>executable</replaceable><replaceable>wrapperfile</replaceable><replaceable>args</replaceable>  <----
+#  </term>
+#
+# Generates: makeWrapperexecutablewrapperfileargs
+#                     ^^^^      ^^^^    ^^  ^^
+#
+#    <term>
+#     <option>--option</option><replaceable>name</replaceable><replaceable>value</replaceable> <-----
+#    </term>
+#
+# Generates: --optionnamevalue
+#                   ^^  ^^
+doc.elements.each("//varlistentry/term") do |term|
+	["varname", "function", "option", "replaceable"].each do |prev_name|
+		term.elements.each(prev_name) do |el|
+			if el.next_element and
+					el.next_element.name == "replaceable" and
+					el.next_sibling_node.class == Element
+				then
+				$touched = true
+				term.insert_after(el, Text.new(" "))
+			end
+		end
+	end
+end
+
+
+
+#  <cmdsynopsis>
+#   <command>nixos-option</command>
+#   <arg>
+#    <option>-I</option><replaceable>path</replaceable>        <------
+#   </arg>
+#
+# Generates: -Ipath
+#             ^^
+doc.elements.each("//cmdsynopsis/arg") do |term|
+	["option", "replaceable"].each do |prev_name|
+		term.elements.each(prev_name) do |el|
+			if el.next_element and
+				el.next_element.name == "replaceable" and
+				el.next_sibling_node.class == Element
+			then
+				$touched = true
+				term.insert_after(el, Text.new(" "))
+			end
+		end
+	end
+end
+
+#  <cmdsynopsis>
+#   <arg>
+#    <group choice='req'>
+#    <arg choice='plain'>
+#     <option>--profile-name</option>
+#    </arg>
+#
+#    <arg choice='plain'>
+#     <option>-p</option>
+#    </arg>
+#     </group><replaceable>name</replaceable>   <----
+#   </arg>
+#
+# Generates: [{--profile-name | -p }name]
+#                                   ^^^^
+doc.elements.each("//cmdsynopsis/arg") do |term|
+	["group"].each do |prev_name|
+		term.elements.each(prev_name) do |el|
+			if el.next_element and
+				el.next_element.name == "replaceable" and
+				el.next_sibling_node.class == Element
+			then
+				$touched = true
+				term.insert_after(el, Text.new(" "))
+			end
+		end
+	end
+end
+
+
+if $touched then
+	doc.context[:attribute_quote] = :quote
+	doc.write(output: File.open(filename, "w"))
+end
diff --git a/nixos/doc/xmlformat.conf b/nixos/doc/xmlformat.conf
index 50255857b24a..4a565c8465bc 100644
--- a/nixos/doc/xmlformat.conf
+++ b/nixos/doc/xmlformat.conf
@@ -67,6 +67,7 @@ programlisting screen
   entry-break = 0
   exit-break = 0
 
-
-#term
-#  format       inline
+# This is needed so that the spacing inside those tags is kept.
+term cmdsynopsis arg
+  normalize yes
+  format    block
diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
index 212013b5e289..fe6cc4161630 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
@@ -31,11 +31,24 @@ in
   users.extraUsers.root.initialHashedPassword = "";
 
   sdImage = {
-    populateBootCommands = ''
-      (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
-      cp ${pkgs.ubootRaspberryPi}/u-boot.bin boot/u-boot-rpi.bin
-      echo 'kernel u-boot-rpi.bin' > boot/config.txt
-      ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
-    '';
+    populateBootCommands = let
+      configTxt = pkgs.writeText "config.txt" ''
+        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
+        # when attempting to show low-voltage or overtemperature warnings.
+        avoid_warnings=1
+
+        [pi0]
+        kernel=u-boot-rpi0.bin
+
+        [pi1]
+        kernel=u-boot-rpi1.bin
+      '';
+      in ''
+        (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
+        cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin boot/u-boot-rpi0.bin
+        cp ${pkgs.ubootRaspberryPi}/u-boot.bin boot/u-boot-rpi1.bin
+        cp ${configTxt} boot/config.txt
+        ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
+      '';
   };
 }
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 12d9e1adf23d..da4c21296ffd 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -514,6 +514,7 @@
   ./services/networking/miniupnpd.nix
   ./services/networking/mosquitto.nix
   ./services/networking/monero.nix
+  ./services/networking/morty.nix
   ./services/networking/miredo.nix
   ./services/networking/mstpd.nix
   ./services/networking/murmur.nix
@@ -787,6 +788,7 @@
   ./virtualisation/lxd.nix
   ./virtualisation/amazon-options.nix
   ./virtualisation/hyperv-guest.nix
+  ./virtualisation/kvmgt.nix
   ./virtualisation/openvswitch.nix
   ./virtualisation/parallels-guest.nix
   ./virtualisation/qemu-guest-agent.nix
diff --git a/nixos/modules/programs/mosh.nix b/nixos/modules/programs/mosh.nix
index b3aa55e189a3..359fe23e0ecd 100644
--- a/nixos/modules/programs/mosh.nix
+++ b/nixos/modules/programs/mosh.nix
@@ -16,10 +16,28 @@ in
       default = false;
       type = lib.types.bool;
     };
+    withUtempter = mkOption {
+      description = ''
+        Whether to enable libutempter for mosh.
+        This is required so that mosh can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).
+        Note, this will add a guid wrapper for the group utmp!
+      '';
+      default = true;
+      type = lib.types.bool;
+    };
   };
 
   config = mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ mosh ];
     networking.firewall.allowedUDPPortRanges = [ { from = 60000; to = 61000; } ];
+    security.wrappers = mkIf cfg.withUtempter {
+      utempter = {
+        source = "${pkgs.libutempter}/lib/utempter/utempter";
+        owner = "nobody";
+        group = "utmp";
+        setuid = false;
+        setgid = true;
+      };
+    };
   };
 }
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index 5f379b392ea8..94020ed05d67 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -13,7 +13,9 @@ let
   mpdConf = pkgs.writeText "mpd.conf" ''
     music_directory     "${cfg.musicDirectory}"
     playlist_directory  "${cfg.playlistDirectory}"
-    db_file             "${cfg.dbFile}"
+    ${lib.optionalString (cfg.dbFile != null) ''
+      db_file             "${cfg.dbFile}"
+    ''}
     state_file          "${cfg.dataDir}/state"
     sticker_file        "${cfg.dataDir}/sticker.sql"
     log_file            "syslog"
@@ -126,11 +128,12 @@ in {
       };
 
       dbFile = mkOption {
-        type = types.str;
+        type = types.nullOr types.str;
         default = "${cfg.dataDir}/tag_cache";
         defaultText = ''''${dataDir}/tag_cache'';
         description = ''
-          The path to MPD's database.
+          The path to MPD's database. If set to <literal>null</literal> the
+          parameter is omitted from the configuration.
         '';
       };
     };
diff --git a/nixos/modules/services/backup/duplicati.nix b/nixos/modules/services/backup/duplicati.nix
index 9772ca4d20a7..379fde1fe038 100644
--- a/nixos/modules/services/backup/duplicati.nix
+++ b/nixos/modules/services/backup/duplicati.nix
@@ -9,6 +9,23 @@ in
   options = {
     services.duplicati = {
       enable = mkEnableOption "Duplicati";
+
+      port = mkOption {
+        default = 8200;
+        type = types.int;
+        description = ''
+          Port serving the web interface
+        '';
+      };
+
+      interface = mkOption {
+        default = "lo";
+        type = types.str;
+        description = ''
+          Listening interface for the web UI
+          Set it to "any" to listen on all available interfaces
+        '';
+      };
     };
   };
 
@@ -22,7 +39,7 @@ in
       serviceConfig = {
         User = "duplicati";
         Group = "duplicati";
-        ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=any --webservice-port=8200 --server-datafolder=/var/lib/duplicati";
+        ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=${cfg.interface} --webservice-port=${toString cfg.port} --server-datafolder=/var/lib/duplicati";
         Restart = "on-failure";
       };
     };
diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix
index 501925597023..e624f41601b3 100644
--- a/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixos/modules/services/cluster/kubernetes/default.nix
@@ -78,7 +78,7 @@ let
     };
 
     caFile = mkOption {
-      description = "${prefix} certificate authrority file used to connect to kube-apiserver.";
+      description = "${prefix} certificate authority file used to connect to kube-apiserver.";
       type = types.nullOr types.path;
       default = cfg.caFile;
     };
diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix
index 3e513ab15717..1e1c5bc9f035 100644
--- a/nixos/modules/services/computing/slurm/slurm.nix
+++ b/nixos/modules/services/computing/slurm/slurm.nix
@@ -6,7 +6,7 @@ let
 
   cfg = config.services.slurm;
   # configuration file can be generated by http://slurm.schedmd.com/configurator.html
-  configFile = pkgs.writeText "slurm.conf"
+  configFile = pkgs.writeTextDir "slurm.conf"
     ''
       ${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''}
       ${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
@@ -17,10 +17,25 @@ let
       ${cfg.extraConfig}
     '';
 
-  plugStackConfig = pkgs.writeText "plugstack.conf"
+  plugStackConfig = pkgs.writeTextDir "plugstack.conf"
     ''
       ${optionalString cfg.enableSrunX11 ''optional ${pkgs.slurm-spank-x11}/lib/x11.so''}
+      ${cfg.extraPlugstackConfig}
     '';
+
+
+  cgroupConfig = pkgs.writeTextDir "cgroup.conf"
+   ''
+     ${cfg.extraCgroupConfig}
+   '';
+
+  # slurm expects some additional config files to be
+  # in the same directory as slurm.conf
+  etcSlurm = pkgs.symlinkJoin {
+    name = "etc-slurm";
+    paths = [ configFile cgroupConfig plugStackConfig ];
+  };
+
 in
 
 {
@@ -46,7 +61,17 @@ in
 
       client = {
         enable = mkEnableOption "slurm client daemon";
+      };
 
+      enableStools = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Wether to provide a slurm.conf file.
+          Enable this option if you do not run a slurm daemon on this host
+          (i.e. <literal>server.enable</literal> and <literal>client.enable</literal> are <literal>false</literal>)
+          but you still want to run slurm commands from this host.
+        '';
       };
 
       package = mkOption {
@@ -97,7 +122,7 @@ in
         example = "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP";
         description = ''
           Name by which the partition may be referenced. Note that now you have
-          to write patrition's parameters after the name.
+          to write the partition's parameters after the name.
         '';
       };
 
@@ -107,8 +132,10 @@ in
         description = ''
           If enabled srun will accept the option "--x11" to allow for X11 forwarding
           from within an interactive session or a batch job. This activates the
-          slurm-spank-x11 module. Note that this requires 'services.openssh.forwardX11'
-          to be enabled on the compute nodes.
+          slurm-spank-x11 module. Note that this option also enables
+          'services.openssh.forwardX11' on the client.
+
+          This option requires slurm to be compiled without native X11 support.
         '';
       };
 
@@ -130,6 +157,23 @@ in
           the end of the slurm configuration file.
         '';
       };
+
+      extraPlugstackConfig = mkOption {
+        default = "";
+        type = types.lines;
+        description = ''
+          Extra configuration that will be added to the end of <literal>plugstack.conf</literal>.
+        '';
+      };
+
+      extraCgroupConfig = mkOption {
+        default = "";
+        type = types.lines;
+        description = ''
+          Extra configuration for <literal>cgroup.conf</literal>. This file is
+          used when <literal>procTrackType=proctrack/cgroup</literal>.
+        '';
+      };
     };
 
   };
@@ -142,8 +186,6 @@ in
       wrappedSlurm = pkgs.stdenv.mkDerivation {
         name = "wrappedSlurm";
 
-        propagatedBuildInputs = [ cfg.package configFile ];
-
         builder = pkgs.writeText "builder.sh" ''
           source $stdenv/setup
           mkdir -p $out/bin
@@ -155,17 +197,20 @@ in
           #!/bin/sh
           if [ -z "$SLURM_CONF" ]
           then
-            SLURM_CONF="${configFile}" "$EXE" "\$@"
+            SLURM_CONF="${etcSlurm}/slurm.conf" "$EXE" "\$@"
           else
             "$EXE" "\$0"
           fi
           EOT
             chmod +x "$wrappername"
           done
+
+          mkdir -p $out/share
+          ln -s ${getBin cfg.package}/share/man $out/share/man
         '';
       };
 
-  in mkIf (cfg.client.enable || cfg.server.enable) {
+  in mkIf (cfg.enableStools || cfg.client.enable || cfg.server.enable) {
 
     environment.systemPackages = [ wrappedSlurm ];
 
@@ -190,6 +235,8 @@ in
       '';
     };
 
+    services.openssh.forwardX11 = mkIf cfg.client.enable (mkDefault true);
+
     systemd.services.slurmctld = mkIf (cfg.server.enable) {
       path = with pkgs; [ wrappedSlurm munge coreutils ]
         ++ lib.optional cfg.enableSrunX11 slurm-spank-x11;
diff --git a/nixos/modules/services/mail/exim.nix b/nixos/modules/services/mail/exim.nix
index 440eae281f40..f9ee3f909660 100644
--- a/nixos/modules/services/mail/exim.nix
+++ b/nixos/modules/services/mail/exim.nix
@@ -94,6 +94,7 @@ in
     systemd.services.exim = {
       description = "Exim Mail Daemon";
       wantedBy = [ "multi-user.target" ];
+      restartTriggers = [ config.environment.etc."exim.conf".source ];
       serviceConfig = {
         ExecStart   = "${exim}/bin/exim -bdf -q30m";
         ExecReload  = "${coreutils}/bin/kill -HUP $MAINPID";
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index 45dfdc71eb36..46efc1df12eb 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -356,7 +356,7 @@ in
         text = cfg.database.password;
       })));
 
-    systemd.services.gitea-dump = {
+    systemd.services.gitea-dump = mkIf cfg.dump.enable {
        description = "gitea dump";
        after = [ "gitea.service" ];
        wantedBy = [ "default.target" ];
@@ -376,7 +376,7 @@ in
        };
     };
 
-    systemd.timers.gitea-dump = {
+    systemd.timers.gitea-dump = mkIf cfg.dump.enable {
       description = "Update timer for gitea-dump";
       partOf = [ "gitea-dump.service" ];
       wantedBy = [ "timers.target" ];
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index 429ce09ea68f..0ee105e4c6f1 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -130,11 +130,13 @@ in
         default = false;
         description = "
           If set, Nix will perform builds in a sandboxed environment that it
-          will set up automatically for each build.  This prevents
-          impurities in builds by disallowing access to dependencies
-          outside of the Nix store. This isn't enabled by default for
-          performance. It doesn't affect derivation hashes, so changing
-          this option will not trigger a rebuild of packages.
+          will set up automatically for each build. This prevents impurities
+          in builds by disallowing access to dependencies outside of the Nix 
+          store by using network and mount namespaces in a chroot environment. 
+          This isn't enabled by default for possible performance impacts due to 
+          the initial setup time of a sandbox for each build. It doesn't affect 
+          derivation hashes, so changing this option will not trigger a rebuild
+          of packages.
         ";
       };
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 780448d8bad8..8d2c303a69e8 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -20,6 +20,7 @@ let
   exporterOpts = {
     blackbox  = import ./exporters/blackbox.nix  { inherit config lib pkgs; };
     collectd  = import ./exporters/collectd.nix  { inherit config lib pkgs; };
+    dnsmasq   = import ./exporters/dnsmasq.nix   { inherit config lib pkgs; };
     dovecot   = import ./exporters/dovecot.nix   { inherit config lib pkgs; };
     fritzbox  = import ./exporters/fritzbox.nix  { inherit config lib pkgs; };
     json      = import ./exporters/json.nix      { inherit config lib pkgs; };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
new file mode 100644
index 000000000000..b1fab85109af
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
@@ -0,0 +1,39 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.dnsmasq;
+in
+{
+  port = 9153;
+  extraOpts = {
+    dnsmasqListenAddress = mkOption {
+      type = types.str;
+      default = "localhost:53";
+      description = ''
+        Address on which dnsmasq listens.
+      '';
+    };
+    leasesPath = mkOption {
+      type = types.path;
+      default = "/var/lib/misc/dnsmasq.leases";
+      example = "/var/lib/dnsmasq/dnsmasq.leases";
+      description = ''
+        Path to the <literal>dnsmasq.leases</literal> file.
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-dnsmasq-exporter}/bin/dnsmasq_exporter \
+          --listen ${cfg.listenAddress}:${toString cfg.port} \
+          --dnsmasq ${cfg.dnsmasqListenAddress} \
+          --leases_path ${cfg.leasesPath} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/morty.nix b/nixos/modules/services/networking/morty.nix
new file mode 100644
index 000000000000..b31bec9a8627
--- /dev/null
+++ b/nixos/modules/services/networking/morty.nix
@@ -0,0 +1,98 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.morty;
+
+  configFile = cfg.configFile;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.morty = {
+
+      enable = mkEnableOption
+        "Morty proxy server. See https://github.com/asciimoo/morty";
+
+      ipv6 = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Allow IPv6 HTTP requests?";
+        defaultText = "Allow IPv6 HTTP requests.";
+      };
+
+      key = mkOption {
+        type = types.string;
+        default = "";
+        description = "HMAC url validation key (hexadecimal encoded).
+	Leave blank to disable. Without validation key, anyone can
+	submit proxy requests. Leave blank to disable.";
+        defaultText = "No HMAC url validation. Generate with echo -n somevalue | openssl dgst -sha1 -hmac somekey";
+      };
+
+      timeout = mkOption {
+        type = types.int;
+        default = 2;
+        description = "Request timeout in seconds.";
+        defaultText = "A resource now gets 2 seconds to respond.";
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.morty;
+        defaultText = "pkgs.morty";
+        description = "morty package to use.";
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 3000;
+        description = "Listing port";
+      };
+
+      listenAddress = mkOption {
+        type = types.string;
+        default = "127.0.0.1";
+        description = "The address on which the service listens";
+        defaultText = "127.0.0.1 (localhost)";
+      };
+
+    };
+
+  };
+
+  ###### Service definition
+
+  config = mkIf config.services.morty.enable {
+
+    users.extraUsers.morty =
+      { description = "Morty user";
+        createHome = true;
+        home = "/var/lib/morty";
+      };
+
+    systemd.services.morty =
+      {
+        description = "Morty sanitizing proxy server.";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig = {
+          User = "morty";
+          ExecStart = ''${cfg.package}/bin/morty              \
+	    -listen ${cfg.listenAddress}:${toString cfg.port} \
+	    ${optionalString cfg.ipv6 "-ipv6"}                \
+	    ${optionalString (cfg.key != "") "-key " + cfg.key} \
+	  '';
+        };
+      };
+    environment.systemPackages = [ cfg.package ];
+
+  };
+}
diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix
index 4bb9da54fe09..241038ca12ed 100644
--- a/nixos/modules/services/networking/openntpd.nix
+++ b/nixos/modules/services/networking/openntpd.nix
@@ -7,7 +7,7 @@ let
 
   package = pkgs.openntpd_nixos;
 
-  cfgFile = pkgs.writeText "openntpd.conf" ''
+  configFile = ''
     ${concatStringsSep "\n" (map (s: "server ${s}") cfg.servers)}
     ${cfg.extraConfig}
   '';
@@ -31,8 +31,8 @@ in
       type = with types; lines;
       default = "";
       example = ''
-        listen on 127.0.0.1 
-        listen on ::1 
+        listen on 127.0.0.1
+        listen on ::1
       '';
       description = ''
         Additional text appended to <filename>openntpd.conf</filename>.
@@ -57,6 +57,8 @@ in
     # Add ntpctl to the environment for status checking
     environment.systemPackages = [ package ];
 
+    environment.etc."ntpd.conf".text = configFile;
+
     users.extraUsers = singleton {
       name = "ntp";
       uid = config.ids.uids.ntp;
@@ -71,7 +73,7 @@ in
       before = [ "time-sync.target" ];
       after = [ "dnsmasq.service" "bind.service" "network-online.target" ];
       serviceConfig = {
-        ExecStart = "${package}/sbin/ntpd -f ${cfgFile} -p ${pidFile} ${cfg.extraOptions}";
+        ExecStart = "${package}/sbin/ntpd -p ${pidFile} ${cfg.extraOptions}";
         Type = "forking";
         PIDFile = pidFile;
       };
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index aab1203086ce..902e759f3a3a 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -272,6 +272,31 @@ in
         '';
       };
 
+      logLevel = mkOption {
+        type = types.enum [ "QUIET" "FATAL" "ERROR" "INFO" "VERBOSE" "DEBUG" "DEBUG1" "DEBUG2" "DEBUG3" ];
+        default = "VERBOSE";
+        description = ''
+          Gives the verbosity level that is used when logging messages from sshd(8). The possible values are:
+          QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is VERBOSE. DEBUG and DEBUG1
+          are equivalent. DEBUG2 and DEBUG3 each specify higher levels of debugging output. Logging with a DEBUG level
+          violates the privacy of users and is not recommended.
+
+          LogLevel VERBOSE logs user's key fingerprint on login.
+          Needed to have a clear audit track of which key was used to log in.
+        '';
+      };
+
+      useDns = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Specifies whether sshd(8) should look up the remote host name, and to check that the resolved host name for
+          the remote IP address maps back to the very same IP address.
+          If this option is set to no (the default) then only addresses and not host names may be used in
+          ~/.ssh/authorized_keys from and sshd_config Match Host directives.
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.lines;
         default = "";
@@ -426,9 +451,14 @@ in
         Ciphers ${concatStringsSep "," cfg.ciphers}
         MACs ${concatStringsSep "," cfg.macs}
 
-        # LogLevel VERBOSE logs user's key fingerprint on login.
-        # Needed to have a clear audit track of which key was used to log in.
-        LogLevel VERBOSE
+        LogLevel ${cfg.logLevel}
+
+        ${if cfg.useDns then ''
+          UseDNS yes
+        '' else ''
+          UseDNS no
+        ''}
+
       '';
 
     assertions = [{ assertion = if cfg.forwardX11 then cfgc.setXAuthLocation else true;
diff --git a/nixos/modules/services/networking/sslh.nix b/nixos/modules/services/networking/sslh.nix
index e3d65c49fbf2..0222e8ce8b58 100644
--- a/nixos/modules/services/networking/sslh.nix
+++ b/nixos/modules/services/networking/sslh.nix
@@ -4,15 +4,14 @@ with lib;
 
 let
   cfg = config.services.sslh;
+  user = "sslh";
   configFile = pkgs.writeText "sslh.conf" ''
     verbose: ${boolToString cfg.verbose};
     foreground: true;
     inetd: false;
     numeric: false;
-    transparent: false;
+    transparent: ${boolToString cfg.transparent};
     timeout: "${toString cfg.timeout}";
-    user: "nobody";
-    pidfile: "${cfg.pidfile}";
 
     listen:
     (
@@ -50,16 +49,16 @@ in
         description = "Timeout in seconds.";
       };
 
-      pidfile = mkOption {
-        type = types.path;
-        default = "/run/sslh.pid";
-        description = "PID file path for sslh daemon.";
+      transparent = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Will the services behind sslh (Apache, sshd and so on) see the external IP and ports as if the external world connected directly to them";
       };
 
       listenAddress = mkOption {
         type = types.str;
-        default = config.networking.hostName;
-        description = "Listening hostname.";
+        default = "0.0.0.0";
+        description = "Listening address or hostname.";
       };
 
       port = mkOption {
@@ -76,14 +75,91 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
-    systemd.services.sslh = {
-      description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)";
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig.ExecStart = "${pkgs.sslh}/bin/sslh -F${configFile}";
-      serviceConfig.KillMode = "process";
-      serviceConfig.PIDFile = "${cfg.pidfile}";
-    };
-  };
+  config = mkMerge [
+    (mkIf cfg.enable {
+      users.users.${user} = {
+        description = "sslh daemon user";
+        isSystemUser = true;
+      };
+
+      systemd.services.sslh = {
+        description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+
+        serviceConfig = {
+          User                 = user;
+          Group                = "nogroup";
+          PermissionsStartOnly = true;
+          Restart              = "always";
+          RestartSec           = "1s";
+          ExecStart            = "${pkgs.sslh}/bin/sslh -F${configFile}";
+          KillMode             = "process";
+          AmbientCapabilities  = "CAP_NET_BIND_SERVICE CAP_NET_ADMIN CAP_SETGID CAP_SETUID";
+          PrivateTmp           = true;
+          PrivateDevices       = true;
+          ProtectSystem        = "full";
+          ProtectHome          = true;
+        };
+      };
+    })
+
+    # code from https://github.com/yrutschle/sslh#transparent-proxy-support
+    # the only difference is using iptables mark 0x2 instead of 0x1 to avoid conflicts with nixos/nat module
+    (mkIf (cfg.enable && cfg.transparent) {
+      # Set route_localnet = 1 on all interfaces so that ssl can use "localhost" as destination
+      boot.kernel.sysctl."net.ipv4.conf.default.route_localnet" = 1;
+      boot.kernel.sysctl."net.ipv4.conf.all.route_localnet"     = 1;
+
+      systemd.services.sslh = let
+        iptablesCommands = [
+          # DROP martian packets as they would have been if route_localnet was zero
+          # Note: packets not leaving the server aren't affected by this, thus sslh will still work
+          { table = "raw";    command = "PREROUTING  ! -i lo -d 127.0.0.0/8 -j DROP"; }
+          { table = "mangle"; command = "POSTROUTING ! -o lo -s 127.0.0.0/8 -j DROP"; }
+          # Mark all connections made by ssl for special treatment (here sslh is run as user ${user})
+          { table = "nat";    command = "OUTPUT -m owner --uid-owner ${user} -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -j CONNMARK --set-xmark 0x02/0x0f"; }
+          # Outgoing packets that should go to sslh instead have to be rerouted, so mark them accordingly (copying over the connection mark)
+          { table = "mangle"; command = "OUTPUT ! -o lo -p tcp -m connmark --mark 0x02/0x0f -j CONNMARK --restore-mark --mask 0x0f"; }
+        ];
+        ip6tablesCommands = [
+          { table = "raw";    command = "PREROUTING  ! -i lo -d ::1/128     -j DROP"; }
+          { table = "mangle"; command = "POSTROUTING ! -o lo -s ::1/128     -j DROP"; }
+          { table = "nat";    command = "OUTPUT -m owner --uid-owner ${user} -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -j CONNMARK --set-xmark 0x02/0x0f"; }
+          { table = "mangle"; command = "OUTPUT ! -o lo -p tcp -m connmark --mark 0x02/0x0f -j CONNMARK --restore-mark --mask 0x0f"; }
+        ];
+      in {
+        path = [ pkgs.iptables pkgs.iproute pkgs.procps ];
+
+        preStart = ''
+          # Cleanup old iptables entries which might be still there
+          ${concatMapStringsSep "\n" ({table, command}: "while iptables -w -t ${table} -D ${command} 2>/dev/null; do echo; done") iptablesCommands}
+          ${concatMapStringsSep "\n" ({table, command}:       "iptables -w -t ${table} -A ${command}"                           ) iptablesCommands}
+
+          # Configure routing for those marked packets
+          ip rule  add fwmark 0x2 lookup 100
+          ip route add local 0.0.0.0/0 dev lo table 100
+
+        '' + optionalString config.networking.enableIPv6 ''
+          ${concatMapStringsSep "\n" ({table, command}: "while ip6tables -w -t ${table} -D ${command} 2>/dev/null; do echo; done") ip6tablesCommands}
+          ${concatMapStringsSep "\n" ({table, command}:       "ip6tables -w -t ${table} -A ${command}"                           ) ip6tablesCommands}
+
+          ip -6 rule  add fwmark 0x2 lookup 100
+          ip -6 route add local ::/0 dev lo table 100
+        '';
+
+        postStop = ''
+          ${concatMapStringsSep "\n" ({table, command}: "iptables -w -t ${table} -D ${command}") iptablesCommands}
+
+          ip rule  del fwmark 0x2 lookup 100
+          ip route del local 0.0.0.0/0 dev lo table 100
+        '' + optionalString config.networking.enableIPv6 ''
+          ${concatMapStringsSep "\n" ({table, command}: "ip6tables -w -t ${table} -D ${command}") ip6tablesCommands}
+
+          ip -6 rule  del fwmark 0x2 lookup 100
+          ip -6 route del local ::/0 dev lo table 100
+        '';
+      };
+    })
+  ];
 }
diff --git a/nixos/modules/services/scheduling/fcron.nix b/nixos/modules/services/scheduling/fcron.nix
index e3b6b638f5a7..0ea41f3c3985 100644
--- a/nixos/modules/services/scheduling/fcron.nix
+++ b/nixos/modules/services/scheduling/fcron.nix
@@ -128,6 +128,7 @@ in
         owner = "fcron";
         group = "fcron";
         setgid = true;
+        setuid = true;
       };
       fcrondyn = {
         source = "${pkgs.fcron}/bin/fcrondyn";
diff --git a/nixos/modules/services/security/munge.nix b/nixos/modules/services/security/munge.nix
index 919c2c2b0e15..5bca15833544 100644
--- a/nixos/modules/services/security/munge.nix
+++ b/nixos/modules/services/security/munge.nix
@@ -35,7 +35,15 @@ in
 
     environment.systemPackages = [ pkgs.munge ];
 
-    systemd.services.munged = { 
+    users.users.munge = {
+      description   = "Munge daemon user";
+      isSystemUser  = true;
+      group         = "munge";
+    };
+
+    users.groups.munge = {};
+
+    systemd.services.munged = {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
 
@@ -44,14 +52,20 @@ in
       preStart = ''
         chmod 0700 ${cfg.password}
         mkdir -p /var/lib/munge -m 0711
+        chown -R munge:munge /var/lib/munge
         mkdir -p /var/log/munge -m 0700
+        chown -R munge:munge /var/log/munge
         mkdir -p /run/munge -m 0755
+        chown -R munge:munge /run/munge
       '';
 
       serviceConfig = {
         ExecStart = "${pkgs.munge}/bin/munged --syslog --key-file ${cfg.password}";
         PIDFile = "/run/munge/munged.pid";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        PermissionsStartOnly = "true";
+        User = "munge";
+        Group = "munge";
       };
 
     };
diff --git a/nixos/modules/services/web-servers/minio.nix b/nixos/modules/services/web-servers/minio.nix
index 843f0d986877..7ead33483ea4 100644
--- a/nixos/modules/services/web-servers/minio.nix
+++ b/nixos/modules/services/web-servers/minio.nix
@@ -85,7 +85,7 @@ in
       '';
       serviceConfig = {
         PermissionsStartOnly = true;
-        ExecStart = "${cfg.package}/bin/minio server --address ${cfg.listenAddress} --config-dir=${cfg.configDir} ${cfg.dataDir}";
+        ExecStart = "${cfg.package}/bin/minio server --json --address ${cfg.listenAddress} --config-dir=${cfg.configDir} ${cfg.dataDir}";
         Type = "simple";
         User = "minio";
         Group = "minio";
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index 67daaa333e5e..2e497ff9f2c4 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -64,9 +64,10 @@ let
       )) + ":" + (makeSearchPathOutput "bin" "sbin" [
         pkgs.mdadm pkgs.utillinux
       ]);
-      font = if lib.last (lib.splitString "." cfg.font) == "pf2"
+      font = if cfg.font == null then ""
+        else (if lib.last (lib.splitString "." cfg.font) == "pf2"
              then cfg.font
-             else "${convertedFont}";
+             else "${convertedFont}");
     });
 
   bootDeviceCounters = fold (device: attr: attr // { "${device}" = (attr."${device}" or 0) + 1; }) {}
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index 1aa14729a75c..872261d0edfa 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -281,22 +281,24 @@ else {
         else
           insmod vbe
         fi
-        insmod font
-        if loadfont " . $grubBoot->path . "/converted-font.pf2; then
-          insmod gfxterm
-          if [ \"\${grub_platform}\" = \"efi\" ]; then
-            set gfxmode=$gfxmodeEfi
-            set gfxpayload=keep
-          else
-            set gfxmode=$gfxmodeBios
-            set gfxpayload=text
-          fi
-          terminal_output gfxterm
-        fi
     ";
 
     if ($font) {
         copy $font, "$bootPath/converted-font.pf2" or die "cannot copy $font to $bootPath\n";
+        $conf .= "
+            insmod font
+            if loadfont " . $grubBoot->path . "/converted-font.pf2; then
+              insmod gfxterm
+              if [ \"\${grub_platform}\" = \"efi\" ]; then
+                set gfxmode=$gfxmodeEfi
+                set gfxpayload=keep
+              else
+                set gfxmode=$gfxmodeBios
+                set gfxpayload=text
+              fi
+              terminal_output gfxterm
+            fi
+        ";
     }
     if ($splashImage) {
         # Keeps the image's extension.
diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix
index ae9ee8811f77..8b37bf8d35d8 100644
--- a/nixos/modules/system/boot/systemd-lib.nix
+++ b/nixos/modules/system/boot/systemd-lib.nix
@@ -78,10 +78,16 @@ in rec {
     optional (badFields != [ ])
       "Systemd ${group} has extra fields [${concatStringsSep " " badFields}].";
 
-  checkUnitConfig = group: checks: v:
-    let errors = concatMap (c: c group v) checks; in
-    if errors == [] then true
-      else builtins.trace (concatStringsSep "\n" errors) false;
+  checkUnitConfig = group: checks: attrs: let
+    # We're applied at the top-level type (attrsOf unitOption), so the actual
+    # unit options might contain attributes from mkOverride that we need to
+    # convert into single values before checking them.
+    defs = mapAttrs (const (v:
+      if v._type or "" == "override" then v.content else v
+    )) attrs;
+    errors = concatMap (c: c group defs) checks;
+  in if errors == [] then true
+     else builtins.trace (concatStringsSep "\n" errors) false;
 
   toOption = x:
     if x == true then "true"
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index c3bf897d51fd..de735e9ba11b 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -403,6 +403,9 @@ in
           nameValuePair "zfs-sync-${pool}" {
             description = "Sync ZFS pool \"${pool}\"";
             wantedBy = [ "shutdown.target" ];
+            unitConfig = {
+              DefaultDependencies = false;
+            };
             serviceConfig = {
               Type = "oneshot";
               RemainAfterExit = true;
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 374a84332357..de2c43b8a40a 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -257,7 +257,7 @@ in
               echo "Setup of ssh host keys from http://metadata.google.internal/computeMetadata/v1/instance/attributes/ failed."
               false
           fi
-          rm -f $SSH_HOST_KEYS_DIR
+          rm -rf $SSH_HOST_KEYS_DIR
         '';
       serviceConfig.Type = "oneshot";
       serviceConfig.RemainAfterExit = true;
diff --git a/nixos/modules/virtualisation/kvmgt.nix b/nixos/modules/virtualisation/kvmgt.nix
new file mode 100644
index 000000000000..fc0bedb68bd0
--- /dev/null
+++ b/nixos/modules/virtualisation/kvmgt.nix
@@ -0,0 +1,64 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.virtualisation.kvmgt;
+  kernelPackages = config.boot.kernelPackages;
+  vgpuOptions = {
+    uuid = mkOption {
+      type = types.string;
+      description = "UUID of VGPU device. You can generate one with <package>libossp_uuid</package>.";
+    };
+  };
+in {
+  options = {
+    virtualisation.kvmgt = {
+      enable = mkEnableOption ''
+        KVMGT (iGVT-g) VGPU support. Allows Qemu/KVM guests to share host's Intel integrated graphics card.
+        Currently only one graphical device can be shared
+      '';
+      # multi GPU support is under the question
+      device = mkOption {
+        type = types.string;
+        default = "0000:00:02.0";
+        description = "PCI ID of graphics card. You can figure it with <command>ls /sys/class/mdev_bus</command>.";
+      };
+      vgpus = mkOption {
+        default = {};
+        type = with types; attrsOf (submodule [ { options = vgpuOptions; } ]);
+        description = ''
+          Virtual GPUs to be used in Qemu. You can find devices via <command>ls /sys/bus/pci/devices/*/mdev_supported_types</command>
+          and find info about device via <command>cat /sys/bus/pci/devices/*/mdev_supported_types/i915-GVTg_V5_4/description</command>
+        '';
+        example = {
+          "i915-GVTg_V5_8" = {
+            uuid = "a297db4a-f4c2-11e6-90f6-d3b88d6c9525";
+          };
+        };
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions = singleton {
+      assertion = versionAtLeast kernelPackages.kernel.version "4.16";
+      message = "KVMGT is not properly supported for kernels older than 4.16";
+    };
+    boot.kernelParams = [ "i915.enable_gvt=1" ];
+    systemd.services = mapAttrs' (name: value:
+      nameValuePair "kvmgt-${name}" {
+        description = "KVMGT VGPU ${name}";
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+          ExecStart = "${pkgs.runtimeShell} -c 'echo ${value.uuid} > /sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create'";
+          ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/bus/pci/devices/${cfg.device}/${value.uuid}/remove'";
+        };
+        wantedBy = [ "multi-user.target" ];
+      }
+    ) cfg.vgpus;
+  };
+
+  meta.maintainers = with maintainers; [ gnidorah ];
+}
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 989764874c48..66b253c230f1 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -88,12 +88,14 @@ in rec {
         (all nixos.tests.env)
         (all nixos.tests.ipv6)
         (all nixos.tests.i3wm)
-        (all nixos.tests.keymap.azerty)
-        (all nixos.tests.keymap.colemak)
-        (all nixos.tests.keymap.dvorak)
-        (all nixos.tests.keymap.dvp)
-        (all nixos.tests.keymap.neo)
-        (all nixos.tests.keymap.qwertz)
+        # 2018-06-06: keymap tests temporarily removed from tested job
+        # since non-deterministic failure are blocking the channel (#41538)
+        #(all nixos.tests.keymap.azerty)
+        #(all nixos.tests.keymap.colemak)
+        #(all nixos.tests.keymap.dvorak)
+        #(all nixos.tests.keymap.dvp)
+        #(all nixos.tests.keymap.neo)
+        #(all nixos.tests.keymap.qwertz)
         (all nixos.tests.plasma5)
         #(all nixos.tests.lightdm)
         (all nixos.tests.login)
diff --git a/nixos/release.nix b/nixos/release.nix
index 1e52c0f86a7a..0fa8b22cc898 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -300,11 +300,13 @@ in rec {
   tests.grafana = callTest tests/grafana.nix {};
   tests.graphite = callTest tests/graphite.nix {};
   tests.hardened = callTest tests/hardened.nix { };
+  tests.haproxy = callTest tests/haproxy.nix {};
   tests.hibernate = callTest tests/hibernate.nix {};
   tests.hitch = callTest tests/hitch {};
   tests.home-assistant = callTest tests/home-assistant.nix { };
   tests.hound = callTest tests/hound.nix {};
   tests.hocker-fetchdocker = callTest tests/hocker-fetchdocker {};
+  tests.hydra = callTest tests/hydra {};
   tests.i3wm = callTest tests/i3wm.nix {};
   tests.iftop = callTest tests/iftop.nix {};
   tests.initrd-network-ssh = callTest tests/initrd-network-ssh {};
@@ -332,6 +334,7 @@ in rec {
   #tests.logstash = callTest tests/logstash.nix {};
   tests.mathics = callTest tests/mathics.nix {};
   tests.matrix-synapse = callTest tests/matrix-synapse.nix {};
+  tests.memcached = callTest tests/memcached.nix {};
   tests.mesos = callTest tests/mesos.nix {};
   tests.misc = callTest tests/misc.nix {};
   tests.mongodb = callTest tests/mongodb.nix {};
@@ -408,6 +411,7 @@ in rec {
   tests.xss-lock = callTest tests/xss-lock.nix {};
   tests.yabar = callTest tests/yabar.nix {};
   tests.zookeeper = callTest tests/zookeeper.nix {};
+  tests.morty = callTest tests/morty.nix { };
 
   /* Build a bunch of typical closures so that Hydra can keep track of
      the evolution of closure sizes. */
diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix
index 492fa61484a0..591ed8600685 100644
--- a/nixos/tests/gnome3.nix
+++ b/nixos/tests/gnome3.nix
@@ -11,8 +11,9 @@ import ./make-test.nix ({ pkgs, ...} : {
 
       services.xserver.enable = true;
 
-      services.xserver.displayManager.auto.enable = true;
-      services.xserver.displayManager.auto.user = "alice";
+      services.xserver.displayManager.lightdm.enable = true;
+      services.xserver.displayManager.lightdm.autoLogin.enable = true;
+      services.xserver.displayManager.lightdm.autoLogin.user = "alice";
       services.xserver.desktopManager.gnome3.enable = true;
 
       virtualisation.memorySize = 1024;
@@ -21,7 +22,9 @@ import ./make-test.nix ({ pkgs, ...} : {
   testScript =
     ''
       $machine->waitForX;
-      $machine->sleep(15);
+
+      # wait for alice to be logged in
+      $machine->waitForUnit("default.target","alice");
 
       # Check that logging in has given the user ownership of devices.
       $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
diff --git a/nixos/tests/haproxy.nix b/nixos/tests/haproxy.nix
new file mode 100644
index 000000000000..ce4094237db2
--- /dev/null
+++ b/nixos/tests/haproxy.nix
@@ -0,0 +1,41 @@
+import ./make-test.nix ({ pkgs, ...}: {
+  name = "haproxy";
+  nodes = {
+    machine = { config, ...}: {
+      imports = [ ../modules/profiles/minimal.nix ];
+      services.haproxy = {
+        enable = true;
+        config = ''
+          defaults
+            timeout connect 10s
+
+          backend http_server
+            mode http
+            server httpd [::1]:8000
+
+          frontend http
+            bind *:80
+            mode http
+            use_backend http_server
+        '';
+      };
+      services.httpd = {
+        enable = true;
+        documentRoot = pkgs.writeTextDir "index.txt" "We are all good!";
+        adminAddr = "notme@yourhost.local";
+        listen = [{
+          ip = "::1";
+          port = 8000;
+        }];
+      };
+    };
+  };
+  testScript = ''
+    startAll;
+    $machine->waitForUnit('multi-user.target');
+    $machine->waitForUnit('haproxy.service');
+    $machine->waitForUnit('httpd.service');
+    $machine->succeed('curl -k http://localhost:80/index.txt | grep "We are all good!"');
+
+  '';
+})
diff --git a/nixos/tests/hydra.nix b/nixos/tests/hydra.nix
deleted file mode 100644
index 6abd7a5ad300..000000000000
--- a/nixos/tests/hydra.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "hydra-init-localdb";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ pstn ];
-  };
-
-  machine =
-    { config, pkgs, ... }:
-
-    {
-      services.hydra = {
-        enable = true;
-
-        #Hydra needs those settings to start up, so we add something not harmfull.
-        hydraURL = "example.com";
-        notificationSender = "example@example.com";
-      };
-    };
-
-  testScript =
-    ''
-      # let the system boot up
-      $machine->waitForUnit("multi-user.target");
-      # test whether the database is running
-      $machine->succeed("systemctl status postgresql.service");
-      # test whether the actual hydra daemons are running
-      $machine->succeed("systemctl status hydra-queue-runner.service");
-      $machine->succeed("systemctl status hydra-init.service");
-      $machine->succeed("systemctl status hydra-evaluator.service");
-      $machine->succeed("systemctl status hydra-send-stats.service");
-     '';
-})
diff --git a/nixos/tests/hydra/create-trivial-project.sh b/nixos/tests/hydra/create-trivial-project.sh
new file mode 100755
index 000000000000..3cca5665acc5
--- /dev/null
+++ b/nixos/tests/hydra/create-trivial-project.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+#
+# This script creates a project, a jobset with an input of type local
+# path. This local path is a directory that contains a Nix expression
+# to define a job.
+# The EXPR-PATH environment variable must be set with the local path.
+
+set -e
+
+URL=http://localhost:3000
+USERNAME="admin"
+PASSWORD="admin"
+PROJECT_NAME="trivial"
+JOBSET_NAME="trivial"
+EXPR_PATH=${EXPR_PATH:-}
+
+if [ -z $EXPR_PATH ]; then
+   echo "Environment variable EXPR_PATH must be set"
+   exit 1
+fi
+
+mycurl() {
+  curl --referer $URL -H "Accept: application/json" -H "Content-Type: application/json" $@
+}
+
+cat >data.json <<EOF
+{ "username": "$USERNAME", "password": "$PASSWORD" }
+EOF
+mycurl -X POST -d '@data.json' $URL/login -c hydra-cookie.txt
+
+cat >data.json <<EOF
+{
+  "displayname":"Trivial",
+  "enabled":"1"
+}
+EOF
+mycurl --silent -X PUT $URL/project/$PROJECT_NAME -d @data.json -b hydra-cookie.txt
+
+cat >data.json <<EOF
+{
+  "description": "Trivial",
+  "checkinterval": "60",
+  "enabled": "1",
+  "visible": "1",
+  "keepnr": "1",
+  "nixexprinput": "trivial",
+  "nixexprpath": "trivial.nix",
+  "inputs": {
+    "trivial": {
+      "value": "$EXPR_PATH",
+      "type": "path"
+    }
+  }
+}
+EOF
+mycurl --silent -X PUT $URL/jobset/$PROJECT_NAME/$JOBSET_NAME -d @data.json -b hydra-cookie.txt
diff --git a/nixos/tests/hydra/default.nix b/nixos/tests/hydra/default.nix
new file mode 100644
index 000000000000..74919444c16d
--- /dev/null
+++ b/nixos/tests/hydra/default.nix
@@ -0,0 +1,78 @@
+import ../make-test.nix ({ pkgs, ...} :
+
+let
+   trivialJob = pkgs.writeTextDir "trivial.nix" ''
+     with import <nix/config.nix>;
+
+     { trivial = builtins.derivation {
+         name = "trivial";
+         system = "x86_64-linux";
+         PATH = coreutils;
+         builder = shell;
+         args = ["-c" "touch $out; exit 0"];
+       };
+     }
+   '';
+
+    createTrivialProject = pkgs.stdenv.mkDerivation {
+      name = "create-trivial-project";
+      unpackPhase = ":";
+      buildInputs = [ pkgs.makeWrapper ];
+      installPhase = "install -m755 -D ${./create-trivial-project.sh} $out/bin/create-trivial-project.sh";
+      postFixup = ''
+        wrapProgram "$out/bin/create-trivial-project.sh" --prefix PATH ":" ${pkgs.stdenv.lib.makeBinPath [ pkgs.curl ]} --set EXPR_PATH ${trivialJob}
+      '';
+    };
+
+in {
+  name = "hydra-init-localdb";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ pstn lewo ];
+  };
+
+  machine =
+    { config, pkgs, ... }:
+
+    {
+      virtualisation.memorySize = 1024;
+      time.timeZone = "UTC";
+
+      environment.systemPackages = [ createTrivialProject pkgs.jq ];
+      services.hydra = {
+        enable = true;
+
+        #Hydra needs those settings to start up, so we add something not harmfull.
+        hydraURL = "example.com";
+        notificationSender = "example@example.com";
+      };
+      nix = {
+        buildMachines = [{
+          hostName = "localhost";
+          systems = [ "x86_64-linux" ];
+        }];
+      };
+    };
+
+  testScript =
+    ''
+      # let the system boot up
+      $machine->waitForUnit("multi-user.target");
+      # test whether the database is running
+      $machine->succeed("systemctl status postgresql.service");
+      # test whether the actual hydra daemons are running
+      $machine->succeed("systemctl status hydra-queue-runner.service");
+      $machine->succeed("systemctl status hydra-init.service");
+      $machine->succeed("systemctl status hydra-evaluator.service");
+      $machine->succeed("systemctl status hydra-send-stats.service");
+
+      $machine->succeed("hydra-create-user admin --role admin --password admin");
+
+      # create a project with a trivial job
+      $machine->waitForOpenPort(3000);
+
+      # make sure the build as been successfully built
+      $machine->succeed("create-trivial-project.sh");
+
+      $machine->waitUntilSucceeds('curl -L -s http://localhost:3000/build/1 -H "Accept: application/json" |  jq .buildstatus | xargs test 0 -eq');
+     '';
+})
diff --git a/nixos/tests/iftop.nix b/nixos/tests/iftop.nix
index 21ff3cafed7c..a4f524ceb27b 100644
--- a/nixos/tests/iftop.nix
+++ b/nixos/tests/iftop.nix
@@ -9,22 +9,26 @@ with lib;
   nodes = {
     withIftop = {
       imports = [ ./common/user-account.nix ];
-
       programs.iftop.enable = true;
     };
     withoutIftop = {
       imports = [ ./common/user-account.nix ];
+      environment.systemPackages = [ pkgs.iftop ];
     };
   };
 
   testScript = ''
     subtest "machine with iftop enabled", sub {
-      $withIftop->start;
-      $withIftop->succeed("su -l alice -c 'iftop -t -s 1'");
+      $withIftop->waitForUnit("default.target");
+      # limit to eth1 (eth0 is the test driver's control interface)
+      # and don't try name lookups
+      $withIftop->succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'");
     };
     subtest "machine without iftop", sub {
-      $withoutIftop->start;
-      $withoutIftop->mustFail("su -l alice -c 'iftop -t -s 1'");
+      $withoutIftop->waitForUnit("default.target");
+      # check that iftop is there but user alice lacks capabilities
+      $withoutIftop->succeed("iftop -t -s 1 -n -i eth1");
+      $withoutIftop->fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'");
     };
   '';
 })
diff --git a/nixos/tests/memcached.nix b/nixos/tests/memcached.nix
new file mode 100644
index 000000000000..f9ef3647bd1a
--- /dev/null
+++ b/nixos/tests/memcached.nix
@@ -0,0 +1,28 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "memcached";
+
+  nodes = {
+    machine =
+      { config, pkgs, ... }:
+      {
+        imports = [ ../modules/profiles/minimal.nix ];
+        services.memcached.enable = true;
+      };
+  };
+
+  testScript = let
+    testScript = pkgs.writeScript "testScript.py" ''
+      #!${pkgs.python3.withPackages (p: [p.memcached])}/bin/python
+
+      import memcache
+      c = memcache.Client(['localhost:11211'])
+      c.set('key', 'value')
+      assert 'value' == c.get('key')
+    '';
+  in ''
+    startAll;
+    $machine->waitForUnit("memcached.service");
+    $machine->waitForOpenPort("11211");
+    $machine->succeed("${testScript}");
+  '';
+})
diff --git a/nixos/tests/morty.nix b/nixos/tests/morty.nix
new file mode 100644
index 000000000000..e052ee988060
--- /dev/null
+++ b/nixos/tests/morty.nix
@@ -0,0 +1,32 @@
+import ./make-test.nix ({ pkgs, ... }:
+
+{
+  name = "morty";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ leenaars ];
+  };
+
+  nodes =
+    { mortyProxyWithKey =
+
+      { config, pkgs, ... }:
+      { services.morty = {
+        enable = true;
+	key = "78a9cd0cfee20c672f78427efb2a2a96036027f0";
+	port = 3001;
+	};
+      };
+
+    };
+
+  testScript =
+    { nodes , ... }:
+    ''
+      startAll;
+
+      $mortyProxyWithKey->waitForUnit("morty");
+      $mortyProxyWithKey->succeed("curl -L 127.0.0.1:3001 | grep MortyProxy");
+
+    '';
+
+})
diff --git a/nixos/tests/slurm.nix b/nixos/tests/slurm.nix
index dc4f62af5640..ec67ea092874 100644
--- a/nixos/tests/slurm.nix
+++ b/nixos/tests/slurm.nix
@@ -1,7 +1,6 @@
 import ./make-test.nix ({ pkgs, ... }:
 let mungekey = "mungeverryweakkeybuteasytointegratoinatest";
     slurmconfig = {
-      client.enable = true;
       controlMachine = "control";
       nodeName = ''
         control
@@ -20,9 +19,12 @@ in {
         # TODO slrumd port and slurmctld port should be configurations and
         # automatically allowed by the  firewall.
         networking.firewall.enable = false;
-        services.slurm = slurmconfig;
+        services.slurm = {
+          client.enable = true;
+        } // slurmconfig;
       };
     in {
+
     control =
       { config, pkgs, ...}:
       {
@@ -31,23 +33,35 @@ in {
           server.enable = true;
         } // slurmconfig;
       };
+
+    submit =
+      { config, pkgs, ...}:
+      {
+        networking.firewall.enable = false;
+        services.slurm = {
+          enableStools = true;
+        } // slurmconfig;
+      };
+
     node1 = computeNode;
     node2 = computeNode;
     node3 = computeNode;
   };
 
+
   testScript =
   ''
   startAll;
 
   # Set up authentification across the cluster
-  foreach my $node (($control,$node1,$node2,$node3))
+  foreach my $node (($submit,$control,$node1,$node2,$node3))
   {
     $node->waitForUnit("default.target");
 
     $node->succeed("mkdir /etc/munge");
     $node->succeed("echo '${mungekey}' > /etc/munge/munge.key");
     $node->succeed("chmod 0400 /etc/munge/munge.key");
+    $node->succeed("chown munge:munge /etc/munge/munge.key");
     $node->succeed("systemctl restart munged");
   }
 
@@ -60,7 +74,7 @@ in {
   };
 
   subtest "can_start_slurmd", sub {
-    foreach my $node (($control,$node1,$node2,$node3))
+    foreach my $node (($node1,$node2,$node3))
     {
       $node->succeed("systemctl restart slurmd.service");
       $node->waitForUnit("slurmd");
@@ -72,7 +86,7 @@ in {
   subtest "run_distributed_command", sub {
     # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes).
     # The output must contain the 3 different names
-    $control->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq");
+    $submit->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq");
   };
   '';
 })
diff --git a/pkgs/applications/altcoins/aeon/default.nix b/pkgs/applications/altcoins/aeon/default.nix
index cfbb1f24b198..0489c8b649f5 100644
--- a/pkgs/applications/altcoins/aeon/default.nix
+++ b/pkgs/applications/altcoins/aeon/default.nix
@@ -1,7 +1,10 @@
-{ stdenv, fetchFromGitHub, cmake, boost, miniupnpc, openssl, pkgconfig, unbound }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, git, doxygen, graphviz
+, boost, miniupnpc, openssl, unbound, cppzmq
+, zeromq, pcsclite, readline
+}:
 
 let
-  version = "0.9.14.0";
+  version = "0.12.0.0";
 in
 stdenv.mkDerivation {
   name = "aeon-${version}";
@@ -10,19 +13,24 @@ stdenv.mkDerivation {
     owner = "aeonix";
     repo = "aeon";
     rev = "v${version}";
-    sha256 = "0pl9nfhihj0wsdgvvpv5f14k4m2ikk8s3xw6nd8ymbnpxfzyxynr";
+    fetchSubmodules = true;
+    sha256 = "1schzlscslhqq7zcd68b1smqlaf7k789x1rwpplm7qi5iz9a8cfr";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ];
 
-  buildInputs = [ boost miniupnpc openssl unbound ];
+  buildInputs = [
+    boost miniupnpc openssl unbound
+    cppzmq zeromq pcsclite readline
+  ];
 
-  installPhase = ''
-    install -D src/aeond "$out/bin/aeond"
-    install src/simpleminer "$out/bin/aeon-simpleminer"
-    install src/simplewallet "$out/bin/aeon-simplewallet"
-    install src/connectivity_tool "$out/bin/aeon-connectivity-tool"
-  '';
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DBUILD_GUI_DEPS=ON"
+    "-DReadline_ROOT_DIR=${readline.dev}"
+  ];
+
+  hardeningDisable = [ "fortify" ];
 
   meta = with stdenv.lib; {
     description = "Private, secure, untraceable currency";
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 9915e0a301a1..1a0e77dc12f1 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -85,7 +85,6 @@ rec {
   };
 
   parity = callPackage ./parity { };
-  parity-beta = callPackage ./parity/beta.nix { };
   parity-ui = callPackage ./parity-ui { };
 
   particl-core = callPackage ./particl/particl-core.nix { boost = boost165; miniupnpc = miniupnpc_2; withGui = false; };
diff --git a/pkgs/applications/altcoins/parity-ui/default.nix b/pkgs/applications/altcoins/parity-ui/default.nix
index 316c1fa3701d..33e72125c6bd 100644
--- a/pkgs/applications/altcoins/parity-ui/default.nix
+++ b/pkgs/applications/altcoins/parity-ui/default.nix
@@ -6,11 +6,11 @@ uiEnv = pkgs.callPackage ./env.nix { };
 
 in stdenv.mkDerivation rec {
   name = "parity-ui-${version}";
-  version = "0.2.1";
+  version = "0.2.5";
 
   src = fetchurl {
     url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb";
-    sha256 = "08gh438mqxj2h8i9hv826bx040wmkmdgsda5grj0k81459vds31l";
+    sha256 = "1jk7ac6qqxs47hf16vhr94ix4wf51qzpm55q8h6wsx1lrgy1y3g6";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/altcoins/parity/beta.nix b/pkgs/applications/altcoins/parity/beta.nix
deleted file mode 100644
index 9cbab6ad0955..000000000000
--- a/pkgs/applications/altcoins/parity/beta.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-let
-  version     = "1.10.2";
-  sha256      = "1a1rbwlwi60nfv6m1rdy5baq5lcafc8nw96y45pr1674i48gkp0l";
-  cargoSha256 = "0l3rjkinzppfq8fi8h24r35rb552fzzman5a6yk33wlsdj2lv7yh";
-  patches     = [ ./patches/vendored-sources-1.10.patch ];
-in
-  import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix
index d85fc25355c8..3ba2495d45a2 100644
--- a/pkgs/applications/altcoins/parity/default.nix
+++ b/pkgs/applications/altcoins/parity/default.nix
@@ -1,7 +1,7 @@
 let
-  version     = "1.9.7";
-  sha256      = "1h9rmyqkdv2v83g12dadgqflq1n1qqgd5hrpy20ajha0qpbiv3ph";
-  cargoSha256 = "0ss5jw43850r8l34prai5vk1zd5d5fjyg4rcav1asbq6v683bww0";
-  patches     = [ ./patches/vendored-sources-1.9.patch ];
+  version     = "1.10.6";
+  sha256      = "1x2sm262z8fdkx8zin6r8nwbb7znziw9nm224pr6ap3p0jmv7fcq";
+  cargoSha256 = "1wf1lh32f9dlhv810gdcssv92g1yximx09lw63m0mxcjbn9813bs";
+  patches     = [ ./patches/vendored-sources-1.10.patch ];
 in
   import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch
deleted file mode 100644
index 3e1ba2429f2d..000000000000
--- a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-diff --git a/.cargo/config b/.cargo/config
-new file mode 100644
-index 000000000..0efb69724
---- /dev/null 
-+++ b/.cargo/config
-@@ -0,0 +1,94 @@
-+[source."https://github.com/alexcrichton/mio-named-pipes"]
-+git = "https://github.com/alexcrichton/mio-named-pipes"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/js-dist-paritytech/parity-stable-1-9-shell.git"]
-+git = "https://github.com/js-dist-paritytech/parity-stable-1-9-shell.git"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/js-dist-paritytech/parity-stable-1-9-v1.git"]
-+git = "https://github.com/js-dist-paritytech/parity-stable-1-9-v1.git"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/nikvolf/parity-tokio-ipc"]
-+git = "https://github.com/nikvolf/parity-tokio-ipc"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/nikvolf/tokio-named-pipes"]
-+git = "https://github.com/nikvolf/tokio-named-pipes"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/app-dirs-rs"]
-+git = "https://github.com/paritytech/app-dirs-rs"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/bn"]
-+git = "https://github.com/paritytech/bn"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/hidapi-rs"]
-+git = "https://github.com/paritytech/hidapi-rs"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/hyper"]
-+git = "https://github.com/paritytech/hyper"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/jsonrpc.git"]
-+git = "https://github.com/paritytech/jsonrpc.git"
-+branch = "parity-1.9"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/libusb-rs"]
-+git = "https://github.com/paritytech/libusb-rs"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/libusb-sys"]
-+git = "https://github.com/paritytech/libusb-sys"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/rust-ctrlc.git"]
-+git = "https://github.com/paritytech/rust-ctrlc.git"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/rust-rocksdb"]
-+git = "https://github.com/paritytech/rust-rocksdb"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/rust-secp256k1"]
-+git = "https://github.com/paritytech/rust-secp256k1"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/rust-snappy"]
-+git = "https://github.com/paritytech/rust-snappy"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/trezor-sys"]
-+git = "https://github.com/paritytech/trezor-sys"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/tailhook/rotor"]
-+git = "https://github.com/tailhook/rotor"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/tomusdrw/ws-rs"]
-+git = "https://github.com/tomusdrw/ws-rs"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index db5433cc35fc..961ef7135697 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -73,6 +73,13 @@ let
       sed '52iLLVM_VERSION=${stdenv.lib.getVersion llvm}' -i compiler/Makefile.unix
     '';
 
+    postPatch = ''
+      # fix build with llvm 5.0.2 by adding it to the list of known versions
+      # TODO: check if still needed on next update
+      substituteInPlace compiler/Makefile.unix \
+        --replace "5.0.0 5.0.1" "5.0.0 5.0.1 5.0.2"
+    '';
+
     # Remove most faust2appl scripts since they won't run properly
     # without additional paths setup. See faust.wrap,
     # faust.wrapWithBuildEnv.
@@ -193,6 +200,7 @@ let
 
       propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs;
 
+
       postFixup = ''
 
         # export parts of the build environment
diff --git a/pkgs/applications/audio/midas/generic.nix b/pkgs/applications/audio/midas/generic.nix
new file mode 100644
index 000000000000..293d1b0b6c82
--- /dev/null
+++ b/pkgs/applications/audio/midas/generic.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, lib, libX11, libXext, alsaLib, freetype, brand, type, version, homepage, sha256, ... }:
+stdenv.mkDerivation rec {
+  inherit type;
+  baseName = "${type}-Edit";
+  name = "${lib.toLower baseName}-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.music-group.com/software/behringer/${type}/${type}-Edit_LINUX_64bit_${version}.tar.gz";
+    inherit sha256;
+  };
+
+  sourceRoot = ".";
+  dontBuild = true;
+  dontStrip = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${baseName} $out/bin
+  '';
+  preFixup = let
+    # we prepare our library path in the let clause to avoid it become part of the input of mkDerivation
+    libPath = lib.makeLibraryPath [
+      libX11           # libX11.so.6
+      libXext          # libXext.so.6
+      alsaLib          # libasound.so.2
+      freetype         # libfreetype.so.6
+      stdenv.cc.cc.lib # libstdc++.so.6
+    ];
+  in ''
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${libPath}" \
+      $out/bin/${baseName}
+  '';
+
+  meta = with stdenv.lib; {
+    inherit homepage;
+    description = "Editor for the ${brand} ${type} digital mixer";
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/midas/m32edit.nix b/pkgs/applications/audio/midas/m32edit.nix
new file mode 100644
index 000000000000..c8a751c235b1
--- /dev/null
+++ b/pkgs/applications/audio/midas/m32edit.nix
@@ -0,0 +1,9 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  brand = "Midas";
+  type = "M32";
+  version = "3.2";
+  sha256 = "1cds6qinz37086l6pmmgrzrxadygjr2z96sjjyznnai2wz4z2nrd";
+  homepage = http://www.musictri.be/Categories/Midas/Mixers/Digital/M32/p/P0B3I/downloads;
+})
diff --git a/pkgs/applications/audio/midas/x32edit.nix b/pkgs/applications/audio/midas/x32edit.nix
new file mode 100644
index 000000000000..4aacfcc89a36
--- /dev/null
+++ b/pkgs/applications/audio/midas/x32edit.nix
@@ -0,0 +1,9 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  brand = "Behringer";
+  type = "X32";
+  version = "3.2";
+  sha256 = "1lzmhd0sqnlzc0khpwm82sfi48qhv7rg153a57qjih7hhhy41mzk";
+  homepage = http://www.musictri.be/Categories/Behringer/Mixers/Digital/X32/p/P0ASF/downloads;
+})
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index eb4dce814166..dcd2d6f5f5ae 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.18.0";
+  version = "3.20.0";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "0j56pj7cqymdk22bjw33c9rz4n36k693gs3w6kg6y68as8l6qpvb";
+    sha256 = "1fva5ysik3af3x74l6059ngwsxrk9g6ml47wr5ck536k66i025ar";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/pulseaudio-ctl/default.nix b/pkgs/applications/audio/pulseaudio-ctl/default.nix
new file mode 100644
index 000000000000..6e1e576043d1
--- /dev/null
+++ b/pkgs/applications/audio/pulseaudio-ctl/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, makeWrapper
+, bc, dbus, gawk, gnused, libnotify, pulseaudioLight }:
+
+let
+  path = stdenv.lib.makeBinPath [ bc dbus gawk gnused libnotify pulseaudioLight ];
+  pname = "pulseaudio-ctl";
+
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  version = "1.66";
+
+  src = fetchFromGitHub {
+    owner = "graysky2";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "19a24w7y19551ar41q848w7r1imqkl9cpff4dpb7yry7qp1yjg0y";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace /usr $out
+
+    substituteInPlace common/${pname}.in \
+      --replace '$0' ${pname}
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postFixup = ''
+    wrapProgram $out/bin/${pname} \
+      --prefix PATH : ${path}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Control pulseaudio volume from the shell or mapped to keyboard shortcuts. No need for alsa-utils.";
+    homepage = https://bbs.archlinux.org/viewtopic.php?id=124513;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index e2218f477a59..dc12baefed14 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-1.2.1";
+  name = "qmmp-1.2.2";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "1ag8wh11dq394zjqdyz5g1srjnm4fnq4cwlhpb9k89gpmlk42cdr";
+    sha256 = "01nnyg8m3p3px1fj3lfsqqv9zh1388dwx1bm2qv4v87jywimgp79";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/qsampler/default.nix b/pkgs/applications/audio/qsampler/default.nix
index 518fef0c4f5e..19255dce6b0c 100644
--- a/pkgs/applications/audio/qsampler/default.nix
+++ b/pkgs/applications/audio/qsampler/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "qsampler-${version}";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/qsampler/${name}.tar.gz";
-    sha256 = "0kn1mv31ygjjsric03pkbv7r8kg3bri9ldx2ajc9pyx0p8ggnbmc";
+    sha256 = "18j4cwmn7waih9x5b66cba2aa85spqqp507bf19ahsb5gl358yhh";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ];
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index 972da4f773f6..e7073d0c95e9 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -9,7 +9,7 @@
 let optionals = stdenv.lib.optionals; in
 python3.pkgs.buildPythonApplication rec {
   name = "quodlibet${tag}-${version}";
-  version = "4.0.2";
+  version = "4.1.0";
 
   # XXX, tests fail
   # https://github.com/quodlibet/quodlibet/issues/2820
@@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec {
 
   src = fetchurl {
     url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz";
-    sha256 = "072s983p3n84yl807pbdxsy5vrgs8jzzfl648gsri6kpwsp6w5fz";
+    sha256 = "1vcxx4sz5i4ag74pjpdfw7jkwxfb8jhvn8igcjwd5cccw4gscm2z";
   };
 
   nativeBuildInputs = [ wrapGAppsHook gettext intltool ];
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index cacc6e04429d..9b386ea7ac7e 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-18.3";
+  name = "snd-18.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "117sgvdv0a03ys1v27bs99mgzpfm2a7xg6s0q6m1f79jniia12ss";
+    sha256 = "1asc513d0cmbq0ldzpzmfbydvlj5hwpp480qnicgkn96wplp9c7s";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 5f6772256cab..b8495465db55 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -7,7 +7,7 @@ let
   # Latest version number can be found at:
   # http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
   # Be careful not to pick the testing version.
-  version = "1.0.79.223.g92622cc2-21";
+  version = "1.0.80.480.g51b03ac3-13";
 
   deps = [
     alsaLib
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-    sha256 = "1x1rpprzin4cmz1spzw036b4phd0yk1v7idlrcy4pkv97b4g5dw6";
+    sha256 = "e32f4816ae79dbfa0c14086e76df3bc83d526402aac1dbba534127fc00fe50ea";
   };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 339a1ce7c6f1..5e37ba47fa5f 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -8,14 +8,14 @@ let
     inherit (gnome2) GConf gnome_vfs;
   };
   stableVersion = {
-    version = "3.1.2.0"; # "Android Studio 3.1.2"
-    build = "173.4720617";
-    sha256Hash = "1h9f4pkyqxkqxampi8v035czg5d4g6lp4bsrnq5mgpwhjwkr1whk";
+    version = "3.1.3.0"; # "Android Studio 3.1.3"
+    build = "173.4819257";
+    sha256Hash = "196yaswbxh2nd83gimjxr8ggr5xkdxq7n3xlh6ax73v59pj4hryq";
   };
   latestVersion = {
-    version = "3.2.0.15"; # "Android Studio 3.2 Canary 16"
-    build = "181.4802120";
-    sha256Hash = "0ch9jjq58k83dpnq65xyxchyik24w3fmh2v9q3kx1s028iavmpym";
+    version = "3.2.0.16"; # "Android Studio 3.2 Canary 17"
+    build = "181.4823740";
+    sha256Hash = "04282zd28kn2a4rjsi0ikx4bc9ab668xm7cc87ga60pzyg5gmmgk";
   };
 in rec {
   # Old alias
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index f80a14c1e0f3..a68c841d53bc 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -63,7 +63,7 @@ in stdenv.lib.mapAttrs common {
   };
 
   atom-beta = {
-    version = "1.28.0-beta2";
-    sha256 = "0fc9j1l776hv057dirw2bv9wmvhcaba5c4nq1cgs5rb5whxir2n6";
+    version = "1.28.0-beta3";
+    sha256 = "07mmzkbc7xzcwh6ylrs2w1g3l5gmyfk0gdmr2kzr6jdr00cq73y0";
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/haskell/default.nix b/pkgs/applications/editors/emacs-modes/haskell/default.nix
index 6f998300290a..6b10766bedb7 100644
--- a/pkgs/applications/editors/emacs-modes/haskell/default.nix
+++ b/pkgs/applications/editors/emacs-modes/haskell/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchFromGitHub, emacs, texinfo }:
 
+# Use "emacsMelpa.haskell-mode" instead.
+
 let
   version = "13.14-169-g0d3569d";      # git describe --tags
 in
@@ -35,5 +37,6 @@ stdenv.mkDerivation {
 
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.peti ];
+    broken = true;  # no longer compiles and this package is obsolete anyway
   };
 }
diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix
index c5cb0f4655e6..49ea544289f1 100644
--- a/pkgs/applications/editors/emacs/macport.nix
+++ b/pkgs/applications/editors/emacs/macport.nix
@@ -26,13 +26,13 @@ stdenv.mkDerivation rec {
     sha256 = "0f2wzdw2a3ac581322b2y79rlj3c9f33ddrq9allj97r1si6v5xk";
   };
 
+  patches = [ ./clean-env.patch ];
+
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig autoconf automake ];
 
-  buildInputs = [ ncurses libxml2 gnutls texinfo gettext ];
-
-  propagatedBuildInputs = [
+  buildInputs = [ ncurses libxml2 gnutls texinfo gettext
     AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
     ImageCaptureCore GSS ImageIO   # may be optional
   ];
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
index b01532ae2881..4b14b1333204 100644
--- a/pkgs/applications/editors/focuswriter/default.nix
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "focuswriter-${version}";
-  version = "1.6.12";
+  version = "1.6.13";
 
   src = fetchurl {
     url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
-    sha256 = "0vcr9dhfsdls2x493klv7w5kn08iqqfg2jwjcbz274mcnd07bpqj";
+    sha256 = "1qs9v5r88scahpyw8ndr622fdnaib9789jvl2jnkwi62zcivbf6n";
   };
 
   nativeBuildInputs = [ pkgconfig qmake qttools ];
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 5c882738a0bc..f6c446da35d1 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -237,12 +237,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2018.1.2"; /* updated by script */
+    version = "2018.1.3";
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "158ydbr0bbzm1nqi4xhrcp6bwk7kmiw78v959h7bxg3y7z55hbwa"; /* updated by script */
+      sha256 = "0daj1ha7d9kxgb60mx2yzyj01m6ahw5d6wzs0vvwp5fh5qf4mpw5";
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion_Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -276,12 +276,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2018.1.3"; /* updated by script */
+    version = "2018.1.4"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "0ws5s8bvjpz60pdyak3vb22x27qi00ajxx18wia1hql8831gsk3m"; /* updated by script */
+      sha256 = "1qb425wg4690474g348yizhkcqcgigz2synp4blcfv4p0pg79ri6"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IDEA_Release";
@@ -289,12 +289,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2018.1.3"; /* updated by script */
+    version = "2018.1.4"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
-      sha256 = "14h71x3jidwiwv73g48f6bd0y4p3s33jb4wdr5grdhm677pqb702"; /* updated by script */
+      sha256 = "0jn771z09bscnk283kwrki0zyzhh4v4n6mr2swbd0ccs9v12dx71"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IDEA_Release";
diff --git a/pkgs/applications/editors/ne/default.nix b/pkgs/applications/editors/ne/default.nix
index 7feb7f22e222..a24fb90ed9c7 100644
--- a/pkgs/applications/editors/ne/default.nix
+++ b/pkgs/applications/editors/ne/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   name = "ne-${version}";
-  version = "3.0.1";
+  version = "3.1.1";
   src = fetchFromGitHub {
     owner = "vigna";
     repo = "ne";
     rev = version;
-    sha256 = "05inzhlqlf4ka22q78q389pr34bsb4lgp1i5qh550vjkb2cvbdfp";
+    sha256 = "1i4vk5r2wn4cd6sgsidzqs9s3bmb4j9cn4392izkidi0j9mm3hvg";
   };
   buildInputs = [ ncurses texlive.combined.scheme-medium texinfo perl ghostscript ];
   dontBuild = true;
diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix
index 61b28e02949e..76a00c44ebbe 100644
--- a/pkgs/applications/editors/scite/default.nix
+++ b/pkgs/applications/editors/scite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "scite-${version}";
-  version = "3.7.5";
+  version = "4.0.5";
 
   src = fetchurl {
-    url = http://www.scintilla.org/scite375.tgz;
-    sha256 = "11pg9bifyyqpblqsrl1b9f8shb3fa6fgzclvjba6hwh7hh98drji";
+    url = http://www.scintilla.org/scite405.tgz;
+    sha256 = "0h16wk2986nkkhhdv5g4lxlcn02qwyja24x1r6vf02r1hf46b9q2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index 29de230d38c7..4b1d26742d69 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -2,7 +2,7 @@
   makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
 
 let
-  version = "1.23.1";
+  version = "1.24.0";
   channel = "stable";
 
   plat = {
@@ -12,9 +12,9 @@ let
   }.${stdenv.system};
 
   sha256 = {
-    "i686-linux" = "0vqaxyg6r6mfm1gz8j7wxgg426hjsmv2ybyi8rfjcm9s8d23y9n6";
-    "x86_64-linux" = "0zycl8zqf5yiqq6k6mr28a20yg37whb8iw527pavvm74knzx3lgk";
-    "x86_64-darwin" = "03r2cvim7swq1fjxh6m9f7rifww3hddnyzpzniqb5132nnq4mrmc";
+    "i686-linux" = "17dvyp31kf12mfs6z3cm8rxfrvrmbrk9gbsk3z7v284z64dry9vz";
+    "x86_64-linux" = "11m50lb0hvnmvb3qdixgpvdzcljzm94qxl41240g4qh4a36qvr1j";
+    "x86_64-darwin" = "1wm6h3f8b33rky5nlrvwx4qx0k9h72aabiz6sm27x1wrs486p3lf";
   }.${stdenv.system};
 
   archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 4b8d2ab291b7..3af6e19b7011 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, pkgconfig, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
-, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
+, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw
 , ApplicationServices
 , buildPlatform, hostPlatform
 }:
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin ApplicationServices;
 
   propagatedBuildInputs =
-    [ bzip2 freetype libjpeg lcms2 ]
+    [ bzip2 freetype libjpeg lcms2 fftw ]
     ++ lib.optionals (!hostPlatform.isMinGW)
       [ libX11 libXext libXt libwebp ]
     ;
@@ -101,5 +101,6 @@ stdenv.mkDerivation rec {
     description = "A software suite to create, edit, compose, or convert bitmap images";
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ the-kenny wkennington ];
+    license = licenses.asl20;
   };
 }
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index d517306c1d61..87565a1e53e5 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,19 +1,23 @@
 { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts
-, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper, makeDesktopItem }:
+, hdf5, vtk, medfile, boost, zlib, python27Packages, swig, gfortran
+, soqt, libf2c, makeWrapper, makeDesktopItem
+, mpi ? null }:
+
+assert mpi != null;
 
 let
   pythonPackages = python27Packages;
 in stdenv.mkDerivation rec {
   name = "freecad-${version}";
-  version = "0.16.6712";
+  version = "0.17";
 
   src = fetchurl {
     url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz";
-    sha256 = "14hs26gvv7gbg9misxq34v4nrds2sbxjhj4yyw5kq3zbvl517alp";
+    sha256 = "1yv6abdzlpn4wxy315943xwrnbywxqfgkjib37qwfvbb8y9p60df";
   };
 
   buildInputs = with pythonPackages; [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
-    zlib python swig gfortran soqt libf2c makeWrapper matplotlib
+    zlib python swig gfortran soqt libf2c makeWrapper matplotlib mpi vtk hdf5 medfile
     pycollada pyside pysideShiboken pysideTools pivy
   ];
 
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index 630834fc9e99..120fc1174cdf 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg,
-  pkgconfig, python2Packages, scons, swig, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobjectIntrospection, hicolor-icon-theme
+, gdk_pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }:
 
 let
   inherit (python2Packages) python pycairo pygobject3 numpy;
@@ -15,9 +15,14 @@ in stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ intltool pkgconfig scons swig wrapGAppsHook ];
+  nativeBuildInputs = [
+    intltool pkgconfig scons swig wrapGAppsHook
+    gobjectIntrospection # for setup hook
+  ];
 
-  buildInputs = [ gtk3 json_c lcms2 libpng librsvg pycairo pygobject3 python ];
+  buildInputs = [
+    gtk3 gdk_pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python hicolor-icon-theme
+  ];
 
   propagatedBuildInputs = [ numpy ];
 
diff --git a/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix
new file mode 100644
index 000000000000..0bc12e269c0e
--- /dev/null
+++ b/pkgs/applications/misc/barrier/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, cmake, curl, xorg, avahi, qt5,
+  avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; }
+}:
+
+stdenv.mkDerivation rec {
+  name = "barrier-${version}";
+  version = "2.1.1";
+  src = fetchurl {
+    url = "https://github.com/debauchee/barrier/archive/v${version}.tar.gz";
+    sha256 = "0x17as5ikfx2r5hawr368a9risvcavyc8zv5g724s709nr6m0pbp";
+  };
+
+  buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat ];
+  propagatedBuildInputs = with qt5; [ qtbase ];
+
+  postFixup = ''
+      substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier"
+    '';
+
+  meta = {
+    description = "Open-source KVM software";
+    longDescription = ''
+      Barrier is KVM software forked from Symless's synergy 1.9 codebase.
+      Synergy was a commercialized reimplementation of the original
+      CosmoSynergy written by Chris Schoeneman.
+    '';
+    homepage = https://github.com/debauchee/barrier;
+    downloadPage = https://github.com/debauchee/barrier/releases;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.phryneas ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 68f95195b6e7..93a5d9428534 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.24.1";
+  version = "3.25.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "1hgjnw8ynvpcfry4vanz5f54sjq55pqidvyy47lz59cz0s8lx50b";
+    sha256 = "018gxjbj5rak4ys5nyx6749rj9vszlf9k1wdcpl60ap3l83kxdnd";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index edb10a0f6671..10f6837761bb 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchFromGitHub, cmake, python3, qtbase, qtquickcontrols, curaengine }:
+{ mkDerivation, lib, fetchFromGitHub, cmake, python3, qtbase, qtquickcontrols2, curaengine }:
 
 mkDerivation rec {
   name = "cura-${version}";
@@ -11,7 +11,14 @@ mkDerivation rec {
     sha256 = "0yaya0ww92qjm7g31q85m5f95nwdapldjx1kdf1ar4yzwh4r15rp";
   };
 
-  buildInputs = [ qtbase qtquickcontrols ];
+  materials = fetchFromGitHub {
+    owner = "Ultimaker";
+    repo = "fdm_materials";
+    rev = "3.2.1";
+    sha256 = "1kr9ga727x0kazw2ypac9bi6g6lddbsx80qw8fbn0514kg2mr9n3";
+  };
+
+  buildInputs = [ qtbase qtquickcontrols2 ];
   propagatedBuildInputs = with python3.pkgs; [ uranium zeroconf pyserial numpy-stl ];
   nativeBuildInputs = [ cmake python3.pkgs.wrapPython ];
 
@@ -22,6 +29,11 @@ mkDerivation rec {
     sed -i 's, executable_name = .*, executable_name = "${curaengine}/bin/CuraEngine",' plugins/CuraEngineBackend/CuraEngineBackend.py
   '';
 
+  postInstall = ''
+    mkdir -p $out/share/cura/resources/materials
+    cp ${materials}/*.fdm_material $out/share/cura/resources/materials/
+  '';
+
   postFixup = ''
     wrapPythonPrograms
   '';
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index b7acd297d3ee..84150a4c32c6 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   name = "dbeaver-ce-${version}";
-  version = "5.0.6";
+  version = "5.1.0";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "12crrazlfzvr1c6y33z7v4z7ip9pjbzki8cw15v5d2irkpa710ky";
+    sha256 = "041wqlipkwk4xp3qa4rrwyw6rgsn1ppv25qb4h2mkhrsjcjagqhj";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/hello-unfree/default.nix b/pkgs/applications/misc/hello-unfree/default.nix
new file mode 100644
index 000000000000..ef378b2c5ffb
--- /dev/null
+++ b/pkgs/applications/misc/hello-unfree/default.nix
@@ -0,0 +1,23 @@
+{ stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "example-unfree-package-${version}";
+  version = "1.0";
+
+  phases = [ "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cat > $out/bin/hello-unfree << EOF
+    #!/bin/sh
+    echo "Hello, you are running an unfree system!"
+    EOF
+    chmod +x $out/bin/hello-unfree
+  '';
+
+  meta = {
+    description = "An example package with unfree license (for testing)";
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [ stdenv.lib.maintainers.oxij ];
+  };
+}
diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix
index c94f78317f4e..7998d30f253f 100644
--- a/pkgs/applications/misc/hello/default.nix
+++ b/pkgs/applications/misc/hello/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hello-2.10";
+  name = "hello-${version}";
+  version = "2.10";
 
   src = fetchurl {
     url = "mirror://gnu/hello/${name}.tar.gz";
diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index 3cead5d24ad2..15beb8a88fb1 100644
--- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
@@ -14,7 +14,7 @@ GEM
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0.6.0)
     eventmachine (1.2.7)
-    ffi (1.9.23)
+    ffi (1.9.25)
     forwardable-extended (2.6.0)
     gemoji (3.0.0)
     html-pipeline (2.8.0)
@@ -23,7 +23,7 @@ GEM
     http_parser.rb (0.6.0)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jekyll (3.8.2)
+    jekyll (3.8.3)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
@@ -43,7 +43,7 @@ GEM
       jekyll (~> 3.0)
     jekyll-sass-converter (1.5.2)
       sass (~> 3.4)
-    jekyll-seo-tag (2.4.0)
+    jekyll-seo-tag (2.5.0)
       jekyll (~> 3.3)
     jekyll-sitemap (1.2.0)
       jekyll (~> 3.3)
@@ -53,7 +53,7 @@ GEM
       gemoji (~> 3.0)
       html-pipeline (~> 2.2)
       jekyll (~> 3.0)
-    kramdown (1.16.2)
+    kramdown (1.17.0)
     liquid (4.0.0)
     listen (3.1.5)
       rb-fsevent (~> 0.9, >= 0.9.4)
diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix
index e96438eefe3a..a75f74119ca7 100644
--- a/pkgs/applications/misc/jekyll/basic/gemset.nix
+++ b/pkgs/applications/misc/jekyll/basic/gemset.nix
@@ -53,10 +53,10 @@
   ffi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr";
+      sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
       type = "gem";
     };
-    version = "1.9.23";
+    version = "1.9.25";
   };
   forwardable-extended = {
     source = {
@@ -104,10 +104,10 @@
     dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cp1iijcf4w2i7lzfbszpv2in9fcxm23fv0znghkm934rxrw55g8";
+      sha256 = "1iw90wihk9dscgmppf5v6lysg3kjmnx50mjyl4gghkdb4spw97xk";
       type = "gem";
     };
-    version = "3.8.2";
+    version = "3.8.3";
   };
   jekyll-avatar = {
     dependencies = ["jekyll"];
@@ -140,10 +140,10 @@
     dependencies = ["jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f9b2mvmx57zj49afb3x8cmzdmb1kh4rbpbv3v7w5bh47g2c9big";
+      sha256 = "19yfr5i04gm50swbc6xxf4090z5z1v0kjfnvh695ydq1dkyx1csl";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   jekyll-sitemap = {
     dependencies = ["jekyll"];
@@ -175,10 +175,10 @@
   kramdown = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mkrqpp01rrfn3rx6wwsjizyqmafp0vgg8ja1dvbjs185r5zw3za";
+      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
       type = "gem";
     };
-    version = "1.16.2";
+    version = "1.17.0";
   };
   liquid = {
     source = {
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock
index 323a0c2f3601..0689bad59806 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock
@@ -22,10 +22,10 @@ GEM
       http_parser.rb (~> 0.6.0)
     eventmachine (1.2.7)
     execjs (2.7.0)
-    faraday (0.15.1)
+    faraday (0.15.2)
       multipart-post (>= 1.2, < 3)
     fast-stemmer (1.0.2)
-    ffi (1.9.23)
+    ffi (1.9.25)
     forwardable-extended (2.6.0)
     gemoji (3.0.0)
     html-pipeline (2.8.0)
@@ -34,7 +34,7 @@ GEM
     http_parser.rb (0.6.0)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jekyll (3.8.2)
+    jekyll (3.8.3)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
@@ -52,7 +52,7 @@ GEM
     jekyll-coffeescript (1.1.1)
       coffee-script (~> 2.2)
       coffee-script-source (~> 1.11.1)
-    jekyll-feed (0.9.3)
+    jekyll-feed (0.10.0)
       jekyll (~> 3.3)
     jekyll-gist (1.5.0)
       octokit (~> 4.2)
@@ -64,7 +64,7 @@ GEM
       jekyll (~> 3.3)
     jekyll-sass-converter (1.5.2)
       sass (~> 3.4)
-    jekyll-seo-tag (2.4.0)
+    jekyll-seo-tag (2.5.0)
       jekyll (~> 3.3)
     jekyll-sitemap (1.2.0)
       jekyll (~> 3.3)
@@ -74,7 +74,7 @@ GEM
       gemoji (~> 3.0)
       html-pipeline (~> 2.2)
       jekyll (~> 3.0)
-    kramdown (1.16.2)
+    kramdown (1.17.0)
     liquid (4.0.0)
     liquid-c (3.0.0)
       liquid (>= 3.0.0)
diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix
index 7fc93589236f..e5eb6d62a706 100644
--- a/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/pkgs/applications/misc/jekyll/full/gemset.nix
@@ -96,10 +96,10 @@
     dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q3z6mm6ym11jrzi1hqcwi0mkydb5m980g8is6ggkcxrinmx2nxx";
+      sha256 = "14lg0c4bphk16rccc5jmaan6nfcvmy0caiahpc61f9zfwpsj7ymg";
       type = "gem";
     };
-    version = "0.15.1";
+    version = "0.15.2";
   };
   fast-stemmer = {
     source = {
@@ -112,10 +112,10 @@
   ffi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr";
+      sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
       type = "gem";
     };
-    version = "1.9.23";
+    version = "1.9.25";
   };
   forwardable-extended = {
     source = {
@@ -163,10 +163,10 @@
     dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cp1iijcf4w2i7lzfbszpv2in9fcxm23fv0znghkm934rxrw55g8";
+      sha256 = "1iw90wihk9dscgmppf5v6lysg3kjmnx50mjyl4gghkdb4spw97xk";
       type = "gem";
     };
-    version = "3.8.2";
+    version = "3.8.3";
   };
   jekyll-avatar = {
     dependencies = ["jekyll"];
@@ -190,10 +190,10 @@
     dependencies = ["jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kr3kyaq4z3jixn6ay8h16bxxlv6slvvp7nqnl05jdymhkl0bmm9";
+      sha256 = "0l5w2bd6dsjnc623qjw5h06n0wslh32rqkkjlkymga24cplbln8j";
       type = "gem";
     };
-    version = "0.9.3";
+    version = "0.10.0";
   };
   jekyll-gist = {
     dependencies = ["octokit"];
@@ -243,10 +243,10 @@
     dependencies = ["jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f9b2mvmx57zj49afb3x8cmzdmb1kh4rbpbv3v7w5bh47g2c9big";
+      sha256 = "19yfr5i04gm50swbc6xxf4090z5z1v0kjfnvh695ydq1dkyx1csl";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   jekyll-sitemap = {
     dependencies = ["jekyll"];
@@ -278,10 +278,10 @@
   kramdown = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mkrqpp01rrfn3rx6wwsjizyqmafp0vgg8ja1dvbjs185r5zw3za";
+      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
       type = "gem";
     };
-    version = "1.16.2";
+    version = "1.17.0";
   };
   liquid = {
     source = {
diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix
index f3dc92605f37..1db0e4be1966 100644
--- a/pkgs/applications/misc/udiskie/default.nix
+++ b/pkgs/applications/misc/udiskie/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonApplication rec {
   name = "udiskie-${version}";
-  version = "1.7.4";
+  version = "1.7.5";
 
   src = fetchFromGitHub {
     owner = "coldfix";
     repo = "udiskie";
     rev = version;
-    sha256 = "0r3m8y6ppkl8p1lhr89sfk9v2la1zn0rbmr6hy860j7b22yvnkrn";
+    sha256 = "1mcdn8ha5d5nsmrzk6xnnsqrmk94rdrzym9sqm38zk5r8gpyl1k4";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/urh/default.nix b/pkgs/applications/misc/urh/default.nix
index b1966539f2c6..1a9cd2a12525 100644
--- a/pkgs/applications/misc/urh/default.nix
+++ b/pkgs/applications/misc/urh/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urh-${version}";
-  version = "2.0.4";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = "urh";
     rev = "v${version}";
-    sha256 = "1b796lfwasp02q1340g43z0gmza5y6jn1ga6nb22vfas0yvqpz6p";
+    sha256 = "0i01pj71p3lc1kcqj6mixax6865vbxd9k9jczi2xh4p9nmfa5m2a";
   };
 
   buildInputs = [ hackrf rtl-sdr ];
diff --git a/pkgs/applications/misc/wsjtx/default.nix b/pkgs/applications/misc/wsjtx/default.nix
index 8a23134e3ed0..311983e8f527 100644
--- a/pkgs/applications/misc/wsjtx/default.nix
+++ b/pkgs/applications/misc/wsjtx/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   name = "wsjtx-${version}";
-  version = "1.8.0";
+  version = "1.9.0";
 
   # This is a composite source tarball containing both wsjtx and a hamlib fork
   src = fetchurl {
     url = "http://physics.princeton.edu/pulsar/K1JT/wsjtx-${version}.tgz";
-    sha256 = "21603ad4d5f43cd9c79a6e8cf468bde88c554654012b2c6c1ef9144cfbf668ce";
+    sha256 = "1qxwiylnykh37kw780hh9xfphzbj8ndpfqz4xazld16v3qx2g0jc";
   };
 
   # Hamlib builds with autotools, wsjtx builds with cmake
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index cb2121553ace..70d457028292 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -98,12 +98,12 @@ let
 
   flash = stdenv.mkDerivation rec {
     name = "flashplayer-ppapi-${version}";
-    version = "29.0.0.171";
+    version = "30.0.0.113";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
           + "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "1j7w81wjfrpkir11m719jdahnbnw4sph448hs90hvai6rsn3imib";
+      sha256 = "0bcsrsz2dd12xs9vn2977k4s6hag1cknkrsgxz3c9pxk4jz99f3k";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index b48eaaccf000..ec6b0734a1d6 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "61.0b10";
+  version = "61.0b12";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ach/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ach/firefox-61.0b12.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "f1320b763b1b5ecc502d41f16604c73c346d3475b84840623802d0ecc8caeac44a5d754846c9a1a2814fe451cde75e2f0e655409400f4d3acba9cb53c60e9cf2";
+      sha512 = "52a328bfa793f42b7244eb29368c4e5ee044d4bd3b291aa5c43f0b6cc8c9a0486b15c7d44bf1a1f1e51697b6f775ec1c55f27a1970284483a3f8b28c64ceda6e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/af/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/af/firefox-61.0b12.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "44f0a51ef809484808fc4aec9c72ddf548b8a37b2d405a80349ec0ec3cfd0610fc85288b73a1daa069ad8fa808a2db431f0c8d7fa510cd0f340c292fb73b828f";
+      sha512 = "8278f56fd31808414ab5df2f6aec2b4df31c8a7f1e5658213933254c58cc78087b2741befc4260444b2b6d32b38f4d5fbf281e3c6a30248e31f93053ddd46057";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/an/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/an/firefox-61.0b12.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "c73158c3ae6309c48f57e16fde9c4720cbaa03b82fcae0160454f732f05e23521bd7e8f7371b953bd84e916f00726b44e9dfd1df513b3be2c1a228128d6f5873";
+      sha512 = "7487a16e06b0e71d1a1b3495952d6216f3aa4941fe20243a276e61bb2ed4cd0f08b7c02886437ae82a0fdf1b90773ceb54a31ec3290ce050ae4170ac16a4e226";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ar/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ar/firefox-61.0b12.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "cf833f4f05692adddb2a34c531fecedf66fabe9b1eb6bf27ca689c97c90fe02afb1396040ac53fa083393c3043fd7547e93a9af25eab48da33437146e71c8473";
+      sha512 = "df491982db74b684c6aa1a1163564b2210a502d994ce3813fe73cce40e9c4eb064a966286ae35db436495c9802528995cf4ad80752ded199dc8528412f150042";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/as/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/as/firefox-61.0b12.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "da95c56c6e29f44cc751e1d96c9cfe81b5c523fb5ccbe7b24b8f7ebb840c81f1e4e324887445c793653bac2f4a1861cd3ebafd52aa63282e0f92d82bf2cba397";
+      sha512 = "eabe64dcd8d7daaedf6ed6a6538e32837752e7c18e1fd19d31a5751f556a8a05a95342fd2c8a6438c1bbb6546101adbeb95138b83baf6065be7b93b4e4d45f2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ast/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ast/firefox-61.0b12.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "d4d70405b5be8dd2faf01ce4dbe7007d64aa1f25c8c445730c9c4082a45b4fd12e7e921097029bb244015a4de8ce95426bb44a98a6a5a2407985c200b0178537";
+      sha512 = "a10cf8205b4ed7a83ebbf58475d2b24b831e548c5fe99b19e05dc9106be53516a660a877f8d952dec86c97eddfbc01100b9056630e5fcb1157d45cbd0a473323";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/az/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/az/firefox-61.0b12.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "7080c9b35f02ad119ca0634698c2565b375bf400876e73914eb832035796e282b34da07c664513382de9b686f974e830be1932b7c39c2cd816d77f747f218c8f";
+      sha512 = "45b55eec4e38782d44708e4db79e81383cb87425c4ea1db124dc986326e889f41f41f361fb408c1b1575604ba92173d42d959f1fa333bc06dfef2bca2cc6f766";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/be/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/be/firefox-61.0b12.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "21cfd56ea6a933c3a9c52c76c1757f33b3dc5bc914a95489a3365c8cabd78ff0bcf12378563c14854df155ecf0b93f0dc39d2520c4a030e5507d190155dd26e2";
+      sha512 = "b442e60610d2b705210117da72b37f28f9fc5c72f3c0d90a11ec7136be2230f6f4953b69cfefad37948aa4afccaeb73c363cf2de8f72c58cfeb3a2aba6da747d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/bg/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/bg/firefox-61.0b12.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "e602233214b5ba1245b7e7d306da132674a5403d233f221b910c9bc6e73ccbd04acecf62f14fa0bcc1104f64b34dcc8c4adc91194f81b576872754b266bb3bc4";
+      sha512 = "c93ca5b4a33041ef2c0dd0eab472ff7d8d94bab7d5b2f17600bf45995a1c67287ca8a1bd2c82ed5fce3d15c8efae228c6cbf9f5884a97280f52ee431836e02bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/bn-BD/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/bn-BD/firefox-61.0b12.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "b183556f189645beca53aa31dd282e6aa93d40f4ad4316ba23ccae4281ed3365c542d70addc4af544c267077c4eb1a4e797fc12a7a6a3744bf2f8cb9bc312a8c";
+      sha512 = "25b6962a0b196bf19fe2de5f553d49c78b1c1fe4037561cbbefaaae453769b7dbc99e92876706b021eaac28e3cb7dd2bddd05206fc983abd7ce7aac49853cbd6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/bn-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/bn-IN/firefox-61.0b12.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "da0ada9f93a6d78c7e26324c74a9d47b9dae8fae81450663aad7e247f95e72e752345863db304852fb2b7e700c0acb4238152b331b817a13d5351d541905e974";
+      sha512 = "b035474bbc3260270a79e30c3d7b0c9d211d6c4498a2627ddd9c4266027654ff317682e0654a9a83b9b8b5f4e86fbdc692dad08b8b45dc2e671fdf87df673bcd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/br/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/br/firefox-61.0b12.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "ccf4662ee9f9b5ed94f3b50e328642560a180c4f72e0da9a097078519ebabf5409ae4f439c65fc8020cbbdde5e45516d109d7ef31c37cd46c60730e12bf71de1";
+      sha512 = "bc3bb4159aed0ea2d24940c245d2f7305b8c9aa2db08b89050cfa1148abc51c66118176e1a4796cae04b37ccdc7d46908b7321484be689c65dec64ad6ddd3730";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/bs/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/bs/firefox-61.0b12.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "ec7d7aacd9b93456efa00041d47b9eddcdd46a8473db2d28334443574ccf07622b1fedaabbc30f2b0d42ccb90b54eff20c254c0d80359d656c8b872a8d52eeda";
+      sha512 = "0ad50c789c497ee9fe48dd981c61ac5efc8c298d2f113294c0f273beeae5e26461890def35568c670d6bdf00346f01a87cbeb30936236a4977dc0e9690da9eb9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ca/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ca/firefox-61.0b12.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "4a4d44681024bae6e714c6696f4476bc27fe025061ad49582f0f01d73dd4751cbeb1837c8bfab58a85efe9c0c65d610a6dbf1968da9b6514fede4e43ded1ebd4";
+      sha512 = "a8412bd99749c5b8c4b32b4a92d24a4ca464e9bb04e4aaf36da0536cfe768bea38bc9aa077600473d644a9c68b202d64ddded17c3f2a49d7486bb7ab966a7b29";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/cak/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/cak/firefox-61.0b12.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "904c6d56bd6971e167c5a7f622e1c453d9a1837a8973c2b6f1c1673bef7f43e499a6753d5ea8f57ae68ea8491d8ccf61bc4e013c3cd9f15de1e6e5f4f8eeae3f";
+      sha512 = "249f20e9a18ac6c21d3ffd27d4d1da5385b44b959ef884add67651f9560381967fdbb5ae51157736a29ce20882ad78ddad2a1bd3e586ff204301575ab6d277cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/cs/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/cs/firefox-61.0b12.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "1225e7246316fedbdb933014cc53802b317e44a100d941833fa7ed3f59755afa87553ad2f054404290d3cd519f0b534f18811bdbb6e92985beb10c6c8103cee3";
+      sha512 = "28a7a595f9348a6e19467ce25c6b02ff91b10db4f8ba05099eef4e4e0404c29a8a8ed4ff589b0d5b95cdf3d5c2c84c69170e420034399f906e9632ec10e1cfc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/cy/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/cy/firefox-61.0b12.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "afc88489179f5cbe7e94344d37f4930460d050644a3bcd3acc896761b62880ddb525c7fb1da4d6c564c76d051b9f02475b9d9db0e4a1c768b35db667b2589732";
+      sha512 = "cc3c2dfa6ec782bf4ec16c914063c88292bebf81d3814a2b2873490409f84c0934c517e753a4813aea72e44d76a986aec283623f3b17e40cdbf15ab22b4a7213";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/da/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/da/firefox-61.0b12.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "d18834876a5dddd72cd439fba28b91ecaea2033e90cbad5a7d2a6f89bd0433c7e4f2bb6ee0a68057ed8b02bcb0075e29d3d92186dfd2dfc9b7a811fb35f63a1a";
+      sha512 = "7b1d54a8a18472369bc9c51d42289d399bd0c59178fe44026229f71390203adcbcda944aa6e7288bb87962a6d7d2123659969d91d3149ec1ffd1143516c23333";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/de/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/de/firefox-61.0b12.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "51789ce2a18920ca616804bbef5b4cd6738884a6bbbd8397131e6882a470271d630cba4facb8dddd6951af712c5a17ae4703025d51e1c9ab3b8edbd4d444660e";
+      sha512 = "001d83700ad1630ebc139cf7228c82abeb62f4e9b06179bba185e10731df9e040b543ad4b2ef53eb1a8f6eb24b5bba341a7c8563943e09c23fcab67cce930a3d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/dsb/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/dsb/firefox-61.0b12.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "5ca16056bb13f8861691edc05db28aabb3a9d5838c7f5ae231ca9700894a3ebd081bac007aa655ad3fc4724ea31fb35d3d0d33b955ddc8c20651b28cde0d0f6b";
+      sha512 = "d5750da2cff1c2467a3ef1db671b3d457c185f95bcd3865e553fb30bc1c574573a6e42a064cbe666fd35a1021fede35975bf562a0b161783ad16332080527784";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/el/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/el/firefox-61.0b12.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "ff97b8db8bae51a15d7167016fa4e3bae7ca0690df5800268b572fb74ca4b058cdde789c6f14423258301fc585ff1dd780137702267070c001eb3b54c06d437d";
+      sha512 = "25a5d3afc9543abf9a403992af0f1a2690559e93357bdc7742ab216c87888d9d7c25a711b2540fb298e699bcd13da5134bb35584d252345669ed0d5e877b5277";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/en-GB/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/en-GB/firefox-61.0b12.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "2b64dfc41b38af92695530cb4ef63ab6c4272bb99eeb4c848daf5813402b9cdc5c83ac72551929f6cc1e28607d90fe15985033c1aa3a792a039859ceb129dd1c";
+      sha512 = "033999bb8c3c973342755983fdf208a828ad2344a5aeac6e82fc9d066afd21784ba48866981cffd4fa793fc2ae063f420931402e9cd290a97eeedd9047678f4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/en-US/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/en-US/firefox-61.0b12.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "8fe66383f7afd3e5353a93ed7b38abca70ec1c909dfe27a69ea5eb2a7a785120605eb581b9e6a0cf4586a7e4c5512619abaed0ee60d7743baab2c070a2c5a8a9";
+      sha512 = "662859918fef837f5b66413164f1fd89c68506a12733d0014dcf75366dd62a03489439a035ad6481a4764feaa80a0a5eec5201813136f755d95c1bb65d87c954";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/en-ZA/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/en-ZA/firefox-61.0b12.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "d12f30cc478db39e610d9a13cda696bc2e88a0105425c6d2cff984c81ba1b953d3c7d7844469ef0cb51b21d0f8ef8d087ca621e183c3ca27e8a7dbc96881c133";
+      sha512 = "5f5a6ef28731594dba101d6e244f909dbcbb8b08d2808440bbb485038997719f30f2ba38c1e021d8b91268c7d402b3b9c9fa341afec412cb5878a31a1150c40e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/eo/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/eo/firefox-61.0b12.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "927675a0c82deccc56931a36ef7597cf7be73712cf2d61179ff8163b4c6216fd32c59186f8a76d9d3c8b1be4b70b98370ea323eed6869e36fa680ee0d53deeb7";
+      sha512 = "5c96c2d900106ddbb0e527aabb90f082dccbee05e8e05a40a3d704d59254027b9ef42eddd0c19ceaf73bb5d020cd7a075b510ec9fbe4f9cae71e3cd92a6d0d8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/es-AR/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/es-AR/firefox-61.0b12.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "d172ec8678f9709958e2f74186cc5712903eb9736cf7dde60b5bba86c144f0e415a65ab5efed2de017ce72c091d5ec5be7421fe49772d64e5afaa2865f52a7d9";
+      sha512 = "83c0596af66758bc50649badda5e628ef6344ff1e6f579540c804a8fe1d503c36d2c8116d9fc4cb1ad4ca8cfa13dff0462b299f5a038f7f607282ab702b4ac82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/es-CL/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/es-CL/firefox-61.0b12.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "452be0d583962b7891b673ebefa9b02208f59beadad96c6dde3f8d4367ea794031c309b56fdbcb036028e59f33942e136417bfc827e1979450b726e64735ea52";
+      sha512 = "d03939763ce2bec161acec52fb67c9068f50e28abb838f9a073bc4bb479a1696e5aa721cd2e4f6993937e6539c7c56e16385b1ffed6c9942b41996fe44afa722";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/es-ES/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/es-ES/firefox-61.0b12.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "b12d48bd9e73e439dc7968443bad6b5a855e1dcd87ab4a714a1b30ec0a2c94880219f7eb6c914b0712d7a706afff696f9dd2a3cca3dbef2a801785e0d22b9002";
+      sha512 = "b200f2c47bb70213aa13531b540d2d11d457282c7ded5316093b61e6f09cf333225aaceeeb9c4d44174e3faad4635ddbabd87c399fac17466d53a2318b691b0f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/es-MX/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/es-MX/firefox-61.0b12.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "26ac7f76d3f3203afe13687a0f61cfd3bc5d69feb68fd02a7fa13ff391a1e0b06532d5ca7a2222bcc51f1e083e8eff5aa38551432e84ce1891e0e648d020a74f";
+      sha512 = "eb26c0f4e1cbc4c19a05de06781a9012c46e0c30c4f7eeb33817fac24bc1d052904d77a51ca4d8f2a7ad323e2dca1c026f339adf4d29725417beff74fb2197c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/et/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/et/firefox-61.0b12.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "14848b5c938bb40e9e1f4825854c4d802b2568d534cd777135f5c17a4e17777b35c77d888eb30ad260ce4c6fbb5cc473d55e23c5ea7694cae63c29bff0f24a04";
+      sha512 = "7b36afcc29ed9e54aeeb563361c23fd97faa572fc470f3a80af583076d6fed1003aa6f9152c958466185672ca14232be4027efba6f3b9383e490d997766b9c4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/eu/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/eu/firefox-61.0b12.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "e5ad3ae3942943d2fd82ff83fde360c507f2b4d50eb4ff87be919a04c60dd410204605c95c439266dfe9ca4200430e2a745b04d5e29ac69d27de3a98ee91699c";
+      sha512 = "3560f55503091209c10e5eec35e11d5eba4051b37e8eadeb52f6179697570a3900a5c6807a97cab39fc028966e2d1c4b1acb57878fa651f5c435a8a9a78325fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/fa/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/fa/firefox-61.0b12.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "968967397e661e921a03e473d2be3d25d31d345d2e5501456cce7022d4523185207cc78be7b0149645bb53027d618a9f22f775f01793eb687274d9b14354013d";
+      sha512 = "45b0e2c3669d556e62ac9a9f9c6e3dba61c304db275b037e9e2c24c63513f55c7d41f82256dc7cfc23528d1ae92964c25268a55200deaad2113c689287a021a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ff/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ff/firefox-61.0b12.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "732f1a3bb6bd153762391189376a2796b07b7626567a7348cda08ae38ded10d9dfb3244689cefaaad337306f667796855a91b646f210576476f2f349f7f1d35e";
+      sha512 = "c9da6bc3443dbdf28fdc9f9c5b11be77e6569621286ce3eb75ef4160aad22f76a78c98f700f80be63f19c6964771c7b4f9e35d251d8cbad5aad98889cbdfe74b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/fi/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/fi/firefox-61.0b12.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "8b84165ca3c333f776835149b62500562c6e69ce190d46d6f2d0d93cb7c24f8d0614793c830cc8b070ecaf316c21358f627bf221049513c20a1dbd68d9e59c42";
+      sha512 = "845ec5b705525585855cb846454f84a683a3c53fd27732250e4de823113a9f178a8dba0cae5da456cfb8a7e33121ab046a8eba68f0fd8917fa7484efe86cd7c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/fr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/fr/firefox-61.0b12.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "dd7dc60caf98ebf0726dab9781f2f8149334f7cf658aac2267b71ae3a80a89126301ff371ef56028851438b33e72746dc24d546563f9f1a680899065bb372ef4";
+      sha512 = "eb0c835552d8bedc442140969ab66973d2852e016bfd3bf471bce0063afe7fd3a6e52a0e4759f797886a89c24fe84caa150e01867078d23026ba28dbec476761";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/fy-NL/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/fy-NL/firefox-61.0b12.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "b5728dcd3cac5546d05eea13e62d4327170364c03b512364ef1e9d4d9c53de0e3c709d71528ecb15383a2f1b82e072b84c9aba61d054fcb102cbd33a77131d1b";
+      sha512 = "438eae3dda2d35251fb9ebd18e42a58fd8cd20ef475c9575f0a087d9c336daf07482c8919791c5e0f7d6deec58c02b481c9810a364637f4a918d0ca896fae9a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ga-IE/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ga-IE/firefox-61.0b12.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "50f50e79e1d8b62628de28a8cd0c37e90997e6d1a59222e7a8473cd6dc05d50dfebffd185cffcc3aab915fa180b5b8e09decc948635171e5cdfda973f74bf9ab";
+      sha512 = "e1436c622ffc70b381809e62c9889d7b35924914c689b55b0a05d12cc13a7a612677efe47e0fc4b58b90bb188b3289630d86874ba6849ff619cf9518c77c4c80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/gd/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/gd/firefox-61.0b12.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "3425c84784e8cfb8efd56d6c8fe7c4bee995a33b38b3438c648342fa866e29e75cbd7e7f0a1269dd4c4123b172440e76b9615b3058bdf6761c9b75116ea7b3ae";
+      sha512 = "2cb057a728e2772181619fd8b908f9b363232d12afeed63052d3e4c0b201e3f960aba6e879a41dd3f381a8561a813aa5ca490ae5f58b9e6f095b5ce4ece21aa4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/gl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/gl/firefox-61.0b12.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "5d304c6b65fe277a36e4b7f697a2c238ed4a9d2702a52befffeaa4fa3782a1d456dfffa3645d09fec307dd27cb2c6d65fa73ea1bcf39025b51b3cebe73d6e70c";
+      sha512 = "4d00e5cb9ef0cf15a8c8db979836a50d28ac4741875f56f632135cc777f8096d05e398d773596a314e24627ffb549e354a07f1efa14c74318c266d8c373fee26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/gn/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/gn/firefox-61.0b12.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "38b3a8bc2a36650eefb6d0f5e3ae4f03443b1aa746db35666288ccd4263e7a60e6803fccb5a33c5631612a2ffa6fc18dd8a564de34b966d3284e5babfb06240d";
+      sha512 = "a5e92fd556d1d084793b3d3d5b61bf7fa083f1447a88be227cf58cdbc7f66e156ca67a2a3f6508135935f0315efb02b0ee2ad1a597a7937d6ded1efb7d7c1a07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/gu-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/gu-IN/firefox-61.0b12.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "3f8933cf0f99193452b8cc837434932122e01fb86565cf72f5b42833baaa3705aaa63b811af4ae2826ff472fc1cca7798b0afc7aefe1cec28d330c8a537b0e0e";
+      sha512 = "02c9c67bb7003c114c6d64f864b878c5ce6048c54f6bbf13753606bef5b4d1ee6b62c543de230d537b5afc7c99b619049d45989c851027b23f7d1e8a8c029e86";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/he/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/he/firefox-61.0b12.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "d2946ebfcd2ce288141cfdc4cfec8e7f5bd6c4f6470d6aaec4156ef4e36a3154f262a38992f92bf6b18f9dbeee43019d23e1d40f0f481ac1060a52b5c5dac4be";
+      sha512 = "2150ea2261ceebcbdc97013630bed5b9fddb581b52fe416ae237115a93997e4db3ceee3056724df321ab3922effec37dcb421e5c72f417301c8e500d877bd606";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/hi-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/hi-IN/firefox-61.0b12.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "d6781605eb332d61c66bcd07c1ac177e07bcf9d8d24b4f720de95deafc4b5ff68d8271792abcda2473321217e5288daa64576c0cdf37fb7590b366980e59c821";
+      sha512 = "1944f410ee05c3e2fea73460a1ed576490a54a8f16fab3cb4893913c7db9bbc7f133cf6a0aabf00736292986f11ce595670e03f1a30833d57549dd2d0943a0f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/hr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/hr/firefox-61.0b12.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "7dd72e8b26bfbbfca7f08c0ae5fae73ba92c05cd6d221c87d3257473422db159e31a48c66f96d53ec64722d9f35e7ca081e373ca11a9b9ff8f85bfb7693f0150";
+      sha512 = "3b330bf4db4e818723f17b6ae8b78337e2d1c8c03eb58a1ccd0d078ad70dcd2864a5c94e7e1259f1a1c4cf3df482659b6e8d6d37c1c0f131e030101883141bdb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/hsb/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/hsb/firefox-61.0b12.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "8aeaa498060a40f1c88a9d4bf1afcefb5a6291707e1eb47e27044f7503de4515670c217b5eb1220278a3aa3f3bc0528023757f82c583fc907447f5d700452527";
+      sha512 = "06690a9d7933a561e0ee7d6ce72a08c34626860f6d0a5475e0bbfcd598eb5c499a3098e7ed354341553600fada49cd8a1411a1b6bb016b10d67acf5e5050609f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/hu/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/hu/firefox-61.0b12.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "08fc38f050c359c146b3aeeb4cf15032da9ac45fa93a2210ebe6baa673f4692e96154e127406ce65509cf6aac52e0ae550c6735e3dd4f134f5885f5c056619d3";
+      sha512 = "d61587a46d45839fd2b3545ec0ef51a58b8af22ac795f77031f0739320f6568f69ec637a4ae8048c519720a6756b87f6453dda77a2d8eab2de7d7ba4031c53a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/hy-AM/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/hy-AM/firefox-61.0b12.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "db7005ba812a980b4f764048e97505a885422c044876ce8640305d1730ae6232a982aacf0a0d2bd7ff1e7df3f3f749314940e7b9583c18dbe4963d8ad64a1ae3";
+      sha512 = "67375036a64e5b4b7e2174d64a28a34ef28273fac58939686ad90a6348d82d8d5cde629763535276fbf4dc7a89ffd3c0c753d6649300b82bd0d8050f96bddb2d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ia/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ia/firefox-61.0b12.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "20e614a3cd40234d5208890838ad671b32ea1d601c6c9984a511bb0dd971e3faab0fbb709bacd101fcf8c069f5c9ebbb208c9ddfcb34e00c405b026cd1a421f8";
+      sha512 = "0e1042db7af12830cdfef6f34b00a2a57ea7ff24628c4e9dc3381681252eb93979f90c19d020c542fc8c5e517e7639b3a8f2804ebe9afafd1d2308ff1efc7c60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/id/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/id/firefox-61.0b12.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "c4ce9cce3307d3d0002aa158dea3ec873e260d47b3a423c0bcdfe0180dc4c30fbd807ede1b93314a5f00a440bff71c53c8a134b046fa9e8e08655f7871e652d2";
+      sha512 = "938603e41fa33128f615e983beeed9aa99820110ff69466e7d0b16650655efa8773a7bb6eb863bb51267988bb3b9097e03c9632e0dae945827033aaad67a2e22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/is/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/is/firefox-61.0b12.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "4b88688009dcc4baec3135f2a313efd2f3a2d1ff6dbfdf62cbb1b9a009288166a817779ee715abed57caef3d46e8d45b1459776fdc9a2e5f5737b84efc5e2175";
+      sha512 = "2cb7dbce745c9e310f77977914cc7b1e861b62c11abfdcacf9899174f3dfad850fb0b0dfbc10842fa8e0e1cc4dc08a0863f1842e99b967d75e76fb13cb26b4fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/it/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/it/firefox-61.0b12.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "3d81dcc71359fbe93979346b3d4a3f5b62c15cbd9f7a022f7b0fb956a26e0bc029b3abba69022ec2959e284dc52a91a710b16839fc427bb11f36530f4d65268f";
+      sha512 = "0aca845e35d1f392cce164062690c5b346fa7c2e422666ed4ce8abc9e61f341e401e6a3fd09c1cbd05a5c08a8a8e671622c690e776b584cf356c61b4c46433e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ja/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ja/firefox-61.0b12.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "320ca44d41b370ffc5282f0cc5ff42eb8a190e99417a828baefc78b9a78325ac0f11aeb2ab43319f30c09f6f31fd3dcea5656a21d4edf42eb753dc03b09a30ef";
+      sha512 = "1679481dd3bab13693a54d2e0b31e85c5d1ba374e3f13434986bfac6e2606d761245ce6d7945a75f4547775e7b72743038699102edb938f296e5a35d6ededef8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ka/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ka/firefox-61.0b12.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "52485206ca748007b69c8a4a6495b8f1708332eee317bd417cf8a03102cbfe76dcaf57410e91f5fe88c8ba1b8a0566319ac8f4ca192f8cc20e4528d266e36370";
+      sha512 = "607f3cc38807df3293c8ab288d143724206ef7d2a84e6ab34b2099637ab6e53f295996c552edda9d8f8f12aa5101b3d1cdd4269b3afb792c27a136ea2ba87c4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/kab/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/kab/firefox-61.0b12.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "3c69a0e364c1dbc34f6c0078f08053e7b0bd0bd57f2ca69d5271fbe19493fc4e291b33a9668a389ae0c15eee48d7cd063aa68a251ac53dc4290513bd7defd525";
+      sha512 = "1edd189564cd7e760753c3f335b406a341233135711884c45244055c861480d3b4d654e697a5f0158bb16c3ad05934dff5c18ab0543c7d1e4e2234ee81351bf0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/kk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/kk/firefox-61.0b12.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "e5a75a9643a5c3d34427a71fca78c27240af06c6298566c2afb57e8a271b901cb439e1969e2a11962cc464fbdd0267c8db5be2fe92a6c909060fe0c8b0fd125c";
+      sha512 = "37cb725edf3cb07927ddd4f9ffc9c510bf30d8a02acd1f7c2bab838b9b344d57e003fc87cf61da340a98a13a8386a6e36f92896bcee5774c9629f1b851e06a68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/km/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/km/firefox-61.0b12.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "cc2a4743502520a66293053329536841919ad2d08364eefbfa201b1bcb02b515ba7a123d48f3db8c8a1967b167b5ad50830d72b9d0292f00ec7dee0d4e4fb222";
+      sha512 = "3e5e5ea32e9bbbc912e9047492a4df1e928e56060218d6338b4f3f8a173aba13767b9653e66bffbeaf0932b0640e4853e12ca870724b24d31554e6814fdddbbc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/kn/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/kn/firefox-61.0b12.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "fa1785e7c83e043aa7fb3211e12f4592f19263b9bfd07824267ed60292f0f5293c43e6c0d3d7c9cb9790401249c61a71936c8bf8308169649acf734eae1bac21";
+      sha512 = "d49132da3584d83bbb8b8620871e8b8016b7379b45c9b3a88992c6ab7c888ddd648eeeece8168bcd808af9a1adeb227689b109c27bc221bbe51c10a8bd7ae483";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ko/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ko/firefox-61.0b12.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "e19c0d0e74f5eafba8497fc25fb96994a13fd3ade4ae849bf0d6ab6e4782d41f54e122a6260840981f434bdb35b3218fdd93c09af9fd60ffe901f91c5e605e63";
+      sha512 = "4ba372f0ff299eb86f0fae4eab623ece74525516c256fdfbf2579bfea8365d5b85beb0d544af6dfb492eeee5f5c3fa3bb779d2221aa197e0108f4a46096111fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/lij/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/lij/firefox-61.0b12.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "0df623bfe75ee25c10c5d6163e61e0a14f5b3749a9570bd714ff0f9a95be40944ec19930f5b7aff961bf27e90f0a0fcb1a64afb0dbf0ec8eca8b44aa40aa4f60";
+      sha512 = "3f2508dacd506a4e2368bec9253c0efc88e4e97c37bcf4e923e1acd0014431bd79a0a223d157f9eeebfbdf1262351b1fcfd20ad0a5be6a22ebeccad68cdaa6c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/lt/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/lt/firefox-61.0b12.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "774073a8fa2aeb6687184da42a25e222e6172d1e0878478a08230bc43b0ffb1b00f063059373f42da99dc1aa501c4ec272f501f5742ddad24e8c17517c4a333d";
+      sha512 = "6e147ded183d2de13419d077ac7e74941881e5c17bf9f5e3e9f2805352d6b0c33628ce493a3e6bc8705a57631da13f33c45486280a62caba471ac6c558c03ae5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/lv/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/lv/firefox-61.0b12.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "583e8e9c17ee61f466ff20147777f76b94099104b0d9c5516a0d12cb2fe26968c9999bb1f145f2d32e7ec89a7d68fe1c5d02d360d803d0d20736910b54be2fc2";
+      sha512 = "9357d029b1a7b189917d5d2587a7da8ac05801b530c5e9b9bd46353a9b980da782a406b47d6ef4528f3865a8ad05fa5442ecec92696b5f96494d09bf6f35d02a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/mai/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/mai/firefox-61.0b12.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "10a5a51d87c3fd4f9e982bcfb47a6452b351ab86b0042146eb3dd697cdf6b17c5589ad6ab4914fc1d18b52acb68718f74a48d4bf9b94b1f7a82235a33627c92e";
+      sha512 = "0264751831b7caf8f5d56255af54b446574819f2bac3d0252d5cea29b8fd7b060da60e513c16f9dbf486114b02ca244901270ed40c2741b9ec9e403fd547e031";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/mk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/mk/firefox-61.0b12.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "1e655cd47256b3b340c9878023e74ab925a359eb131817b8255e362e243994dccaf1b0ef91b1a96a4ec497a2f436419161de6a1ae773c6b22852f8efda2e71ba";
+      sha512 = "16445afe986de8dd4b894bf07ff0dd8a99fef38c768479d8a83a4f091c616e7439db5b1dba41c878fb8492100630026c0a453ca0e7cf26c066e2a076715a87ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ml/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ml/firefox-61.0b12.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "1d587134c40405ad3339fd6dc45b9f4a41182f00d8b24b20d073cceaffd00b61b9ca9708b0937513b4f5e4ce9d28072a93421cef9f516ae76568e6c5dbbf9c94";
+      sha512 = "db77a52531b4e706b84fccc042ee45337aecb77015578b4504a3e9898157d775c3a8d5b0538a12281627a040cbe049e7e8f48b138acb9c34291a532d2e320726";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/mr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/mr/firefox-61.0b12.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "a2f4a29a30c6a6e46659e4cd4b8c66c8661d94bc49b0b494839feebab197c67cefeced7d161b60ae388b8643f44669370274dcf04846e878f61cfbec6bc71255";
+      sha512 = "46192be8b4b3f0885c8c587f919def8418fd2711a9f35fac16d1240fd8e3c7a89c4349ca4a625986999a5d3525c7cb35965d703cceb8d027d4f3188276aac123";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ms/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ms/firefox-61.0b12.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "95a01d3aab89fd37beee953cc3212d2f18a45293d027db8847edaa4935288d3180f25d4e8411ffee8e4a8dc1c071edef17409f2bd981225e84a1ff3f726f3863";
+      sha512 = "7306b0517f8dfafb55221adc4fb02840c33db98a54856ea768bd0a0795a9fd7a761dde7fdeef9da3b9b32f04a4a948e897084847ab91c2ea282acfb6ee24d85d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/my/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/my/firefox-61.0b12.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "d35d2aab040b0c8f0619ce904ab55dd0cec0498c34836cb9c27ccc9f02667c5368acb37c1678802839a9429c9f716c7b470d5f30fcd4b18a61230b095f56114d";
+      sha512 = "774950b82abd0360a0acf997ca2a86afa0a08216f2bafd759ba26a603bf02e524ad2f54fb99d9ee869fe5ca474e8aaf59afa31d1b9d048a1cf277a4e0696903d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/nb-NO/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/nb-NO/firefox-61.0b12.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "0f6937717ebcf680e9a619f36f1883c9bd3a1c3ae9031ba25ceb41b5a866746b309ebdcee447048a4a6ba4fda29ff740006f08c98d79d5e1380abf239c9536f6";
+      sha512 = "bba3378115ec3aec5539094820959226ddad5f2ace20d6de8f73920317eba594771762cd552b0bffe5371c7050f9bf3af88c1ff57d67887e55cec017521a823d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ne-NP/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ne-NP/firefox-61.0b12.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "2957ee8f89d219f6e8926fd81e6414e4a52f46f5ba00ef729b4996b8f34a7d436dfd1303754ae5d06ea4fdf555dab2c14b498fa94026149118a7f74ca198190e";
+      sha512 = "7d2218a5dd3a75d652d73fa50d349c40e1cc89d02ea7e1918b8f3b732ac078b2f9187527b2345576de7733009ed1a74bc68df4cc9727bf92a65b6f88e25418c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/nl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/nl/firefox-61.0b12.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "0f76ef41860cc51645f09c427c5759471475086a65a15715e8b68327d71be049be1fe50561c66e30e9858f4dccae45417ca8e26d373d81693bd0ecb2b12ac1cd";
+      sha512 = "c574b2086b28c060e9cafcb560d4914106bad3571b1c58848b0e99436fc188af5a4a3cf82649636e305e8a2bd32e67827e48a7960eb561cac266973e6c249c33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/nn-NO/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/nn-NO/firefox-61.0b12.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "6070b0480e965645b6aed071b886216974e5a03574715edf002a0f83f7fac4a75b20fa0e1c5289a6e3604fc4db08003c454a4ec767fda18cf92a72b051b66ca1";
+      sha512 = "abaa85ff573cffd459db073d3fc1a66e41cb0901698c00b8c33d7db2a25e4fd7764989ad7e6a97afc976d606713e0807730c4ec9b13076b7546a5661aabd1cb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/oc/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/oc/firefox-61.0b12.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "abe4a71654c0c679bbf83913c9eaa2e028872415ab38627ee79aa5aaad47695a306895589b218303d54c6394d7c4afd2dd7bda536075a098fefcb13d24114a36";
+      sha512 = "c8b309a79531a6a53f06ccf96aedb1667004d242d56be5f252e802f5a9689ad7a72aa6dc2c9e2a2641c10ee102bff930a939d41d2586b55d04db2805a39ebfff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/or/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/or/firefox-61.0b12.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "a9554fb7f97f7d8bde55a6bc1755851c6321bf3ca8512b15a6465a8fd6963fd1999b2960ac8b462bf887c901af26947f304f55dd12ccd95e2696e96bdb89b720";
+      sha512 = "d00ad155453c562f5d04b99db7810160535ad36e0066c76c17a2c37889369a5e699f1addf045bc7472d7f2a98f22443ac7fbfea785da52619c41162025587fd3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/pa-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/pa-IN/firefox-61.0b12.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "21392aaefff4abe4d6f540918a292080325ba635465cac18113db249f52a949b5f15810579859131ff5a19a75933337f830b3080cabfffd3415554c769da8b11";
+      sha512 = "582714b7c9db90f364ab390d4bd383b5f111628e2aae7d08083f4b01eda1edd3b566dd985500e3e72e49d56333c2c98648f6835ef06e2c12a4189dbaa86b2a6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/pl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/pl/firefox-61.0b12.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "d0969bdaf97b8888a1953d5c44848f80e9500f795eff456e87f3031a066a583d42b4e76b8478d1f3cd08d4480053fffa703b0522e4208d3291923d90be92e37e";
+      sha512 = "f07a2e782fbaf2d43404d890a84820bac13d4f06daca634fbc203674560c94917a2e189a193c9c4ada26b5380bc2ba7eab05ddda34e98e9cfe8b4912a2c11d7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/pt-BR/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/pt-BR/firefox-61.0b12.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "983272eef924b86872b2b76ca922af33c568d89ff97bd5415782bb66d0cc3f83d48b7d10f45c501d0acbed8781b0f6dc962ec6be73dd34cdd3e78ea3494244aa";
+      sha512 = "1e54be6780c0a1cacd364b91d4a1857eacd2646b668fed30487707b8a7eea5d7b14bfc1a137fcce60f27847da411b5187155e16b9ea15ed4dec8c38f5ad707d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/pt-PT/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/pt-PT/firefox-61.0b12.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "333f35627c6cf52c558541357bac83382597a622b9b6c669cb918c1950a314c85475236fc1961048cbc8c0d390800d1b7fc71eeaa81fde5124c017876c62a378";
+      sha512 = "3bf222a72788c1ffd67ffc102203f2b55796391adf61bee3e586ee1cdca773206017f2927c7e3898ff548eb7c6372027e8c14ba5819e1dc084103a317eb4697e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/rm/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/rm/firefox-61.0b12.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "a6f9dffdb00f28cea349c40ab6681ad6817f61c1c6ed7e8980a8e4b33317367d1946baf0f6fe2404ab3b07889336a9676d87bdbc07743ced795c1f8f7bfa7a43";
+      sha512 = "7eb639523200984fc229d0578e3bd322c5a517aaa6ccb314a85dd490c00c0793d2f9b3e8ff8e02a328425160f5c1a67325906fb27ee4ba159cf08f87a5976d11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ro/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ro/firefox-61.0b12.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "59a7f64cacd0a2db705350f36343a7cea81c68e54500a02dbc596e08705ed464a1aa51bb239a742f9599a3088adc8d782a811ee79937af987285a35aec74065f";
+      sha512 = "7488f5dff4381076f07e50fac78eb7355ea46ddbb9a7da33212d140d57fdf33079c91e2c218e22db78c7e230db5bd51014a930b052be603840bf2d2fad026077";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ru/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ru/firefox-61.0b12.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "6de1516de2b9ef25d24684d0d912727cb2b424ed58ef5c87d0d2b4b707e10975e84cdf716e5b828771d05f3cabac387205f1846f549356017646354c14d3ff22";
+      sha512 = "0538f5ae025020d57bf9a8102892ecd27f493839badeefc3f27de5dac01bd96255aaa7aa9b677a60ed7d9cee86f6913c41a8338ee61473b718a9b2724419ad74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/si/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/si/firefox-61.0b12.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "fef8283a1a5b3fcc5ca02a434e6008b601085feb3ba5c73c5c60a1d8b3d31c1e3338a1277bc78fa09a3a69150c6cdb9a5ee3de1998289f27e0f38aa4eb779cb4";
+      sha512 = "601daed45b7a07d3a71a7dc94acc40911041145e920fda15061c98c155e6282b2070dd023887e7d2fecc813dfb83368459ae5d0593b36ea9c31d42f31abae777";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/sk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/sk/firefox-61.0b12.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "6c78e0618b9248c45d71c8f18241c57b8c46dac25b15a6fd4adc3bbdae88e2cfe89b638980c567adcb93132d3ed95187db68e6570fcbf0bea7dccdf87b65c7ce";
+      sha512 = "78a1167cee2e6e2104ebb1b40aa34f71964984c332f06d061c21213627d8205a33069a7bb4574b3e763c4086ef072c0dee5e02e41ea1284131ccd9688e688dcc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/sl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/sl/firefox-61.0b12.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "bfe8750cb89b6a29c4123a8f7de6a53c105e898d47c2eff29969d424d1e28fd8d7d99ebc479b7e8ad696e6b91409722b319f8f255e9ec2ef425c59122e50cfe7";
+      sha512 = "01d9c2c21bb9bb343dbcf914266845400345683cd81f71fe0bbf523a626b08a493b6851bffab94ceaca0fdd432d5c386c3de1396f0fc48b460103878f1dd4781";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/son/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/son/firefox-61.0b12.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "85e8a7dcd5f6e3761956dc6eb556248d9668538dad511ddf3d8499ecc55301de61e7dc42fec0c0f3c56801eebb940c88ce1d2511a16afa21f740b45409115f6f";
+      sha512 = "41ceaf62ea512e6c18a4ec01c51d5c5377ca947821c82cb414913f52bdf742ad26e9de86dd67bebc9cb4fc921c4c5e1d2f57664028eb7d143f5ed770718a5c7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/sq/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/sq/firefox-61.0b12.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "3f5daf2ae701be63b84eea53903a582fae6095e9377f49c750a2bd404d8247c5eca4852d86b3d4effffd5367bc965c16ab1bba939a245445b0fd0bceffc32ec8";
+      sha512 = "a5fe9343e1aaf6818cfae7e5953ee2dcfacc15c33aaacab445eb345f1f340dc0d090d0e2f42f74daf6c6bf4f7efd50c8e4ac9fc2a52e33b84369d3a7b46341ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/sr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/sr/firefox-61.0b12.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "0bc074a4953a34f533d7867e6ac374402bad84b2a2bd219971e80e40195f8a984f801ed916c761438d8f34313415ebedcaec8622d495b601cf28c8593bca90c2";
+      sha512 = "16180694b75382f00c1853984e78d6a423b5b9859e827606f3d603ce13fcfe578ed3b5ce7656937625b9459996ee996d704eafdb9e880d8d2274e2154253375c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/sv-SE/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/sv-SE/firefox-61.0b12.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "c78352750ad3af2cc7cc6d035124ccab4f46ab0d46b178f6a32ea92e79ff5b8ba5148415d9ec3e08d0b1f7c4d4377e62d174779f164b730b0a4516c2224627ea";
+      sha512 = "9d71193c78ff1f06c2d12b0e8fc299d5e0316b1425861e6faf7f9e46303d72280358e9f2a4cebe931ea7bfde54e36147872c1e319fc95dfa964bfd6abd235d55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ta/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ta/firefox-61.0b12.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "31642ab24c1101dbb28c9f0149754461eed6d8939f59ce5ad45c1225749c550fd8dcf23c42bd3d892f09ebd316dafe59f92e135133ebfee4d642d33d21ee106f";
+      sha512 = "21f00f0631fa5e3ad7e4a9e33596beb1bba7df4cf3d7cf1fcbd3c9f457039fb038f3c77595f8b925268192f3215a83dd7d233d782e2ed883ee053d932f5304cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/te/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/te/firefox-61.0b12.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "f864c6c416ac77fbc541b3c0371189c0d46adb38ef87823a47ec56828efc87f43edc4bdc74d0bc12d9a1c3b02bdbbc4d2072ac9ae06225bca65ad4ee1202533a";
+      sha512 = "34489cc573800d78fbf1e98645275a2245d4a764abf3431ab79f182dbd30bccb383ce860dbcda2f215df47358307be2899a00d30a6dde2055311be3830e9a6eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/th/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/th/firefox-61.0b12.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "91483b673a8d32210a3b0ed14d8289d5bb5ac99f938de80f5dfcb0d880507637744d3caaa77f28eee639cf98ea82ce0013792b2067234d2013a656f31a22f3f3";
+      sha512 = "f9593af4f06279ddbeaf465669a9a5235f5521f7c020c8cbe36f6d069cb7f64461e2e0c1b6100c23f8cd4d02f81f56053df6cc004aa5f4b0b54fbfff4dfadc11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/tr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/tr/firefox-61.0b12.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "6a6f5447be163eb93430529918d241e8f0156b13dcec6a25d1ac209cad073d54920c623363f5e4d402603b4dfba5f1a4be4bbe128207d17afdf372f29e6aa6d0";
+      sha512 = "18248ee9591aefd1049f7c12274940c913a5780daff7c9a5c3f39966cad584a31a877dc4ccbb491ad15c555561e3d35482afffbab921c093d165d33715a507ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/uk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/uk/firefox-61.0b12.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "e0e5b3c58cc76896e959db56d716b00e905f7fcf6ce9a55e5232c7cbe18e1c973a87769462945d7a740b2077a398b6f6cd619f7a9cca2ea5b9839048190efb2d";
+      sha512 = "7a3d3a3b3514b1cb4870131e875547574bd93803ea8dc5caad970ec8bbbedd408d65efdb4049c728ddaa6445b59e7925dd29fab1783f47e7160af128c7f7f045";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/ur/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/ur/firefox-61.0b12.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "2ea257a82bfce1c2bb3fe4175fe53c2c01aa6eb0854b4c66db5bf4c0466858ed87c8c5bef081977d87d0f38d3682ad24104ba6ba96983f7b02414a39ad422582";
+      sha512 = "a0ca2dda0e0ee5696760156a18863acf9742ba914e76feb08a52b3d56b03d3cef93273e4c05b21a7888effb03d4a2acedd278caf0e7bf19117dd2fcca848ee42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/uz/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/uz/firefox-61.0b12.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "471abe8a5fbb78da0eb791161aa6d10cbca5ac40344f76dece294010a94bdecce15a0ee0382f9e1f21cf6e2805f439af5153ce1d0e3a913901bc15d3df7b5af2";
+      sha512 = "25ccd88703d814115cb5e19a511b3b93d18d1b122fb3323c262de2f807b93b7ffca31fea484859c400966b5b028414aa0675d6fe12bee27b3dbf29ca62db4ac0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/vi/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/vi/firefox-61.0b12.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "689cbf4a4e727709364758264bcf9ba7870b831cb5779ca4c601b5cf5931341169468a04819a680ad7be4a1ab03506e379d77d1926c830e4035dd9581c997394";
+      sha512 = "04d6c29f647a788b6b5345fe6caf1bb045a7d4855ebfbae67975049a84f42660bd18f2471d7a8b46afd3aa71e23226ac9bc99b0b151439961250e968cd83af4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/xh/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/xh/firefox-61.0b12.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "baaa6643e5eb9811b47b50a798af8774fd69fde12a036144840887bb49ce248650672942a57b83177d330aa33d890b3b49349dd85d0e7506673f480d54fef80d";
+      sha512 = "678d5e90d2016cf3ff4826c763cc9110a8a7685f9a0f1c4a423c0b48e0779a422be834493d8eb420453b90d3cee9b11e3d891a57f25de50ae4a13419f8a00259";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/zh-CN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/zh-CN/firefox-61.0b12.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "5fe8264f5969c30e4eb356382e4518a3e49b7d58e2a880dbd9e2d7eed12455892a1ac06b8785cdb6f7cac7948876d43faea8ac8c67d8849563de260ae155e1f1";
+      sha512 = "df6abf9a93a6745fa96eee39dec2b7460347fdab6348a8b20fb84334d8373de95b5bc595a9159a6e9acd17f16f6aeb3eb8af30709c0c65a8949404c3360269ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-x86_64/zh-TW/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-x86_64/zh-TW/firefox-61.0b12.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "df1f3757986cee6b2dee6dc00525e72e58933d5a9db7214dd098a11ef51041da8fb39025c39eaa052114eb4216f76a1109d682591bef19d7b4a6faea6335d489";
+      sha512 = "6f5982081aada2eb35459db7de8a46eecf5d2abb45a9ccf0119f91fd05daf82ab6a2d95d601a847febcfb4de6f8c75da71f40c43140da4845fe0bc7f5cfce80c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ach/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ach/firefox-61.0b12.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "f8629cf29ecd95f3f023c71e7ebd75c088876ad593179b95f583e627db872ed34b490af5da2251eefba9549ce0333fac0e3257089f76740708aacbe3fb3caee8";
+      sha512 = "146e5f0560341cc585337223fe04f7a2a7e7f0c4b47ffbca58707c4d3bb52b71f82b02f0ad5ac4cce69f45d6702a4c06230ed12612a529d71714a5efbc1de553";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/af/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/af/firefox-61.0b12.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "18d2d2d2f8e808ff8c4ef0c0f2c58ac0e170e1cc244c3b06ca30581f671ca9cf749c066c249460242e81d516763250ba6b70cd31b96370df7dddb02db88fabdc";
+      sha512 = "132ea8da613fa047aef0d63ae5ac33256306a18fb16a3012551dc8bda4383889bc6a51be0c85ab09a3470b7a2e5c22996d04487b5b5ae2ddb474efcb18570059";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/an/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/an/firefox-61.0b12.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "73702c3e0820d508291848b0894b0d53d89a7fd798a0b0aa4155e956c796f5d8444656c8288378ffeb24988207da9ff74a71931538abbe2c339ad4ede86e38fa";
+      sha512 = "f9b8e3bfa820f5f24cef33745e51079636d6e8fc69fefbe511d20392309426281670dcf9924bd0f1bde8fac05750d80ec360257aed4078ba7f5efaad4d8acaf6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ar/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ar/firefox-61.0b12.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "12daf00fefbe27b5388356255a6d67307dbf43bd326d294735d9838a8b2b58cfe2deab391b3083d281e56a4c2f25c110283109e05579946b995978a61f4cadf2";
+      sha512 = "62795fdb3d07fc6f9877039068dbe18214b3c6ab3f248bafa17e4e251e093b600bb912fae5cc19e2f9b9b498941bd5ff20f44790c2f89dcc12ed8fc403f94f6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/as/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/as/firefox-61.0b12.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "3f769a9769202ce3334cce7dcf9fc4a2798f2d8572e99eb5324d042bd71f865b1a8b27819a6854a1ee91163b6cda82eb6bfe8c174f2cae2fa5f8be45f4e2d54d";
+      sha512 = "c07cf4012c35379cab339b88cf8d70c5bee7403b7de782ced36999829701477b18c4398986e4c88ec138322b0f6fcba17853cd6cb9627fa597329ec3362df4f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ast/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ast/firefox-61.0b12.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "f6a2e1c64d834692d1b15d653a1e6c05d0572e635e3b0231d36a3c0dd58f3cc4994af6d5e025c0ae6a715eb318f4eccd00ccad7c3c097996a8bbac79bc100274";
+      sha512 = "510ffd64355160f52ac60251b5a3f580fd688910fe0eaa7d54f6f1850b1597dbe3f4a9a8db2a2a236b7244b084c37a7ac612427bd28375eecd2d899f81ec9465";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/az/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/az/firefox-61.0b12.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "786b490e0df3788435be32252568cc8978c5d06dc2b6749a26026a6b0d62660825b6ee35a0b01f0c1b0757267a403c150dc963899a67f2a57e6ddecea1e5d4a3";
+      sha512 = "f0b3dc7ebd3cb6cb44816c8af620d8cd4d7fdd317557e960c72c08722a2a97f6c9cc17d322e85239f7262aa8dd57e9281ac42a679ecd97d1ed6a6685135e93bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/be/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/be/firefox-61.0b12.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "92c487200f1cc9189ae1cca82e28225f9c30d9c63ba022ab78899a41887af3dbb91ea6a534231e080e4ffb9c867849cc30b234e88bf368540efd1ba619c4ca3b";
+      sha512 = "3aeb733096ec39823015271b731be2b51da548d633c82d7040e9be887acd774310cf44ce392cd5ecf0526bb483cad5010ea00ac355c17755fea5ad8a99ebbaa8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/bg/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/bg/firefox-61.0b12.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "7bc40d3bae027e87d7f08a542e814edde2f99fdf777e6e02f5161742bd3cf72f11801dfa92a89b4d9b75b03ecd4513cf90d6ce25547a110045f6a94d35006911";
+      sha512 = "9990329df9385651e42a32276573e9b5666481fe9619946f469455f0beb972e8308ab789ba3063f42475f21774e8e7f2353df5e0c49a6b11789397fb937e5cf6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/bn-BD/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/bn-BD/firefox-61.0b12.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "dd9c399f39e50df48bb642859d78331b41f77d4132cb4fb93ce0c609c6b900b50bae2a370169543682769b96d75b31c795b545a2ba003c6609e2bbb170a62b3e";
+      sha512 = "31860be3d06c3f78126d037324dfa0cf9ac648f34847a4016e255c4ecd3743ee3fd2b8c48c6bc532adc16a5cbe337350923769aa1ee3facc5c64c87add39d24b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/bn-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/bn-IN/firefox-61.0b12.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "2683a0e7ea89e2eabc8749686b0c4c37f13c40521927a091653ad8ad129bdd3da869562cbbcecade3b686ad1e111c7b8aae69770d67c7a5dbca7d510db1aa45c";
+      sha512 = "eb182fa279ffe2365676835029c47f7f89b38964f74942aa597b99b02b02fd42fb25b55ac9325c997e7faab1a912dc99405cb8acdb6c6ceb7aad13dd518976a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/br/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/br/firefox-61.0b12.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "a7c69e38aae2303785ddde5e50dcbe0c6474cf52f0e58241674671be67cae286442552b68b3fd6f5b83d60298228dc942050cda13f34347ec8bdf2900b88cb3f";
+      sha512 = "9cee54cbc563039273ee81c09b322e83e014b3d2d66d0f05854d09dc6b9651410fc7e5259d8bcabd6d24fd4afd95cb2b5f7aa549f8a96914afe7552102317f8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/bs/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/bs/firefox-61.0b12.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "abde203fc0b0f869224b2006337f57c59af85e4216b8a7917524c9de5b23ea8c65539e7b58568b5c6ea8831cc6657b3b15a4fec73e3a32d0a67a82c8f04aa8bb";
+      sha512 = "edabcbc201ac663c8c596b7bf1fbb128da042b3b3eabeb0cddc80ac1364c570eeb596d13e6e2fda6fbc2f06f068768a3391826be9bdbc74d66335287d9705e37";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ca/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ca/firefox-61.0b12.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "d5fffc89c2a1312d71d289d17cbe8d5f388c1dff3548fd2df835e1941fcb968900f24acb5c4bae35c714fc05de41d885455666da834edb3f86f06fcf4c65a230";
+      sha512 = "dd38e337c6d0efd503c7f117c22a2542f4f77b8e27b4bd58f40ddc7f90950db5d5c90c40afc6ea78e1c55c1d5e21f585b49016640f5cbf60ff73f74bedef00f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/cak/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/cak/firefox-61.0b12.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "809ed3e4d2a3d8a58d30aa5230ca37e0de470a3fa81e56c7a0f1f3ac03471a9ac96d7a11b3340ed86e1b9973a73528a3eb564146103b63f5127280e0354ce883";
+      sha512 = "c4535437b19571f1143ae2e242a9068993553a282ee9e87658b467491dfa1b1919a705dfbfbcd3bb1392c8795e43fcfc9598bd4bc91211f81b0a75a650153ebc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/cs/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/cs/firefox-61.0b12.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "689d9ccbdae7b47882c73f16fa9e448e7d9e205be973b50bd70bfb2c8095a41452a7d2795f3c2b8d79d06afeb0505e0b6e454ab42ea4fc87f3975cacb062208d";
+      sha512 = "657c545ac09551db5363ec085f08af96637df8dd9e2cda81276ee02b9d3cd03ca52a4e2d3f1fc30b60717caeb39b6ace71f8f799d9de9f3a1c793bd37be13b9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/cy/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/cy/firefox-61.0b12.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "53180bcc3e3b0c2cc8f57121314a8d843af2bd609ea3ed0795f8ae41b22cf6fdab116220b038995a360776b1f97dcd9a9ba0d823f577e715c252ba35b967519d";
+      sha512 = "e5c70b0b61721f0d166556fa3693cbdcd8a174a1e795412637a6d03107d51240fd1095425145958c9c3ef3ccd3bea0a228e1fe12525dc05763d632075248e1d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/da/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/da/firefox-61.0b12.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "bc19b87813b0dfcf9b7a7b00b5ed0cc4017a9102ff7ecede8dd4d00d9f24ab5aa528f4e5024317cdd5f36a8156685eaf2bfd9418abc3c542666bee8ad236368e";
+      sha512 = "73445ab7d6e44074f9995523047717dd6a6f58f4673649f1de0e370c14a49958befdf70ff52a295976966e5e7900392c1b96d6a19170907018b9defc592638eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/de/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/de/firefox-61.0b12.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "06cc483c97ed2c7b357b4f56252569c7ac92bf44f4bd389fba0a0a7c735af8ab889c6b79c08ea477fd6c0300c4f8be62cdf7245f6adb54448da993c9fe34d99c";
+      sha512 = "38a13b53dc897e154cdf7c0bb06afde38e5201f832650a1c6f2d55f4ae6319b934cf1e9be33770e2e75cbe231184906d1e4a1a22fde98b9647d67e48b5f475aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/dsb/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/dsb/firefox-61.0b12.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "4e835d66dc8a299cb3ca0ff8435b302a4be8b72d858bac6d2747ee4899bd7c1b5a4a9bd4e6e7b8c649be890c80307b84888ed61073fdef0df8f0e3ffcec1a151";
+      sha512 = "db069d18fa6ea82011f337dbe71fa653d81f7001f708a6f907327e8721caf64398ac3977aa3941920bee84d9787a037d48bb00952f785513e2346df9cb1a1991";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/el/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/el/firefox-61.0b12.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "edbf71dc77fbbe34abc6946ef30c360a37df3057743966c5d01a8ef29e1abfc7715b2b2c8fd9dd7e3753d42437b7795a05e75fe32399a843c2573d78bd50af54";
+      sha512 = "d59cb7082b6aafae03177b3193bbaa44f76aa59ec0b230e35e800fd2705fe5a859c7f381a9a3701a6938286ae98ccf4acb4e0835722ce9d6ba020fe93a653d4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/en-GB/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/en-GB/firefox-61.0b12.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "d70b96ba3ce553c9b67cc4fe5e874d1064c14b592e032f6e9c15ef6e753ddeed8cd419b6aa1dc53b275accc7059ea76e59109059f79ffc5f2594ebbc6d86e6be";
+      sha512 = "390b1a511a6e4563af75a9e9b419d3052cf1d4b27ab53c61860572b2d72991771cfbe4e645464a7e1ad252a3808e3a64abf87fb05ec2525e279b5d70b240ac0c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/en-US/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/en-US/firefox-61.0b12.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "6fc73ead9aa8f1555d13ad49bf9176056fc24452d40368e77541cfb0d24fb0671abbc5664bd9839ffaefae21043ae3c5c6da31d17368240088b332977cc07b7b";
+      sha512 = "35e9712e45d749f3a3855dfcc0e20812b775911ab7ef3fb4a908c3fc824faaedea08160ec9bd3f0367b2d0a95f18f885feb66775d9769905fc2b272ef0577c3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/en-ZA/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/en-ZA/firefox-61.0b12.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "372ca800a57cbe53ba4c4c792f85597b1e196d452a611d26e14d328f6c36d846f2db0e80d686f3aea93e6dd352253220d4fb98f508944147e425cf682d65b807";
+      sha512 = "6a53911b6de1f07047e5ff60fde03d12895292c4e50712f8da4a2d044ce7b265e1a8ae5be096a987fc0d7e055c9a55876d446308c461355a6024783a82672203";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/eo/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/eo/firefox-61.0b12.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "d74d6071a9345470dbbbb8502818ce6349283d5e3682d687d43c5dc0f79d7c0c3b321c950568c4f4b85d5d415911cb3cb900a05caf2dd9c0f79c75eb67930703";
+      sha512 = "893df2a1b1e0a3494222e940dbbec52754944a6e0239a69515204d15190b3f9c53f187976b21672165dac42f5d2253db506608f949f04101651e33bff0f37d02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/es-AR/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/es-AR/firefox-61.0b12.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "c2ee16f80b733d49e5e466ae07b52915f48516dbbaea5eb16b814dcc342d5df43da35066727864222fa4f779009351ea957bea02a25eafb4add1a6bc2b10ed07";
+      sha512 = "7f727d9572804a21796d583564c3d4cdbecbc480a92ee5ae2c57174a9fbce9e3f867bce52cef9bb346c2dbd312fc710f691fc5b005ca1f272bccd7c6f0680418";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/es-CL/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/es-CL/firefox-61.0b12.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "d175ad469da71f969dcdec57241b9258b9b40f3313d8a58d7c9883a2cc8207edbacfe441a8cf347c82a29d52dda40b1b02ba2770653d853f1c3f7423f81a8916";
+      sha512 = "6f9442c705d469233294a18e567d4c60a291345b9d2fb1086ba898a869c1d1de501f773ec66e32cc07787df7111e7f5ee3e38c11d212faa6a0d6098894718a4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/es-ES/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/es-ES/firefox-61.0b12.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "11191dab140fde70f88769a84c3aec15453bb555468a51e3e10cd61dfe0df2a375c49ae35a104bb5a160822c7c341654728f811d9b630c02e6e7d08667dab38c";
+      sha512 = "e60abf563a66d68007eabafa6113a8ab38f558e61630b0eff3f5896cdaafaa6411db49525e6a4a7930030bc3b94253b13a65fbf87d6812982b380ba88f74edea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/es-MX/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/es-MX/firefox-61.0b12.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "549988f41e881561d98092b3c772c02cb2e8f1e6ba67af6234d074f7f451aee48ab4b0618e237a147d44f869e39aaf701610f54a8f1a7fc2b22fdccd714b9c00";
+      sha512 = "18e09cd4ce53933e405d653f6b6dc731f0367fc9fa772c9a2338b71c02984499c9c529e5450976170e0249d5e10d861f561718b4762a6e730dfb159ebe664c88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/et/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/et/firefox-61.0b12.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "7683d28bd7fffc66c428ddcfd4ea9d95d744f27e5ed38192ded65a482ff1b67a7477e5c107ae7cfe7eeedbf6a05a9248855a70d5093d837943504c2292db4fea";
+      sha512 = "17999b5c83170958b49b818cedf360581a0198897acf7a439d7cb8c4cef8a69d67f5185a976690afd319b3a18f86aa437e1031c6529268d236174630fce50d58";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/eu/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/eu/firefox-61.0b12.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "b85b2aa1d2e98f56ede47a2138e50d5fb68fd88da92a69325ca408646908090ee660b01ba6fff62e8c0bbb80d68b9e554ea3848ba51ba056c25ba9a8886f2589";
+      sha512 = "5d1508e82062c4680fb3deea990417aec7250ed2d005132fb0c8159c938e7098cc72d06d2425bed797969138d53a9bd39f2446a914e3320a8770951e0397b5bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/fa/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/fa/firefox-61.0b12.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "6d96d873a670432e8a4252784965c54f1f8a2b667a03834da653a23bb2abd5213b92ca90767dc4f2857aafd97d42d2ba7678ab76c294c848778211bc51ab1742";
+      sha512 = "4471fa4e48ca9763f92247dc225bba545ea8f6b6ae85657481906624350dcbe61e78e04fd24814d967c12680cc70f4cfaa0c50c6e9335ea914ebd30f41e298c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ff/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ff/firefox-61.0b12.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "bb6ee71aa9d7ad5672936cbeeca36abbb024b4a7e0558f72f8270a7be4109c5cc6427743dd5fac5d723ee8b960008ec5771f8306c0e7e7f60e170761eb92c2cd";
+      sha512 = "ef0d11d3c7f212871a387b800567e53f717c59cc7186ced1ed92c12d9fb0f9c15e0e1922e21d2a57fbebaff901c0f4018ea5907a0344c52e504bdb9ac8454b32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/fi/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/fi/firefox-61.0b12.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "ce1593a3a16db7264b6d249315aa6f16c0f7bff93a3ded473c79f3fc8c95e9594155b0f56d67582c0f090f2763d9354560d92414f1442a14f95ba314a29e1f63";
+      sha512 = "c606a916853f95e9a8a90b341533725a9c3a8fef5cf52deb4d99163309a90650552df6db79186396233f19133c0955f818b11f65a75cab395be7ea1476dd326d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/fr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/fr/firefox-61.0b12.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "e35269bffd06dda7e784ef2be57c20757cf1b2d717a73fd940a297ff1c4939962accc33893454301c86b3803cd1cba5913d2d0d606293ae8ab56a3ba8911301b";
+      sha512 = "e3ad9f587d99ed1e5b258b02b990c43e2c760376eac9f94ae42c8fddcb079d0f4a946b5873ed0b82ff6a35009f11fccea8d157af496ba1ec565f5d64b2cfbb3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/fy-NL/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/fy-NL/firefox-61.0b12.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "b76c49eee827039ee2c5c479e425d71e18e9adff7f609f027f842de3c359650ea0d74f1f143d1c686da36c9e688600faea589c241a83587e13b8291b4d67ba00";
+      sha512 = "d7b93ec05788b7c324dfbfc0d55411368d46ce1bae8bdc245c920ab26356643259672ba473ea8f9cb63db141a0cb76acd8bfbb0f9c0fcc4ff197795705f4e47e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ga-IE/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ga-IE/firefox-61.0b12.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "ecc342e40471565eb2cbb8855afed5561e5bdacad623431a474cbb85b8be7e0087b78660082251d0da58a40d628005e4e6417c186e4c60a30d16658a7b945738";
+      sha512 = "9928b0e7c03060bb93d4edadc9228ede47f5e43caed8f0d23be729740b4aba168be59e3365f9619696d4a8e421a663b0946701746ffd3c4fd5bcec1473d2b092";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/gd/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/gd/firefox-61.0b12.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "ef6351f8456da39ef7bf4a2d85bbd828a0fb8c65ec3b2d123426809c5d6bf1c1da99291296e7bfc74069c0d1cc1db4e8a1425545f9f9530e7b4183fd6f25ecd1";
+      sha512 = "a883d411bfd612b5de69d7e1b535d992c0641eb1cabdc28a80f8a38469f55de36aafbb3547da757b4f6fdac96dd2934aa10c8c61362fb9a837e49049062c2afc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/gl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/gl/firefox-61.0b12.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "6783198c822e4c9f246e4420b79b11470a2fe6edb2912ddcbe479a407f54a209f6cebc83bce8ee7f1363df802b5bdd29f44c5e12f587469237c35574240748ee";
+      sha512 = "6e01cc01459c1d78df561eefe0bcda490960a8724f4fd4670e19b84c3ff16c41b5367205f883e51a0af8c03b957b65f55696bd7eb851f015f57aa5e950b36799";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/gn/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/gn/firefox-61.0b12.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "2f2be59d8caa2b78aafda07da4a1a2a0599bcea50bb99ab9b3049e14a81febdc0f72b506a79555d6b58ccc62e2538424eb35d018b3fa25961b3d783937abd1fe";
+      sha512 = "62dd993eb1a643fcad48aaa5e2b9ac291137c6e26ee40065333ca31bee94e51f0f6fb31b55dc1901fe3983f87b69b617b0577b7555e20663147ac17a94fd423e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/gu-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/gu-IN/firefox-61.0b12.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "f4ee493efaf81881e76664540847571f7eef4dfb764b0e92b4437404d83d8cc7a8696ab0292b9603de49847485b469be6a22361b857922ab39352a4b76a3fcc3";
+      sha512 = "6dbd6d474aef6d10b6b47d1c3f606ddfee10488dbf9ef6d353002157bc31158564d5603699c1c8e8abe6af83717c098776fa90430cb849461aeaed8b832252bb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/he/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/he/firefox-61.0b12.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "7cc947f307711338fe9d4b57b580a7d33901e1c262a7d003ecf29e94b7fb3907ead9af4fc96117aa44c6aa829f42ab8e79c50e7274cf4442172433c3899d8d33";
+      sha512 = "06d27186e2b0970ab8599d283c7a5332de87af021584137b4ceef3ceff35e0177f0068d4de2190e0e633be44674291a021087f5c1bd344162555cc50999eac2d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/hi-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/hi-IN/firefox-61.0b12.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "d49040bea058cc92c81db6438e6a631e1c0ebb8c27993a06ddd95c20648e3d3e0352a7424a8748cbfffa22216cd06263f78d13b69ddcb9821a9b7bb01d540695";
+      sha512 = "24b56f6eddda98e6bf33bad4a2ce615191076d3094c84611b5a244c488397a8afce689fe2a5089eb8fa93f4ba3cc894164bf1500f5b0b864fbbcd843a338ec03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/hr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/hr/firefox-61.0b12.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "b76cc94c9792ae728f8bdd284ca7e1102e4130bb78402052a748d26dabff4b0233c302301ec9b6b4076bc939fbf931fb0303f9e7f8881511e325b69d86955d44";
+      sha512 = "bf5b2dddf62818357e4729c8b51cf87b03d8c2ed74456a9666b85d4837d88db73ca83684e6348a53f03ec9086572526888c84204e661b4aeb022a31e4962c8d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/hsb/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/hsb/firefox-61.0b12.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "3843d8c6fc92aa99259f9f32778e35ca436fa3d36965a175a1b964e9d3fe0bf9834bd8fd3cc3c65755260e0d39c5c21a7d88f54a5f1c81938890ae82545f5291";
+      sha512 = "c55d7ac11802db6cb85cab3a62c850ba2e868d6f46760bdcb1dc530313b0355113cac404619f3ea7347d26efe3754dd8ae74f83fbfac5b27655164beca0bb56e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/hu/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/hu/firefox-61.0b12.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "eac3443ecc5d37fb3a357247bb5a4dc1fb0807071a57ee6c649b1405100ee728cb7e476eda792bb55acc96132708a652b6e83eff0e764f2c6ca9348f54c41cc1";
+      sha512 = "75b66ec8b5827e39d0fd1e72e01321b640e356855fd1b70d3ff8a0d8fe7abbc44a381db9fad8a44c97840fa39f200cd53d55a02e84f6137c65e4217ca0b951ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/hy-AM/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/hy-AM/firefox-61.0b12.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "aecb0ad35bc320216526a7bac0794825f6f266972c4c291a4e97f81af747bf462f05e662e9d5bf77d1090a6bb65adefc5a985dd71f32319cd25cfd0e465a7791";
+      sha512 = "2e94363c1f25d59fbb97b2faf554b3000bd3a8aee7783cf415e7008c8754578299f7529e04a907ad94cdea80c51ee2562e114c369ef98c66beb9776c83e4e4f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ia/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ia/firefox-61.0b12.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "a26fe81ec4a5b8d6164f1dda9d70eafbc2e1e9697fce29d7de9076f0fd25d0467a5c9c02002d51066dd0a3ff427a627d18735f4bf520d1c861ac77c0357717dd";
+      sha512 = "bdd9f4ea0a4017abd387ccf8514b5ad9f73f232e252f66b4ba0387ee328f159c49e7b79c1a28c3ba4e040ff767f018f8ddbe4de20193a361c406934fcff42e5c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/id/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/id/firefox-61.0b12.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "c28fffdf9662c0e8e3ec972dd9ac7245be0f4097c0694a6688b7cc422738cfb539fd15753b59b2208f904e85ab037698cd21d08b26c0d9c209088c13b0e91f8c";
+      sha512 = "e29865d8115bcf89f34af721e0c12365e1fcb622a9abe56f1e6f04edd4456b400ddccced69bf45912c5be24da63058c73c981e1f34bceac9b4d436ef3306fa36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/is/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/is/firefox-61.0b12.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "24fb7c5dfa3ccfe0ab012c3c8c26b5be1411ca8a9204b36c1592017cbb6712396ed589b9c0050b3843e62d31aae51083c54d2c53175127d68dbc3b02958016f3";
+      sha512 = "3ff1eeade8b45f8657f87e0c7e84ee551f330461e39f377c14469e9b7ba8d744077407185e9968d021ffb4fbf1394b6c100e6d76c4ba94e1711310fad14c8d43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/it/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/it/firefox-61.0b12.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "e32baeabbe7e0b6b02b8b6c7ae1f10921ca05f97b4bab73610ef6164fdefe126651a9bc1e7a00afa42ea5ff163ebe1a4a04394e11e9f5c8a2f78df464180a073";
+      sha512 = "b912beeb96910ee0fe101a1f1ba4ca0f6f5fa13c93d1fe14fb6bbc5bed14eaa2d9b2caeeca3a9665de8ba27de9a55b903060441f152b4a4563ccf74ced2b5aba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ja/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ja/firefox-61.0b12.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "024f8684b1b87f3c27adab5132cc6371a0e56b405a131b67a025f047b5077fe0c4f41b82b2f88c5583975fd96cd11be4de3befa63c71e1ca209938e1d33d5890";
+      sha512 = "1712c01828f98110fb68925ee80a343e79bf8bc7521d44840dc5c6f57ff0a2b8625c5116d1d076882a517f00c8f09066e9385744aa6a3ec57b2f21315a3279ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ka/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ka/firefox-61.0b12.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "50db5a65147cac7d9805bf90e35d9cec8d5364a1fb97d7ba0e094a8396adca1ebd928469347fe7eef619620e41461f3c115ba3d2687c04c06d990d8d0e5a0f65";
+      sha512 = "b7e3d57935289bfab5a7925210cd484d24c87374412041ee0d279691e758e6bc872666fcdf2a0ecec84e6073fd03f9e32765e0fcf4ede852a4f389d6fcd5be03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/kab/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/kab/firefox-61.0b12.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "0d6fd66316b6df70adfed1f896b7b178832b800ce54db9512a8f344da6095722c29d7cdac29c09c0ae02df6225f8f76442ddbb630a15a6f996023b118f581d59";
+      sha512 = "6cc7b0bc89590ffc749b39a070e20ffe3a8c7b611d69aa7d1b0d803bea0fa98c208387e24b640ce18f586e718a4bd3e2387070053d0cf7fe2198e920119d9b41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/kk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/kk/firefox-61.0b12.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "1e620226f3c81d18013d663dd3f186617222fb75425687b0f07e1bdd35fe42f7889bc826c9e726324cda6045350a24e623a83f637acd2fb4577df68b56b64068";
+      sha512 = "be754f0a6bd1f7b8b81eaf59b8985fa993bd6ab507d16385b4da2541000e9a25304de87b017979d7d79a803a9bacb147026aa0c96fa3c94cc2e5f5322e1c7f69";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/km/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/km/firefox-61.0b12.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "9770c32624919d8fdd215fd8023e5bf80fe15e79e641421a0b16fee9060872a1807364ec400e574eeb59017d43e25cbbaf8bec8574fd473d4c8cc78c596730a1";
+      sha512 = "87f25a6ba372602ac5c80143c740370df1ec020f4166786310937af019225f7ab156e6f6a1580187cff144ecc53b28d0c4596fbe5efe49befbd5c2ce0b579b93";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/kn/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/kn/firefox-61.0b12.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "f2b45d0195c68091a04cc921070ee31ea410faf2013546800612c9ecda2e999a763f58589d36aa5076cc834d0d31e5d58e3624e24dffa2483d8b889965b9fbd4";
+      sha512 = "c5e50196d9ffa05ed6dc1d3b70407fcc3d65bd5889ce891e988a4fe131d58480460de560f89f5d19afda6f17cebcbb25ce15233381be571b2d5ed20d5d964940";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ko/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ko/firefox-61.0b12.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "55be6785f4f76e42e94d263499641c7c883b4217ab0f0846ebdd00019425510a64ed2f16c98b7e3bf86834ac35cca012fa26cbad62ffab8b889f287caaddcfd5";
+      sha512 = "129c1b5d034514b486979b1ce8b960ab2a533c7d92127135029f207c56c9c9fe79ab44bba68a1a6decb8444e040fa2f304bd4120a9da2ca4dec6f2f084cb0224";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/lij/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/lij/firefox-61.0b12.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "587ce487c9e90a190405ca58efe6537e8138c9726a07d1d4de5911856ab040b7924df5a8474f64a76748f64fc1f35d9fc3018e06977d1047cb7fb55f0bfcec00";
+      sha512 = "7633c91bd22b6034bae60513d506baf824f9240cc01a3845b6e8b52de6662074dcdeaa672846677aecbbd8027e29b4e703f7ae63be249591c4d48006b24a8960";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/lt/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/lt/firefox-61.0b12.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "7ec86498c6e720a77c49a109455df7c9b31b9d1b69cec8a735e605503094b67dc4e38948d6e4e861ba2aa1a8bc680c8619281e5e2ab3545c987ab3099ed211f1";
+      sha512 = "dcd4765d1df0ef95e71052b9b981c874af71a97e3f37185d33d74c49208ec2839602830043749b5e551683602c263c095012d2385209d75a6e4f04fc30d2afc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/lv/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/lv/firefox-61.0b12.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "b1cce9d06ac3eeaed9a92f291c98a2b2011ebbe4afec4fa1afc95c6ead74243078f26f46fd2c07ff62f7b856b7a1c366fd1b302b18c1fa4b5bd1ae8aed49a54a";
+      sha512 = "354997be972af80700b7085f5023c46b8d8cecdec079c7415f5ec5a12bdc2ceb6aadca9a7c9041c2ef65a518cb18efdadb9f3b78692f9a17e62d35ea701e1e11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/mai/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/mai/firefox-61.0b12.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "70380e961c5f2063024ce0d77571b8bbb8402e991ab8fd69fdf9db749f09d4801f74cd0271e2bcff55dec196ef646d061a633d93f3544faacfb4c045204755bf";
+      sha512 = "8b9bbb13c4bef28a7134c05f0d05476caf5d72d0112f4b8507b66e448b183fd357b7caf643c81cefd652ebcdf021432c2cc5af9e40803b20f11e3095d3ee3a4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/mk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/mk/firefox-61.0b12.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "e6d5c3e8dbf60768bc2c4c32b552550ffb954dfc048e393eff1d68d6b246d64e874c42149fcd20d4a706090698ec85c6ddb0da7ff10bff4dac861d31cc5cdea2";
+      sha512 = "9e098c8a2bf36c14b3802c54fe2c8e6b7db83242d2356e299f9eee67edcc006e74fc83646428c0f475b1ac93440fc4105f767a5bbf57974b8e4d19cb1d30a0dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ml/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ml/firefox-61.0b12.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "0b5854b257ea50a31ccc9fb5956f45b71aa70e9078771fcb7c005c8cbc6ebdf38c381e6ad7fb75717ba961dafc5639567c2b6a717076f9a97b952b231c1a0b14";
+      sha512 = "b6a84bdc0168d82e6ecc3cdacd9e899c0ba0b15e448b04ba70621c82e82d05cf022b762f8df2e9b54082facebee3040ce50b1074f74b5637694ee7cdd840880d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/mr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/mr/firefox-61.0b12.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "630e53701b5ce7a7bde0090987c5b3aede1725da4dbedde268c1eef7e3250e35e8295376b666a5d099681d601d4a7262e21da30a12553f1e7c90b4971c5ea528";
+      sha512 = "e1901d752960078ef992dd11bcb04df1c29019bb8a947442478cceae75083c2f063341329e10dcd471720cd1fef6f5ba6410fa98f95ced45591178592b760e97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ms/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ms/firefox-61.0b12.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "c1f0efdf8e94b101975b0a8b15bbd71a02d555bf9c12c0f937045a2e271597aef69e588bf75c714826cc7eef61c43fe046a4016619d4a63d488faffb9bb16f63";
+      sha512 = "3cc2cb6c9fbd5d3c5a399cdc0dd10d2198412a5cda82ac4e93e691f88e8eb6bc55fd27abc453c011502e681abbd0017f6743915906869c3ac60d5b713b45fcc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/my/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/my/firefox-61.0b12.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "cea65de645dba0943c85583e9bb63f923d06f3ac589c812b93eceed995baffb4569f14c45e38c93aa9762929b70087e0dc9a4866ca8d9fffa5ccac8644472cff";
+      sha512 = "e267949bd286b873105e1872f077fa3b6a0d1fe4ec2a789a0a415781e847d540e021e830ee37fc70738ab54829f6c35e2f0b4d0fea1003f771fd12f19c97c04d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/nb-NO/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/nb-NO/firefox-61.0b12.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "90ad8e0c6a4b99ea3751dc0ed4cabc74ec1ec6dd351920f574c1adfacc594fa1a21bc3f7ca77d4abcbc2ab8f8024e3c13a0a9b0fa8629c66c08770ee473ade8d";
+      sha512 = "8e369eb4e8085abb02dd29ec504e198e7c2167e32c60d81448b24c6204818708f1756690e2ee8e498c7aa0eebf0db5755df7884f706853e2d3306e4002425c82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ne-NP/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ne-NP/firefox-61.0b12.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "874dcc2335c3381a8c49ccace54ab7fe0b2c370c1d5e43ff2fb94c93ee74c89de476b810ac71960fc34edbdc735070a140ba3bc919112191b1258810478e8212";
+      sha512 = "6425928fe907b60946f029d8ea67a5c4b6e0860771eb15a0f26bfe9a56ea020a5a278b513e077cb9d2c751675596c42a7ccda96aed810987a701ea9f0b505330";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/nl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/nl/firefox-61.0b12.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "61c9843955b6472eaefb13b39cfdcb1371cb249c8cf2e01471b1d27f76273a329c7b578d7ec868822f9ca0ee6818e5fc3210b6d1e4bc625a256316878e6c5baf";
+      sha512 = "822baa292edbcc6a72dbe175f9d8cda33d03aa6389027a982f3c40bb0ccc9709be663d072d72ad046a2bef1b9f251ba85dfe422cfd6e68bf4e2990a9f8b8d205";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/nn-NO/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/nn-NO/firefox-61.0b12.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "8c1ed92350e2dd2aa8051a4491ed064f0c790009d29b2512f1ddb52d8b5e31564dfc8678006c4baf3a4c42ee4d94fb519f4aad59adfe65a5a541e9d4289e4db2";
+      sha512 = "1f91b46a16102e291a74d653572e34329e0d6e4905c7a9770badc446c129db9a9037106d401aa925a26e4662eb42f89f925aabc0a438bcfce262a9b5cdc501da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/oc/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/oc/firefox-61.0b12.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "e11dccf5877b57d996aa75f8bef15a4a914377296f16dba1b59416971f4fd84e4ea43593139e43481351bc038d7a66d53066140fd4436f61d3e0cb1f490a5f87";
+      sha512 = "436800ba52f5b68c3b53e6c13cd3d4749556575314215228608426ef1315e8ad2628a84eec05a66a53d9de10ef159e4b493649ed0ab73b61cc2007933f43dec1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/or/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/or/firefox-61.0b12.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "ec297c47b7920cafedb0ffe3cc173a3c2fc986d2f858ee25aa159b8be7f05051cee280590589d7aa712fd3eed376947297ff0afbd64e187f1a19c8bb8a1295a7";
+      sha512 = "02584b67c2dd65ac2ffdfd7fb1ecb518afd0344ab6ea623b43ba1b3da9142c6788e4060e4449fe5aa362f2b748ccef1a3c535bb1f6c8bc99eb2753dc119cad66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/pa-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/pa-IN/firefox-61.0b12.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "4ca71e223e4c05877bd6cb86f9e3677b60ec22a6b362138818e9fa5f7b2fcc2eb166193e068ca0a6ce3b536ccfd1e6a216505d4ef45b2e90ecc83467e7529443";
+      sha512 = "931a1f6319dfb6db4148eba5bb01a996c2ea2512f065123113e539a9c6cdef40ad92b5ed3f42237a36e256fd95f3a6eccb6a77f2a9829541c57f651f3ddf65dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/pl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/pl/firefox-61.0b12.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "69e1296216820c09a299ddab644ace678e7041b86dd2704cf8ac2fd0b548733815e1cf35abf324b0a2614615f96c58073d55074dcb7e66a16c5f7b55f562520d";
+      sha512 = "c94c23a33651f0036e3163d25c6ca94fb832e1906869c1d384417098f89e7fea75e815c62a7e2f6661e629cbc56d17cce03d440a716c77185a1c38b6f646dfc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/pt-BR/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/pt-BR/firefox-61.0b12.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "283dbbc4fb72e0a14889c97e93f48686229d4ca6f2a548ac664dc4fd75bac1f22f5d9f16f6c3bc1a3b83b0c8567cf2856be7fb23e3241a334de80d037b2ef85d";
+      sha512 = "e4714d288c1729aa625d9a497aec6154d5fe055e9b306ee2fbe812b4123e2bcab03177488806c470f530d9c45b2781cfb650a756eb17565d3f9e58097d8a8c2c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/pt-PT/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/pt-PT/firefox-61.0b12.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "d996775b48dd48ef7c0eaf5387bec85968329acaf6ee4360c5213773dea5a932693a8bbe6b70e2b92d3b387db767bbf8120cbd37257707dad06b9082ddb89032";
+      sha512 = "d460b6962554bf114b28feb80ad560b7e2eac625b05bb4722422f04a41787d32d04c7393b95c1bae9ab6dfbbeeceb1b43493bc3126dcca1f265c23e5870a89db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/rm/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/rm/firefox-61.0b12.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "11927162d0d7e3d6dc05be2185a25acd768a99874d9440b4d28b9044c58f19ba6c7a1608bd8a9bea95a5751bfab71a665fa59fc180ca07abd3f86f1c2eeffc8f";
+      sha512 = "a38ad0170a0811754a282ad894f41ab6edf30addfc83da973fe1a5b7ce61824b817b42543613203757f98768609213b68242d61f17c3388d4b67909e9a45a921";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ro/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ro/firefox-61.0b12.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "4ebaef0d862281919e04abecd02173e1eca253944e6a9dab0ff301a0ffa521e93c755d59c819315eaf910d3b75cdd149a01f7302880b44355a0436e27312cdde";
+      sha512 = "3a8c57014c7e4a9e912219b61192d0617f6b995e0609104574948dad1405601ca02d750d71dd8c29b7b914f11044d9623d0d89d2531c2506519c41a905ab3cea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ru/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ru/firefox-61.0b12.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "01f5e519412f16c4bc21ef86acf287c74f34a51067c7263b5b6e6a9514849167e441dd23ff9f01d9710656189ebe123493f10e5e202d5a690591b84d828ac6f7";
+      sha512 = "23a7611dddccd415ba5fbca31a3bc7e58f0de84295f60a051fac891581e3a52cfc52000e2be2f4a81a37a208e9d4c0d8c0db72a109a6361c03fb0294753dea2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/si/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/si/firefox-61.0b12.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "f8199341e89ac1816254fdf0d4b37c1c069c00e193d8c56fc44a6f1e833d174f57b498bd21564989777fe383cb0912800a53dbabe4470402a2ced7cbb8459b11";
+      sha512 = "8266694c5c13e3ff93cf1e6380dadbaa4056a80b48c2b42eb1d1b0d4d3b57cb5db18ce78b261b459ff25356f3bbdaa0d6032cc71e97414f8e124d68a0198685c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/sk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/sk/firefox-61.0b12.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "a3ac61681567f715405b299bf9b772cfea1574b62ea9529e8df6a8155dddd2e26d51419b641c94329d462a21fc3a207dd99ec600b3764d198964f21481cca690";
+      sha512 = "9bcb5e29e221be2eac6552578f0b4cf351400101f44f91648fbfc82db85dc5175d66854017751f1f890cb78cf8ab6102bac7d86e0fa2615abe6a18c62baadf1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/sl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/sl/firefox-61.0b12.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "a28730ba99c9f63494b4dc955dcf231e412179a4f1bc405ccaa63325ed34720906c2c6e90e0534544a5328bf51e9b485b91d54e72ce73c873633f1743c1f0734";
+      sha512 = "e08a7ac0517da3d82627fe126096205c60c3ee4114ef9ed8a67859a0b2ce9540d79f6d84b046f28ba0d3c3c1902484fefae8090ce3780bcd45ce24c2ea211cb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/son/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/son/firefox-61.0b12.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "a5ce8085b83ba048211bfb9b2ac173701e0cb1363db8e027430b63f85ef58c845e5775ec1e82417a73531e789059f0cb30583df446fa171fa3df9bedf40cc84d";
+      sha512 = "d50fd3a722014d16c95e8c8ea1798d2305ed77c878513d3f67f3d3f5baf5ae7eb595fef17f84a41a353342ab93bd7d2049c62cbc9b9e9be8bd7593cba563eb9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/sq/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/sq/firefox-61.0b12.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "a4ebe4df7b56338d188aacb98ed58d6eedeffb6bd00b139525bf906e2c3c40316a7e9ab9b1792f02fcc19a7767786ac1f8c0ac8fbb39c7e01868d4406eec7ed8";
+      sha512 = "a21ed6954e84ec409700f12a285acb46f8f969e20c671e2ade4d1015a8b01823d7c5b64b49c6b73b7000f367ba6e1ccfe3af1f7eef4ee0b28335385bb206d61c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/sr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/sr/firefox-61.0b12.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "461c94b2a15854e5e3ebb95b2f6fac0a3591fe1b57b2e163e4fe8918ad5736cad1f085bcf0083d2bf2f0cd5cc811c6b7822dc9398adf906496ead870f4b1688a";
+      sha512 = "cc73f22b2f3846dbf19b320ea9433696bd00471ecaecc6b3450dee8f6696bd5698c329254629aacdf3b10ca2a3d67cba9cc44f636901a74672ecae506d6936be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/sv-SE/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/sv-SE/firefox-61.0b12.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "1ac1fdc2b3eb80a172efa60aee46e8a3a5bbee3f1bbd62e23bce5503daec25beece76ae22fc78ffe18aeadbb29417453cf3ef19f6462e4f1c3544842e1304d49";
+      sha512 = "02fc03caab923214814a5e6c025bac0113c8454696c2dd502e97a729d96693aaf3f0419cb8ddb3a55803b2c05ae35ec82f0cc59547c42e50f4125f061c2ee7f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ta/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ta/firefox-61.0b12.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "664b18d6203a7cb1934d2b813b2269cca5eec2e68cfc4a4bbf129107edc2f7a48b6d75cf5cb41abe6387a4c26eedeb53b837ec8aea7eb67f3ee5799ab8a08e47";
+      sha512 = "2f240d2d1c49d6cdb162edcfd3fd7dd6771854f516fea45e1d9634421815ca2315735fbd1a9556dcda180c1fbc27934dc0e27f64d0bd2f8640a4c532521b0f73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/te/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/te/firefox-61.0b12.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "241a510e2f520a7afcb84383435587533e62a14b2771cd770763db99a047746aee5249b9272ab34d96160613efb7b3769c8911946a4ffa3f0156570a7a6c4310";
+      sha512 = "ef538472c38863cf11728eb38e03bd8b3d7e6c568d81ab030b010a9c123a191c1b0d6a6361b9daed2d025d708a433633b74819a67d3751e0b37de17bbc495c12";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/th/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/th/firefox-61.0b12.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "9621e6f3d49264b07f913b1e8161e0146fea15900dceaa98612b0c32b81059094af5af2321d61300168644421e72486ea6ed9336ac9cbd752e2e192a155e532e";
+      sha512 = "bd5db689c9115f88efd8ea6e38d557f7ae765d8c58c269954005b069626421f022d7a2cbda59b143bad54a0d0f17acb15691641f1699d89435e68ee2eebb7801";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/tr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/tr/firefox-61.0b12.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "f26c74a359d71f41bc83320010b356b22a5a8224521c37fb7ecea3d4f79fc4583bcbf6d44d183c04a30b25bac3832635b721c7566052c496f41718f4b7b6694f";
+      sha512 = "8a4f2e312cc7e6e7a80eccc0619702d64e89e5a120341fab88705dc9236d4604343fa0e80115b496004f1af5465949188a34accc09958612c8d8277e027c3470";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/uk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/uk/firefox-61.0b12.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "106284d66f26ea36e906b24dd204e98a042ef89b749bf059a1d44fc088aee6c08e269257489ca6f215b390606f32af368954bb2507a714f09e3a0fb0a9271900";
+      sha512 = "ecd943cd65d7ee7b57328d2adbfe3b81ed457fa6f75d2d911845ebe31ffec7c0d622ecccbe04eeeba90d35e8f6c789d33caf251d6aa4e38d85633108013f2374";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/ur/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/ur/firefox-61.0b12.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "4c90bb8536fce5f052d258f280270e0cf032c257bf7eed70d63f52949f52fcf8a961424372e726cf05026f5a569060e0065231462bcc8626a0f3d166d52434a9";
+      sha512 = "23120059c8f35c7cda3493fd2c233c810d81d81ac6ad521e01c9a455fbc63375024510e2394c9a3eb8ae3bc311f68c2a760bc7451e3d35a7246b33f618fef167";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/uz/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/uz/firefox-61.0b12.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "961c106641e47281774c1285bfe8cca3897fe7f3c78d961ac943e35a5d98398124f55d44ea09cef2820e60ddce1f87fa31c498ff005d66603e8d101590c17fab";
+      sha512 = "6dee30f68865feed42e46806a81620edada2095d28b79751ca813497df5b17a831eedf7d22b14f37ab8a85bef3111f7ba1f04ea8ec4133fad0ca281af28a32e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/vi/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/vi/firefox-61.0b12.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "b4cdc14821cc62d09c47026483efd4d2050541e97384d36507eb2d74efb9d98d52ede8c8569365e4b4c49c738ad6e2a6f0252aba6d72abfac90f22a2d8afb8f4";
+      sha512 = "868a354fa2a09e79cb914c0d51d58a810ed00498eb051d39345fbe23a1f6c19c4293df71af951e7701767a1579c178090f0a3b49216e25fc48458c33dd252f8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/xh/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/xh/firefox-61.0b12.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "f2dcdeac743f291b62db80012bad4d5c1233f63579d59d59df85da2584afd1ed50d30f7101748067fd8b59007a5565482b14c3328f1f40066b5098864cc0e99f";
+      sha512 = "a7deea372bb9597668ae47040aaa3ef6432eb5a8df65fdee92c001dca10474283171bdbf9a498b48c023495f0f0f39352221df54cc3f874fd623dbf510377409";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/zh-CN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/zh-CN/firefox-61.0b12.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "c7fe4c6796cb2f05d8ce1af83474cfda7ca6a58e995a6c7908e6bd9dd353fab5235831ccd44d89ad7e8c4bfe2caec9d9d9eca71660d447f0f3d9662b56efc4d5";
+      sha512 = "e1d7d831001c8914cb577d31ae5e4bd1af779a79da422bca8f0bdabadf1a7d44b9e950c1f66ef5917bdfc8c274972cad5e3c9678831a4d3bc58e292b6db3faff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b10/linux-i686/zh-TW/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b12/linux-i686/zh-TW/firefox-61.0b12.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "a2e0792cb72b5c69030732707008347d04cfb455f2df45e25b10f0e78d3fb94d4a5c5a4b2d92ec7566501c60c3ae952438b0285af588daa1f7e6e0a4ada269c2";
+      sha512 = "056940876ef7139604ee19ea9a44ef4f4c3ebd4b31a4705bd44a312a53e9750fc7f7af8f39d2e4641f831bcba6aa8e185a71351acb6a871b26aae015bfbc2e0c";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index eaf304ca9fd4..6a9cd8b7b472 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -45,6 +45,7 @@
 , gnused
 , gnugrep
 , gnupg
+, ffmpeg
 }:
 
 let
@@ -122,6 +123,7 @@ stdenv.mkDerivation {
       libpulseaudio
       (lib.getDev libpulseaudio)
       systemd
+      ffmpeg
     ] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [
       stdenv.cc.cc
     ];
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index 82fa989a7bb3..d8d58c0fe16d 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "61.0b10";
+  version = "61.0b12";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ach/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ach/firefox-61.0b12.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "740d588bf8c76fe5404b5c85c3fe684487d66737736df0a63257f2634dc09ba57d5dcaf6ff0bd2e143fde57f40c94785f7c544de63155540459b592923cdc825";
+      sha512 = "076d627bb6fba278807793b5b41b944595626f80f5c1b92cf61d3c4be8c3c35c08139b57349ca08b2f0f23aceb7af755d94332a1e11483f03a813bda400371bd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/af/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/af/firefox-61.0b12.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "364ca986f49c9264b82a22f8eb54d23238d4cf88dee75e793a05cba1cdf9dd43d961d563dc2601133ad82745f525af9620c20f2af0b61b846c9d11e6766cbf36";
+      sha512 = "b3e0f4fef73c0714f5a8d54b21278137a83fbaed1056b4201bbfe9a227f6406d6f962f676707641ed7d9c3a3d225ed90879803d7101b84950d4fbc7d7bebf8e4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/an/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/an/firefox-61.0b12.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "071bac11250764e3d53b7254fa8f5e2d52e3ef848d540f8b1f8e1ab057b52ca3417018d2e92e86bf367d7c6c957b98acdb810677c39f1a20cb21e44f0fc00478";
+      sha512 = "10087d953477a93cc4ef842b3e54cda8e41236d1a50737538dade9eea0849698106ba25ac506d83fa3baa1773b98b1a7545b0e2c28224a6d9f55d4805e4f448d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ar/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ar/firefox-61.0b12.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "1317f10e8011304d00acbaca253aa8b6caac069878a93c11b4a81ce94ee86b13029a6610f771dfac165b4a15ccd89ebe4190abfb7db02efee4d8f97a561cb767";
+      sha512 = "aeabe46628f508010dbd51a8961ffb1fe6d8941376758e165ce3f286bcaff8764b4c38afa494875407e99d44175bcea744aad4b331f49ef2fe1828133478cf76";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/as/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/as/firefox-61.0b12.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "62178638fb5536efef88923ddd7c45ddd48f662ce33f838080ea04a4b31a12d0cdc0ea507873ca463eac17e4863ccd6a02430c7da97e2caefebbd4eb19efe842";
+      sha512 = "a2699f209952f310939ed4e605380940391f212a6649b73b0b850ba9cb575fe6b7fd56e09631658245edfc3b45f53979fbc1e522334e49607124d4b1d1091f7e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ast/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ast/firefox-61.0b12.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "d8912103afa9795c9c96576e086e3ee88c12f060104a899f150ab07f1693cd11804fc1c080ba0a09137e58218ff765db854427913f8f1bc010fa9c010d721eff";
+      sha512 = "e06bd557142c7f25fc450f52c405e93e9aea03b9774054fa361a16849f46cf52919f9d09f1c7897f7c96a32825891f5677faac5994b1a8ce4ecfa03f97c8062c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/az/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/az/firefox-61.0b12.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "9ce7b890d540ca77fc2190d0d396a00b300fabf170472980d127d874898ff16588679a1467a64da671417eb59dd1594d2837f00a3977bf497242d070fbec0ae1";
+      sha512 = "496899ac014db2ec2044df67b62e4a78c4f8a65708c141bb33e0234691ef4d68c0e6338e6664d40e18f29d6892600bda71fb27083c5d23b1c492018a35b02026";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/be/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/be/firefox-61.0b12.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "45488290c37219d05c804c953f98895245c401b2fd04ccd43e8c8ae8a91c6f55108c3b9ba3ef0d2866c15bd1a8791d76a01dd69fc79b30eebf6d1628c23f4bc8";
+      sha512 = "fe3c134af6a3023d91f2ee022eea6febfeba3901af6d60492121503ea464b506942885de2a93a58c1b1302c8dadb26915695ecb6866864901f6b263ebaca8c3f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/bg/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/bg/firefox-61.0b12.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "24eca3ce4fbaa3f0e476478b537bbc091f2afecac4d2841a2561b91c84a8b2f3c2e73c4e4d39bd0c7394b321ce85e3155ada433c4cdb7c0e12ba24b0034d55fa";
+      sha512 = "37c2a30520cffa6374e28020cdbcb1e4fba124e42dc78d1806e6ccd973265e1d6c6f7a74a3b9510e1059b49b44198e75c7d056baf6553ecce4e522641ef8d0f6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/bn-BD/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/bn-BD/firefox-61.0b12.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "274a9c2b0b2461aaeb8c951e8c197af5fdb0bc08ac97582940318e585fa89e9245a5424452cbd6664100e5061866242c12ba1b69b51a0764f76788ab3e65bbff";
+      sha512 = "e123698c813009b7ad982e42c7e91a43f86576d71bf4fbc0fddb092de28cd6b3f213cd1abec52bdc7c779c5385847aac3637b1a00ce2754341a736f1815f6c3b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/bn-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/bn-IN/firefox-61.0b12.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "3b2218b908dda94ef336c4b9f567f2c1b0f880a40d32ae9a3f0633eb448932ccae425636a43cc960a00790ad640e3355dd5b4ff385669e1f8fc3c17aedf72249";
+      sha512 = "16e8d4f623e78333df9cfd72a03b30ebd54c3cb26d6583cc009b278288495f971e33183334a59931f2d00d59efc37eab51327743075cbf2c2c1c985c86d06379";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/br/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/br/firefox-61.0b12.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "81ce5b13a01746389ac8aa171d8724bef8c124c66984102cde0eed038f1b5a8da1c8ec6f67743ed8c949cbd54dc3aeff0beae09522cc9b348d17e1c96b2df354";
+      sha512 = "7c4678353845207626bb2b886a0b2dec87f0fc86c370085afefcdaf470d4d67f74f4e20631257700c309efba9d301e4092b5daa1f3b85ea691f9885c307fb3f7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/bs/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/bs/firefox-61.0b12.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "b76b7c5388e7bed9c7e78c404cc73b9514e739f750308019fc34ed7f67a5dbf6455079fe54886c31d1b517b1e5877062242bd8a0eaba50e4baba2f1e6c6b31a2";
+      sha512 = "a201de963c3dfebe369f1fc8f04784e69ad06aa6402aad9853c822d43223d211732b1fada85ae3fc72b68ba14c4bacf516787880d421e81efcb1f27fad782e0e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ca/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ca/firefox-61.0b12.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "6180796b52b2a1a918593e35da2732537f2d8657b48cf91541ba65c85908a4cac4c5a414ddef5a8f746bd4b8c1b7a09153be874b0bd4718979ee74dd45e61239";
+      sha512 = "d79adefe980e53658d591c1dd2b4ad6e3ebffe22a6723b23cb052a24c30e0face2bb0a7678661018ef1f47cb65ba37838bb705f1cf601f9a6c3647b34b685ebd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/cak/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/cak/firefox-61.0b12.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "d642f89a303414819e66ea1d2e253d053b95e4b8d89ec90d617b36ce482556e835825159181a72cbdb48c40136f2c59e0851d4609ccc55b675fe5a6d06a54ae4";
+      sha512 = "eea0c8306c265d85ae6c8f2c8a0cb9233e6798b81228c65e6afd62cbb529b57d4f43c5f00033f62b2d3eea2220dc2c6cf614d04682f82102dabceb399c0b11fa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/cs/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/cs/firefox-61.0b12.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "4775eb724aa03c77fd36ec1969d43e27c80b829401417d687ec369794c3235a9ba99a30501a1d2c54806f94cab054b5e763c96591568089b8a78d590453212a1";
+      sha512 = "f55e4f7e0c75ff9f6e73eacbffed28a85cc3a561f60390d42ac8ed8550cd2bbf3c4592bb8119646c246779eb102b79a6bb046498c06c0c9529e2ce559ef08248";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/cy/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/cy/firefox-61.0b12.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "8a629ae7e2c9f2376d9846d6713e049f227ba251caafde55aaeac062e738ce26c75480c730a7d4332dc63c4d3eacf240396f5c7db657e9a6dfcb45a3e6c7400f";
+      sha512 = "e431d678fccbe04769821132f5abe84778940fc0a61210ab6e3bbbdd2506530baa19ca53c75d7212726eed8ea10d226f90f314bd68ebaa0bc21f509fc932ec3a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/da/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/da/firefox-61.0b12.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "b814806fc1b7f26c2c10d973db25b159ff49834a75afa1fc6e24fcb9b08bb3899269a4383cc675dd117f9846d4a3b5e530aed3c37e8ab4b65ac21c00bf2478cb";
+      sha512 = "b4e2ea82061651644db144c56296df53d7a401f72ba999220dbfe6339e3233be65b8195709881cf3a4210c463f851fe2806b9a87a7567911c031fbb0b11e947f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/de/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/de/firefox-61.0b12.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "4caf961bf706b616cb877b713b9d199ae8f518a69a608213f1d26ee43a141ada3a4ead80595203314818adf45a21ffd5a4a92402aece9c215d85316ee1eca528";
+      sha512 = "0603e12a1f7f9f5c478abff3012f94d0124e657c327fc851010f01e5f2bf213b829d680ca1d0119a55bd4ff2475e37323cd0bd9ee656a266a6c87fbd2c159989";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/dsb/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/dsb/firefox-61.0b12.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "8b18c3e4d16f4400c10541a2c7ad31cd21cd5709e352d9db1116aceb3c0adf36e5ee69fb35a02c69e864b2d8ef8c977531df1176dc0530e3f5655609dddc7c78";
+      sha512 = "c7ed913ae77520203acdbe32069d239a3c3ab5dd03e6fcf2556909eeb9b8dd94f49405d036275481fb49f376009fcc72b6676d0380b520d8e57b70be2034b94e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/el/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/el/firefox-61.0b12.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "6796cfda6591d705c4ccfd10a082a27dad9395191bf18ca8d721fcd37c82d7769abef341b5f1e87de0e2fd73333e61480d0f70ab4e796a7e333c407cc38291b6";
+      sha512 = "7c54f4b2c905854e7deb59b18c44d8868518aceeecb340d9b287f502aa3a62e317ac7e86439915ab03eee8151fe2573946fdf10944ec271f64d3dd73b272cdf6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/en-GB/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/en-GB/firefox-61.0b12.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "48c7fb0a44b65a6e5e8a7021525a5101fbc4727c43b28d8e1167996214c4c25f933e28c14f40d6c68a4a46aafe21a7f87375eb6a191c7edd8458fe4ec726c55e";
+      sha512 = "531a49323ab069376afe6aa7d925e517a90ad9304127d8f5a7c740f0a5f09e45b9b161a1283419c02438d5099b5b6f7d61149ad988564504b00ee7b007c664e0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/en-US/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/en-US/firefox-61.0b12.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "92a77caf98ad017193bd2989e9a83b59c802563503e1d84d48ab4bb6358437b31d89ea51d85ad4c97025f8db9da3245b2dfb51b76e81b11f2fa39ba859cd622b";
+      sha512 = "7b9af92e0718abebdc64a5f4c5ca1e3b26838c58f2d92a3fe189d1fc1e593815d6a7ffb5970a9d02c7172a3e8ba1dee8294337e29c43e2f2fbb2998042f26143";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/en-ZA/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/en-ZA/firefox-61.0b12.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "9a912d19b5ba481b59999f619ad0f1588bfe00adffaeda2004d600a5f1490a7013137b6a66167e0e228350265a0aef08a98b76920bae15ff4b3fee2532e3de33";
+      sha512 = "7c6f80d57f2d9ca8c98601f05290018a323c1d2103caa71f712f0006fcb0885864989f07e77a2bde4edab1ed2fcbdce22962eee7fb5917bb43eb5b73fdd41692";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/eo/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/eo/firefox-61.0b12.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "8ad7db7437357ed0041d5b08a0ebf70e35b58c0eb66105700a473a7231d560915a775e90be2be9b7e776836d01e86ae08210f454efeb7e0e99594fe53353252f";
+      sha512 = "89813e89b4cd363458113ea9fa4428b43ce978aed19d4e9236268f6ee9de8a739adf0cf3ee397548592eea74750c37195a8e189567c0fc853d9b010fe394bdd0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/es-AR/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/es-AR/firefox-61.0b12.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "266d24efcaeac7a06eeefa7657ebd9a3e33f79726890cc1c8b929c7a0dab38d761ef4cbd5514444540e58b8f2718f0a4bed832985bf2ce5d2929d6c695a7de91";
+      sha512 = "4f86c38d1c056259b7d27241d805575dfcb2a71afd593c638f0c3ed3488d9a8e6c9125735378e22fe7ed47bbe61d56b743755b6331e3621733dbdadf1afbec7f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/es-CL/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/es-CL/firefox-61.0b12.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "3188079a0ef7845a6157d887470d11dfa700e17f3a85012a4138529b7e21f44ed4034814338c4e231b2023131686984f86cf938ad2c437607659e971f45bc96e";
+      sha512 = "fdc42f6d6c96c24a08e0ce6a34bb2be21e314ddad090107e6640f4d761e2ed8304211f071ee6ca71aec7f3e36fe0b618b72da72a29ba12456a8a6b1b13392edc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/es-ES/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/es-ES/firefox-61.0b12.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "58979c9e00b285c61fa1ac30f0414aeedbc30185542e49615f943a1a7eec8a92be30726b090d275fe21e6bb7ed0103eb0e02e4d9043cfbb8752769ca9e20e5cd";
+      sha512 = "ad2e4d68fc63d93bba2267fda419e3e227ee07d4084673bc1942c3bf8f48a87af9b01f5639561ad302ed9f6ba325c8a4bbcbb3618bc58b8d0a6272bcdfe167fe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/es-MX/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/es-MX/firefox-61.0b12.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "182fa29867ce9a6c2f7906f3b81bd5e0ba33c6b8802330d3af27ff0dab863ff95575e72f3388cbf4aa1ab5e8a10e0cbcaffa4ed4873e2f1dd3f20233a3dc316d";
+      sha512 = "700e5d01b2f130dcda65df25121d09f55fbacc52ab58e2f32fbcbe2cfbc591e6552e4157b64c4bf31b3fc02f85bec7ea9276c948a023a89987ff1a1ff4dcae33";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/et/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/et/firefox-61.0b12.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "103fdd39cad73c256a76719b9f1bfe56b0f0ce9a888b63378a56968e01321e27dffb113e9580ab96756a8a8d397560b49ba69a42887dbc9cb2ab520583ec32c1";
+      sha512 = "e576b557e08ae12aea5db28c1be4fe0d48469196c854b78c750560325f29b347b8c2600a5df97258dd0b104a888ca2fcc6d03068a8ea78b0bbecf08022b7ca5a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/eu/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/eu/firefox-61.0b12.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "44f11cabfed645db051ac0e74d416de36832124cd906d5d5743317ff216fb52e9300df3653ab48daf3d5206783c97ede183bd836212774130966241ec7819a29";
+      sha512 = "6d2175348912f8b07b76c9c3750040efce9cacf3ea79a27353a2cf4ae70d6240b0b4c4d40c1c07291518da49ead715a7e8f65ef33be623365dcfd462ee237cc5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/fa/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/fa/firefox-61.0b12.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "c06676d1b349575ec4da0e7afe8f50bb9f5176d417d5291fbc3772176a0510f1b512d62f7f7e6377d5a886179deff4a48b4844550fb8fd1bf7d2cd110e16b916";
+      sha512 = "9c3f1e65f56421334108ac9206cbaaa4eebb761447f993037c1b6790996db9bbe19b2a75843e746e482cea4281ba571ae3874b2323efea10eba559a74f6d4e10";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ff/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ff/firefox-61.0b12.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "85503ac496efc98e642a12e2c7000704424ab69e01657d1db57e2af72365517d9c403bea05cd740ef5795838bab60992d23dd6727105e1e8e9952abe4eecd97a";
+      sha512 = "bb2600a4ccba282bfcc3b26a44cfd13adc72083d333613fb17cb927358a61f505c74a727ffce5943ec1cc37239e1149874beaf404699bc49ecc17397aa578487";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/fi/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/fi/firefox-61.0b12.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "669c6fade9300b3918b4f72bd79984eeba9c56f8e4010c062ec733c85b201ef152543cd42dc7c448ea4035672d314ee90ead6dab0f055763f9637a0dbaaf5dc1";
+      sha512 = "b1fdd37d5a661145173594d2e5ad3add713f1843c55c20d282c6967c0a98de7d91f42ee4dfdf54b482195b3ba7ed4e94dd65667632bc75df250312aae4d1932e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/fr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/fr/firefox-61.0b12.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "b4de90e91c977cf7005b44926283831d4f338de06513cb09304eea1ec6ec3b7891e0fea48c48b7933ad5cf5ec571f3b36dfadc5066b9412be5b084eb705e8359";
+      sha512 = "dd04b9c12290b0e54d7aa19330e3902cb131e9e390f091674d16a857797cd106461e63ef65be71fd912e6b8979dc534c3e66c89c64a2cadc427422e9dac22ded";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/fy-NL/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/fy-NL/firefox-61.0b12.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "e37e4d7be6f4f8f66a18d17c35822ba82b68a3004c4007a0e7bebec19900d948870293586fb9d8f27b4c974bc40f7d305545d920bddd22b9e4bf592debbda23c";
+      sha512 = "6a2f60be75f6e0812f4e7defbd9f483669a4c4a4d6d59a5bc8490a35e0520ec231186c6769384c768395e27ae660820fee8fa4e9d0049715e5503d4e55431623";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ga-IE/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ga-IE/firefox-61.0b12.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "4423d01af6bafacbe8128933ea27a43cb9d93a9e22edadacbe39131bed9ebb23fb22d6bc1ec6e9ce648cd4eb6bac72d8a58afc476fb2222542a4d81d183d344b";
+      sha512 = "b61bd25b1b9010f70c2deb0cda49838d89abef4c4c1ce0d2b7334195d9871957fc0aa4a38d278ccd05171671a92ab7bb1578331481492aa0a4cc5b5ec0ea75c3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/gd/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/gd/firefox-61.0b12.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "e19cbd917c6e3822804a5176dfe2bf345744a8f9a65e9c201fd34e610cf6fc8ca8c85a0309126025647fd0a251ca2b360e420541d83f0a66c9ee5001d46db916";
+      sha512 = "9afffdb255895026cb963ad9e24690710948decb53bc254e363cb3d96fa2aba3714748858e0d0158682678e8c4cd9cfbf6fde24f180e07ebb017b814cde43714";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/gl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/gl/firefox-61.0b12.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "bea38f7c3f9d79ce5dbe1a10c118497f110acd9c346fc24d377757cf28b35676f9df2fc7902f431feec1177f67465dd6d57a349209463e39514e4962f93d108a";
+      sha512 = "65c39926daf8664a306d85936421bdae622f16a26c86cd7c8d6ba928d5cb76b3fc0e75bb7b484317d7e6f8f2b6b00d016711f70a24f271051c3ffbc7702e80c1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/gn/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/gn/firefox-61.0b12.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "cd21d480fac0cbd1f06896c778d8dec99f5355944f5ef976522d4d893a6b68243b858ac64ef96fd69d3699cb6bec70368268991654d4119172862a7aed99f91c";
+      sha512 = "1c605598cf858fb46b1931503019f644fe1ae0e93fdc36193fde6e9d4667926a477e1b3b51722a496e8f55fbba2ff65e6c7209a2a3bf47ec0f5106924a1184f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/gu-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/gu-IN/firefox-61.0b12.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "f2374262b10dad0c20fc0e8700df88ebdd6cfadd2075ff66172007d953012038443964fc359f6266f0c02c6bcf4050549095bb5beee26efc23731049b4faed00";
+      sha512 = "b4bea06a476fac58407a54358fb56cdaf26853f19c5f87ba90d8d8fce27d959e333abb5ded0c960ab3faefb45abda2aa54c40ab1dbb7ae2e342e1601fa89bf9b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/he/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/he/firefox-61.0b12.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "7e2f13ff348c23e3f64e18619f0c39d1bbd57edba2ee22c2c50b1c03014f658be9b7c4ad15563286f87786d87fe983e607a70c338a6e906321c0ae321c521647";
+      sha512 = "997b1e8e7fb8036bde2785ec0b1a2fd1f3cc00bfdf4d1ae1697f740bb91bb174e021e632c167d9a702d924e457e689fc90e006c05caafcf6be403859b6267ac2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/hi-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/hi-IN/firefox-61.0b12.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "64b1fbb4fd1def6819bc42eb55df6e88623e94028517ee57dae350c63943927e455805463b5f2afb144c3ba8387e192df2f4355755f402dfaa2dc02c2ffa6570";
+      sha512 = "f9320e510318e83a879adf34d6e94637c2d457c4f0c8ce54794b66c8ac09de2224510745a3e96b152ba652ba070cf5184bbaa3afe2af816083115863ddf3a6eb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/hr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/hr/firefox-61.0b12.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "2f7d0ccd6ece526b82c03aa9af1908c976fe1b8bac37c6403a9162a6fcbe0fceb9f12e40cfa9877dd57df77adb9104511b0da1efe4c81690043b7718a4dd70d2";
+      sha512 = "1097e0020b011d160bd2a1c0c20676b5188d07cd6a818ee047e83ac07b83bf89e036fd7223c6fb978f5c23eb940ceb0bf840cdee1fd46bb303fe7d40439289d4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/hsb/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/hsb/firefox-61.0b12.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "72b9b8b82743d2d0ed4299423ca02e17d8e4d8415bbcaa9d09841bfb45889b391b15bc21dbf13ed96582253190d49ac876e1bda6c0758e9d5d0f16f815f3c036";
+      sha512 = "8c2a4f2d42fef3a3085660c2ef5186e0e2d9af585eb4dbb919b186eca8ecd391582e40e1844c3a7b8494465c1d052440f1d31c725d0a44ed9ba35ce071a2cc0d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/hu/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/hu/firefox-61.0b12.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "59e84fb28fe39c686d648f7cfd49341f66a0823941f4d9d14f8f310f9192a2cb3bc23bb54e12415633976e82184b8350f43839cc9734ba203259b8fc0f179ae6";
+      sha512 = "b080e388ec0d6a46575668cdb0867ae34b79f6338f401d1888020bc0469d878a5e717b70744326be1bc62eca321e41df6ffd8ee2e4f740d0a1859b6b394123aa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/hy-AM/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/hy-AM/firefox-61.0b12.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "003df5c384d23d3555e9b0d92720243f9e3df290367b332d251a2c4b3832c426d4cf09d5e00eb1e738e9d155aa457c1e5e6b2b3fda4ae429d14bdef774fbe78a";
+      sha512 = "367010c05454117230802a61b6ee00838905514aac7f06af5e612bfa12dc44e1bad8b642ba24d59242ef5cfcf67cb04165bc3cf08dc5e13beb8b754b136e91bc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ia/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ia/firefox-61.0b12.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "5d0b187b3fa398785c0c4d5901eb3e9d095668a962187a396e634dc2e90c46e6c352e1ccde962f77748a8f97292b1419ab7e09c23cdfd56e3ae0f1842abf0cb8";
+      sha512 = "cb6fcf58b49ebad81329cee4a9e4f5e54cdca6506f17df16af85f3f35c328e7a5ebbe4b8419f531531c79c2efc855ea2c31ad56dd0563b299df913a4be2a413d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/id/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/id/firefox-61.0b12.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "78b44c4aacc812973258ae941ee30fb9d325af19ee2b373cd6aa746e20a940bc2989e50ed67b35f62336f30ea81d66f18d55c44b6ed169360cbcb08b609245e7";
+      sha512 = "e8de3160e004a82b38daebb44b3af2eca63c44971296e6c4eb1e3dd7b65e516a00f40b430d740bdcaa2a500917d653de02c363285f243d5db0f09ede34322160";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/is/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/is/firefox-61.0b12.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "bc0ec077b4d2f736e9644b8332563790d0baae85e90d7f02326bb9056124b4a63066d347be524288d51cd213cd92ee3ff4f8c63e88c2345f6c3c2e2789251405";
+      sha512 = "dd4aaae6eb4bba3d4383fe736061d033ee2c56914711f4d3aab00fb965404b0626b3133cb57588b51148c13b4de6f090597ac25beb28c93660723752ea313c15";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/it/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/it/firefox-61.0b12.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "97516d02b2693972ca54c979990bc66405cf565e4ac6d544352a9da3cdfe9abbb1ae74ffe0b71fe71b1f0a88760ed0f7ce9cfe12f3fb3e226ed0e0ec7ed053f2";
+      sha512 = "5eef084981e138f49a12a9c188d5caf59777a8fedf905670a0151749dc964bc7be20c6ac848b29ce89ab7d51c9bad28ad51e65c2b2a80a3a82a8225c490ddeb2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ja/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ja/firefox-61.0b12.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "20fec5b84817ff92c773746364c4abb184d31db34f75c4ae8f88410180a59daff8f39d1ce865b964dbac47f2866dfba6c4b24756ccb2a693e7f0cf13100e5f06";
+      sha512 = "561590036c3c0d16e742c0877cef4f107a05ae13c9f4b030b08afc4633b64212ec359a438b0dd54d968cfe33d85c5478f8c9fd997ea0252a2869cce93cb6b6fe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ka/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ka/firefox-61.0b12.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "511f05631702d1a4d8c82b848e2919cf1102d88e0965ec17b14451543b0d91e1ca542bf455cffc1013a531f6a4ff13410a082efcd996cd491daf4d6b271151dc";
+      sha512 = "5ed3e24a7762da603b0ae00ae5bade06881b69369fbe98f6ef8ba800da2d66a306fef43a830f324238558f7affad168c08499d1757ded12612cad2d808cbf908";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/kab/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/kab/firefox-61.0b12.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "bd3a639c0377454098b70394fe1088d971fbd8be65eecc6d5076e7450a6a5092ab09ee3459c8efb2a34430889950b480e4863938e7c2862ce28a98a393e10aa1";
+      sha512 = "0bea4f9e2547361f39bf52552ee95dadea60cdf13e462ca536e5e08c85125823e92893b1f71653a3be01d250477fde733b362e31d218c1eb7c0c28d7dbe97691";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/kk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/kk/firefox-61.0b12.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "52050b3ebfe363d0fe34fe6ca27fa67f6b32f809e508e6df5c99239769ffd8d8272fa177f8187c53a45dc59533d5b54c5c9957ef177208d6f3af9316938c266f";
+      sha512 = "a7b9777cd258b64900771c9a9b0a17ca064fe5ad7704f775d5ab007146242971f16dc8fa43eafb9b6b1e595046bbe25efe3ef428d80e77889127b7d18f670140";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/km/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/km/firefox-61.0b12.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "84eec5c1740d64edf90df6ad363e6782821b665bf058b42373b5497daae22ff4ab99f4c3ac505f9254b0acf814dbcbd4588f55ea18af74cc71b1b54880f83f14";
+      sha512 = "08c45d608b04ef7e58fec76f1ff3988c701374e5f81b6c51d9cd16c829a014526c6fd358852ad68d46fac52975b0849c9ea9b60f67ca27c6608f25dd39c5e58c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/kn/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/kn/firefox-61.0b12.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "152cdfd619bf6c7f01837b7b0837d2e5ae1293d10045feaf96d8fe1dc6bfb290d4ab60ba8a2ee13eab4fde952740c67f587b010adcce5e7ef34b3b9c5e91f161";
+      sha512 = "6e37f618c5993a40bdd80d228a1d35b8b95fff02e74c62d64a01dd065b8f5e43c9dac296ec9f7d282897c1ed8463799aa4f58a93bc183541871988ac241821b6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ko/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ko/firefox-61.0b12.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "fd87cf3b849387194cf632429ae73fd3e2791d39abf341924606a834403ffdd4637addfeb6fe65660a8de533f1b46d71bbcad5a9ac8e779b439658c6a2586bf0";
+      sha512 = "d633acc7e741cdad5384fb7f48865817d952ceab58af67b9664f122f89eb864333ef174d046c45053f7289a44751c468891d3a39f71c3b2de3f56673a5d4f0d7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/lij/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/lij/firefox-61.0b12.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "ae57d2327a143edce6f1b459b3c0a1120904cb6e319a7f1c02bf221908d6ba56ee72b0223ae9d9e409b303be56d2162d1aeb46472870b9992ebabcdcc7579bbc";
+      sha512 = "43b9976d4a98134f2c83edbebb1b4d8de7c8e24ababd41719256aafd7c11f6cd1e89ccd6549246529e860303ba5ba41becb07b3e5cf722290b5bde32f602576c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/lt/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/lt/firefox-61.0b12.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "0f6afd4c33925472269070d7152b13132c76bbe489a8561db8a760d766df7a71f60bf23a1e60ff3aa6f22697eed1b64d079b14a4a5919c12cebbd87a5c21e034";
+      sha512 = "47cc1e66ca49cae1249872465c2f4b27fac6badab4a28c53118c06abd4ba3e43d2a4b93a556d8ab86add2446a28e36e532b170ba95eb505128de4720c6468047";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/lv/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/lv/firefox-61.0b12.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "6966b2f4874e12091679daa53b0da6a25a4190a251475cc14858d3879031c3b806d1d7cb37f851bc3d5da5f698cf4cf8a3cbb1bb365c060e7bb66c5d21c7f113";
+      sha512 = "8c3aa7fcf524a63670113a08ce3b31dc34c113c04360216ef5076ed33240f7a062a649fa4d0d95cb0e2749c5bc0ba33e0fafdf073b3c09d6d11d196aece24861";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/mai/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/mai/firefox-61.0b12.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "c52d814873cee8e11da15e30dea3ad85dbd6fe97262bc32ff246747301026b543927dee712d9a9bca480d5980f7753f3ab50ca01316524ad9b6bfe2e53476c01";
+      sha512 = "8c7e485363f6e16b3858f1c25ac0f6dae2f3f70aea8ca18c14fbc21c3084700585202fe0832d165f519f8c8bb312d84943d34f0f46c0e2127dbee4e8eb706889";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/mk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/mk/firefox-61.0b12.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "a794ac4ac3943e92a5d7ba56e4ddcf9ab803b41184c3fc3926b6bd0121d35d0061c70a10bbfa41fda26ea7ff445013358f7d842171235c01fafce2c30af2ac32";
+      sha512 = "4c063b9c4b8b6e1433576384d8707906337648dd141eef6672f72877e2367a33da87a420a621339b68abe786f0f35f007ea999639aa37f480b6cc9de278669ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ml/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ml/firefox-61.0b12.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "3cb7e29291a68bdaf5b57a8604b82bbac54af93867e8452b5b61515e3d7220c67acc09beacbf28e780e5aadabc24eb2c2371ff76aad8be6a836ab76712c40e2f";
+      sha512 = "32b7a4d6c27cd8a19bec4875bf56846cac63789f943c63b555fa8c4503c083a261cb112ca4a3077de9e5bdccef301c631e8beaa4e40eab322805730a9519e73d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/mr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/mr/firefox-61.0b12.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "355578a744644fd928d8f470a95573ff566db162fa4521beed09cc84d6c7b19509633ac48faa9e80c58cbdc4d781f5ca0155a986323b68ee7c7a968325af903c";
+      sha512 = "1c4607c713df330d01efd8f33d2defaf154d65e911dc5bdc9f30b67a7eb35d704dc474a5366fcafdb546438b157f5bd1c9fff879f9d15f00c028ae480e3890f9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ms/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ms/firefox-61.0b12.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "c91c9a810686a8d8e96d13109272b8cbae5dfa6cdc9b9a064ad9c5eef98e5b47916074c79958d7faa18a8d6c9498482dc1eeda531caf2ebe4c5b1ba9059017f7";
+      sha512 = "c611780fb48d09967fea62a8b9173c1eba99e56dcc2ae8196f1b29cf07552931a9ebc06010e513c652fdae01b32b1446b5409361d3f5f0c262fdd1cd715bbc0d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/my/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/my/firefox-61.0b12.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "c25b9f13da2fd1ec67c09dac800da0bfcf103f08161957bdfeb49a0d538f7d3a4811dcaaea3f86b6d166c440094edd31a540eaeb92d668f4195d3db4f25e7da2";
+      sha512 = "7fc59b78f1d6251122c5b91dc51753e1477b6ce4d5a0bc22ba813048cb5b6f6b05ed79482296ec12158c9f11be08a484f8ca9b3e4e77eacd1aa902fcdef30a98";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/nb-NO/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/nb-NO/firefox-61.0b12.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "e7713c599199f31ab6fe553e13d165918ea95e2ed5b128eef9fbddcb0ca102e7f9fe0787f3aae61a4ebda37d52d106d997f5819b7a74064875b555b6351ffcdf";
+      sha512 = "281f313ada351f060aedcb4b08424beb6a8518b45d9571eae15527bcede5c87a188c4042d7ec826484b9f7e643b20575bf526d3699e29cc48cfc4a6367744a37";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ne-NP/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ne-NP/firefox-61.0b12.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "23d0756367a3e68e85bba22fdef2d117dd9d5d20321a0222c783d0846a73f00439477129d70e7515071a3439800fc22f3074ac3fcf55c7642133601ad3ac6ba4";
+      sha512 = "05b146af2dffebe79f19e2f32b469633f1ca38ad190b8763667d80f434c94ab23723fd29a4a4680cc394ac48eb7b049df61238d2ed0fc995c730e7a27dc8a0d4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/nl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/nl/firefox-61.0b12.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "2584249a71274d4ba69436c423f75a84ac993e50b87fc4d3a113bf70ea2a48a86dfb201b3f06bd19ed3d5ae5e7aa5c3025c56905c8a0255550c0816f17badaf8";
+      sha512 = "279253a928dad6f326a16e6e5720802e83e7f15ea1eca1714ca6d2ce7035a79d16e3dc195dd64701b2b3c6a1d79c150706733d5bbfe02e1fcb7e911592f6edb1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/nn-NO/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/nn-NO/firefox-61.0b12.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "dc909b3f7ee3641c7d0250a9d0ef5ee2b0e89c1e4e70e81befd4dd2ddf33557cd52f2e7aff4dc469c4b9eff105cdfdb97eb06b7920a6253a089cede1914b2c80";
+      sha512 = "7ffd3a708b8cf8ef7b8293322008fc6f8765d1de4df72e7e8b8d320bf16f638fd068dc8eec4cae4a6a23387245dec1c7ce7341acd3b8c6cdd52af0178fa14570";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/oc/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/oc/firefox-61.0b12.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "5a00f883379d38b67f21af9089658bad971eaa5b16cb410cd3d9db601d050cd464e6a6413380e26a9a7f46bba7241bb16a29a55c7d08255b39017d2cbdf945bf";
+      sha512 = "ee3b9e8b5d092c966b8fbdb35b04bb25f3816a2f5ba72520372c65ae53163461d184c313cfbccab9a7a68fe4cddfc708671e3ea61d3400096dc168098be0656b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/or/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/or/firefox-61.0b12.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "4b9a8fc2d63a333efa3d2e8d5fa40378b2a58d1165438fc924024ba3f8c0d5716cb75738ba2b18b9673453a2cdabf2c506a645560effc68bbfc7d4efc1cc205a";
+      sha512 = "2f6a878393fdb6c7df042fa95e04db8f7250eedf991470e8affc42f27b0ac5526e50bfe926b5e44fca6d877aff8f1c7459f30d58cd961a77f5e7754c1d07a9dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/pa-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/pa-IN/firefox-61.0b12.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "e6411b8f71b597da9c1e4a5c8cc6c2c61f99319f46792145b675724bd3dbde8de9dfbb9b59fa004d5e4140df77929da2a9defe32dca321d5054b36bf90afc03c";
+      sha512 = "230d08f87b6aa0115383d926792033ab88860083a887d1acf9409466cc0f6e528e039277e37f75b1839956ef4bd237de8682474b6fb1f1519233088e89aab6c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/pl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/pl/firefox-61.0b12.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "87542203f11fa3b32b7ca203bcdfae1e08e4fea191d5e17764221a5758f45dc161b4c6d5aab5e295aaeb679d0fc9278a5a578f35bf7390ae5b2c71caa37275a4";
+      sha512 = "50531ee7a4bdbe3533d3fa94797da28c9bdb41c262537f7b14d8ab5c3ab7353c083e62d14a00678bff4b9fa3a1d7a6c5f2bd6cb1d0364a5d364de661476737c8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/pt-BR/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/pt-BR/firefox-61.0b12.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "a7812a6e6939ed9e80251f1c3b3882ed61769f63fb3cb967cedfbcf43a46a99fdcf01254b252d4a5a770d17eac622de3ec44a0b235426aee3e0d0f9eaa45d9e6";
+      sha512 = "4f70f26ce2779a6185cddb3bfa4f973b59a60fea1541ab0bc1dd8a58607ecd853073883823a254ccd353b247f141a8af126f491dc732b5c4a14963c0719788c3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/pt-PT/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/pt-PT/firefox-61.0b12.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "539f9969af49633ea8d9b2ff245815147dd792ac649a6858173eaf2be65c97d40c62d1c597a604eb7f54dc8f7f4fd4566ad6e907b7d99ecd2ea6eb052f7ecc8d";
+      sha512 = "19d0a557eeafc734e13c852f9222839a31c7e56fe6e100a75f3d64d7167ed78ccb10bc491724403948d13f0a1b874aa7568c648e3d20e5b41208a645fe9996c8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/rm/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/rm/firefox-61.0b12.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "0a905984476a7bd951deb5a4000d5323963e2431ddd9d13ba20c14ff62c04031677bd5545a7e07037146bb239541ebb2e9bdf0765d3ee0dd2f809b6cfbdaad4e";
+      sha512 = "10ea7f8eb8ecb5ace562b9eca4182ac05554b9cdffdab1716cab55685428ebc50f25738e71994c2da6b27a657411e409d063cda6d7aff2dc477a30d2d3c14eff";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ro/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ro/firefox-61.0b12.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "9797b3e7aec8b30629474b4e55261bb15bfcc3a482823076b1e9618a5fc1b198f31270c085e8e28e5e69c5e5b05de91eb3cf6bc2e5e90aba9bcfb1a07d60c131";
+      sha512 = "654cc1cb5bcccde12d486e92123401940ab00a47cd20e864a5424bbc0f37854cb4047fadd672fce71b976659dc0aa4082a0d12c25431dc0a30e6faf97531d3d5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ru/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ru/firefox-61.0b12.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "3f52823ddd0ab6eb63f8b75ced6d1bd1e398be1d4067f574e9ec9f95f51dc0b6d13f7f611ef38351fa746ca0e2cb3fe4f3518ff6d250bc97f5c5845453022a9e";
+      sha512 = "582c24ca9b4808f004a622b4bfa59b00df17a81425e5785452a4d9871925e118cd59d9fdc1a8854ab0a702be026012cecea48fc842b4660e389e37d5f11842c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/si/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/si/firefox-61.0b12.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "d1d5be36226929132f4f6ffbe462628fa5fb0a11c1680243ee1c0b8498a0d00c8cae56a7dfb502136e5c84e4e109fec7a5cd673fccaec444ff2a2503f2d2b421";
+      sha512 = "f26f9abdd9e1da50c7e4d555396bd96ac309a6aaaba9c1bda10925c16c3f8a57bbf26180fef93afe7ecff9ec49a41a51004450d738ac440f54071cc9c4d4eda0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/sk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/sk/firefox-61.0b12.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "bb846e1ed5a7fe60d00f456e3de91e5335b33c98835dcb0348002c80dcb0ca1e1f0d2f0ec0dd6f8cb5a57154f5203166aafb393681d21611311cd9479a7b2c7b";
+      sha512 = "de942ae63f311ce0e3a7786f10f9ee728060e520551a8c0ec91a31a74344dd373a18aec68cb1547f96d245536a669369569cec605699f85bfd8aefaf1d0576b1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/sl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/sl/firefox-61.0b12.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "0dc8cb7ca47985e32eec0985079808abfe8b1750dd91b6d13bd7b8441b344b2602467be9fa1fc2626a1eac37ecf98ccbbebd626287b4d11902b85effd0730415";
+      sha512 = "be1a0662549921cea469a2c40452a973daf47a40883e044455697c2caa0dfd6184f23a0458f448916e2b0f483d3ad228a9e3724d5dd46e2c82b38ff63b571498";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/son/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/son/firefox-61.0b12.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "4ac8d5e87c60775776da837f28a7b9b0ef33e73bb1589d1b8dee8a682df922c4612fc72c0027ca00e23eb68305a396e60c1baefe6b478271f5634560bc6cf3c9";
+      sha512 = "225527e7f8a9ced9fb53f7f0d3e11cf5a6745ec861b1e293aca467339a487bc50fdf11e2c2a0512dbd5532b4439651f57095b9b4b779d670945c912e5cc20901";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/sq/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/sq/firefox-61.0b12.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "e6c552b445034743158bd9276d9abf4867d76a3c1d88d08fc48c304f4ac6e174e6e0b51e6a7539265fd5d0ca1ad6c2c097b7b169d9d865407e5963dd9b2da01b";
+      sha512 = "b8f1aa044caad453cb0ee492ee8204ed5fae05d5f7fd1344d9dc2ffc0989e9b089adfaf486f3b09f38534af17bb35e5ce183e353200c3b5279c566a86f952bfb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/sr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/sr/firefox-61.0b12.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "019ac2eacd87fdea52e28cb48f79ae85d2fe022a86398751c5b30a7c069f9f3ea3a6ee74577ab0984c02bdf79bfd35dcc70f6e2d3bb5bbf4f767befdd0803df7";
+      sha512 = "b31d69a2dbe85f7269c994751ea8e5c43c3b134be9843ccdaf0c2dfb3d5db19635a9d998bd2465ecb47c02b9cafaa50329d08a501289846eb80097561cfe6330";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/sv-SE/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/sv-SE/firefox-61.0b12.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "1fa8bbf9741e517a944f08c484ccabc0994ac7b72fba3fbada9cc071e23c1381c86f890e2d7421a2aa2804bca599901215f7aca3e14608572e78b69b2540c58f";
+      sha512 = "08c58b4457122713139d7d5db7bdc1fb10cc3c8789b7052c95f868722c84679919b8dd5ec11c26343210ab962566827bfd350007f2e0207016c36754a4a24266";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ta/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ta/firefox-61.0b12.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "fd5d13d75e9a57bb1b49086a8c2cb4428ebe26f7c082c34fb84ec89311a939f17fea415a28e43922d8b03faacf8f9b06c9d3d53d89ef9a6f16ba23709599bf36";
+      sha512 = "dbfea11dcb74aa27fe3f0a3984303ba813df0ef0a958c2fd43ebc215d00e7def02dd31e2450f98179250deecc98db79880c973048f53d72a6792591043fdd792";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/te/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/te/firefox-61.0b12.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "1d7833808bfb87e47c126e94fde2fc65934f3bdf8ed7ae658e4dffa18150da6f61f444591df4e6ebda40cbf79e193ccca1bc799707cf0b9386b14381a75e6147";
+      sha512 = "87c4bb3f356698e2b7fe2968c100384e7f74b2731191d1cc4aa6e8dc500e5cdc94c561d8b06a2b208575c85b68abaafdbcd2dfbebe31ed8cc15d7acf4bca3fa3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/th/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/th/firefox-61.0b12.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "19b8a299ca06060cf194da9f7c454bc569567e9e94ad752f1d8307929f29c3add0fa9af26a1dc528bcd083e8f5b4734da4431c263ce8f4fcad02926e4a6c7f3c";
+      sha512 = "2dd48ccefeafd4848f480b24bde131667e87ed25fff8fe119c4d60bbfc114ad68ba350980f0eba9590c26eb631fa77db5873ffe72aee3a754b346046e89fc0d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/tr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/tr/firefox-61.0b12.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "7239236aab73b17299151e3c37a4eabf108ae0d6cc336ea3a02809c09daeee3ec403187560c975d25c5c270ce31a58e2cbc09a780cd281b35ca9362ace7ae42a";
+      sha512 = "cb2923deb94acbd7159df685fbe44477bd49d9982853d30567ac56fb17849f215d7e462a9cce9f4a5c467cc1d9632f89d956881fbf6ad1e90b9a58a549ebfda7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/uk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/uk/firefox-61.0b12.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "033d95f4400f3005bad243c2e7ad87d20bde5bb4f2ea0b4c75fd1b1d0bf558b4efb811494617821f1d3128be18856e906bfd5e2debe658f4b28cebbc9fe505f3";
+      sha512 = "24931a8ffeba090ac00f32cce09488456e153ad267b7f43f15ae4be3921fb4547820fb93baf5f15695ad003c5d7716c1916f7742f22ba09ccc71fbb6de602885";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/ur/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/ur/firefox-61.0b12.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "ae98df054497fc8c9507a73cd7fab6beec9447802851c718f6d6c13b00e05593a1f324cb7d7d6aaf1528208f3f55d0313caaf6ff4a16448d138421e19f54dcf0";
+      sha512 = "900a307a41faf1c1e3663e4b10ae7ef7972c3ce010c2e3098396dedd8d882c2769ecb5bbbf57d2b0cdcb21d3bbd898f508b4851792eed0d2e06a03142d204c69";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/uz/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/uz/firefox-61.0b12.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "2e7e27351f909170c06454930d5a050203d59171d8ad3879bb27bc6232740078626ba726b307bb0634eca025ef094b1935c1867b37f68dde8bd61ff0ccfb0c77";
+      sha512 = "0bb865a14e5c9c33679c09f6fab5a1fea12a41a7c561e37cf20e02b2c424c85cd766c9e4769ac199a8cd6341cf3950cb64c15776bef1f8b992786c979ae5901c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/vi/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/vi/firefox-61.0b12.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "a9eb501ebcfbb306a98c8f04787a7e04463025614dc484bc94c124e2d56df648fc7ca882e6462896623acc5a1a6521dcca7310da08899da207b8c9443cc8f59c";
+      sha512 = "b45a9c119d16b7d06199df2ffa49d44ca54101d249354e766a06dec3b7fb9b126d1badf9b787268846b8f0650ad033382c1a9a927bb62e0d260ad4c5880b5a22";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/xh/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/xh/firefox-61.0b12.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "90f83bbf142d5c2829f45bb1db915a64e05e1c08df0299e80c447f71590a815f8a2f197f035ffea7a9515626a905211b8de9597d24c12ca4fc38b1bff2482b06";
+      sha512 = "a183e4a310e4a6cb4f0d98daf230b38c5c1d1852b8144f4fa8d56b05beea0e1b42fe4a243a5e551c366a9d724eeb7677175331d1b812a54151e3e0e64ff31fc3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/zh-CN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/zh-CN/firefox-61.0b12.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "08732a0043ca0d2cc98eb60ea8a90a9c43450b09369800e279f2fbae3efe765afd320a1d031854129916389037f6d7e2c64188ff777deed9c4f7c33c3aaf7b69";
+      sha512 = "efef2f01d1dbf8a53dde1511e71ad33c220c76fdc8b6c9a68067f69d58149d613f7bedbf9952dbda386834f14aed4aaa798ee3871a6d4d018bd432ac52b1eeca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-x86_64/zh-TW/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-x86_64/zh-TW/firefox-61.0b12.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "7b25a828a7f25e231f8133025a66cd2c2fcb4ee9141471ecb925dfc919915905763a2c61dc95cf4ddcd451e8690a27c0dc177f29ec6e1024b6c8965d36f68df0";
+      sha512 = "9b247086e288674c0b38a6da4658d8363d616cc0a518d54bf8a7f46a5b0b1aa40798725a45a09162bf85e4e07a9bba1a0a5b80e458182fba92f27af6691b4fdc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ach/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ach/firefox-61.0b12.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "1c425b2a712b815c592f0b051865d8b4879f9d55908945a43fdde6687caa5383a196d28283c6d66dc5e7344018dd5cf5761d1c3d566a8a4cba146d6b24b121a2";
+      sha512 = "b10f1bfe8fa0daa5cdebf7dd67cc79b2bba5c1bd01df11ac6157f557759737794dc591b8253bb2f911a9157145d56e95c8cae557319a2739c19913f3e85e0f5c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/af/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/af/firefox-61.0b12.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "1da13350d4e51e717f363c0ac8ec9d0e7c064e52f5142006e1c59f265ea1039edccbb3fe46877b1d08ed1beaaaf3960d9a060da91da0e57c887c2861aaeff641";
+      sha512 = "479ff91b7b4270aacb02230de29e111204951c194bc70b534d34b1965e76b408340aa2d6e3c3496d43ff007728880bc9c36eeed33a2ca90e48e2375ebf6d158e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/an/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/an/firefox-61.0b12.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "d0191fe2db7122058c18e77e8689426f01011ddf4360a53d523b8415e6ead69fafcc5c987d8afa11b891b16bf822f456195433ef45afb4718df41038ad21882c";
+      sha512 = "ea0b543308a21b7d364cba55c1a55be6c87acd86133ebee60006ac9bd73144b22f7c4d140401175c1c7bdca95eddd7a63c3cd622df2326b7a622664424f5f801";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ar/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ar/firefox-61.0b12.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "742c9087bb14b90bfdce3995d8a40dd540dadcc298fcdaa36615c27baa661d17dc95cc5d8ddfe5ff039d897aac7994c08c1420adb8206ab473d113c3df0a2c94";
+      sha512 = "78e9971aa0e31e37be5a8373109dce66eba95b444f2cf830d08566024f1260565903552708050f6428a755ed2fff727cf0ba177428d505de568c976118527e55";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/as/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/as/firefox-61.0b12.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "e40a96838e428391e4a8bffb25ba694ea62d6177ce5aac504cf37eca763406392c9471731d10f7fd220510f8c4fcb793c02b1393b25faaa8ab72d91e27f29e45";
+      sha512 = "3d915d481b88156da4700e7b7669698b23f4ed761d808c3d3ba57c0ae54b4ed7cef38ce5cd1def3dfbf9fcdc8333ad74e376c8f1520ca6f05a69c7b3758bb1f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ast/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ast/firefox-61.0b12.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "7f2ac35c4688314bee804467eaaaabce38f671c6ad4bfabcfab989984df67ddaee24e6787e11447ba13c63abf69d96a0bdb62aa66e4ab23bdc81d7f2549a162f";
+      sha512 = "1d160b65cbec0d222aefbf1ded97bc131398e7c10ef9e4ab03e0057d59f2999f1e0d79b7466f522923e286f48afea8309d98d2c1e6b1c9c3a81879b0471918f7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/az/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/az/firefox-61.0b12.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "cedec6c0c44689b1608972dcb8774e9870b9c90f41d91cbfa546bd37335c771bd0c8fffc7fb488b4a6e1d19b3a5cae87d54639abaa3a093189e2f48b5cefd5be";
+      sha512 = "db9556748397f222b01776df3fc920f1d75d3b89ff854c17aacde8c44777b7b60c2a115d80fbc5af9adc14e81d1801efa96c83bc3fb64aefb886f79f0fd09a80";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/be/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/be/firefox-61.0b12.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "e74beb5d364761e9f00fe4dc9577f036ca0ed7115c107b55109ec0aa55e4fd726dbb9ceff93939cafb2bb0015bc349024496864eab95dc9881348170c8419545";
+      sha512 = "7a4591db7d7f500c969def96949ed441807364d5afe0bbd50960d3344a91afa11a553047210f1ac5f820e1f266d2974aa516c50f8f403868544b8adecb12719d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/bg/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/bg/firefox-61.0b12.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "bb3ac1cc0bd269894eb2362d2e2199fcaa8ea2f906fe7cfe389bf7ba31b24679d5470d30fceb8427a15970b549b0e851d85a4db2da65bbaca23fd5f7fad1e9aa";
+      sha512 = "418c8fe10153784695829714b50c75db6c380f22abecc596555646ed00d6a2f0c94d1eec70f000808f6343ada728b69a1d504e910676526d50b5fb1a7148f41b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/bn-BD/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/bn-BD/firefox-61.0b12.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "403e148a7de182cd4a78495e80d6c6a8ab8b6348a6d1c70b56ed1e719ad0c49f433b3210d47cedcfac4dba3902ba6435ae0d9825be5856e32b7c2cf0f5cf3f8c";
+      sha512 = "6860c155ae24b95ac5e394b6e73d893b904ec63c057bf361c9afc3ce6cb8ef085e086e595da8f106092641f37bd5482cb4e07655882ea35e18174f2ca7bea839";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/bn-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/bn-IN/firefox-61.0b12.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "4513f1855962b1a1bfd1cecd6bd431fc19a19a201ef4ee715aa0cfc192aacb1aad9b7ccee4da99a89b5ca62b0ea7a1ab0bc5ae98dba9695bed2eca6d56ce4f0f";
+      sha512 = "a381c1c9d0a0b366859d7ce48405a84bb6fb5a116841cfb7e0780c390e42795a095f74727dacc20ea058f7f9c8c85e22e1da06133a10d1106e4d41dd5ffb0ac6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/br/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/br/firefox-61.0b12.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "9d4a52a622f174d1a9e6758fd19abd3579fb4d2e53de2eb6f8cbffcd6f15d533682c4fc802b62b50e2282fb51aa966fcbeae519402ef8ddcea9f8e0352f3ce16";
+      sha512 = "3556210ae4bf3d2062dea53c267bce8dfece29bbf8f485eff398f76b9a4722b42408dabe34b4ce4f3eeea18a3390c17ac0fbfd33133ea5c009d13e7290e5f624";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/bs/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/bs/firefox-61.0b12.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "be101428478a333987464e6df2e70f24c31ce31a5760405ce511c3c2af4c8415d51204e97d941d0f8b0ca9966e439835d4f295cc0f96c73e963b59e230a5ddbd";
+      sha512 = "52aecb7676940adbca112bbe17feb4f7946684f54f5a2111c08375919f78690e1340599beae4c886913dc97c47438c4962a2ab78ed01c29f235b9f8c130433b9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ca/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ca/firefox-61.0b12.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "74d30138e89a1078dffeaeccd477fefc5c508bf2c4ee4a88c5d100c39b112056c9636d92acb642ce8cfe98239e08ec2ad193c034dfaae6137da5dada030a9917";
+      sha512 = "b92d1711a552b96b9617dbefd917124764cfdf6f79c657272a0a12bee6d79eb2f02228f6d7bc23002ce104f7475c28efc0e4d474f444349a1751f393915690e6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/cak/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/cak/firefox-61.0b12.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "634feeb47538b8e018ebad76ae0be0c30154b25ca478852f6e773d9eaf5a28945dcdbc3eaa7caa2f2190f840497bbb6bda3ea38721ee1e4faef8676130b21264";
+      sha512 = "86d6e0f2d427d1fd6c8bb1c33ec8594e63f2349c2bd00faecee0ef5d0d24b2baf9b7a8f40094170a4c9d737c978eaecc7c74f0377fc1d13fba24a9db6904de1f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/cs/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/cs/firefox-61.0b12.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "0821502510822b9d1b239561f0b515ae80c1b20e3d97b783ff4fd98fcfcd86859731d5b3551d0f59fe7bf9f478efc6ba914eed0591d6dd2548fe27fd1f50c729";
+      sha512 = "53c5c1b07f24c9c0510d40860b6944d613b3ffe4b752029ed9a32e89bb9b699fb8cb54ab2f25b9222aabd08255197e44e6cc3797bebbff1392c5a65ddd1a460d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/cy/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/cy/firefox-61.0b12.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "4bad268d8b10bc3422bed446c53ac2d52a48b636455531117a16f4e977b1f1ca43093ecf484f3f09cd2f021ae5dc390320daee3e2e863b91751db4f82b32a9be";
+      sha512 = "4f634916df6f13916858d4bba56092ce8224fbc693c7a466ac1636088545c268a607f0ae986f0ca58404668913565da9ddf778a8aad0fec2de040c87c20edc12";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/da/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/da/firefox-61.0b12.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "5772be3713075fd78391494460a3e16b72202bec35e797c2e560bed9bc91163d61358fe76710e0238d9d4aabcc7bf8f06d08603437a80996ad136357b882f0a7";
+      sha512 = "1c35bb182112c13667121588db9d686f5797a29acb7b3515550d8c8631d3420409678972233bd9fd08d477985d796fa51e7cd7f5f72e05b8476d4451737d5479";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/de/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/de/firefox-61.0b12.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "949acec21ffa40045e3498970c867bcf6220814d68e4871521db3f03f5094dd2094a5760c29e505bcd2fb7826da2729031d49815cfe1a71373014f76ac29ddf4";
+      sha512 = "02b3897e181b6427e6b713e97d9b4ddb6c175091796577aa7c726ab0d865520a44435f26425ffa4e9f78a9a73581eca30e82a4172d617b15c6ab9e42caeaddb5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/dsb/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/dsb/firefox-61.0b12.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "0159c36db9f37cee06d66b425f0d8036f68ddf99a7459884faa1dee31a0d91f0c0761b58ae0f69a40d5efc1a73fc930a9e1e02bc401797d8c2e00c6af125e03e";
+      sha512 = "82fc4a58d0a0a49f8b96d4457854ba295f11c5880716c517838d4329e5cd41044dd26b4aa20f036fe664cbf8813e4622ecc3b2069a7629fe6e03e84a87927191";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/el/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/el/firefox-61.0b12.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "16ca273fbc2d77391325f8551ff548344ec59b65a869f2e4ccb20545ee28b3cf1dc15006a208285d33765ec6e200b224eee3272fa91e988a34b671f468aeaf2b";
+      sha512 = "e4c46c68f9a2551969a06dcf55a7fff30a53b52896c3802ec7966d53e4527d986c2d15d7eea3a70ab90cb8bd8414de20e207ca40afc7866bc13cfd47524a752e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/en-GB/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/en-GB/firefox-61.0b12.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "9e31834faa2db1abaad11261abc17c19d82a42dc7eabd3ba796f542af83bcbea2cf0a234de32cd023591ce5a6b4a37b35375cf0e1ff470500e56247c8cb69560";
+      sha512 = "1c478b893c558516988c273f9b82e27e3abfc3db28f83aaab952a9df5595cff6a0044ff8054f172d7ec71304d65ce0f67a682b9b0008213cc9a301e24901146b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/en-US/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/en-US/firefox-61.0b12.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "5e0ac9a0965f9674d4d06afeac7aa0ba35987e683fb29e1b77d22097f98b5d1c57599d6e22d191cf02363715aaaf3266e0fd79aa3fdb2c47c3fb1ae83bd9ed13";
+      sha512 = "1750541362c668f517431b6abc5d8096f0436895f85134ad008cd11d589a0b89b6aba7b54ad2d4ec08164d1bed88a25ed9c279cdad07b996657caecbe7f946bb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/en-ZA/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/en-ZA/firefox-61.0b12.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "73a3ba8c65ac491b2eb4f16929f7858e91ee021b3dd8ce6881ece2a355b112c0f5629aac0eba02be8d50f522dc37f94dc7669bc5b421de85e72575fc689ba14e";
+      sha512 = "71e632bec1a0d3b4c95d4e9ffaca97e18a0d936e4c7be8c2ce3595672d28fc7b5dfeeb73962d189d83b64cc4bad0e4855d80fceace8384c76bec8bea5d8c253b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/eo/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/eo/firefox-61.0b12.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "e14ff47eb986fe81611bcdb2c5896aa9a90ca8dab3fe1308fc18f8d13b066011ab04cc081a9288522bfdb40844555631d15a4c643f18b4dab6df950a191733fe";
+      sha512 = "ae28a8f714639b150103a271254f9deaa405d86d9cfad0f4dc5dd2d198e64a59c9b34d7ac2e3eb723ed629452ba94de0218f7125d5e40cc1aa9f5e3bc7eaf17c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/es-AR/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/es-AR/firefox-61.0b12.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "c9bbd34edb7640875921a8f5b8ce6c07f3788c73a544e446e6fc0c011e875e998154be7a27e3296358cea505ad2b318ad4a743b0c56330b6acc7a82b19bcf8f4";
+      sha512 = "91772cc444e2f6e56103d4635c6eb3861b22a4d5dadb440f049c1cde84901b463fec3305086ae224c98e321b867ed556d7831de33cf91facd7d99a2896b7202e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/es-CL/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/es-CL/firefox-61.0b12.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "9e3eaa81e7eb11000e67cbffb0ce227ad1983ef4b29bd138e2c99895010baeb0af010876d97891b147244c531b05355440bb3ced6310c1c7bc0117b2688b95ef";
+      sha512 = "9d4a2209c1a8c8e620de33c43f80e09003f08f97f4bb551839f8ecb877967261f9e8b3e87449c3e2fb659a17a0ce408c5b4c3386f4551bb9b49b57347cbf0ce9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/es-ES/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/es-ES/firefox-61.0b12.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "d88b17b23dc4768e3368e505604828085baefc1cb5ff2d350961e40a78fca10634cb21281699544f8fb42fb167ee18955950fbda2f1587a2054d0790018934d9";
+      sha512 = "4282f1ff6a953a2f7f30e7adf05470022259911c113a0777dd614f7cc55190b764be66cc025c4db1a65118e111612422ab02794ad659940bce9d3cec448368f9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/es-MX/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/es-MX/firefox-61.0b12.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "a6c48a51cfe4c640b7044a168258c7bdf4ebfa4cf19c4a4386a87056ae0183aba1a97cbddf87ee9b66e57520ae00a24e1a5a6acd0188fdc5e1d3be63af6ad245";
+      sha512 = "d01276bd4f3e740bf61f5d6553dc0252bb367117db56cc9b8df8df143df0db0c2624e81a926f363d9a71963f8ff1c4412c7cd41b8d7a7be7503a9f3177ce9b85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/et/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/et/firefox-61.0b12.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "73efbac7c210914940f459db4470dc75187f2afaf43969cf7bc8604304c2fc77e384e16952a9870e9919cc60a1f8318a497997bfdf12593be76eb747c8af35a0";
+      sha512 = "d48429950bd675d120dcee2c078d005d87ef84eb29012fad143c498e87962561c0f75f43f841374ef2af898e3ad83b67287a1bd200926bb6c35026f40fe5d050";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/eu/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/eu/firefox-61.0b12.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "2134fb5f94cb9ffdeab346f854e1a53974dce2a034589b1fd30699ff721d7c2aab2e24fcfef54fac41d9d781fcb5f83534e9330572fa8a76d5a04f1295bf75fc";
+      sha512 = "ca86788fe7133a03b4bd9d1061da03d01510b5f997a5bcd5a186e21310889084053d2109820b8efa62cf0f1526e89271e2460a28508653e32ca34caad560ab17";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/fa/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/fa/firefox-61.0b12.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "b4ad171d16f8ea4331febcd5c875714125cfd15639299001770a25f4d671c868d3c7d1a058b2a75ceb7e61b458901bd89536567eec4654d04ac71172a1f98e90";
+      sha512 = "fe3f9fe8c832333b979ba34e1328eb11a38fd76cdbcdb9b19a4669df8d71dd7a34b0518ae5b9e71a1a41777fa1dbcb0ed0e4d0727c5d1eca56a74271dfebb3f3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ff/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ff/firefox-61.0b12.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "c114b3cbf9b16bff9935408d33f5ba0f92c96daeccd1602e07c7d730683e3585f9320d7812fb1489e983fe2f197de285ce7e30d4d98fe944005cc1889e0d5301";
+      sha512 = "7d8b940a57c3c3b019dc83abb63e7f4e6222f3705197df3114a560d676ce580bcfc119531f9f96f168353fbd4b12e58c107411ee62f152454f9aef33decc50ce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/fi/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/fi/firefox-61.0b12.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "e1005f991a598f5fc2f45bafb3d2eced8b5dcc648680fc0e0cc679f13af5ae3cb0fde38e9cfcc535afb2dc9b6dc8ae7fbfdd22c86b1c1818352a0915439e5f64";
+      sha512 = "2ccdfc0613d91e7066c640f1b310dedf0e1f6d89bb3d1ae71510b22bf63786aaf693211586fa25181e5cc183a5d54966c43f8cf60639f66679248fd3c7b3645e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/fr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/fr/firefox-61.0b12.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "b720ef0f36115a388f94fc99cbbc39f2f40b2b69d0740aa2598543cdce14996c889b9e068da92af374a508309161995178ac003cf1172893bb1cbd5a426f9ef1";
+      sha512 = "6a88924af75101f52b354e37756b9638320865d726560a794cf02f65b3c0eae46eaae0c980ce90757250c94d2eecb76275915c6a1160d39514201f261a24d239";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/fy-NL/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/fy-NL/firefox-61.0b12.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "bd8cc5a71e69d8a2b7b319e27ae8df88832d33d8107aedd54f8cdb8ec8b87eec89b718a092c4b2d414d7236f4212ff901041c06455d9eb939e26f14601563584";
+      sha512 = "06a99118ab6a20e884bb7771a61093206fcf7230d097f606d8a162144f00493811f2f462db2d75d70bc7e8284b4fe82f7462e7382419b08841da5d441f8524ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ga-IE/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ga-IE/firefox-61.0b12.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "4798d957102423ec6e4acfa622b58391542312180314f2a02f52a4b9874687b1e4140f7fd13c939dd5f70fed9dcb7bdd168fd2dc2505d558f99b2d6fc8d7ce70";
+      sha512 = "c0b3695a8e3f3f8ff991fdf861823964129e142872cd79eb76a588eaca71b57c8742477a5ad455fd13d10e344b5c117a4a101e65d18148958db62315a572252a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/gd/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/gd/firefox-61.0b12.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "56a199baaccde45bca1a640f81fa62530cc932629902d50aca73a59e28b7a70c0d9679d21c16d3427df497156a2ef3bd718da99824ccbb323c8af695d4fa0bc6";
+      sha512 = "047fe3900b1e904d9f6d6ffea8866e56701ff269e6589fc2836021d1a841e7c524f25db5ccb00b91163901d8bd3a89b27fc98a1affdf4119351f96a7aaa56429";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/gl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/gl/firefox-61.0b12.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "1ba62b6ef66bb8247c53e38214aa15c416b6a64c05d094ee0a51bc4537d01a732e00c6515269c3f86f22ec6c580f47ed5f1cb455643100740cbb7762ae6c3fc7";
+      sha512 = "5c7091e0f42d711f4f65814cf2b1745c14889d8206530911216b55443d75d9fe43bdcdf7b7221dd7a316553de5ee4327f1fd50fc9143d3c333926c2b22755f7d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/gn/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/gn/firefox-61.0b12.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "1ab4d17cb5e2abb02aa4550028e15ad92712a2841bd0385932f62d98d9ba1453fa91ae1a9841c444ffeb7e96d469bfefd6ea48eecaaa2fcfd5b822ac839eeacd";
+      sha512 = "5bff9ecc955a5c40afe27775c255727d8eaca2c48e92065edff3ff841280b917b89ea2c2a5e53115959ea14b0c86a60559acf802fb74707dccd92241e469272d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/gu-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/gu-IN/firefox-61.0b12.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "cfca82ab95559801654c140dbc7d9d7e86cd605e59511de92d724b9fea2bbb027e621eeff10326b94adddeb9cf5e29ee73cd89aaa54b803c664830854fa19a9e";
+      sha512 = "e210b2a52074d446b835a47becb241ff01724cb55829665a3fd8661ff25f5a19c2f77998e678d485bf14409c8c88f1a8850a1717d08d1240dd844888ddb2dfec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/he/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/he/firefox-61.0b12.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "056b45b614693a0cab73b530ffb9bc50d2174a2771cf9e932d1633133e02a174305e8773a7fdba1dc2ec4e7189407b51354a8d3c13d1c9639d8f4337029e7d35";
+      sha512 = "790a38a052543e13974134e9366f579a1f41b5c6c9e0c7b56c6bce0d44d1a9bdc04aa9a57bf035293b0fbc0c5ae02c7181673d5373b01c63579b4aaaa3f66ad7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/hi-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/hi-IN/firefox-61.0b12.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "37df62bf5dd1ba63b31df5b736b82baf8cada43a2fb02bfaf97f033d684d6ee8cb9657ba0531a806796facc5a6fe03532bcfff0e30c93d74fc65c7995b323080";
+      sha512 = "a987e5e132b4c5efbefe700364e094502b33471bab25d479934ff25cf4e6b614e9161d1d8f113852fb710ac7282d0c5845e5a1e0e3c3281db86bd79a12d27551";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/hr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/hr/firefox-61.0b12.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "537a774e8fdbfb3ed3bcf306dc995d807e17904c5702b83c1fa24a665cf4fc8f2b00f9327bb02c13b8dd73ef4128f676a115807cb5e8a8b85cbc11c308a0a6ae";
+      sha512 = "156bce37c7224b01c5f0929ee80a12088f57ee215f875125f646f7258654a91210792d52ffbc8e1749f85c9bf174d633f2a787160be01c8821ad6d1cd8118133";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/hsb/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/hsb/firefox-61.0b12.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "ec7065a86da1f23c1a48478257b7c985c95cb14b40297f2bf25fc10e63beb8148f8df30c61a719c4148abb62d920bd771dd412f47e328f9641d0525f3f4eb971";
+      sha512 = "0eb4815892e9ea61a9a7cc258c891c674df6abea2f04551f30a4cafdc3e4a190c18a6413a8889060193a3481ef19833e6703c2a7f527e718fe13222605d78ed9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/hu/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/hu/firefox-61.0b12.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "43a745f61271a3d9805ca9a94c69fe3d6f05fe6072074dd6b3258907f185c0ee12cfaa7e32a948b35053955178d518ae2498997b1a597e4fafd023cdf6b00a44";
+      sha512 = "3f1e5afca6e56f251631931799be1fd18417b4907a7f075c9a4d78a46afabc482b3e6df0ade62dc5013e4e34f0080411c3a5171f8ece6bec1d0723d2d5930c0e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/hy-AM/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/hy-AM/firefox-61.0b12.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "b26a54ff76d79d960f4fafbd4871e2e8dd7f3af2408984fca74c326693a26e28809844b65de6684225923cb7029e8139268d2222d058ddba96d273dbf1180ee9";
+      sha512 = "f6897f07b122fd68e96dc502c3df8489d967a6bb5ff48f8b4fdf07de646d89735bed686dbfb8433277bea57fdd18d75ebb28f755e40cbb0b7d2fcb8cb8e87cb9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ia/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ia/firefox-61.0b12.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "d8e82a6a104e7f1bdb85dcd7f3b292c9bd066a09789299f893f4e83a09a794a0187276636a2c65cbb50f4dbb1b85bbd6afd934ec184a57ccd5e670242455ef20";
+      sha512 = "4c1e875e73f0c4afb5a0f8ab5ec40f520ff2734f060419e8d3bff5e9f533774d1a52b554b3ca8c6a76c3286bc70091a1ba85a8e00cc2e64d6fdb3167be3f13da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/id/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/id/firefox-61.0b12.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "34c7c48ef40d7931f62f4ebed44e036cb171d1f592017dca740c46d800f03a7bcb5caa7312a8fc845323f157d7dc5f8c5abc75717a4429564acb858543f44d5a";
+      sha512 = "daaf0fbef850fa277f6089bbde27b58fae2aad022df5cfa5428e81eb5e65fd8fd56b17466c6aa2ea9751c3ffadd3227100903413a62f696f134310f33b894a47";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/is/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/is/firefox-61.0b12.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "432b759025ec04752d12198b50ae6d883ed26fb0ec568a5644032ebe42cdc8cbbb5f38f08280ca6ef1790e104dd3af1fbbbcc579ca5cb18d8489576b8a20cf63";
+      sha512 = "ee7af4acf4191578cadeed746b4a333ec072349dc7a334d4dcef7cfef4b5f6cdc736c0d0d465d809e564da7521d1591a86e0bdb8f059216f29155b99a8eb4006";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/it/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/it/firefox-61.0b12.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "573f25755af311fb3a4ee7ee9aff172dfcd1ee17df128b5742dc67ca651e71f279ad378b95745e428ce9facc47b66e763c297d35963d3dc11fc57e4b3415e9cf";
+      sha512 = "548d9492e0da5241936c3c9bc5b8ba655a4334118e3b16758f3f96b53ee6367c9403f02be501375c96b60e20f9a733408a953c86cad48116fcc07b7ed907167a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ja/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ja/firefox-61.0b12.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "41be1b052beaa4a58466e25b7039470c56e6f9b0ae22e46c38f5e10cb65bb1500df50810273c608fc83f73f0f103be9b4fd63add9c73c3f3d855fedb241c673c";
+      sha512 = "84e44c54977bd37417b7cc92ee7ffe51a5815a3a63559c53026cdf703931c418aef7a16e81b8a038a61209e0b246cc2d16d73a1ff42afaa81792e2250894b168";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ka/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ka/firefox-61.0b12.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "25e5e82f90491793e7663f956e22f08581f071ee2e55e2194925cd73898498a6cf8a69652b0cd0c5748db107a08f47d5a38bdfa89e380f3b5a9eb6ce3b3eb967";
+      sha512 = "f315c726215432bc8375044714ba66f1a02504d0ac4ac75ebd2eccddb69c7a05eff6ebaae84f7fb2a33dcf8571ef231e4c130ae168f00874a4fdcd04b6a16491";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/kab/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/kab/firefox-61.0b12.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "0a4c168e17efb5d7789269e21a66be1fc9248d07feb68c956b7a7e179c961c2e05c1e6b687efabb05f0a57b570efd3d6028998204f7da846845b58d098e099d6";
+      sha512 = "c5d5ce3a7aa32fe2be100b4c1095cbc7ca533ec6abce2c770584fd108e5671ce7e7e4e3bb7d7bd68d66a78f4e04aadcc2e6fabae94526dc6beffea99629d6faa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/kk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/kk/firefox-61.0b12.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "4f618c6bdf212251697d3328ad9044fd6f0bbe1b5c3e90febc45209d886aa8c5718316023640f2e3d19e6c2735850111a907c07d02cb9c35ecc4692f39201415";
+      sha512 = "8338d1d56bf64f419ead646f8c79afa81b310a24f250625f637a3bedb2db3e60850d2f2d10e393098838d8e65f4e7dd870cc7fadd34f16c81fda20578893888b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/km/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/km/firefox-61.0b12.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "aaf6c1e0075886e3965f5840ca804dc596b8ee495c2cc7cdc5a5b56fe8422a77ad22261996b23d09782b0a84fcfe23836a5068251757426440665787704f4f5a";
+      sha512 = "c408f89bbbc6e90d831b47236cdd6c4b2086556235e7c5df65a3796fdb36053c70eca365016aab3cced3249f0f50794c741454a7298e42c1fb9d261faf6b9627";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/kn/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/kn/firefox-61.0b12.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "fccce9a1786accf2106f0aa7745fdab89f86dfc13240a8d08dc665777cee64e6c5a4747dd911a3246cb0bf91acb812d9496e3129a704b3951e2f6efdf6932393";
+      sha512 = "02aa0007ca0e3495c343ebed7bec89c30d3b0b34a2c09d8adb9e7e61846fa3586bd954a53cfde76b7f7058e2f938ffb1f59648e3968a3f37f11e56f34de1a628";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ko/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ko/firefox-61.0b12.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "29f1ed0212d3cc5ad758282ab75dbe9034d890c80dce4458e6b31ac35ef071026f433802b9eb49f264ab3d2189c64a7e3a2b44a909acc041b8e8e58043c1ba0f";
+      sha512 = "12281135bb407740b4bd2098c6382ae440e3fe3cda92cbef7a9ef38268d2d72b357330c8f054f8365c4b2301709bcd3119759818a1b86a25697d3843191b6b10";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/lij/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/lij/firefox-61.0b12.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "b9807a6327a2cf6d40b4d12e42d27217def2ac62aa27f0dea872ddab99f125ac08ddb815d5a360bedb19b92c4dd5a7be46d8bb10bbab5ea7a82959cd35380c8b";
+      sha512 = "4d28673f495ec4c8dc1a7bb6915ed8474fd7f378fbcacbdc5633835e3a33c89b8cc9e82c5258fb1975ef5675d7b72df6c0ad2d909003b33e60d89737674c51f5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/lt/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/lt/firefox-61.0b12.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "8be5c106e64aa30ab2e74fb4785fafc15ac4c495499741bc5f80b634a276dd3f639b5e00f20ab90f732419c80f4fb5600a19d1e20d4e46a5049c86340ce205d9";
+      sha512 = "9a7939df189181535319e74eb28c87d570e053e329efd42c32a4572e953bbd975ee8c310deee24a5fe31d9cbe5bb209d36c6525c6eaa8ea440555d87c3ab91b9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/lv/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/lv/firefox-61.0b12.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "86a527082caa8787bd2d76e7ed32b0123ab9d12229da1d66efcf8d1cd72eecab6da73c5adb0f57bbf5b04fa5f09fde21ab2d12c31f37a9005747153d2226cc04";
+      sha512 = "fdf9d973305278e3c7fa677e3f884ab533fc1895b68e8318846a8771038a2b876aaa8465cf0e952e67aff0c3b6529f2c988226610ca7f1359aedca464a62a9d4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/mai/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/mai/firefox-61.0b12.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "3b2df769960d791ba4a57135a242b77bf62c21170e9763136ab6dc91d49a421ffad0b92b3c80a6850a9e4f326ffb4d32d27c70581f4825e05d2a244fcb4995c7";
+      sha512 = "c89e58c8888bf34a370309c9d29ebd4870e18565b5a41cf0e654c773f0daac8f1e0f3d33a2df1d7acf8cdfb5a99a17c2407bdd1027b30f2d831cdf11bd4fdc9d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/mk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/mk/firefox-61.0b12.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "4847358c0d1e3b4c350978f9ce54df0ba74b95c0d6f734d3e81205228b295743bfa29b560cbbbcb11e32ca2100df6555b8f495675e16cb525b7ae5ef77770d1b";
+      sha512 = "4ef7ac1803bf7634e754d3719c3ea53f2f19e7d3faf47f0c91ed1bd2446871d43ab33b1786a00f79f8e68ca57361778a99663160bdea8a196d109a6c347d4dff";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ml/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ml/firefox-61.0b12.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "b73bdc8c1768d9a335dcd4261c50fd5a6d2d96ea3f29579dda4262c1fda6ad6e30ff52073945a1e5cb12bddc15c4b83796585bee002fd1a4988853a46c467bd9";
+      sha512 = "40abc6fdc4ba15d88af54dca0aefa33809140ad3d7059eb17e86accbd1a788d045b80bf94117819813647b5b5011c3e35783bbc7035808a42668c44278170845";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/mr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/mr/firefox-61.0b12.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "c1a26b027acffce2ac8f38cad8403bb50688fd51e330bfbefc295fb854c0692e4c0b928fedd82fd2eee425a20f6577309f5da8b04b4e12e60b03556ed10bd059";
+      sha512 = "800461d8726ed7cee434d283bd87942ec1729d5fa052c4c51e7de44a69b4b9b2fadf9c314e504e75ec713e72f53aef323ec45708b3ee73ba758c8940ca44decf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ms/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ms/firefox-61.0b12.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "5184e98def6d4d6c9b7a77f7be6dcb1a5e3f88732f14b394c737a5ecd3bd0a5e514b61978edc0594f2f503cb54b7f22bfafbc09d5e697d3ba2b530cb42d26410";
+      sha512 = "c00f27a992e42b8c5c707a07946582e577431f6e0603bd1d6fd23308961230923f243fa07b484feea97e9f05a66d4a0ac9d2bbc4f6a14153d49bd5ed55eda5d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/my/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/my/firefox-61.0b12.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "2ddab9e165fa114153675d3d2f756cd31658f045800b0535f4eb468fc42d260574fa0455c6cf07ab3c96d2b52d557082a4b0cb15361511fe660d75befc302434";
+      sha512 = "c74fea7e9ea9f6967893293b11011c980ad1f621aacfab2fd6913d6fbb39ec4e33480d527a677237495bf7a5fddb6a2b012713251ab58b033a90fea856187501";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/nb-NO/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/nb-NO/firefox-61.0b12.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "8ae0d4172f290fa5d51fbd2e477b3b1f74615235155037aad3ce5b2afc1ab28b1f2f937fe0f5bcb3564891fd2171e8c49862672a77e4057b1d7501e13e4bb6cf";
+      sha512 = "f3cb7b04a139a7c4d9974fa50ca64e31109b05719c65c02114735d05e0cbb1a8274b212470d3c49150afd28c53b8b52083bc97fa95d31460b172bce81852414d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ne-NP/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ne-NP/firefox-61.0b12.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "c214e9dba678afeda469d8f7c858837cfb0a8ce13b281469925eb86d94f485d2f181d41a410fed049744a692ee1bf5bd004238d0e8192eeebc50a7fea37188df";
+      sha512 = "21f328f1deb08a06957195ccdd6de3ee08c316655643e60f4c1c8fd2748d69ccf778a9e108037a859ec1ff9f079802b6f70a4c0f5436692eca42f0ee2b6a18a3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/nl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/nl/firefox-61.0b12.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "44f8a7fa592105aa6113227fbcb28dbc40904e50b2e743c8340a39178d2f821baf65f08af1f971af13a25279c76f825c684bb252a967f2f0bbe53f88574a0a25";
+      sha512 = "c640dba6a09dfaf25c9d76f26808a5d5a6d96c7c8164f567c1be396af32a36b64b07eaa2fc4db7b011aa6dd4e63b31fa2d14499eadd59c34894a8ac16b6e2bc5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/nn-NO/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/nn-NO/firefox-61.0b12.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "be33124e0c0c411fefc2a7cddf3b1298f04423cf6a76b879943cc2d63f1005ac73375b9853c6af5522ef4381558756f2a5fd417070565851a16a59f29ff993a9";
+      sha512 = "bd69bba361521ca53cc4603bf874122cf21977eb86be84f58664da4ccb7d330641eed6084fd62a14920ccbf9ad723cf3edcb44b2c672e6fa46ebdc3129d5e8a1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/oc/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/oc/firefox-61.0b12.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "45de2e78408d56c11982868badae10edfe90e53c98c03ff67d9c7c7ce82603050a5f44a99da1cb17447ed57a2ec5bd3a12a830af56b2cd10b80d88a329ee35d1";
+      sha512 = "6b325721e50c9f5d3cda7961c169f1bf61379f199f203eb04708e5daf5adf4e5cfbdcafe393846be8811a95caea08eae379413f070fc87fcc6fdc8d792429bfd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/or/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/or/firefox-61.0b12.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "fbeec26c20a545f8d34b2848f74d433a8ccb8686eec10ac614e06fec35e017649108d5a371c0073980f7c38375c700d58b298d640b2b4b40711b60cd8187977e";
+      sha512 = "fb810758c07df0e88346e9da1b3f69b8ad0c1f325253b4066f979028133b35b6f38ec6ced190b469302edeacc2be1480a89101ebd49595692ba4ae0810336f72";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/pa-IN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/pa-IN/firefox-61.0b12.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "54974c56b30eee44d29f5744176260c8bf6370a627e7b9439c3888f5be584280436f80684ad3916ecd7b7fb3407a379546da1956e8e6bd8829f3b2540829e068";
+      sha512 = "a64fc38eb4aca8f51323c0fd579f92710f9f2130885f1d3af375ba22be6f052354664abb35cf92be820117f37c2e86dceb1a0dae6b06ffb2a38ddc71d35e6afa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/pl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/pl/firefox-61.0b12.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "a3139bd9fc34f38f55251d1fa03589f859d69a2dede76dd699980a5359050fabe4b9cedb352ddf21e1dff8f4f328d6d2a4fc87ae6b64166dc325981df57d50b3";
+      sha512 = "90284224c8c4b990280e60d00c7d787a4702d466a4a98be69948d56e9d2142388c39eeb0de77d7277b5df97444de7c6b341c42020ba42dbaf1c80336cd8f2397";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/pt-BR/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/pt-BR/firefox-61.0b12.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "b95635c38ff7a4a23b1c383ae8296e5362f4547e6082a0ec355d9c400176ed5282d91bc608cbc1826903dc26039278e1f923ef0a0e850d96232b59c61eeade90";
+      sha512 = "09f22cfa4d6a5d7943ba21c46b3d272f002cbeb75c70de51ced0787ff45068eca9a6f7f1b336863ef315b41e8d6145cf77f974c7ae12c0d2825720fcc32f6f48";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/pt-PT/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/pt-PT/firefox-61.0b12.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "770277e4ca433f50a13bf2b962661f6d426f580e2ed71b23c687545df38622dfffc34df27f892b0b20643a19cd6cf6f13647b9ab5c1650bb089cf5c95e9726d5";
+      sha512 = "3d6f83528e8161f5dfdd6f35174f88d677ac97fac3ffb561450ac54367f552cf9c09ff08a69a82224123ca271ebfb2d011723de4a8a86708ab0afd34e9806c30";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/rm/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/rm/firefox-61.0b12.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "eee5341bb68d8bf2102aee543b5a355e0d44341ca0c9404714a5affb215cbab5bf329ba80d145f31c671da096a308a66baeeb631475937d314770fcb321bca72";
+      sha512 = "65043eb93f0b43f1e7a4282732d06b5d4043f898eec4324ece23fdea36812c85871fd943cabe8265badae913d7338e925f519732edac792429f7643adc062332";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ro/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ro/firefox-61.0b12.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "a350c005a481f08b5a0c3683326e1b95c2b1a69d64e8195686fed68be2ea01752d9b8cfc36b62ec61df8730bf14e6603547611968136518ed7c1d4c5cce97852";
+      sha512 = "d78f56f3171789ab1254f6be63725f5a5462da78fb1d6f5df1acd4d2e3baa777fdbddf565d4f458e678508cc0aad8bdcfca55d810e86a1c7bbd490b303134252";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ru/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ru/firefox-61.0b12.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "d0bb1e20e75ccc0306b01c6a96b3c7e169afcd7b72e7ae881e96d6058efcabcb814e0a33acf17628af16bc014083bb48d7f53703ba58f63cc871aa417404b515";
+      sha512 = "51ebb33bd00d2444a1049222fb8d97d846034fd4eca5e441b066c4da262080846e22d893e1fd7ed6eca390112f8694996cd001a28ccb7f24769a3fa479cbb453";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/si/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/si/firefox-61.0b12.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "70d749eedcd0fcd96e17227f60606ec36783a95beae52854f48d5692ccc0069e9af39a21c906140b2245b01631df8670364537d0019794788d063416506694c2";
+      sha512 = "097e100f8b1d476fda5d070d87ac3a0521889f5c2aa7a26fa794e01b518b311ce380c8731bcfba41db6e6dbe24c6cb83fe8e595dc41cf2450a72f7e6698d74ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/sk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/sk/firefox-61.0b12.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "ca3b8d19b75d4c7379833c4c77ad03aaa2f58bb1644da6dec4971ec4a4d42109e903f50b82eb8d6cae8ee65c4511cd9149514c8ca96fc8c73ebb0bac0c83dfea";
+      sha512 = "603b641c4f23a68767cf97945d8e72e81abf2cf40da031aa6d343729ff028a30c3e4bed074d4377aba9dd58d3f0d18a80bd9cc15ad81dad873866ddb9f6b00dc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/sl/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/sl/firefox-61.0b12.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "7b73224876d367a7d72a068162fa19605719c331be0b9c4970e10461b9655520edded19e013efe0d4488b40258a1de6455fb717333470441af6cc51a69fc39fc";
+      sha512 = "6eaba505da78615bb9345ae6bb3321a089dabf470d6b4d10c08290ab81f0b44df346015e96c95b413d32eee27bddc53ca5e3d1a632f8ebfbb8fdd0580c937fc5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/son/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/son/firefox-61.0b12.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "51e823ef446148f4faba9e9037ec132d3e9d8ce5257b1672aead096035a95fc42ee9cf8003747252a567a487c215bd11065776515059ce16f2d2478754828da5";
+      sha512 = "dddeb77817ecfae0e6671c8db2aa4a0c313c3d7bc11474be4d2933033f11dece142c1b6d1e12fa1f2650e7691dcb8ddd58a2ee9af6005620647c06d69f6691fe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/sq/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/sq/firefox-61.0b12.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "e95b91131b23a0447f9c9a129790d1b415b05814c7ebe00ab04579835ce1ba47ca09fe9285949635e33164df7f45e838763ca5a2ed88efff950afbd923f5a1a5";
+      sha512 = "b5f3e7e78abbc20d612ea38ed74697f4543e6b580605cd37c630ddddbb15cb6829af2f69fbf470981bf47184b4ee501426fb515c6f09fc4d7b1156bdd04002a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/sr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/sr/firefox-61.0b12.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "18f27f39d9953ef6eb39f872efe3ca8b371f84ddc5253e5c6440a3ea5916fc602b827420e5f7737e0596578fa2fd1d2f4663fe1e9b2c977d8f1240decd874dc6";
+      sha512 = "b1687aba62e211f614d0ed4d307fa48b8228109665f42f1557037ab645f87af54b1c0069f54c14e09d46d652b68e6e5802f83c3052b45c29f5ac9284934b2961";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/sv-SE/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/sv-SE/firefox-61.0b12.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "f1cd96c9d1db5d7f47411fc1cb12e8356bbcf1dbd1828e53e39ad3ab1ab9ad423b125ff9b0ab18f5bbea1ebde04d10768c759aa60176e1a7277dab6d10bb891f";
+      sha512 = "fdb632c4004f721fba16669ffd8ae0031023f55fff3ab0de3f045fc408232788b4aa7dff4fd5bbab847f1b7a1b524fd786dd9c9f63ac289d699dbfad687a759c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ta/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ta/firefox-61.0b12.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "6a802f54419d911e2e8cee0a1a20e7d915c8ad574a119c6a296e2c951de8bda1874b2f4c047f9579589f79520ff7a155a0e9a289120b4539578b27da40db687d";
+      sha512 = "a53f07ad5212a975d201dfec81a89c18ab83e8e6429a67d835aa47897d8a5ac4cbc676d178db41fdeef4f5d066813bb68fd5b52c8dc9d55b8830be2b69b353db";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/te/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/te/firefox-61.0b12.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "f5fbc36114bc91039ed6fa9e17345de50d1300262e1244748a311da0dfab38084b5680c7245063416bea3df29d0e601f7acb11961ad7f6773af63ce7fcf65883";
+      sha512 = "9cc6d73c01531a72dd59fc19e56987da093518f4a54b76e6d40fb6f26b708caadc7c301d069ba8138ea91cd667c46e1c298aa63889b067a1b981cd3bafeb55fd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/th/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/th/firefox-61.0b12.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "eefcfc5d5b2123c4589ba7358aac8ccc01aa9b38cd4210d3e810552fc25c66467c6d71d64c0ee9b75cb2ee1c9d58a2ec6e117fc60cb60a678576076d2cd8db08";
+      sha512 = "8afb2048fd071ec612791c26892652c01aab0d12798cf26dfb5af69e97962d805f962c555e4e6c842d403286da7572724022885f13599fbde665dbcdb27438fb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/tr/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/tr/firefox-61.0b12.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "3447abe024b9b06b7978320bc084cdd6179fd0636bb60e629fee13d5e671e5e40bd398d8f296abdd1eb353eef57ae5cd22b20722f390451bc9bf218fb0cce392";
+      sha512 = "2ef229013fbe4221920a2573b7925be045ef8062b600f8e560e844ec87420506df3c712378cef34e7890e387f0a8d4706f7ceafa1487d5f024a69cc46c218408";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/uk/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/uk/firefox-61.0b12.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "e145d2aacee3a41d4ac178ece89e1f4f223fae87dd2a2236199abc34e83e2bad5730a6ecb1542c3cf6508e2b51a64ecdeb4293f97328ca683b62d8f70f96e9d4";
+      sha512 = "ce10d72b1eb8ebe01cbce38722ed16333b6eda3616aaf398a40c685ce062874339599a1c1344b6d9c9529e072564f3bf739b56a62ad0c6deea2ae2f5ffa29505";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/ur/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/ur/firefox-61.0b12.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "c040b31191c14e491ae774c46e33c8433f7d15f5b4cfdd1ae2be3d292d750cdba271e5f5fbbfe6f2e2af52ec24642d524b7141288234e91afe038aae4b6da4d3";
+      sha512 = "52c7fa6169f399eb224bdbbafef9951285543a478985088e60f601fb5c798855d24b1b8257d29ff44ed6c5435fea4e65ec1e1164daa0b7e22eb32152d172e6f4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/uz/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/uz/firefox-61.0b12.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "e6d81219e98cb11e9b6848364a551dcd427c7455d4ae87383d43f191a15bc13815fe7654a1198f1fc5ae63d5d300ce8bec801f1eea51cc257156f99d2811d0c5";
+      sha512 = "835f1cae73b327bbb520935b801b78bf47b9e58a03962aa22a9d2b933f187670d828871a679508702a0ac2d461e17bdad71a3e0bf2e8d34824b08dffb7f65d52";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/vi/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/vi/firefox-61.0b12.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "b15ac4dd72f0b4752e72cf6baeaa8f0f2bc34303886a33ebe8859ed8a4fa2382abe260d54d9fefbda9319f39fef056bce53e07d1772ad79b5e652277371c4ac3";
+      sha512 = "f4812bba2812a71e004107a0d761795fe1feaa9705be0afe7db5462782fc888cc677bf5eaaedad7f5f914b827435bceba8322dd246274539d095b082f1221fb8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/xh/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/xh/firefox-61.0b12.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "90c88df007abf67f973b96439ce4bc3d62f678c7657cc3f04f7bc74f7d0eba4fbf25224e35cb56d2736861413c54c95fe9d7a4170a460def0c7fdabad5813bf7";
+      sha512 = "d8ba71f75d3131dc130a638692e42565cf9a5cd976caee18220cba6bba8a858f728f470cf345294d286bbbd3e2059554018f86f33533fd9dace88f0e0d97c0f1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/zh-CN/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/zh-CN/firefox-61.0b12.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "ee66d559133bb827cce96470299b1cce56f9d2b8f16f013503138e54a9c3aede0027ef062640a6c691d551b5b56025b06d7f13e92bdd5a8c9a7403f5aea88548";
+      sha512 = "49ea68976c1ea0a972b7b228283cac2a1f0c9bc660da4456e700786d235e7f40a04f89a69c337a65e82a4c200307120cd2c8cbb1fe3536c9d417be07a80c42cf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b10/linux-i686/zh-TW/firefox-61.0b10.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b12/linux-i686/zh-TW/firefox-61.0b12.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "9507c7958db71618c74b6b23ba672668471a0a8f7198ce5a711d087b485f8504b4471528320e3969f2cbbc34e02b19642833c8e2a963e3af745fb5b59577ef6a";
+      sha512 = "0332cba8cbc962ab2868bc61de0748c446c098a45d4ce8125c78b2f7d167e6da94348cd255e2910471c9ff7635d4ed8500eec27c1bbde21e79cd65b7f88fdba4";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 6c19b684aaa5..507697f0c2c3 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 = "29.0.0.171";
+  version = "30.0.0.113";
 
   src = fetchurl {
     url =
       if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_npapi_linux_debug.${arch}.tar.gz"
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/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
-          "140galarr38lmfnd2chl2msvxizx96kdi000gbikir9xnd7bx1hc"
+          "1s4i9lmlydm8b373pi8jw5xf3fhcq75fgqyp7xd7aava8hay7x0j"
         else
-          "0wzmf12xrmyq8vqqyii932yx4nadrvkn2j9s86xcw67lb40xj5ig"
+          "1jhzvrn6f9zcynx3zq0vxidaps946aymm7l16c42p1f7q9s8msb4"
       else
         if arch == "x86_64" then
-          "17c57xgs0w71p4xsjw5an7dg484769wanq3kx86ppaqw8vqhnqc3"
+          "05dv4cn9i3zz5fmy16dxs9m1rpvlaih4gzsrf0q1zfjn46jbyw2l"
         else
-          "06pjbc9050fgi2njzf9vm6py7c22i6chw852rbm8flx3cmplw23b";
+          "0pn159rzx6nb6lmkghccl0ynnc9ihfbr4rvfp14gm4n6jzbl6vg8";
   };
 
   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 fa9c89b442bb..8664b20e82d7 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -55,19 +55,19 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-standalone-${version}";
-  version = "29.0.0.171";
+  version = "30.0.0.113";
 
   src = fetchurl {
     url =
       if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux_debug.x86_64.tar.gz"
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/flash_player_sa_linux_debug.x86_64.tar.gz"
       else
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux.x86_64.tar.gz";
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "1q2lmsb9g2cxbwxb712javmadk6vmcgkihd244394nr10isdzw67"
+        "0vdzmk9l04jq9mfkdddsqrga7ndikq910indl7wa3vndghrahmn0"
       else
-        "0qj5qdc9k53pgqxb5jpcbgfsgavmlyzp0cpz468c4zacsvxgq502";
+        "10rm48i3h6x1dygjivv2mvd0jq6n40j5c2ik090s7i0ily5z97m8";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 0cebdd62140c..38aaf8115166 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -29,13 +29,13 @@ let
 in python3Packages.buildPythonApplication rec {
   name = "qutebrowser-${version}${versionPostfix}";
   namePrefix = "";
-  version = "1.3.0";
+  version = "1.3.1";
   versionPostfix = "";
 
   # the release tarballs are different from the git checkout!
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "159h669x60pfla71zx28wnrik8rvsrw5i8kbd3xccynk6klm3kw3";
+    sha256 = "121fz549vlxdasw0lcx6v394x8g34nadvrfs4svw3b65n0shv1ky";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 97b719c1471b..b8ee0aebb5fe 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -98,7 +98,7 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "7.5.4";
+  version = "7.5.5";
 
   lang = "en-US";
 
@@ -108,7 +108,7 @@ let
         "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
         "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
       ];
-      sha256 = "1d5q2vc7kyd2wizl4551yf54rcagh3y2xf1lzvrswxq4kasii3h9";
+      sha256 = "0v8mxxfqfpwm2nqmb3jyi91rqvxm4n391ilnvxavi00pd5p0glfh";
     };
 
     "i686-linux" = fetchurl {
@@ -116,7 +116,7 @@ let
         "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
         "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
       ];
-      sha256 = "18v7ykv23gsylvn9mlkp5547yz3y833i9h126r7195wsqdshizdj";
+      sha256 = "1j1bhj50d0fqimcl10qfg076gp1wq42s6k9865jdvd3xfsgldnsj";
     };
   };
 in
diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
new file mode 100644
index 000000000000..fd067936efdf
--- /dev/null
+++ b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
@@ -0,0 +1,36 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig }:
+
+buildGoPackage rec {
+  pname = "docker-machine-kvm2";
+  name = "${pname}-${version}";
+  version = "0.27.0";
+
+  goPackagePath = "k8s.io/minikube";
+  subPackages = [ "cmd/drivers/kvm" ];
+
+  src = fetchFromGitHub {
+    owner = "kubernetes";
+    repo = "minikube";
+    rev = "v${version}";
+    sha256 = "00gj8x5p0vxwy0y0g5nnddmq049h7zxvhb73lb4gii5mghr9mkws";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libvirt ];
+
+  preBuild = ''
+    export buildFlagsArray=(-ldflags="-X k8s.io/minikube/pkg/drivers/kvm/version.VERSION=v${version}")
+  '';
+
+  postInstall = ''
+    mv $bin/bin/kvm $bin/bin/docker-machine-driver-kvm2
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/kubernetes/minikube/blob/master/docs/drivers.md;
+    description = "KVM2 driver for docker-machine.";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ tadfisher ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 9af4cf3f0ed6..a9e7325d181f 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -1,51 +1,76 @@
 { stdenv, fetchurl, makeWrapper, which, jre, bash }:
 
-stdenv.mkDerivation rec {
+let 
+  hadoopDerivation = { version, sha256 }: stdenv.mkDerivation rec {
 
-  name = "hadoop-2.2.0";
+    name = "hadoop-${version}";
 
-  src = fetchurl {
-    url = "mirror://apache/hadoop/common/${name}/${name}.tar.gz";
-    sha256 = "0r0kx8arsrvmcfy0693hpv4cz3i0razvk1xa3yhlf3ybb80a8106";
-  };
+    src = fetchurl {
+      url = "mirror://apache/hadoop/common/${name}/${name}.tar.gz";
+      sha256 = "${sha256}";
+    };
 
-  buildInputs = [ makeWrapper ];
+    buildInputs = [ makeWrapper ];
 
-  buildPhase = ''
-    for n in "bin/"* "sbin/"*; do
+    buildPhase = ''
+      for n in bin/{hadoop,hdfs,mapred,yarn} sbin/*.sh; do
       sed -i $n -e "s|#!/usr/bin/env bash|#! ${bash}/bin/bash|"
-    done
-  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" bin/container-executor;
-  '';
-
-  installPhase = ''
-    mkdir -p $out
-    mv *.txt share/doc/hadoop/
-    mv * $out
-
-    for n in $out/{bin,sbin}"/"*; do
-      wrapProgram $n --prefix PATH : "${stdenv.lib.makeBinPath [ which jre bash ]}" --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "$out"
-    done
-  '';
-
-  meta = {
-    homepage = http://hadoop.apache.org/;
-    description = "Framework for distributed processing of large data sets across clusters of computers";
-    license = stdenv.lib.licenses.asl20;
-
-    longDescription = ''
-      The Apache Hadoop software library is a framework that allows for
-      the distributed processing of large data sets across clusters of
-      computers using a simple programming model. It is designed to
-      scale up from single servers to thousands of machines, each
-      offering local computation and storage. Rather than rely on
-      hardware to deliver high-avaiability, the library itself is
-      designed to detect and handle failures at the application layer,
-      so delivering a highly-availabile service on top of a cluster of
-      computers, each of which may be prone to failures.
+      done
+    '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" bin/container-executor;
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" bin/test-container-executor;
+    '';
+
+    installPhase = ''
+      mkdir -p $out
+      mv *.txt share/doc/hadoop/
+      mv * $out
+
+      for n in $out/bin/{hadoop,hdfs,mapred,yarn} $out/sbin/*.sh; do
+      wrapProgram $n --prefix PATH : "${stdenv.lib.makeBinPath [ which jre bash ]}" --set JAVA_HOME "${jre}" --set HADOOP_HOME "$out"
+      done
     '';
 
-    platforms = stdenv.lib.platforms.linux;
+    meta = {
+      homepage = http://hadoop.apache.org/;
+      description = "Framework for distributed processing of large data sets across clusters of computers";
+      license = stdenv.lib.licenses.asl20;
+
+      longDescription = ''
+        The Apache Hadoop software library is a framework that allows for
+        the distributed processing of large data sets across clusters of
+        computers using a simple programming model. It is designed to
+        scale up from single servers to thousands of machines, each
+        offering local computation and storage. Rather than rely on
+        hardware to deliver high-avaiability, the library itself is
+        designed to detect and handle failures at the application layer,
+        so delivering a highly-availabile service on top of a cluster of
+        computers, each of which may be prone to failures.
+      '';
+
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+in
+{
+  hadoop_2_7 = hadoopDerivation {
+    version = "2.7.6";
+    sha256 = "0sanwam0k2m40pfsf9l5zxvklv8rvq78xvhd2pbsbiab7ylpwcpj";
+  };
+  hadoop_2_8 = hadoopDerivation {
+    version = "2.8.4";
+    sha256 = "05dik4qnazhf5aldwkljf610cwncsg5y3hyvgj476cfpzmr5jm3b";
+  };
+  hadoop_2_9 = hadoopDerivation {
+    version = "2.9.1";
+    sha256 = "1z22v46mmq9hfjc229x61ws332sa1rvmib3v4jsd6i1n29d03mpf";
+  };
+  hadoop_3_0 = hadoopDerivation {
+    version = "3.0.2";
+    sha256 = "10ig3rrcaizvs5bnni15fvm942mr5hfc2hr355g6ich722kpll0d";
+  };
+  hadoop_3_1 = hadoopDerivation { 
+    version = "3.1.0";
+    sha256 = "1rs3a752is1y2vgxjlqmmln00iwzncwlwg59l6gjv92zb7njq3b7";
   };
 }
diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix
index feb6a0ab1265..f89b8206dbe6 100644
--- a/pkgs/applications/networking/errbot/default.nix
+++ b/pkgs/applications/networking/errbot/default.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "errbot-${version}";
-  version = "5.1.3";
+  version = "5.2.0";
 
   src = fetchurl {
     url = "mirror://pypi/e/errbot/${name}.tar.gz";
-    sha256 = "0nkfq6fx87g7kvxrb5lp8gkb75658cmyffnacpy8jq3a16py3jrr";
+    sha256 = "0q5fg113s3gnym38d4y5mlnxw6vrm388zw5mlapf7b2zgx34r053";
   };
 
   disabled = !pythonPackages.isPy3k;
diff --git a/pkgs/applications/networking/flent/default.nix b/pkgs/applications/networking/flent/default.nix
index 9a0bb0104d4c..90ff868d6bec 100644
--- a/pkgs/applications/networking/flent/default.nix
+++ b/pkgs/applications/networking/flent/default.nix
@@ -6,8 +6,8 @@ buildPythonApplication rec {
   src = fetchFromGitHub {
     owner = "tohojo";
     repo = "flent";
-    rev = version;
-    sha256 = "0rl4ahynl6ymw7r04vpg9p90pplrxc41rjlzvm0swxsvpw40yvkm";
+    rev = "v${version}";
+    sha256 = "1llcdakk0nk9xlpjjz7mv4a80yq4sjnbqhaqvyj9m6lbcxgssh2r";
   };
 
   buildInputs = [ netperf ];
diff --git a/pkgs/applications/networking/ids/bro/default.nix b/pkgs/applications/networking/ids/bro/default.nix
index 577252bc69e0..2612e2d9240b 100644
--- a/pkgs/applications/networking/ids/bro/default.nix
+++ b/pkgs/applications/networking/ids/bro/default.nix
@@ -2,11 +2,11 @@
 , geoip, gperftools, python, swig }:
 
 stdenv.mkDerivation rec {
-  name = "bro-2.5.3";
+  name = "bro-2.5.4";
 
   src = fetchurl {
     url = "http://www.bro.org/downloads/${name}.tar.gz";
-    sha256 = "09b227j1c0ggihbhbyphd7lnh26mpz07z1s0h148dg6fwqagm13k";
+    sha256 = "07sz1i4ly30257677b8vfrbsvxhz2awijyzn5ihg4m567x1ymnl0";
   };
 
   nativeBuildInputs = [ cmake flex bison file ];
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index a1c81f3f0020..0f9cff4fd8d7 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -17,11 +17,11 @@ with lib;
 buildPythonApplication rec {
   name = "gajim-${version}";
   majorVersion = "1.0";
-  version = "${majorVersion}.2";
+  version = "${majorVersion}.3";
 
   src = fetchurl {
     url = "https://gajim.org/downloads/${majorVersion}/gajim-${version}.tar.bz2";
-    sha256 = "0wyyy3wrk7ka5xrsbafnajzf7iacg8vg3hi16pl4c5p104hdhjdw";
+    sha256 = "0ds4rqwfrpj89a489w6yih8gx5zi7qa4ffgld950fk7s0qxvcfnb";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
index 707e78459efe..929277996c5e 100644
--- a/pkgs/applications/networking/instant-messengers/nheko/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -50,13 +50,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "nheko-${version}";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "mujx";
     repo = "nheko";
     rev = "v${version}";
-    sha256 = "1z9dbvcgwafxr131a8447qkx97x8l93k32xa8xvajgvjlimqphqk";
+    sha256 = "0qjia42nam3hj835k2jb5b6j6n56rdkb8rn67yqf45xdz8ypmbmv";
   };
 
   # This patch is likely not strictly speaking needed, but will help detect when
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index da862b715147..60c075c2fadb 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,8 +1,10 @@
-{ stdenv, lib, fetchurl, dpkg, gnome3, gtk3, atk, cairo, pango, gdk_pixbuf, glib, freetype,
-fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr,
-libXcomposite, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss,
-nspr, alsaLib, cups, expat, udev
+{ stdenv, lib, fetchurl, dpkg, wrapGAppsHook
+, gnome3, gtk3, atk, cairo, pango, gdk_pixbuf, glib, freetype, fontconfig
+, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
+, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
+, cups, expat, udev
 }:
+
 let
   rpath = lib.makeLibraryPath [
     alsaLib
@@ -36,54 +38,56 @@ let
     xorg.libxcb
   ];
 
-in
-  stdenv.mkDerivation rec {
-    name = "signal-desktop-${version}";
+in stdenv.mkDerivation rec {
+  name = "signal-desktop-${version}";
+  version = "1.12.0";
 
-    version = "1.12.0";
+  src = fetchurl {
+    url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
+    sha256 = "19c9pilx2qkpyqw3p167bfcizrpd4np5jxdcwqmpbcfibmrpmcsk";
+  };
 
-    src =
-      if stdenv.system == "x86_64-linux" then
-        fetchurl {
-          url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-          sha256 = "19c9pilx2qkpyqw3p167bfcizrpd4np5jxdcwqmpbcfibmrpmcsk";
-        }
-      else
-        throw "Signal for Desktop is not currently supported on ${stdenv.system}";
+  phases = [ "unpackPhase" "installPhase" ];
 
-    phases = [ "unpackPhase" "installPhase" ];
-    nativeBuildInputs = [ dpkg ];
-    unpackPhase = "dpkg-deb -x $src .";
-    installPhase = ''
-      mkdir -p $out
-      cp -R opt $out
+  nativeBuildInputs = [ dpkg wrapGAppsHook ];
 
-      mv ./usr/share $out/share
-      mv $out/opt/Signal $out/libexec
-      rmdir $out/opt
+  unpackPhase = "dpkg-deb -x $src .";
 
-      chmod -R g-w $out
+  installPhase = ''
+    mkdir -p $out
+    cp -R opt $out
 
-      # Patch signal
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-               --set-rpath ${rpath}:$out/libexec $out/libexec/signal-desktop
+    mv ./usr/share $out/share
+    mv $out/opt/Signal $out/libexec
+    rmdir $out/opt
 
-      # Symlink to bin
-      mkdir -p $out/bin
-      ln -s $out/libexec/signal-desktop $out/bin/signal-desktop
+    chmod -R g-w $out
 
-      # Fix the desktop link
-      substituteInPlace $out/share/applications/signal-desktop.desktop \
-        --replace /opt/Signal/signal-desktop $out/bin/signal-desktop
-    '';
+    # Patch signal
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+             --set-rpath ${rpath}:$out/libexec $out/libexec/signal-desktop
+    wrapProgram $out/libexec/signal-desktop \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
+      "''${gappsWrapperArgs[@]}"
+
+    # Symlink to bin
+    mkdir -p $out/bin
+    ln -s $out/libexec/signal-desktop $out/bin/signal-desktop
 
-    meta = {
-      description = "Signal Private Messenger for the Desktop.";
-      homepage    = https://signal.org/;
-      license     = lib.licenses.gpl3;
-      maintainers = with lib.maintainers; [ ixmatus primeos ];
-      platforms   = [
-        "x86_64-linux"
-      ];
-    };
-  }
+    # Fix the desktop link
+    substituteInPlace $out/share/applications/signal-desktop.desktop \
+      --replace /opt/Signal/signal-desktop $out/bin/signal-desktop
+  '';
+
+  meta = {
+    description = "Private, simple, and secure messenger";
+    longDescription = ''
+      Signal Desktop is an Electron application that links with your
+      "Signal Android" or "Signal iOS" app.
+    '';
+    homepage    = https://signal.org/;
+    license     = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ ixmatus primeos ];
+    platforms   = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index e305a4927204..1cf7243476cf 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, dpkg, makeWrapper
 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib, glibc, gnome3
-, gtk2, libnotify, libpulseaudio, libsecret, libstdcxx5, libv4l, nspr, nss, pango, systemd, xorg }:
+, gtk2, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, xorg }:
 
 let
 
@@ -25,7 +25,7 @@ let
     gnome3.gconf
     gdk_pixbuf
     gtk2
-    
+
 
     gnome3.gnome-keyring
 
@@ -36,7 +36,6 @@ let
     pango
     stdenv.cc.cc
     systemd
-    libstdcxx5
     libv4l
 
     xorg.libxkbfile
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 12b6179f8e1a..071f82a8cbec 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -4,8 +4,8 @@ let
   mkTelegram = args: qt5.callPackage (import ./generic.nix args) { };
   stableVersion = {
     stable = true;
-    version = "1.2.17";
-    sha256Hash = "1lswjn3rnrbps1pd2xhnhggcn1z0i7y71dpr0v9wb1yc8qhh4pi0";
+    version = "1.3.0";
+    sha256Hash = "1h5zcvd58bjm02b0rfb7fx1nx1gmzdlk1854lm6kg1hd6mqrrb0i";
     # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
     archPatchesRevision = "310557";
     archPatchesHash = "1v134dal3xiapgh3akfr61vh62j24m9vkb62kckwvap44iqb0hlk";
@@ -14,7 +14,7 @@ in {
   stable = mkTelegram stableVersion;
   preview = mkTelegram (stableVersion // {
     stable = false;
-    version = "1.2.24";
-    sha256Hash = "0rrji2h2a7fxdl4wmbwj053vwy3hhbaphymjim55klpzj86jycil";
+    version = "1.3.4";
+    sha256Hash = "17xdzyl7jb5g69a2h6fyk67z7s6h2dqjg8j478px6n0br1n420wk";
   });
 }
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index 4153d527b9ff..56dc9fc4d5a2 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "ipfs-${version}";
-  version = "0.4.14";
+  version = "0.4.15";
   rev = "v${version}";
 
   goPackagePath = "github.com/ipfs/go-ipfs";
@@ -10,7 +10,7 @@ buildGoPackage rec {
   extraSrcPaths = [
     (fetchgx {
       inherit name src;
-      sha256 = "0gad5y5clkrk5jsjj9gmrlnx8kbn2vg50vka1b8jg7b55hdvvlcg";
+      sha256 = "0bysfh2hd040i8lnyzhy96frflls4kdnlw748cl51ngqg3rwbhgz";
     })
   ];
 
@@ -18,7 +18,7 @@ buildGoPackage rec {
     owner = "ipfs";
     repo = "go-ipfs";
     inherit rev;
-    sha256 = "0wvjw8jziwhvfwhksg26qlj2irznl5bs2yll9jkv335pnwb5qi3v";
+    sha256 = "1ry4a4pq26dbwy2b9cwi3xjaiyq6sng9lxnb1n30zxhp4w7rla2h";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index 10daeeab8e13..4d3c8a797412 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -1,7 +1,7 @@
-{ fetchurl, stdenv, wrapGAppsHook
+{ fetchurl, stdenv, wrapGAppsHook, autoreconfHook
 , curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme, hicolor-icon-theme
 , libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager
-, openldap , perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2
+, openldap, perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2
 , glib-networking, gsettings-desktop-schemas, libSM, libytnef
 
 # Build options
@@ -10,7 +10,6 @@
 #       provided:
 #         gdata requires libgdata
 #         geolocation requires libchamplain
-#         python requires python
 , enableLdap ? false
 , enableNetworkManager ? false
 , enablePgp ? true
@@ -19,6 +18,7 @@
 , enablePluginNotificationDialogs ? true
 , enablePluginNotificationSounds ? true
 , enablePluginPdf ? false
+, enablePluginPython ? false
 , enablePluginRavatar ? false
 , enablePluginRssyl ? false
 , enablePluginSmime ? false
@@ -43,16 +43,22 @@ stdenv.mkDerivation rec {
 
   patches = [ ./mime.patch ];
 
+  preConfigure = ''
+    # autotools check tries to dlopen libpython as a requirement for the python plugin
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${python}/lib
+  '';
+
   postPatch = ''
     substituteInPlace src/procmime.c \
         --subst-var-by MIMEROOTDIR ${shared-mime-info}/share
   '';
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook python.pkgs.wrapPython ];
+  propagatedBuildInputs = with python.pkgs; [ python ] ++ optionals enablePluginPython [ pygtk pygobject2 ];
 
   buildInputs =
     [ curl dbus dbus-glib gtk2 gnutls gsettings-desktop-schemas hicolor-icon-theme
-      libetpan perl python glib-networking libSM libytnef
+      libetpan perl glib-networking libSM libytnef
     ]
     ++ optional enableSpellcheck enchant
     ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ]
@@ -77,6 +83,7 @@ stdenv.mkDerivation rec {
     ++ optional (!enablePluginArchive) "--disable-archive-plugin"
     ++ optional (!enablePluginFancy) "--disable-fancy-plugin"
     ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
+    ++ optional (!enablePluginPython) "--disable-python-plugin"
     ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
     ++ optional (!enablePluginRssyl) "--disable-rssyl-plugin"
     ++ optional (!enablePluginSmime) "--disable-smime-plugin"
@@ -87,8 +94,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  pythonPath = with python.pkgs; [ pygobject2 pygtk ];
+
   preFixup = ''
-    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
+    buildPythonPath "$out $pythonPath"
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share" --prefix PYTHONPATH : "$program_PYTHONPATH")
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/networking/newsreaders/quiterss/0001-Revert-change-WebKit-602.1-c2f.patch b/pkgs/applications/networking/newsreaders/quiterss/0001-Revert-change-WebKit-602.1-c2f.patch
new file mode 100644
index 000000000000..d9b994d9b37c
--- /dev/null
+++ b/pkgs/applications/networking/newsreaders/quiterss/0001-Revert-change-WebKit-602.1-c2f.patch
@@ -0,0 +1,157 @@
+Date: Wed, 6 Jun 2018 20:46:38 +0200
+
+This reverts commit eceda92a16f1f4e5c5b584acd745398571df2bd6.
+---
+ src/application/mainapplication.cpp |  3 ---
+ src/application/mainwindow.cpp      | 11 -----------
+ src/application/mainwindow.h        |  2 --
+ src/newstabwidget.cpp               |  6 +-----
+ src/newstabwidget.h                 |  2 +-
+ src/optionsdialog.cpp               |  2 --
+ src/webview/webpage.cpp             | 13 +------------
+ src/webview/webpage.h               |  3 ---
+ 8 files changed, 3 insertions(+), 39 deletions(-)
+
+diff --git a/src/application/mainapplication.cpp b/src/application/mainapplication.cpp
+index e93ec9c1..a5913bdf 100644
+--- a/src/application/mainapplication.cpp
++++ b/src/application/mainapplication.cpp
+@@ -566,9 +566,6 @@ void MainApplication::c2fLoadSettings()
+   settings.beginGroup("ClickToFlash");
+   c2fWhitelist_ = settings.value("whitelist", QStringList()).toStringList();
+   c2fEnabled_ = settings.value("enabled", true).toBool();
+-#if QT_VERSION >= 0x050900
+-  c2fEnabled_ = false;
+-#endif
+   settings.endGroup();
+ }
+ 
+diff --git a/src/application/mainwindow.cpp b/src/application/mainwindow.cpp
+index 337a7c4e..42255d2c 100644
+--- a/src/application/mainwindow.cpp
++++ b/src/application/mainwindow.cpp
+@@ -8140,14 +8140,3 @@ void MainWindow::createBackup()
+     QFile::copy(settings.fileName(), backupFileName);
+   }
+ }
+-
+-void MainWindow::webViewFullScreen(bool on)
+-{
+-  setFullScreen();
+-  feedsWidget_->setVisible(!on);
+-  pushButtonNull_->setVisible(!on);
+-  tabBarWidget_->setVisible(!on);
+-  currentNewsTab->newsWidget_->setVisible(!on);
+-  pushButtonNull_->setVisible(!on);
+-  statusBar()->setVisible(!on);
+-}
+diff --git a/src/application/mainwindow.h b/src/application/mainwindow.h
+index 995f96dc..93b75c11 100644
+--- a/src/application/mainwindow.h
++++ b/src/application/mainwindow.h
+@@ -271,8 +271,6 @@ public:
+ 
+   AdBlockIcon *adBlockIcon() { return adblockIcon_; }
+ 
+-  void webViewFullScreen(bool on);
+-
+ public slots:
+   void restoreFeedsOnStartUp();
+   void addFeed();
+diff --git a/src/newstabwidget.cpp b/src/newstabwidget.cpp
+index 77d74d3b..c6c130f7 100644
+--- a/src/newstabwidget.cpp
++++ b/src/newstabwidget.cpp
+@@ -1842,12 +1842,8 @@ void NewsTabWidget::loadNewspaper(int refresh)
+  *----------------------------------------------------------------------------*/
+ void NewsTabWidget::slotSetHtmlWebView(const QString &html, const QUrl &baseUrl)
+ {
+-  QUrl url = baseUrl;
+-#if QT_VERSION >= 0x050900
+-  url.setScheme("");
+-#endif
+   webView_->history()->setMaximumItemCount(0);
+-  webView_->setHtml(html, url);
++  webView_->setHtml(html, baseUrl);
+   webView_->history()->setMaximumItemCount(100);
+ }
+ 
+diff --git a/src/newstabwidget.h b/src/newstabwidget.h
+index 7f5c3957..8d1266ac 100644
+--- a/src/newstabwidget.h
++++ b/src/newstabwidget.h
+@@ -127,7 +127,6 @@ public:
+   QToolBar *newsToolBar_;
+   QSplitter *newsTabWidgetSplitter_;
+ 
+-  QWidget *newsWidget_;
+   WebView *webView_;
+   QToolBar *webToolBar_;
+   LocationBar *locationBar_;
+@@ -199,6 +198,7 @@ private:
+ 
+   MainWindow *mainWindow_;
+   QSqlDatabase db_;
++  QWidget *newsWidget_;
+ 
+   FeedsModel *feedsModel_;
+   FeedsProxyModel *feedsProxyModel_;
+diff --git a/src/optionsdialog.cpp b/src/optionsdialog.cpp
+index 73136dec..c082bc30 100644
+--- a/src/optionsdialog.cpp
++++ b/src/optionsdialog.cpp
+@@ -741,9 +741,7 @@ void OptionsDialog::createBrowserWidget()
+   browserWidget_ = new QTabWidget();
+   browserWidget_->addTab(generalBrowserWidget, tr("General"));
+   browserWidget_->addTab(historyBrowserWidget_, tr("History"));
+-#if QT_VERSION < 0x050900
+   browserWidget_->addTab(click2FlashWidget_, tr("Click to Flash"));
+-#endif
+   browserWidget_->addTab(downloadsWidget, tr("Downloads"));
+ }
+ 
+diff --git a/src/webview/webpage.cpp b/src/webview/webpage.cpp
+index 6401ec87..0254a167 100644
+--- a/src/webview/webpage.cpp
++++ b/src/webview/webpage.cpp
+@@ -51,10 +51,7 @@ WebPage::WebPage(QObject *parent)
+           this, SLOT(downloadRequested(QNetworkRequest)));
+   connect(this, SIGNAL(printRequested(QWebFrame*)),
+           mainApp->mainWindow(), SLOT(slotPrint(QWebFrame*)));
+-#if QT_VERSION >= 0x050900
+-  connect(this, SIGNAL(fullScreenRequested(QWebFullScreenRequest)),
+-          this, SLOT(slotFullScreenRequested(QWebFullScreenRequest)));
+-#endif
++
+   livingPages_.append(this);
+ }
+ 
+@@ -286,11 +283,3 @@ void WebPage::cleanBlockedObjects()
+     mainFrame()->scrollToAnchor(mainFrame()->url().fragment());
+   }
+ }
+-
+-#if QT_VERSION >= 0x050900
+-void WebPage::slotFullScreenRequested(QWebFullScreenRequest fullScreenRequest)
+-{
+-  fullScreenRequest.accept();
+-  mainApp->mainWindow()->webViewFullScreen(fullScreenRequest.toggleOn());
+-}
+-#endif
+diff --git a/src/webview/webpage.h b/src/webview/webpage.h
+index 5c376c50..91e72758 100644
+--- a/src/webview/webpage.h
++++ b/src/webview/webpage.h
+@@ -68,9 +68,6 @@ private slots:
+   void downloadRequested(const QNetworkRequest &request);
+   void cleanBlockedObjects();
+   void urlChanged(const QUrl &url);
+-#if QT_VERSION >= 0x050900
+-  void slotFullScreenRequested(QWebFullScreenRequest fullScreenRequest);
+-#endif
+ 
+ private:
+   NetworkManagerProxy *networkManagerProxy_;
+-- 
+2.16.2
+
diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix
index 7bd50a47f813..6bd42183d038 100644
--- a/pkgs/applications/networking/newsreaders/quiterss/default.nix
+++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix
@@ -1,17 +1,24 @@
-{ stdenv, fetchFromGitHub, qtbase, qmake, qttools, qtwebkit, pkgconfig, sqlite }:
+{ stdenv, fetchFromGitHub, qmake, pkgconfig
+, qtbase, qttools, qtwebkit, sqlite
+}:
 
 stdenv.mkDerivation rec {
   name = "quiterss-${version}";
-  version = "0.18.10";
+  version = "0.18.11";
 
   src = fetchFromGitHub {
     owner = "QuiteRSS";
     repo = "quiterss";
     rev = "${version}";
-    sha256 = "1bv5aw6fscrwlycirvzm6fvbwmg8lbd1ycldkwbvybhjyfjaxkpm";
+    sha256 = "0n9byhibi2qpgrb7x08knvqnmyn5c7vm24cl6y3zcvz52pz8y2yc";
   };
 
-  nativeBuildInputs = [ pkgconfig qmake ];
+  # Revert this commit until qt5.qtwebkit (currently an older version) from
+  # nixpkgs supports it (the commit states WebKit 602.1 while the current
+  # version in nixos-unstable is 538.1)
+  patches = [ ./0001-Revert-change-WebKit-602.1-c2f.patch ];
+
+  nativeBuildInputs = [ qmake pkgconfig ];
   buildInputs = [ qtbase qttools qtwebkit sqlite.dev ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/p2p/synapse-bt/default.nix b/pkgs/applications/networking/p2p/synapse-bt/default.nix
new file mode 100644
index 000000000000..c8d54e945bf9
--- /dev/null
+++ b/pkgs/applications/networking/p2p/synapse-bt/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl }:
+
+rustPlatform.buildRustPackage rec {
+  name = "synapse-bt-unstable-${version}";
+  version = "2018-06-04";
+
+  src = fetchFromGitHub {
+    owner = "Luminarys";
+    repo = "synapse";
+    rev = "ec8f23a14af21426ab0c4f8953dd954f747850ab";
+    sha256 = "0d1rrwnk333zz9g8s40i75xgdkpz6a1j01ajsh32yvzvbi045zkw";
+  };
+
+  cargoSha256 = "1psrmgf6ddzqwx7gf301rx84asfnvxpsvkx2fan453v65819k960";
+
+  buildInputs = [ pkgconfig openssl ];
+
+  cargoBuildFlags = [ "--all" ];
+
+  meta = with stdenv.lib; {
+    description = "Flexible and fast BitTorrent daemon";
+    homepage = https://synapse-bt.org/;
+    license = licenses.isc;
+    maintainers = with maintainers; [ dywedir ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/p2p/zeronet/default.nix b/pkgs/applications/networking/p2p/zeronet/default.nix
new file mode 100644
index 000000000000..8a8d1b33ca73
--- /dev/null
+++ b/pkgs/applications/networking/p2p/zeronet/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, python2Packages }:
+
+python2Packages.buildPythonApplication rec {
+  pname = "zeronet";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "HelloZeroNet";
+    repo = "ZeroNet";
+    rev = "v${version}";
+    sha256 = "0v19jjirkyv8hj2yfdj0c40zwynn51h2bj4issn5blr95vhfm8s7";
+  };
+
+  propagatedBuildInputs = with python2Packages; [ msgpack gevent ];
+
+  format = "other";
+
+  buildPhase = "${python2Packages.python.interpreter} -O -m compileall .";
+
+  installPhase = ''
+    mkdir -p $out/share
+    cp -r plugins src tools *.py $out/share/
+  '';
+
+  # Wrap the main executable and set the log and data dir to something out of
+  # the store
+  postFixup = ''
+    makeWrapper "$out/share/zeronet.py" "$out/bin/zeronet" \
+        --set PYTHONPATH "$PYTHONPATH" \
+        --set PATH ${python2Packages.python}/bin \
+        --add-flags "--log_dir \$HOME/.local/share/zeronet/logs" \
+        --add-flags "--data_dir \$HOME/.local/share/zeronet"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Decentralized websites using Bitcoin crypto and BitTorrent network";
+    homepage = "https://zeronet.io/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix
index 61dfb434070b..9190deb990e9 100644
--- a/pkgs/applications/networking/remote/citrix-receiver/default.nix
+++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix
@@ -23,7 +23,7 @@
 , alsaLib
 , libidn
 , zlib
-, version ? "13.9.0"
+, version ? "13.9.1"
 }:
 
 let
@@ -209,6 +209,7 @@ let
         find $ICAInstDir -type f -exec file {} \; |
           grep 'ELF.*executable' |
           cut -f 1 -d : |
+          grep -vi '\(.dll\|.so\)$' | # added as a workaround to https://github.com/NixOS/nixpkgs/issues/41729
           while read f
           do
             echo "Patching ELF intrepreter and rpath for $f"
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index e1a2cf8d1716..25d482fd9b06 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,14 +3,14 @@
 let
   common = { stname, target, patches ? [], postInstall ? "" }:
     stdenv.mkDerivation rec {
-      version = "0.14.47";
+      version = "0.14.48";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "1md835c13f3c9bknnm6pxn0r8k8g2wg56zfav96bpnpk4aqx41bh";
+        sha256 = "10jls0z3y081fq097xarplzv5sz076ibhawzm65bq695f6s5sdzw";
       };
 
       inherit patches;
diff --git a/pkgs/applications/science/astronomy/xearth/default.nix b/pkgs/applications/science/astronomy/xearth/default.nix
new file mode 100644
index 000000000000..5f276a1b3c70
--- /dev/null
+++ b/pkgs/applications/science/astronomy/xearth/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, xorg }:
+stdenv.mkDerivation rec {
+  name = "xearth-${version}";
+  version = "1.1";
+  
+  src = fetchurl {
+    url = "http://xearth.org/${name}.tar.gz";
+    sha256 = "bcb1407cc35b3f6dd3606b2c6072273b6a912cbd9ed1ae22fb2d26694541309c";
+  };
+
+  buildInputs = with xorg; [  imake libXt libXext ];
+
+  dontAddPrefix = true;
+  configureScript="xmkmf";
+
+  installFlags=[ "DESTDIR=$(out)/" "BINDIR=bin" "MANDIR=man/man1"];
+  installTargets="install install.man";
+  
+  meta = with stdenv.lib; {
+    description = "sets the X root window to an image of the Earth";
+    homepage = "http://xplanet.org";
+    longDescription =
+      '' Xearth  sets  the X root window to an image of the Earth, as seen from your favorite vantage point in space,
+         correctly shaded for the current position of the Sun.
+	 By default, xearth updates the displayed image every  five  minutes.
+      '';
+    maintainers = [ maintainers.mafo ];
+    license = "xearth";
+    platforms=platforms.unix;
+  };
+
+}
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 4ca489c40b3f..3583c3dbd19c 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gtkwave-${version}";
-  version = "3.3.90";
+  version = "3.3.91";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1q1fi0nqja9d8xj24h7ykvnpms6zqgn24jmyj1mxn48qig301c6m";
+    sha256 = "1vp9qj3wyfwm36jk3pajvi09xvc1m1crf3d4gphfbs6nkyx2z942";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/logic/cryptoverif/default.nix b/pkgs/applications/science/logic/cryptoverif/default.nix
index 3257977f5b5a..df9e58af08bb 100644
--- a/pkgs/applications/science/logic/cryptoverif/default.nix
+++ b/pkgs/applications/science/logic/cryptoverif/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cryptoverif-${version}";
-  version = "1.28";
+  version = "2.00";
 
   src = fetchurl {
     url    = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz";
-    sha256 = "0vssz751g1nn8wclkiwgghpm475jl00xkivc164vgbr9acxsr7n7";
+    sha256 = "0g8pkj58b48zk4c0sgpln0qhbj82v75mz3w6cl3w5bvmxsbkwvy1";
   };
 
   buildInputs = [ ocaml ];
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index 5eda2da60566..54c9799a01b8 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "z3-${version}";
-  version = "4.6.0";
+  version = "4.7.1";
 
   src = fetchFromGitHub {
     owner  = "Z3Prover";
     repo   = "z3";
-    rev    = "b0aaa4c6d7a739eb5e8e56a73e0486df46483222";
-    sha256 = "1cgwlmjdbf4rsv2rriqi2sdpz9qxihxrcpm6a4s37ijy437xg78l";
+    rev    = "3b1b82bef05a1b5fd69ece79c80a95fb6d72a990";
+    sha256 = "1s850r6qifwl83zzgvrb5l0jigvmymzpv18ph71hg2bcpk7kjw3d";
   };
 
   buildInputs = [ python fixDarwinDylibNames ];
diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix
index fd566abd9a9a..a3ff0d6d0f1e 100644
--- a/pkgs/applications/science/math/pynac/default.nix
+++ b/pkgs/applications/science/math/pynac/default.nix
@@ -9,14 +9,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.19";
+  version = "0.7.21";
   name = "pynac-${version}";
 
   src = fetchFromGitHub {
     owner = "pynac";
     repo = "pynac";
     rev = "pynac-${version}";
-    sha256 = "132bibvapm245c5xy29j3xmjs0pawvw7lv05374m8vv1m39127d3";
+    sha256 = "072mdziyx52y0knxjf2hs6nab36bckkanp7g6ff6qiy4fm0v8q04";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index ae21af65584c..11087846e05c 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -8,11 +8,11 @@
 
 
 stdenv.mkDerivation {
-  name = "gromacs-2018";
+  name = "gromacs-2018.1";
 
   src = fetchurl {
-    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2018.tar.gz";
-    sha256 = "1sfh3wdrw07797xm86fq10r0024ym585yyrnhdh0qam596vx1dfy";
+    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2018.1.tar.gz";
+    sha256 = "1k85sz0b9rmq00g58v22y9v671gsa512sjivx3n3yclr0hs36dad";
   };
 
   buildInputs = [cmake fftw]
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 46d33d1944ca..1a6e8bc56f40 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "hub-${version}";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchgit {
     url = https://github.com/github/hub.git;
     rev = "refs/tags/v${version}";
-    sha256 = "0rx5izxgjxh4jdn991x90xvgbc7nhwx15pkmmzc8rkdzf0hnas1s";
+    sha256 = "1lr6vg0zhg2air9bnzcl811g97jraxq05l3cs46wqqflwy57xpz2";
   };
 
 
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 74364327645d..dc983e003365 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "gitkraken-${version}";
-  version = "3.6.1";
+  version = "3.6.3";
 
   src = fetchurl {
     url = "https://release.gitkraken.com/linux/v${version}.deb";
-    sha256 = "1f77y281r3dp35vw3zdai2cgwwy2gpg7px6g66ylfz4gkig26dz8";
+    sha256 = "1bl4zz4k9whv5q6bkf6hyki26dkjhm19rzx2800zzadbrdgs7iz4";
   };
 
   libPath = makeLibraryPath [
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 6b8ef7b88e8e..8cbfe1ec1617 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -5,9 +5,9 @@
 , perlBindings ? false
 , javahlBindings ? false
 , saslSupport ? false
-, stdenv, fetchurl, apr, aprutil, zlib, sqlite
+, stdenv, fetchurl, apr, aprutil, zlib, sqlite, openssl, lz4, utf8proc
 , apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
-, sasl ? null, serf ? null, openssl
+, sasl ? null, serf ? null
 }:
 
 assert bdbSupport -> aprutil.bdbSupport;
@@ -17,7 +17,7 @@ assert javahlBindings -> jdk != null && perl != null;
 
 let
 
-  common = { version, sha256 }: stdenv.mkDerivation (rec {
+  common = { version, sha256, extraBuildInputs ? [ ] }: stdenv.mkDerivation (rec {
     inherit version;
     name = "subversion-${version}";
 
@@ -30,6 +30,7 @@ let
     outputs = [ "out" "dev" "man" ];
 
     buildInputs = [ zlib apr aprutil sqlite openssl ]
+      ++ extraBuildInputs
       ++ stdenv.lib.optional httpSupport serf
       ++ stdenv.lib.optional pythonBindings python
       ++ stdenv.lib.optional perlBindings perl
@@ -114,4 +115,10 @@ in {
     version = "1.9.7";
     sha256 = "08qn94zaqcclam2spb4h742lvhxw8w5bnrlya0fm0bp17hriicf3";
   };
+
+  subversion_1_10 = common {
+    version = "1.10.0";
+    sha256 = "115mlvmf663w16mc3xyypnaizq401vbypc56hl2ylzc3pcx3zwic";
+    extraBuildInputs = [ lz4 utf8proc ];
+  };
 }
diff --git a/pkgs/applications/video/mapmap/default.nix b/pkgs/applications/video/mapmap/default.nix
new file mode 100644
index 000000000000..6569caad6c52
--- /dev/null
+++ b/pkgs/applications/video/mapmap/default.nix
@@ -0,0 +1,63 @@
+{ stdenv 
+, fetchFromGitHub
+, qttools
+, qtbase
+, qtmultimedia
+, liblo
+, gst_all_1
+, qmake
+, pkgconfig
+}:
+
+with stdenv;
+
+mkDerivation rec {
+
+  version = "0.6.1";
+  name = "mapmap-${version}";
+
+  src = fetchFromGitHub {
+    owner = "mapmapteam";
+    repo = "mapmap";
+    rev = version;
+    sha256 = "15km6xmfkxhrflq4sl9m9r85zi4shrr4k5h15x17v7x0qkc3xgsh";
+  };
+
+  nativeBuildInputs = [
+    qmake
+    pkgconfig
+  ];
+
+  buildInputs = [
+    qttools
+    qtmultimedia
+    liblo
+    gst_all_1.gstreamer
+    gst_all_1.gstreamermm
+    gst_all_1.gst-libav
+    gst_all_1.gst-vaapi
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp mapmap $out/bin/mapmap
+    mkdir -p $out/share/applications/
+    sed 's|Icon=/usr/share/icons/hicolor/scalable/apps/mapmap.svg|Icon=mapmap|g' resources/texts/mapmap.desktop > $out/share/applications/mapmap.desktop
+    mkdir -p $out/share/icons/hicolor/scalable/apps/
+    cp resources/images/logo/mapmap.* $out/share/icons/hicolor/scalable/apps/
+  '';
+
+  # RPATH in /tmp hack
+  # preFixup = ''
+  #   rm -r $NIX_BUILD_TOP/__nix_qt5__
+  # '';
+
+  meta = with stdenv.lib; {
+    description = "Open source video mapping software";
+    homepage = https://github.com/mapmapteam/mapmap;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.erictapen ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/applications/video/obs-studio/linuxbrowser.nix b/pkgs/applications/video/obs-studio/linuxbrowser.nix
new file mode 100644
index 000000000000..289c0ffd7074
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/linuxbrowser.nix
@@ -0,0 +1,48 @@
+# We don't have a wrapper which can supply obs-studio plugins so you have to
+# somewhat manually install this:
+
+# nix-env -f . -iA obs-linuxbrowser
+# mkdir -p ~/.config/obs-studio/plugins
+# ln -s ~/.nix-profile/share/obs/obs-plugins/obs-linuxbrowser ~/.config/obs-studio/plugins/
+
+{ stdenv, fetchFromGitHub, obs-studio, cmake, libcef
+}:
+
+stdenv.mkDerivation rec {
+  name = "obs-linuxbrowser-${version}";
+  version = "0.3.1";
+  src = fetchFromGitHub {
+    owner = "bazukas";
+    repo = "obs-linuxbrowser";
+    rev = version;
+    sha256 = "0dql7wxyhksqa08j1dn5d09v2jwhgywc1p7psifhhvh97rkp4z7j";
+  };
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ obs-studio ];
+  postUnpack = ''
+    mkdir -p cef/Release cef/Resources cef/libcef_dll_wrapper/
+    for i in ${libcef}/share/cef/*; do
+      ln -s $i cef/Release/
+      ln -s $i cef/Resources/
+    done
+    ln -s ${libcef}/lib/libcef.so cef/Release/
+    ln -s ${libcef}/lib/libcef_dll_wrapper.a cef/libcef_dll_wrapper/
+    ln -s ${libcef}/include cef/
+  '';
+  cmakeFlags = [
+    "-DCEF_DIR=../../cef"
+    "-DOBS_INCLUDE=${obs-studio}/include/obs"
+  ];
+  installPhase = ''
+    mkdir -p $out/share/obs/obs-plugins
+    cp -r build/obs-linuxbrowser $out/share/obs/obs-plugins/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Browser source plugin for obs-studio based on Chromium Embedded Framework";
+    homepage = https://github.com/bazukas/obs-linuxbrowser;
+    maintainers = with maintainers; [ puffnfresh ];
+    license = licenses.gpl2;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 6cc26baf70c0..c3665daad9de 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -20,11 +20,11 @@ assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null);
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "3.0.1";
+  version = "3.0.3";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz";
-    sha256 = "008krfhykm9447wc1kkw82bsw3f6ikljgrqyb1sinwlxnkghqw6f";
+    sha256 = "0lavzly8l0ll1d9iris9cnirgcs77g48lxj14058dxqkvd5v1a4v";
   };
 
   # VLC uses a *ton* of libraries for various pieces of functionality, many of
@@ -52,6 +52,14 @@ stdenv.mkDerivation rec {
   # set the path to the compiler
   BUILDCC = "${stdenv.cc}/bin/gcc";
 
+  patches = [
+    (fetchpatch {
+      name = "vlc-qt5.11.patch";
+      url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/vlc-qt5.11.patch?h=packages/vlc";
+      sha256 = "0yh65bhhaz876cazhagnafs1dr61184lpj3y0m3y7k37bswykj8p";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace configure \
       --replace /bin/echo echo
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index eb48e1d3d300..33e12d109854 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, libxml2, gtk3, gtkvnc, gmp
 , libgcrypt, gnupg, cyrus_sasl, shared-mime-info, libvirt, yajl, xen
 , gsettings-desktop-schemas, makeWrapper, libvirt-glib, libcap_ng, numactl
-, libapparmor
+, libapparmor, gst_all_1
 , spiceSupport ? true
 , spice-gtk ? null, spice-protocol ? null, libcap ? null, gdbm ? null
 }:
@@ -30,11 +30,14 @@ stdenv.mkDerivation rec {
     xen
   ] ++ optionals spiceSupport [
     spice-gtk spice-protocol libcap gdbm
+    gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
   ];
 
   postInstall = ''
     for f in "$out"/bin/*; do
-        wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+        wrapProgram "$f" \
+          --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+          --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
     done
   '';
 
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 0cbf30bea741..6d0344d46865 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -221,6 +221,8 @@ stdenv.mkDerivation (rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   # TODO(@oxij): Stop referencing args here
   meta = {
     homepage = http://www.xen.org/;
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index ead78bf4efd9..8c6926dd2c69 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -6,22 +6,26 @@ stdenv.mkDerivation rec {
   name = "openbox-${version}";
   version = "3.6.1";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    libxml2
-    libXinerama libXcursor libXau libXrandr libICE libSM
-    libstartup_notification makeWrapper
+  nativeBuildInputs = [
+    pkgconfig
+    makeWrapper
     python2.pkgs.wrapPython
   ];
 
-  pythonPath = with python2.pkgs; [
-    pyxdg
+  buildInputs = [
+    libxml2
+    libXinerama libXcursor libXau libXrandr libICE libSM
+    libstartup_notification
   ];
 
   propagatedBuildInputs = [
     pango imlib2
   ];
 
+  pythonPath = with python2.pkgs; [
+    pyxdg
+  ];
+
   src = fetchurl {
     url = "http://openbox.org/dist/openbox/${name}.tar.gz";
     sha256 = "1xvyvqxlhy08n61rjkckmrzah2si1i7nmc7s8h07riqq01vc0jlb";
@@ -41,7 +45,7 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/openbox-session" --prefix XDG_DATA_DIRS : "$out/share"
     wrapProgram "$out/bin/openbox-gnome-session" --prefix XDG_DATA_DIRS : "$out/share"
     wrapProgram "$out/bin/openbox-kde-session" --prefix XDG_DATA_DIRS : "$out/share"
-    wrapPythonPrograms
+    wrapPythonProgramsIn "$out/libexec" "$out $pythonPath"
   '';
 
   meta = {
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 0e10ba036a06..b01f0b722724 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -47,6 +47,8 @@ rec {
     }:
 
     runCommand name {
+      inherit imageName imageDigest;
+      imageTag = finalImageTag;
       impureEnvVars = pkgs.stdenv.lib.fetchers.proxyImpureEnvVars;
       outputHashMode = "flat";
       outputHashAlgo = "sha256";
diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh
index 0f9d7603d48f..f40cdcf4cadf 100644
--- a/pkgs/build-support/setup-hooks/auto-patchelf.sh
+++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh
@@ -15,6 +15,7 @@ findElfs() {
         while [ -n "$1" ]; do
             mimeType="$(file -b -N --mime-type "$1")"
             if [ "$mimeType" = application/x-executable \
+              -o "$mimeType" = application/x-pie-executable \
               -o "$mimeType" = application/x-sharedlib ]; then
                 echo "$1"
             fi
diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix
index e56807a434e8..5e658e458fd5 100644
--- a/pkgs/data/fonts/unifont/default.nix
+++ b/pkgs/data/fonts/unifont/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "unifont-${version}";
-  version = "10.0.06";
+  version = "11.0.01";
 
   ttf = fetchurl {
     url = "mirror://gnu/unifont/${name}/${name}.ttf";
-    sha256 = "1h4scl4l6503n8ghzd35dxfbai773csjrgdziqm86334zdj9g6k6";
+    sha256 = "03nnfnh4j60a4hy0d4hqpnvhlfx437hp4g1wjfjy91vzrcbmvkwi";
   };
 
   pcf = fetchurl {
     url = "mirror://gnu/unifont/${name}/${name}.pcf.gz";
-    sha256 = "0ypkmwyfrsnag69h1c0mx89ranz4f6jc9y1sqkpq2rbzg64maik0";
+    sha256 = "03bqqz2ipy3afhwsfy30c2v97cc27grw11lc0vzcvrgvin9ys2v1";
   };
 
   nativeBuildInputs = [ mkfontscale mkfontdir ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "1qz7qr6lrwcn47vn0hbbgqnhz3agdl7q7x4l4yd5ard0idv3jj98";
+  outputHash = "1ncllq42x1mlblf6h44garc3b5hkxv9dkpgbaipzll22p1l29yrf";
 
   meta = with stdenv.lib; {
     description = "Unicode font for Base Multilingual Plane";
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index 638a342e8eba..e867d0fbb4be 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -9,7 +9,7 @@ let
 
   certdata2pem = fetchurl {
     name = "certdata2pem.py";
-    url = "https://anonscm.debian.org/cgit/collab-maint/ca-certificates.git/plain/mozilla/certdata2pem.py?h=debian/20170717";
+    url = "https://salsa.debian.org/debian/ca-certificates/raw/debian/20170717/mozilla/certdata2pem.py";
     sha256 = "1d4q27j1gss0186a5m8bs5dk786w07ccyq0qi6xmd2zr1a8q16wy";
   };
 
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index e2f14a059c24..4612556f73db 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/810aa8e3848857c1158ded74a52159220119d188.tar.gz";
-  sha256 = "1s4x3ipn2san4rvfagmczdn70rhygpwwdmz0pqvy7q4rmgxy9x1i";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/6a869307fd58b59579f78e5631b9bc8ae6b9bb92.tar.gz";
+  sha256 = "1i6gg49gibbqgc0iq87qlf6cqmi67pk8y2zbiz3gynqzrcmqbhfd";
 }
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index 7f0fbd71021b..9919fb57f7cc 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, osinfo-db-tools, intltool, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "osinfo-db-20180514";
+  name = "osinfo-db-20180531";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${name}.tar.xz";
-    sha256 = "1pyz89gwn3s9ha4chgfcfddi6dixm2dp4zsypfd38fwhqa9v0ij2";
+    sha256 = "0vw6hn7xdfj0q7wc3k9b0nvbghdp1b9dl63xz2v7frr55qv59m5x";
   };
 
   nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ];
diff --git a/pkgs/data/misc/wireless-regdb/default.nix b/pkgs/data/misc/wireless-regdb/default.nix
index 0805a62b15e0..b386b18e69e2 100644
--- a/pkgs/data/misc/wireless-regdb/default.nix
+++ b/pkgs/data/misc/wireless-regdb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "wireless-regdb-${version}";
-  version = "2018.05.09";
+  version = "2018.05.31";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/wireless-regdb/${name}.tar.xz";
-    sha256 = "0db4p8m194cjydrv9q7ygx62v202sighb9pizbn8a29anvm0cmzd";
+    sha256 = "0yxydxkmcb6iryrbazdk8lqqibig102kq323gw3p64vpjwxvrpz1";
   };
 
   dontBuild = true;
diff --git a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
index caf067532392..b40cb98cbefc 100644
--- a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchpatch, fetchurl, autoreconfHook, pkgconfig, atk, cairo, glib
 , gnome-common, gtk, pango
-, libxml2Python, perl, intltool, gettext, gtk-mac-integration }:
+, libxml2Python, perl, intltool, gettext, gtk-mac-integration-gtk2 }:
 
 with stdenv.lib;
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     pango libxml2Python perl intltool
     gettext
   ] ++ optionals stdenv.isDarwin [
-    autoreconfHook gnome-common gtk-mac-integration
+    autoreconfHook gnome-common gtk-mac-integration-gtk2
   ];
 
   preConfigure = optionalString stdenv.isDarwin ''
diff --git a/pkgs/desktops/gnome-3/apps/vinagre/default.nix b/pkgs/desktops/gnome-3/apps/vinagre/default.nix
index 4f358cf0b4f6..566624431dc6 100644
--- a/pkgs/desktops/gnome-3/apps/vinagre/default.nix
+++ b/pkgs/desktops/gnome-3/apps/vinagre/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk3 vte libxml2 gtkvnc intltool libsecret
                   itstool makeWrapper gnome3.defaultIconTheme librsvg ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral";
+
   preFixup = ''
     wrapProgram "$out/bin/vinagre" \
       --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share"
diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix
index c9537f497690..f55be458addf 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "epiphany-${version}";
-  version = "3.28.1.1";
+  version = "3.28.2.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/epiphany/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "15d4dr4dwb1dyw3mvs7wp5gik57kdg0rxdc49n92wx46wfh6lhlr";
+    sha256 = "0ba0qqsbg3cv1k1pcj971y7l8kqib5l7kbr743x9a7hbmkqfk95s";
   };
 
   # Tests need an X display
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 247d3566d6f3..2f7452dbc572 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gdm-${version}";
-  version = "3.28.1";
+  version = "3.28.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1yxjjyrp0ywrc25cp81bsdhp79zn0c0jag48hlp00b5wfnkqy1kp";
+    sha256 = "0wdm1503x66n1crdlmzmincbd2hccpxsdgjsl5anx3yjpdzs0hb0";
   };
 
   # Only needed to make it build
diff --git a/pkgs/desktops/gnome-3/core/geocode-glib/default.nix b/pkgs/desktops/gnome-3/core/geocode-glib/default.nix
index 910ef01fcb9d..f48e9b3b1218 100644
--- a/pkgs/desktops/gnome-3/core/geocode-glib/default.nix
+++ b/pkgs/desktops/gnome-3/core/geocode-glib/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "geocode-glib-${version}";
-  version = "3.25.4.1";
+  version = "3.26.0";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/geocode-glib/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0y6p5l2jrr78p7l4hijjhclzbap005y6h06g3aiglg9i5hk6j0gi";
+    sha256 = "1vmydxs5xizcmaxpkfrq75xpj6pqrpdjizxyb30m00h54yqqch7a";
   };
 
   nativeBuildInputs = with gnome3; [ meson ninja pkgconfig gettext gtk-doc docbook_xsl gobjectIntrospection ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index 55ac087cfa2c..6d5777614118 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -9,13 +9,13 @@
 
 let
   pname = "gnome-control-center";
-  version = "3.28.1";
+  version = "3.28.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0f2p91bzbl39q3cb1qj5vi55km7wxb2fibx07vciz39g5va5cpn6";
+    sha256 = "0d6pjdbsra16nav8201kaadja5yma92bhziki9601ilk2ry3v7pz";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
index 38f105bfcb0f..2eb66b02627b 100644
--- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-disk-utility-${version}";
-  version = "3.28.2";
+  version = "3.28.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-disk-utility/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1j3l4b1prbnixzy6srvcsjfg1dx5nqys2lmygm31ygfdq7svp3m6";
+    sha256 = "11ajz4cbsdns81kihd6242b6pwxbw8bkr9qqkf4qnb4kp363a38m";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 6f80fe0c90bf..d224f0561703 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-terminal-${version}";
-  version = "3.28.1";
+  version = "3.28.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1hqwh12hiy73mazqgvyrq8jk4c669x2fb4nh8mwby3qbk8ca19pp";
+    sha256 = "0ybjansg6lr279191w8z8r45gy4rxwzw1ajm98cgkv0fk2jdr0x2";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix
index b4c15b5dce2e..f852e053cdeb 100644
--- a/pkgs/desktops/gnome-3/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem/default.nix
@@ -15,11 +15,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  # https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1712021
-  # https://bugzilla.gnome.org/show_bug.cgi?id=784236
-  # https://github.com/mesonbuild/meson/issues/1994
-  enableParallelBuilding = false;
-
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   nativeBuildInputs = [ meson ninja vala pkgconfig intltool python3Packages.python itstool wrapGAppsHook ];
@@ -46,7 +41,13 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  mesonFlags = [ "-Dwith-nautilusdir=lib/nautilus/extensions-3.0" ];
+  mesonFlags = [
+    "-Dwith-nautilusdir=lib/nautilus/extensions-3.0"
+    # https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1712021
+    # https://bugzilla.gnome.org/show_bug.cgi?id=784236
+    # https://github.com/mesonbuild/meson/issues/1994
+    "-Denable-vala=no"
+  ];
 
   wrapPrefixVariables = [ "PYTHONPATH" ];
 
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
index 6577ba3ae587..ed313221e56a 100644
--- a/pkgs/desktops/gnome-3/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/core/vte/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "vte-${version}";
-  version = "0.52.1";
+  version = "0.52.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/vte/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1lva70inb5y8p42rg95fb88z2ybwcz0lybla3ixbgp2sj0s4rzdh";
+    sha256 = "1br6kg0wzf1wmww1hadihhcpqbamalqmbppfdzjvzk1ayp75f9hg";
   };
 
   passthru = {
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index b9f9e0ece35d..f154829c4cb5 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-applets-${version}";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1a119g49sr7jrd8i32bw7sn2qlsg3sdiwqdb2v36bm2999j261wc";
+    sha256 = "0c860yxbphpvci281gj78ipw1rvcka4rr0bxwvg0nkpangdhj9ls";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix
index 9d82d439c825..8d6d470727dd 100644
--- a/pkgs/desktops/mate/mate-themes/default.nix
+++ b/pkgs/desktops/mate/mate-themes/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-themes-${version}";
-  version = "3.22.16";
+  version = "3.22.17";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/themes/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1k8qp2arjv4vj8kyjhjgyj5h46jy0darlfh48l5h25623z1firdj";
+    sha256 = "1bf1swyrr5dkfsp1ihc0svr5nnwv22zxjwgmf6zhxl638ng9f41h";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/development/compilers/adobe-flex-sdk/default.nix b/pkgs/development/compilers/adobe-flex-sdk/default.nix
deleted file mode 100644
index 1512ef396558..000000000000
--- a/pkgs/development/compilers/adobe-flex-sdk/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, unzip }:
-
-stdenv.mkDerivation rec {
-  name = "adobe-flex-sdk-4.0.0.14159";
-
-  src = fetchurl {
-    # This is the open source distribution
-    url = http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4/flex_sdk_4.0.0.14159_mpl.zip;
-    sha256 = "1x12sji6g42bm1h7jndkda5vpah6vnkpc13qwq0c4xvbsh8757v5";
-  };
-
-  phases = "installPhase";
-
-  buildInputs = [ unzip ];
-
-  # Why do shell scripts have \r\n ??
-  # moving to /opt because jdk has lib/xercesImpl.jar as well
-  installPhase = ''
-    unzip ${src}
-    t=$out/opt/flex-sdk
-    mkdir -p $t $out/bin
-    mv * $t
-    rm $t/bin/*.exe $t/bin/*.bat
-    sed 's/
$//' -i $t/bin/*
-    for i in $t/bin/*; do
-      b="$(basename "$i")";
-    cat > "$out/bin/$b" << EOF
-    #!/bin/sh
-    exec $t/bin/$b "\$@"
-    EOF
-      chmod +x $out/bin/$b $t/bin/$b
-    done
-  '';
-
-  meta = {
-    description = "Flex SDK for Adobe Flash / ActionScript";
-    homepage = "https://www.adobe.com/products/flex.html";
-    license = stdenv.lib.licenses.mpl11;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/compilers/apache-flex-sdk/default.nix b/pkgs/development/compilers/apache-flex-sdk/default.nix
new file mode 100644
index 000000000000..e8759ec073b3
--- /dev/null
+++ b/pkgs/development/compilers/apache-flex-sdk/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+
+let
+  playerglobal_ver = "27.0";
+  playerglobal = fetchurl {
+    url = "https://fpdownload.macromedia.com/get/flashplayer/updaters/27/playerglobal27_0.swc";
+    sha256 = "0qw2bgls8qsmp80j8vpd4c7s0c8anlrk0ac8z42w89bajcdbwk2f";
+  };
+in stdenv.mkDerivation rec {
+  name = "apache-flex-sdk-${version}";
+  version = "4.16.1";
+
+  src = fetchurl {
+    url = "https://www.apache.org/dist/flex/${version}/binaries/${name}-bin.tar.gz";
+    sha256 = "13iq16dqvgcpb0p35x66hzxsq5pkbr2lbwr766nnqiryinnagz8p";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ jre ];
+
+  buildPhase = ":";
+
+  postPatch = ''
+    shopt -s extglob
+    for i in bin/!(aasdoc|acompc|amxmlc); do
+      substituteInPlace $i --replace "java " "${jre}/bin/java "
+    done
+  '';
+
+  installPhase = ''
+    t=$out/opt/apache-flex-sdk
+    mkdir -p $t $out/bin
+    mv * $t
+    rm $t/bin/*.bat
+    ln -s $t/bin/* $out/bin/
+
+    for i in $out/bin/!(aasdoc|acompc|amxmlc); do
+      wrapProgram $i \
+        --set FLEX_HOME $t \
+        --set PLAYERGLOBAL_HOME $t/frameworks/libs/player/ 
+    done
+
+    mkdir -p $t/frameworks/libs/player/${playerglobal_ver}/
+    cp ${playerglobal} $t/frameworks/libs/player/${playerglobal_ver}/playerglobal.swc
+  '';
+  
+  fixupPhase = ":";
+
+  meta = with stdenv.lib; {
+    description = "Flex SDK for Adobe Flash / ActionScript";
+    homepage = "https://flex.apache.org/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ dywedir ];
+  };
+}
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index 579af7a8d232..d6453d1d1071 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -3,11 +3,11 @@
 , withContrib ? true }:
 
 let
-  versionPkg = "0.3.9" ;
+  versionPkg = "0.3.11" ;
 
   contrib = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz" ;
-    sha256 = "627bb99ecf2e3d5976f95f2faa13c7c330726601e8bb05a2113c9b69c98749b5";
+    sha256 = "300884eca8a54cb9b0daa19bd04a86252160cc8ad6ef494198babd56d5a579bc";
   };
 
   postInstallContrib = stdenv.lib.optionalString withContrib
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
-    sha256 = "c69a7c58964df26227e77656659129ca4c05205d2ebcacc7084edba818fb6e81";
+    sha256 = "feba71f37e9688b8ff0a72c4eb21914ce59f19421350d9dc3f15ad6f8c28428a";
   };
 
   buildInputs = [ gmp ];
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
     homepage    = "http://www.ats-lang.org";
     license     = licenses.gpl3Plus;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ thoughtpolice ttuegel ];
+    maintainers = with maintainers; [ thoughtpolice ttuegel bbarker ];
   };
 }
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index d569e2401b6d..b7c310cf01d2 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -151,35 +151,35 @@ let
 
 in {
 
-  cudatoolkit6 = common {
+  cudatoolkit_6 = common {
     version = "6.0.37";
     url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run";
     sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40";
     gcc = gcc48;
   };
 
-  cudatoolkit65 = common {
+  cudatoolkit_6_5 = common {
     version = "6.5.19";
     url = "http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run";
     sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj";
     gcc = gcc48;
   };
 
-  cudatoolkit7 = common {
+  cudatoolkit_7 = common {
     version = "7.0.28";
     url = "http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run";
     sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi";
     gcc = gcc49;
   };
 
-  cudatoolkit75 = common {
+  cudatoolkit_7_5 = common {
     version = "7.5.18";
     url = "http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run";
     sha256 = "1v2ylzp34ijyhcxyh5p6i0cwawwbbdhni2l5l4qm21s1cx9ish88";
     gcc = gcc49;
   };
 
-  cudatoolkit8 = common {
+  cudatoolkit_8 = common {
     version = "8.0.61.2";
     url = "https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run";
     sha256 = "1i4xrsqbad283qffvysn88w2pmxzxbbby41lw0j1113z771akv4w";
@@ -192,7 +192,14 @@ in {
     gcc = gcc5;
   };
 
-  cudatoolkit9 = common {
+  cudatoolkit_9_0 = common {
+    version = "9.0.176.1";
+    url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run";
+    sha256 = "0308rmmychxfa4inb1ird9bpgfppgr9yrfg1qp0val5azqik91ln";
+    gcc = gcc6;
+  };
+
+  cudatoolkit_9 = common {
     version = "9.1.85.1";
     url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux";
     sha256 = "0lz9bwhck1ax4xf1fyb5nicb7l1kssslj518z64iirpy2qmwg5l4";
diff --git a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
index e8c24b21134c..57d9fccd266b 100644
--- a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
+++ b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
@@ -6,6 +6,8 @@
 , cabal-install
 , gmp
 , runCommand
+, lib
+, stdenv
 
 , ghc
 , happy
@@ -20,15 +22,18 @@ runCommand "configured-ghcjs-src" {
     autoconf
     automake
     python3
-    gcc
     ghc
     happy
     alex
     cabal-install
+  ] ++ lib.optionals stdenv.isDarwin [
+    gcc # https://github.com/ghcjs/ghcjs/issues/663
   ];
   inherit ghcjsSrc;
 } ''
   export HOME=$(pwd)
+  mkdir $HOME/.cabal
+  touch $HOME/.cabal/config
   cp -r "$ghcjsSrc" "$out"
   chmod -R +w "$out"
   cd "$out"
diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix
index 7f13c373942d..04c3431f6f23 100644
--- a/pkgs/development/compilers/ghcjs-ng/default.nix
+++ b/pkgs/development/compilers/ghcjs-ng/default.nix
@@ -50,13 +50,10 @@ let
   };
 
   bootGhcjs = haskellLib.justStaticExecutables passthru.bootPkgs.ghcjs;
-  libexec =
-    if builtins.compareVersions bootGhcjs.version "8.3" <= 0
-      then "${bootGhcjs}/bin"
-      else "${bootGhcjs}/libexec/${builtins.replaceStrings ["darwin"] ["osx"] stdenv.system}-${passthru.bootPkgs.ghc.name}/${bootGhcjs.name}";
+  libexec = "${bootGhcjs}/libexec/${builtins.replaceStrings ["darwin"] ["osx"] stdenv.system}-${passthru.bootPkgs.ghc.name}/${bootGhcjs.name}";
 
 in stdenv.mkDerivation {
-    name = "ghcjs";
+    name = bootGhcjs.name;
     src = passthru.configuredSrc;
     nativeBuildInputs = [
       bootGhcjs
@@ -73,6 +70,8 @@ in stdenv.mkDerivation {
     phases = ["unpackPhase" "buildPhase"];
     buildPhase = ''
       export HOME=$TMP
+      mkdir $HOME/.cabal
+      touch $HOME/.cabal/config
       cd lib/boot
 
       mkdir -p $out/bin
diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix
index 5ffb7b92b26a..1c62f79f907b 100644
--- a/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -7,13 +7,13 @@
 
 let drv = stdenv.mkDerivation rec {
   pname = "jetbrainsjdk";
-  version = "152b1136.20";
+  version = "152b1248.6";
   name = pname + "-" + version;
 
   src = if stdenv.system == "x86_64-linux" then
     fetchurl {
       url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbsdk8u${version}_linux_x64.tar.gz";
-      sha256 = "0sqr8f3z062kwcxh3dxnan45ldas438blbc69z0pypbhc8c2sk2b";
+      sha256 = "12l81g8zhaymh4rzyfl9nyzmpkgzc7wrphm3j4plxx129yn9i7d7";
     }
   else
     throw "unsupported system: ${stdenv.system}";
diff --git a/pkgs/development/compilers/julia/0.6.nix b/pkgs/development/compilers/julia/0.6.nix
index 6fad8e5259c5..9f0d0250c5d1 100644
--- a/pkgs/development/compilers/julia/0.6.nix
+++ b/pkgs/development/compilers/julia/0.6.nix
@@ -50,11 +50,16 @@ let
     url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz";
     sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh";
   };
+
+  majorVersion = "0";
+  minorVersion = "6";
+  maintenanceVersion = "2";
+  version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
 in
 
 stdenv.mkDerivation rec {
   pname = "julia";
-  version = "0.6.2";
+  inherit version;
   name = "${pname}-${version}";
 
   src = fetchzip {
@@ -183,6 +188,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru = {
+    inherit majorVersion minorVersion maintenanceVersion;
+    site = "share/julia/site/v${majorVersion}.${minorVersion}";
+  };
+
   meta = {
     description = "High-level performance-oriented dynamical language for technical computing";
     homepage = https://julialang.org/;
diff --git a/pkgs/development/compilers/mint/crystal2nix.cr b/pkgs/development/compilers/mint/crystal2nix.cr
new file mode 100644
index 000000000000..017ebe62b495
--- /dev/null
+++ b/pkgs/development/compilers/mint/crystal2nix.cr
@@ -0,0 +1,35 @@
+require "yaml"
+require "json"
+
+class PrefetchJSON
+  JSON.mapping(sha256: String)
+end
+
+File.open "shards.nix", "w+" do |file|
+  file.puts %({)
+  yaml = YAML.parse(File.read("shard.lock"))
+  yaml["shards"].each do |key, value|
+    owner, repo = value["github"].as_s.split("/")
+    url = "https://github.com/#{value["github"]}"
+    rev = if value["version"]?
+            "v#{value["version"]}"
+          else
+            value["commit"].as_s
+          end
+
+    sha256 = ""
+    args = ["--url", url, "--rev", rev]
+    Process.run("nix-prefetch-git", args: args) do |x|
+      x.error.each_line { |e| puts e }
+      sha256 = PrefetchJSON.from_json(x.output).sha256
+    end
+
+    file.puts %(  #{key} = {)
+    file.puts %(    owner = "#{owner}";)
+    file.puts %(    repo = "#{repo}";)
+    file.puts %(    rev = "#{rev}";)
+    file.puts %(    sha256 = "#{sha256}";)
+    file.puts %(  };)
+  end
+  file.puts %(})
+end
diff --git a/pkgs/development/compilers/mint/default.nix b/pkgs/development/compilers/mint/default.nix
new file mode 100644
index 000000000000..08a55dc609f6
--- /dev/null
+++ b/pkgs/development/compilers/mint/default.nix
@@ -0,0 +1,61 @@
+{stdenv, lib, fetchFromGitHub, crystal, zlib, openssl, duktape}:
+let
+  crystalPackages = lib.mapAttrs (name: src:
+    stdenv.mkDerivation {
+      name = lib.replaceStrings ["/"] ["-"] name;
+      src = fetchFromGitHub src;
+      phases = "installPhase";
+      installPhase = ''cp -r $src $out'';
+      passthru = { libName = name; };
+    }
+  ) (import ./shards.nix);
+
+  crystalLib = stdenv.mkDerivation {
+    name = "crystal-lib";
+    src = lib.attrValues crystalPackages;
+    libNames = lib.mapAttrsToList (k: v: [k v]) crystalPackages;
+    phases = "buildPhase";
+    buildPhase = ''
+      mkdir -p $out
+      linkup () {
+        while [ "$#" -gt 0 ]; do
+          ln -s $2 $out/$1
+          shift; shift
+        done
+      }
+      linkup $libNames
+    '';
+  };
+in
+stdenv.mkDerivation rec {
+  version = "0.0.3";
+  name = "mint-${version}";
+  src = fetchFromGitHub {
+    owner = "mint-lang";
+    repo = "mint";
+    rev = "0.0.3";
+    sha256 = "15aawhpagpaqrs64jnz3g6iw3dhq0rlqm92cvfd5a3hbwvxg7lm0";
+  };
+
+  buildInputs = [ crystal zlib openssl duktape ];
+
+  buildPhase = ''
+    mkdir -p $out/bin
+
+    mkdir tmp
+    cd tmp
+    ln -s ${crystalLib} lib
+    cp -r $src/* .
+    crystal build src/mint.cr -o $out/bin/mint --verbose --progress --release --no-debug
+  '';
+
+  installPhase = ''true'';
+
+  meta = {
+    description = "A refreshing language for the front-end web";
+    homepage = https://mint-lang.com/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ manveru ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/development/compilers/mint/shards.nix b/pkgs/development/compilers/mint/shards.nix
new file mode 100644
index 000000000000..dcf7454b4ca8
--- /dev/null
+++ b/pkgs/development/compilers/mint/shards.nix
@@ -0,0 +1,62 @@
+{
+  admiral = {
+    owner = "jwaldrip";
+    repo = "admiral.cr";
+    rev = "v1.6.1";
+    sha256 = "0y30b9b9rkz43afd3b9l24hs0r170qyc07r05kvydbv89376c53i";
+  };
+  ameba = {
+    owner = "veelenga";
+    repo = "ameba";
+    rev = "v0.6.0";
+    sha256 = "16jfyrkfc909h16si513lw944qp3dyapymczcqc2ic0jaal0af5b";
+  };
+  baked_file_system = {
+    owner = "schovi";
+    repo = "baked_file_system";
+    rev = "v0.9.6";
+    sha256 = "06cpriaizp5pcqwdq3jl2lm4sz9b2gcxg3a9q3lh0fqk2acajzmx";
+  };
+  duktape = {
+    owner = "jessedoyle";
+    repo = "duktape.cr";
+    rev = "v0.13.0";
+    sha256 = "0v0nckprgr7idmsx97g98as1a7z4hmlmwl924dbbaqvyslv5ls6w";
+  };
+  kemal = {
+    owner = "kemalcr";
+    repo = "kemal";
+    rev = "v0.22.0";
+    sha256 = "0gq3c27grgh90fykbj9fdsz507lwd41gk686qfnig6npndqv1v10";
+  };
+  kilt = {
+    owner = "jeromegn";
+    repo = "kilt";
+    rev = "v0.4.0";
+    sha256 = "1w9ib6j4xhwxdxx58nzc06gw7ci7vga03vgj1z1bnklamb0b0l0k";
+  };
+  radix = {
+    owner = "luislavena";
+    repo = "radix";
+    rev = "v0.3.8";
+    sha256 = "1kn2xxj8a8j6f6g1dr0s9mkrj1xqnpzw9wnbq24mbv8ach9a1hva";
+  };
+  string_inflection = {
+    owner = "mosop";
+    repo = "string_inflection";
+    rev = "v0.2.1";
+    sha256 = "10vkr28h7n53ijjv57ldxhh473086qg313lzs55a7wsh0zgc104m";
+  };
+  time_format = {
+    owner = "vladfaust";
+    repo = "time_format.cr";
+    rev = "v0.1.0";
+    sha256 = "1f3rssdlcw2a5f74qa8bzlf1rh5dzvyg1d32w9qlisf2cc4lkh9g";
+  };
+  tree_template = {
+    owner = "anykeyh";
+    repo = "tree_template";
+    rev = "3fcb71ee6852040077dd1a2c8c55c67f4a95ba4e";
+    sha256 = "04w89wpnkna4ipyy3pxshqqwgk965hz1d31vqp0mrb0ilmpsywdk";
+  };
+}
diff --git a/pkgs/development/compilers/owl-lisp/default.nix b/pkgs/development/compilers/owl-lisp/default.nix
index ee076acd8b17..ccd149bbb404 100644
--- a/pkgs/development/compilers/owl-lisp/default.nix
+++ b/pkgs/development/compilers/owl-lisp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name    = "owl-lisp-${version}";
-  version = "0.1.15";
+  version = "0.1.16";
 
   src = fetchFromGitHub {
     owner  = "aoh";
     repo   = "owl-lisp";
     rev    = "v${version}";
-    sha256 = "0pczmra2x6icyz6b6g66pp5ij83cq4wszg0ssw8qm7a5314kxkq4";
+    sha256 = "1qp6p48bmlyn83rqi6k3d098dg4cribavg5rd4x17z37i181vxvj";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 998d7cd90dee..061b9b8639d2 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.22.2";
+  version = "0.22.6";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "ponyc";
     rev = version;
-    sha256 = "1sw038mci4174zn8n3b4p511bdwjb3hwrv5gyzbv477nna1y9lvn";
+    sha256 = "05y0qcfdyzv6cgizhbg6yl7rrlbfbkcr0jmxjlzhvhz7dypk20cl";
   };
 
   buildInputs = [ llvm makeWrapper which ];
diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix
index 1904c12dfdc1..849917c4a0c4 100644
--- a/pkgs/development/compilers/rust/binaryBuild.nix
+++ b/pkgs/development/compilers/rust/binaryBuild.nix
@@ -14,7 +14,7 @@ let
 
   installComponents
     = "rustc,rust-std-${platform}"
-    + (optionalString bootstrapping ",rust-docs,cargo")
+    + (optionalString bootstrapping ",cargo")
     ;
 in
 
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 44d96bc4ad1d..9d67dd8f8564 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -3,16 +3,16 @@
 let
   # Note: the version MUST be one version prior to the version we're
   # building
-  version = "1.24.1";
+  version = "1.26.1";
 
   # fetch hashes by running `print-hashes.sh 1.24.1`
   hashes = {
-    i686-unknown-linux-gnu = "a483576bb2ab237aa1ef62b66c0814f934afd8129d7c9748cb9a75da4a678c98";
-    x86_64-unknown-linux-gnu = "4567e7f6e5e0be96e9a5a7f5149b5452828ab6a386099caca7931544f45d5327";
-    armv7-unknown-linux-gnueabihf = "1169ab005b771c4befcdab536347a90242cae544b6b76eccd0f76796b61a534c";
-    aarch64-unknown-linux-gnu = "64bb25a9689b18ddadf025b90d9bdb150b809ebfb74432dc69cc2e46120adbb2";
-    i686-apple-darwin = "c96f7579e2406220895da80a989daaa194751c141e112ebe95761f2ed4ecb662";
-    x86_64-apple-darwin = "9d4aacdb5849977ea619d399903c9378163bd9c76ea11dac5ef6eca27849f501";
+    i686-unknown-linux-gnu = "d704ba5cbaaf93c5e2112d211630db0e460d5dc819a43464ba91581e5c821df3";
+    x86_64-unknown-linux-gnu = "b7e964bace1286696d511c287b945f3ece476ba77a231f0c31f1867dfa5080e0";
+    armv7-unknown-linux-gnueabihf = "34fbcebc8e60b6496f1ce7998cf0b50cd618770f039da529b65110fff1f25fa0";
+    aarch64-unknown-linux-gnu = "d4a369053c2dfd5f457de6853557dab563944579fa4bb55bc919bacf259bff6d";
+    i686-apple-darwin = "047c31a872161ebb1d21ef616f7658190403769a8734f84364a3cf15838b4708";
+    x86_64-apple-darwin = "ebf898b9fa7e2aafc53682a41f18af5ca6660ebe82dd78f28cd9799fe4dc189a";
   };
 
   platform =
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index f191515b745c..44b43a7af542 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -6,16 +6,25 @@
 
 let
   rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
-  version = "1.25.0";
-  cargoVersion = "0.26.0";
+  version = "1.26.2";
+  cargoVersion = "1.26.2";
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf";
+    sha256 = "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv";
   };
 in rec {
   rustc = callPackage ./rustc.nix {
     inherit stdenv llvm targets targetPatches targetToolchains rustPlatform version src;
 
+    patches = [
+      ./patches/net-tcp-disable-tests.patch
+      ./patches/stdsimd-disable-doctest.patch
+      # Fails on hydra - not locally; the exact reason is unknown.
+      # Comments in the test suggest that some non-reproducible environment
+      # variables such $RANDOM can make it fail.
+      ./patches/disable-test-inherit-env.patch
+    ];
+
     forceBundledLLVM = true;
 
     configureFlags = [ "--release-channel=stable" ];
@@ -25,11 +34,6 @@ in rec {
     # So we do the same.
     # 2. Tests run out of memory for i686
     doCheck = !stdenv.isAarch64 && !stdenv.isi686;
-
-    patches = [
-      ./patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
-    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
-
   };
 
   cargo = callPackage ./cargo.nix rec {
diff --git a/pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch b/pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
deleted file mode 100644
index f55d0badb823..000000000000
--- a/pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 26d3b70abec1adf773522643b31ce9c03439916a Mon Sep 17 00:00:00 2001
-From: Joerg Thalheim <joerg@thalheim.io>
-Date: Tue, 10 Oct 2017 00:40:20 +0100
-Subject: [PATCH] Disable fragile tests libstd::net::tcp on Darwin/Linux
-
-Signed-off-by: Joerg Thalheim <joerg@thalheim.io>
----
- src/libstd/net/tcp.rs | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs
-index 8d1e7882e5..2c223fb315 100644
---- a/src/libstd/net/tcp.rs
-+++ b/src/libstd/net/tcp.rs
-@@ -949,6 +949,7 @@ mod tests {
-         })
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn write_close() {
-         each_ip(&mut |addr| {
-@@ -1421,7 +1422,10 @@ mod tests {
- 
-     // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code
-     //        no longer has rounding errors.
--    #[cfg_attr(any(target_os = "bitrig", target_os = "netbsd", target_os = "openbsd"), ignore)]
-+    #[cfg_attr(any(target_os = "bitrig",
-+                   target_os = "netbsd",
-+                   target_os = "openbsd",
-+                   target_os = "macos"), ignore)]
-     #[test]
-     fn timeouts() {
-         let addr = next_test_ip4();
-@@ -1500,6 +1504,7 @@ mod tests {
-         assert_eq!(false, t!(stream.nodelay()));
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn ttl() {
-         let ttl = 100;
-@@ -1568,6 +1573,7 @@ mod tests {
-         })
-     }
- 
-+    #[cfg_attr(target_os = "linux", ignore)]
-     #[test]
-     fn connect_timeout_unroutable() {
-         // this IP is unroutable, so connections should always time out,
--- 
-2.14.2
-
diff --git a/pkgs/development/compilers/rust/patches/disable-test-inherit-env.patch b/pkgs/development/compilers/rust/patches/disable-test-inherit-env.patch
new file mode 100644
index 000000000000..fcb75ed098ec
--- /dev/null
+++ b/pkgs/development/compilers/rust/patches/disable-test-inherit-env.patch
@@ -0,0 +1,10 @@
+--- rustc-1.26.2-src.org/src/libstd/process.rs	2018-06-01 21:40:11.000000000 +0100
++++ rustc-1.26.2-src/src/libstd/process.rs	2018-06-08 07:50:23.023828658 +0100
+@@ -1745,6 +1745,7 @@
+     }
+ 
+     #[test]
++    #[ignore]
+     fn test_inherit_env() {
+         use env;
+ 
diff --git a/pkgs/development/compilers/rust/patches/grsec.patch b/pkgs/development/compilers/rust/patches/grsec.patch
deleted file mode 100644
index b97b40c24091..000000000000
--- a/pkgs/development/compilers/rust/patches/grsec.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/test/run-make/relocation-model/Makefile b/src/test/run-make/relocation-model/Makefile
-index b22f34f..c6489bd 100644
---- a/src/test/run-make/relocation-model/Makefile
-+++ b/src/test/run-make/relocation-model/Makefile
-@@ -2,9 +2,11 @@
- 
- all: others
- 	$(RUSTC) -C relocation-model=dynamic-no-pic foo.rs
-+	paxctl -czexm $(TMPDIR)/foo
- 	$(call RUN,foo)
- 
- 	$(RUSTC) -C relocation-model=default foo.rs
-+	paxctl -czexm $(TMPDIR)/foo
- 	$(call RUN,foo)
- 
- 	$(RUSTC) -C relocation-model=default --crate-type=dylib foo.rs
-@@ -16,6 +18,7 @@ others:
- else
- others:
- 	$(RUSTC) -C relocation-model=static foo.rs
-+	paxctl -czexm $(TMPDIR)/foo
- 	$(call RUN,foo)
- 	$(RUSTC) -C relocation-model=static --crate-type=dylib foo.rs
- endif
diff --git a/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch b/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
new file mode 100644
index 000000000000..10713b6b7aa9
--- /dev/null
+++ b/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
@@ -0,0 +1,104 @@
+diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs
+index 0f60b5b3e..9b08415e7 100644
+--- a/src/libstd/net/tcp.rs
++++ b/src/libstd/net/tcp.rs
+@@ -962,6 +962,7 @@ mod tests {
+         }
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn listen_localhost() {
+         let socket_addr = next_test_ip4();
+@@ -1020,6 +1021,7 @@ mod tests {
+         })
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn read_eof() {
+         each_ip(&mut |addr| {
+@@ -1039,6 +1041,7 @@ mod tests {
+         })
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn write_close() {
+         each_ip(&mut |addr| {
+@@ -1065,6 +1068,7 @@ mod tests {
+         })
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn multiple_connect_serial() {
+         each_ip(&mut |addr| {
+@@ -1087,6 +1091,7 @@ mod tests {
+         })
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn multiple_connect_interleaved_greedy_schedule() {
+         const MAX: usize = 10;
+@@ -1123,6 +1128,7 @@ mod tests {
+     }
+ 
+     #[test]
++    #[cfg_attr(target_os = "macos", ignore)]
+     fn multiple_connect_interleaved_lazy_schedule() {
+         const MAX: usize = 10;
+         each_ip(&mut |addr| {
+@@ -1401,6 +1407,7 @@ mod tests {
+     }
+ 
+     #[test]
++    #[cfg_attr(target_os = "macos", ignore)]
+     fn clone_while_reading() {
+         each_ip(&mut |addr| {
+             let accept = t!(TcpListener::bind(&addr));
+@@ -1421,7 +1422,10 @@ mod tests {
+ 
+     // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code
+     //        no longer has rounding errors.
+-    #[cfg_attr(any(target_os = "bitrig", target_os = "netbsd", target_os = "openbsd"), ignore)]
++    #[cfg_attr(any(target_os = "bitrig",
++                   target_os = "netbsd",
++                   target_os = "openbsd",
++                   target_os = "macos"), ignore)]
+     #[test]
+     fn timeouts() {
+         let addr = next_test_ip4();
+@@ -1596,6 +1603,7 @@ mod tests {
+         drop(listener);
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn nodelay() {
+         let addr = next_test_ip4();
+@@ -1610,6 +1618,7 @@ mod tests {
+         assert_eq!(false, t!(stream.nodelay()));
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn ttl() {
+         let ttl = 100;
+@@ -1647,6 +1656,7 @@ mod tests {
+         }
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn peek() {
+         each_ip(&mut |addr| {
+@@ -1679,6 +1689,7 @@ mod tests {
+     }
+ 
+     #[test]
++    #[cfg_attr(any(target_os = "linux", target_os = "macos"), ignore)]
+     fn connect_timeout_unroutable() {
+         // this IP is unroutable, so connections should always time out,
+         // provided the network is reachable to begin with.
diff --git a/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch b/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch
new file mode 100644
index 000000000000..6ef7fd0f7ce4
--- /dev/null
+++ b/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch
@@ -0,0 +1,20 @@
+diff --git a/src/stdsimd/coresimd/x86/mod.rs b/src/stdsimd/coresimd/x86/mod.rs
+index 32915c332..7cb54f31e 100644
+--- a/src/stdsimd/coresimd/x86/mod.rs
++++ b/src/stdsimd/coresimd/x86/mod.rs
+@@ -279,7 +279,6 @@ types! {
+     ///
+     /// # Examples
+     ///
+-    /// ```
+     /// # #![feature(cfg_target_feature, target_feature, stdsimd)]
+     /// # #![cfg_attr(not(dox), no_std)]
+     /// # #[cfg(not(dox))]
+@@ -301,7 +300,6 @@ types! {
+     /// # }
+     /// # if is_x86_feature_detected!("sse") { unsafe { foo() } }
+     /// # }
+-    /// ```
+     pub struct __m256(f32, f32, f32, f32, f32, f32, f32, f32);
+ 
+     /// 256-bit wide set of four `f64` types, x86-specific
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 19c4a590e454..d3dcc8e2f6c9 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -145,10 +145,11 @@ stdenv.mkDerivation {
   outputs = [ "out" "man" "doc" ];
   setOutputFlags = false;
 
-  # Disable codegen units for the tests.
+  # Disable codegen units and hardening for the tests.
   preCheck = ''
     export RUSTFLAGS=
     export TZDIR=${tzdata}/share/zoneinfo
+    export hardeningDisable=all
   '' +
   # Ensure TMPDIR is set, and disable a test that removing the HOME
   # variable from the environment falls back to another home
diff --git a/pkgs/development/compilers/scala/dotty-bare.nix b/pkgs/development/compilers/scala/dotty-bare.nix
index bff73337e9e8..0c9625c04d5c 100644
--- a/pkgs/development/compilers/scala/dotty-bare.nix
+++ b/pkgs/development/compilers/scala/dotty-bare.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.0-RC1";
+  version = "0.8.0-RC1";
   name = "dotty-bare-${version}";
 
   src = fetchurl {
     url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz";
-    sha256 = "de1f5e72fb0e0b4c377d6cec93f565eff49769698cd8be01b420705fe8475ca4";
+    sha256 = "e5b7a9bb6f1007146a440ddfff871cc312075e5d69b9ab7e279ad7c3514f7065";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/urn/default.nix b/pkgs/development/compilers/urn/default.nix
new file mode 100644
index 000000000000..5add2ae4cc55
--- /dev/null
+++ b/pkgs/development/compilers/urn/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchFromGitLab, buildEnv, makeWrapper, lua, luajit, readline
+, useLuaJit ? false
+, extraLibraries ? []
+}:
+
+let
+  version = "0.7.1";
+  # Build a sort of "union package" with all the native dependencies we
+  # have: Lua (or LuaJIT), readline, etc. Then, we can depend on this
+  # and refer to ${urn-rt} instead of ${lua}, ${readline}, etc.
+  urn-rt = buildEnv {
+    name = "urn-rt-${version}";
+    ignoreCollisions = true;
+    paths = if useLuaJit then
+              [ luajit readline ]
+            else
+              [ lua ];
+  };
+
+  inherit (stdenv.lib) optionalString concatMapStringsSep;
+in
+
+stdenv.mkDerivation rec {
+  name = "urn-${optionalString (extraLibraries != []) "with-libraries-"}${version}";
+
+  src = fetchFromGitLab {
+    owner = "urn";
+    repo = "urn";
+    rev = "v${version}";
+    sha256 = "1vw0sljrczbwl7fl5d3frbpklb0larzyp7s7mwwprkb07b027sd5";
+  };
+
+  buildInputs = [ makeWrapper ];
+  # Any packages that depend on the compiler have a transitive
+  # dependency on the Urn runtime support.
+  propagatedBuildInputs = [ urn-rt ];
+
+  makeFlags = ["-B"];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib
+    install -m 0755 bin/urn.lua $out/bin/urn
+    cp -r lib $out/lib/urn
+    wrapProgram $out/bin/urn \
+      --add-flags "-i $out/lib/urn --prelude $out/lib/urn/prelude.lisp" \
+      --add-flags "${concatMapStringsSep " " (x: "-i ${x.libraryPath}") extraLibraries}" \
+      --prefix PATH : ${urn-rt}/bin/ \
+      --prefix LD_LIBRARY_PATH : ${urn-rt}/lib/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://urn-lang.com;
+    description = "Yet another Lisp variant which compiles to Lua";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ CrazedProgrammer ];
+  };
+
+  passthru = {
+    inherit urn-rt;
+  };
+}
diff --git a/pkgs/development/coq-modules/contribs/default.nix b/pkgs/development/coq-modules/contribs/default.nix
index 7b274812737e..1b310d74b82a 100644
--- a/pkgs/development/coq-modules/contribs/default.nix
+++ b/pkgs/development/coq-modules/contribs/default.nix
@@ -21,11 +21,18 @@ let mkContrib = repo: revs: param:
     };
   }; in
 {
-  aac-tactics = mkContrib "aac-tactics" [ ] {
-    version = "v8.6.0-7-g54913f4";
-    rev = "54913f44939623986ce3e01e3faf31efa9059ca6";
-    sha256 = "0bb6y7nqs4gyv1ybzhbdg6hb2hyfxc7bmkg6zl43l14641zhv247";
-  };
+  aac-tactics = mkContrib "aac-tactics" [ "8.7" "8.8" ] {
+    "8.7" = {
+      version = "20180530";
+      rev = "f01df35e1d796ce1fdc7ba3d670ce5d63c95d544";
+      sha256 = "1bwvnbd5ws1plgj147blcrvyycf3gg3fz3rm2mckln8z3sfxyq2k";
+    };
+    "8.8" = {
+      version = "20180530";
+      rev = "86ac28259030649ef51460e4de2441c8a1017751";
+      sha256 = "09bbk2a7pn0j76mmapl583f8a20zqd3a1m9lkml8rpwml692bzi9";
+    };
+  }."${coq.coq-version}";
 
   abp = mkContrib "abp" [ "8.5" "8.6" "8.7" ] {
     version = "v8.6.0";
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 387983003af3..ad07da83c4e3 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -82,7 +82,7 @@ self: super: {
       name = "git-annex-${drv.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + drv.version;
-      sha256 = "1w0gzqk70ymlpvh9zqkg1cd3ipaw4n85k4zsf49xl6kjp4vbcmwj";
+      sha256 = "0cz044zjp067xjx0dw1yg3n7vnrkn1j3rvnk9i3jf1aqfvm1szwy";
     };
   })).overrideScope (self: super: {
     aws = dontCheck (self.aws_0_18);
@@ -250,7 +250,7 @@ self: super: {
   digit = doJailbreak super.digit;
 
   # https://github.com/jwiegley/hnix/issues/98 - tied to an older deriving-compat
-  hnix = doJailbreak (overrideCabal super.hnix (old: {
+  hnix = (overrideCabal super.hnix (old: {
     patches = old.patches or [] ++ [
       # should land in hnix-5.2
       (pkgs.fetchpatch {
@@ -342,6 +342,7 @@ self: super: {
   HTF = dontCheck super.HTF;
   htsn = dontCheck super.htsn;
   htsn-import = dontCheck super.htsn-import;
+  http-link-header = dontCheck super.http-link-header; # non deterministic failure https://hydra.nixos.org/build/75041105
   ihaskell = dontCheck super.ihaskell;
   influxdb = dontCheck super.influxdb;
   itanium-abi = dontCheck super.itanium-abi;
@@ -437,12 +438,6 @@ self: super: {
   # https://github.com/evanrinehart/mikmod/issues/1
   mikmod = addExtraLibrary super.mikmod pkgs.libmikmod;
 
-  # Version 0.21.2 calls its doctest suite with incorrect paths.
-  haskell-gi = appendPatch super.haskell-gi (pkgs.fetchpatch {
-    url = https://github.com/haskell-gi/haskell-gi/pull/163/commits/b876c4f351893370d4ae597aab6ecc0422e7f665.patch;
-    sha256 = "03vzpvnr3vnz2zgsr504iyf0n9aw6mkz8rkj6zhazfixl3dzfkyd";
-  });
-
   # https://github.com/basvandijk/threads/issues/10
   threads = dontCheck super.threads;
 
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index 55e80d7fb0c3..b0dc20128fc4 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -408,8 +408,8 @@ self: super: {
   # Older versions don't compile.
   base-compat = self.base-compat_0_10_1;
   brick = self.brick_0_37_1;
-  dhall = self.dhall_1_13_0;
-  dhall_1_13_0 = doJailbreak super.dhall_1_13_0;  # support ansi-terminal 0.8.x
+  dhall = self.dhall_1_14_0;
+  dhall_1_13_0 = doJailbreak super.dhall_1_14_0;  # support ansi-terminal 0.8.x
   HaTeX = self.HaTeX_3_19_0_0;
   hpack = self.hpack_0_28_2;
   hspec = dontCheck super.hspec_2_5_1;
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
index 7a6416b9e13b..c04686734675 100644
--- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -50,7 +50,7 @@ self: super:
   haskeline = self.haskeline_0_7_3_1;
   hoopl = self.hoopl_3_10_2_1;
   hpc = self.hpc_0_6_0_2;
-  terminfo = self.terminfo_0_4_0_2;
+  terminfo = self.terminfo_0_4_1_1;
   xhtml = self.xhtml_3000_2_1;
 
 ## OTHER PACKAGES
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 577ecd804932..c53fd35c48ec 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -38,7 +38,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 11.11
+  # LTS Haskell 11.12
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -79,7 +79,7 @@ default-package-overrides:
   - aeson-yak ==0.1.1.3
   - Agda ==2.5.3
   - airship ==0.9.3
-  - alarmclock ==0.4.0.3
+  - alarmclock ==0.4.0.4
   - alerts ==0.1.0.0
   - alex ==3.2.4
   - algebra ==4.3.1
@@ -91,6 +91,95 @@ default-package-overrides:
   - alternative-vector ==0.0.0
   - alternators ==0.1.2.0
   - ALUT ==2.4.0.2
+  - amazonka ==1.6.0
+  - amazonka-apigateway ==1.6.0
+  - amazonka-application-autoscaling ==1.6.0
+  - amazonka-appstream ==1.6.0
+  - amazonka-autoscaling ==1.6.0
+  - amazonka-budgets ==1.6.0
+  - amazonka-certificatemanager ==1.6.0
+  - amazonka-cloudformation ==1.6.0
+  - amazonka-cloudfront ==1.6.0
+  - amazonka-cloudhsm ==1.6.0
+  - amazonka-cloudsearch ==1.6.0
+  - amazonka-cloudsearch-domains ==1.6.0
+  - amazonka-cloudtrail ==1.6.0
+  - amazonka-cloudwatch ==1.6.0
+  - amazonka-cloudwatch-events ==1.6.0
+  - amazonka-cloudwatch-logs ==1.6.0
+  - amazonka-codebuild ==1.6.0
+  - amazonka-codecommit ==1.6.0
+  - amazonka-codedeploy ==1.6.0
+  - amazonka-codepipeline ==1.6.0
+  - amazonka-cognito-identity ==1.6.0
+  - amazonka-cognito-idp ==1.6.0
+  - amazonka-cognito-sync ==1.6.0
+  - amazonka-config ==1.6.0
+  - amazonka-core ==1.6.0
+  - amazonka-datapipeline ==1.6.0
+  - amazonka-devicefarm ==1.6.0
+  - amazonka-directconnect ==1.6.0
+  - amazonka-discovery ==1.6.0
+  - amazonka-dms ==1.6.0
+  - amazonka-ds ==1.6.0
+  - amazonka-dynamodb ==1.6.0
+  - amazonka-dynamodb-streams ==1.6.0
+  - amazonka-ec2 ==1.6.0
+  - amazonka-ecr ==1.6.0
+  - amazonka-ecs ==1.6.0
+  - amazonka-efs ==1.6.0
+  - amazonka-elasticache ==1.6.0
+  - amazonka-elasticbeanstalk ==1.6.0
+  - amazonka-elasticsearch ==1.6.0
+  - amazonka-elastictranscoder ==1.6.0
+  - amazonka-elb ==1.6.0
+  - amazonka-elbv2 ==1.6.0
+  - amazonka-emr ==1.6.0
+  - amazonka-gamelift ==1.6.0
+  - amazonka-glacier ==1.6.0
+  - amazonka-health ==1.6.0
+  - amazonka-iam ==1.6.0
+  - amazonka-importexport ==1.6.0
+  - amazonka-inspector ==1.6.0
+  - amazonka-iot ==1.6.0
+  - amazonka-iot-dataplane ==1.6.0
+  - amazonka-kinesis ==1.6.0
+  - amazonka-kinesis-analytics ==1.6.0
+  - amazonka-kinesis-firehose ==1.6.0
+  - amazonka-kms ==1.6.0
+  - amazonka-lambda ==1.6.0
+  - amazonka-lightsail ==1.6.0
+  - amazonka-marketplace-analytics ==1.6.0
+  - amazonka-marketplace-metering ==1.6.0
+  - amazonka-ml ==1.6.0
+  - amazonka-opsworks ==1.6.0
+  - amazonka-opsworks-cm ==1.6.0
+  - amazonka-pinpoint ==1.6.0
+  - amazonka-polly ==1.6.0
+  - amazonka-rds ==1.6.0
+  - amazonka-redshift ==1.6.0
+  - amazonka-rekognition ==1.6.0
+  - amazonka-route53 ==1.6.0
+  - amazonka-route53-domains ==1.6.0
+  - amazonka-s3 ==1.6.0
+  - amazonka-sdb ==1.6.0
+  - amazonka-servicecatalog ==1.6.0
+  - amazonka-ses ==1.6.0
+  - amazonka-shield ==1.6.0
+  - amazonka-sms ==1.6.0
+  - amazonka-snowball ==1.6.0
+  - amazonka-sns ==1.6.0
+  - amazonka-sqs ==1.6.0
+  - amazonka-ssm ==1.6.0
+  - amazonka-stepfunctions ==1.6.0
+  - amazonka-storagegateway ==1.6.0
+  - amazonka-sts ==1.6.0
+  - amazonka-support ==1.6.0
+  - amazonka-swf ==1.6.0
+  - amazonka-test ==1.6.0
+  - amazonka-waf ==1.6.0
+  - amazonka-workspaces ==1.6.0
+  - amazonka-xray ==1.6.0
   - amqp ==0.18.1
   - annotated-wl-pprint ==0.7.0
   - ansigraph ==0.3.0.5
@@ -140,9 +229,9 @@ default-package-overrides:
   - auto-update ==0.1.4
   - avwx ==0.3.0.2
   - axiom ==0.4.6
-  - b9 ==0.5.47
+  - b9 ==0.5.49
   - backprop ==0.1.5.2
-  - bank-holidays-england ==0.1.0.6
+  - bank-holidays-england ==0.1.0.7
   - barrier ==0.1.1
   - base16-bytestring ==0.1.1.6
   - base32string ==0.9.1
@@ -159,13 +248,13 @@ default-package-overrides:
   - bcrypt ==0.0.11
   - beam-core ==0.7.2.1
   - beam-migrate ==0.3.2.0
-  - beam-sqlite ==0.3.2.0
+  - beam-sqlite ==0.3.2.1
   - bench ==1.0.9
   - benchpress ==0.2.2.10
   - bencode ==0.6.0.0
   - bento ==0.1.0
   - between ==0.11.0.0
-  - bhoogle ==0.1.2.6
+  - bhoogle ==0.1.2.7
   - bibtex ==0.1.0.6
   - bifunctors ==5.5.2
   - bimap ==0.3.3
@@ -179,7 +268,7 @@ default-package-overrides:
   - binary-parsers ==0.2.3.0
   - binary-search ==1.0.0.3
   - binary-shared ==0.8.3
-  - binary-tagged ==0.1.4.2
+  - binary-tagged ==0.1.5
   - bindings-DSL ==1.0.25
   - bindings-GLFW ==3.1.2.4
   - bindings-libzip ==1.0.1
@@ -260,7 +349,7 @@ default-package-overrides:
   - Cabal ==2.0.1.1
   - cabal-doctest ==1.0.6
   - cabal-file-th ==0.2.4
-  - cabal-rpm ==0.12.3
+  - cabal-rpm ==0.12.4
   - cabal-toolkit ==0.0.5
   - cache ==0.1.1.0
   - cairo ==0.13.5.0
@@ -286,7 +375,7 @@ default-package-overrides:
   - cereal-vector ==0.2.0.1
   - ChannelT ==0.0.0.7
   - charset ==0.3.7.1
-  - charsetdetect-ae ==1.1.0.3
+  - charsetdetect-ae ==1.1.0.4
   - Chart ==1.8.3
   - Chart-cairo ==1.8.3
   - chaselev-deque ==0.5.0.5
@@ -357,7 +446,7 @@ default-package-overrides:
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
   - conduit ==1.3.0.2
-  - conduit-algorithms ==0.0.8.0
+  - conduit-algorithms ==0.0.8.1
   - conduit-combinators ==1.3.0
   - conduit-connection ==0.1.0.4
   - conduit-extra ==1.3.0
@@ -515,7 +604,7 @@ default-package-overrides:
   - dlist ==0.8.0.4
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
-  - dns ==3.0.3
+  - dns ==3.0.4
   - docker ==0.5.1.1
   - docker-build-cacher ==1.9.2
   - dockerfile ==0.1.0.1
@@ -589,11 +678,11 @@ default-package-overrides:
   - eventful-sqlite ==0.2.0
   - eventful-test-helpers ==0.2.0
   - event-list ==0.1.2
-  - eventsource-api ==1.3.0
+  - eventsource-api ==1.3.1
   - eventsource-geteventstore-store ==1.1.0
   - eventsource-store-specs ==1.1.1
   - eventsource-stub-store ==1.0.3
-  - eventstore ==1.1.3
+  - eventstore ==1.1.4
   - every ==0.0.1
   - exact-combinatorics ==0.2.0.8
   - exact-pi ==0.4.1.3
@@ -610,7 +699,7 @@ default-package-overrides:
   - extensible ==0.4.9
   - extensible-effects ==2.4.0.0
   - extensible-exceptions ==0.1.1.4
-  - extra ==1.6.6
+  - extra ==1.6.8
   - extractable-singleton ==0.0.1
   - extrapolate ==0.3.1
   - fail ==4.9.0.0
@@ -800,12 +889,12 @@ default-package-overrides:
   - haddock-library ==1.4.5
   - hailgun ==0.4.1.8
   - hailgun-simple ==0.1.0.0
-  - hakyll ==4.12.2.0
+  - hakyll ==4.12.3.0
   - half ==0.2.2.3
   - hamilton ==0.1.0.2
   - HandsomeSoup ==0.4.2
   - handwriting ==0.1.0.3
-  - hapistrano ==0.3.5.5
+  - hapistrano ==0.3.5.6
   - happstack-jmacro ==7.0.12
   - happstack-server ==7.5.1
   - happstack-server-tls ==7.1.6.5
@@ -815,9 +904,9 @@ default-package-overrides:
   - hashable-time ==0.2.0.1
   - hashids ==1.0.2.4
   - hashmap ==1.3.3
-  - hashtables ==1.2.3.0
+  - hashtables ==1.2.3.1
   - haskeline ==0.7.4.2
-  - haskell-gi ==0.21.2
+  - haskell-gi ==0.21.3
   - haskell-gi-base ==0.21.1
   - haskell-gi-overloading ==0.0
   - haskell-lexer ==1.0.1
@@ -841,9 +930,9 @@ default-package-overrides:
   - hasmin ==1.0.2
   - hasql ==1.1.1
   - hasql-migration ==0.1.3
-  - hasql-optparse-applicative ==0.3.0.1
-  - hasql-pool ==0.4.3
-  - hasql-transaction ==0.6
+  - hasql-optparse-applicative ==0.3.0.2
+  - hasql-pool ==0.4.3.1
+  - hasql-transaction ==0.6.0.1
   - hastache ==0.6.1
   - hasty-hamiltonian ==1.3.2
   - HaTeX ==3.18.0.0
@@ -864,7 +953,7 @@ default-package-overrides:
   - hebrew-time ==0.1.1
   - hedgehog ==0.5.3
   - hedgehog-quickcheck ==0.1
-  - hedis ==0.10.1
+  - hedis ==0.10.2
   - heist ==1.0.1.2
   - here ==1.2.13
   - heredoc ==0.2.0.0
@@ -944,7 +1033,7 @@ default-package-overrides:
   - hslua-module-text ==0.1.2.1
   - hsndfile ==0.8.0
   - hsndfile-vector ==0.5.2
-  - HsOpenSSL ==0.11.4.13
+  - HsOpenSSL ==0.11.4.14
   - HsOpenSSL-x509-system ==0.1.0.3
   - hsp ==0.10.0
   - hspec ==2.4.8
@@ -969,7 +1058,7 @@ default-package-overrides:
   - hstatsd ==0.1
   - HStringTemplate ==0.8.7
   - HSvm ==0.1.0.3.22
-  - hsx-jmacro ==7.3.8
+  - hsx-jmacro ==7.3.8.1
   - hsyslog ==5.0.1
   - hsyslog-udp ==0.2.2
   - htaglib ==1.1.1
@@ -1005,9 +1094,9 @@ default-package-overrides:
   - hweblib ==0.6.3
   - hw-excess ==0.2.0.0
   - hw-fingertree ==0.1.0.1
-  - hw-fingertree-strict ==0.1.0.3
+  - hw-fingertree-strict ==0.1.1.1
   - hw-hedgehog ==0.1.0.1
-  - hw-hspec-hedgehog ==0.1.0.4
+  - hw-hspec-hedgehog ==0.1.0.5
   - hw-int ==0.0.0.3
   - hw-json ==0.6.0.0
   - hw-mquery ==0.1.0.1
@@ -1280,12 +1369,12 @@ default-package-overrides:
   - microstache ==1.0.1.1
   - midi ==0.2.2.2
   - mighty-metropolis ==1.2.0
-  - milena ==0.5.2.1
+  - milena ==0.5.2.2
   - mime-mail ==0.4.14
   - mime-mail-ses ==0.4.1
   - mime-types ==0.1.0.7
   - minimorph ==0.1.6.1
-  - minio-hs ==1.0.0
+  - minio-hs ==1.0.1
   - miniutter ==0.4.7.0
   - mintty ==0.1.2
   - misfortune ==0.1.1.2
@@ -1329,7 +1418,7 @@ default-package-overrides:
   - monadplus ==1.4.2
   - monad-products ==4.0.1
   - MonadPrompt ==1.0.0.5
-  - MonadRandom ==0.5.1
+  - MonadRandom ==0.5.1.1
   - monad-recorder ==0.1.1
   - monad-skeleton ==0.1.5
   - monad-st ==0.2.4.1
@@ -1353,7 +1442,7 @@ default-package-overrides:
   - multiarg ==0.30.0.10
   - multimap ==1.2.1
   - multipart ==0.1.2
-  - multiset ==0.3.3
+  - multiset ==0.3.4
   - multistate ==0.7.1.2
   - murmur-hash ==0.1.0.9
   - mustache ==2.3.0
@@ -1367,7 +1456,7 @@ default-package-overrides:
   - mysql-haskell-openssl ==0.8.3.0
   - mysql-simple ==0.4.5
   - nagios-check ==0.3.2
-  - names-th ==0.2.0.3
+  - names-th ==0.2.0.4
   - nano-erl ==0.1.0.1
   - nanospec ==0.2.2
   - naqsha ==0.2.0.1
@@ -1565,8 +1654,8 @@ default-package-overrides:
   - postgresql-binary ==0.12.1.1
   - postgresql-libpq ==0.9.4.1
   - postgresql-schema ==0.1.14
-  - postgresql-simple ==0.5.3.0
-  - postgresql-simple-migration ==0.1.11.0
+  - postgresql-simple ==0.5.4.0
+  - postgresql-simple-migration ==0.1.12.0
   - postgresql-simple-queue ==1.0.1
   - postgresql-simple-url ==0.2.1.0
   - postgresql-transactional ==1.1.1
@@ -1609,10 +1698,10 @@ default-package-overrides:
   - prometheus-metrics-ghc ==0.3.0
   - promises ==0.3
   - prompt ==0.1.1.2
-  - protobuf ==0.2.1.1
+  - protobuf ==0.2.1.2
   - protobuf-simple ==0.1.0.5
-  - protocol-buffers ==2.4.9
-  - protocol-buffers-descriptor ==2.4.9
+  - protocol-buffers ==2.4.10
+  - protocol-buffers-descriptor ==2.4.10
   - protocol-radius ==0.0.1.0
   - protocol-radius-test ==0.0.1.0
   - proto-lens ==0.2.2.0
@@ -1660,7 +1749,7 @@ default-package-overrides:
   - random-shuffle ==0.0.4
   - random-source ==0.3.0.6
   - random-tree ==0.6.0.5
-  - range-set-list ==0.1.2.1
+  - range-set-list ==0.1.3
   - rank1dynamic ==0.4.0
   - rank2classes ==1.0.2
   - rank-product ==0.2.0.1
@@ -1755,8 +1844,8 @@ default-package-overrides:
   - say ==0.1.0.0
   - sbp ==2.3.16
   - sbv ==7.5
-  - SCalendar ==1.1.0
   - scalendar ==1.2.0
+  - SCalendar ==1.1.0
   - scalpel ==0.5.1
   - scalpel-core ==0.5.1
   - scanner ==0.2
@@ -1837,7 +1926,7 @@ default-package-overrides:
   - signal ==0.1.0.4
   - silently ==1.2.5
   - simple ==0.11.2
-  - simple-log ==0.9.4
+  - simple-log ==0.9.5
   - simple-reflect ==0.3.3
   - simple-sendfile ==0.2.27
   - simple-session ==0.10.1.1
@@ -1892,7 +1981,7 @@ default-package-overrides:
   - spoon ==0.3.1
   - spreadsheet ==0.1.3.7
   - sqlite-simple ==0.4.15.0
-  - sql-words ==0.1.6.0
+  - sql-words ==0.1.6.1
   - squeal-postgresql ==0.1.1.4
   - srcloc ==0.5.1.2
   - stache ==1.2.1
@@ -1924,7 +2013,7 @@ default-package-overrides:
   - storable-tuple ==0.0.3.3
   - storablevector ==0.2.13
   - store ==0.4.3.2
-  - store-core ==0.4.1
+  - store-core ==0.4.3
   - Strafunski-StrategyLib ==5.0.1.0
   - stratosphere ==0.19.1
   - streaming ==0.2.1.0
@@ -2027,9 +2116,9 @@ default-package-overrides:
   - textlocal ==0.1.0.5
   - text-manipulate ==0.2.0.1
   - text-metrics ==0.3.0
-  - text-postgresql ==0.0.2.3
+  - text-postgresql ==0.0.3.0
   - text-printer ==0.5
-  - text-region ==0.3.0.0
+  - text-region ==0.3.1.0
   - text-short ==0.1.2
   - text-show ==3.7.2
   - text-show-instances ==3.6.3
@@ -2143,8 +2232,8 @@ default-package-overrides:
   - union-find ==0.2
   - uniplate ==1.6.12
   - uniq-deep ==1.1.0.0
-  - unique ==0
   - Unique ==0.4.7.2
+  - unique ==0
   - unit-constraint ==0.0.0
   - units-parser ==0.1.1.2
   - universe ==1.0
@@ -2163,7 +2252,7 @@ default-package-overrides:
   - unordered-containers ==0.2.9.0
   - unordered-intmap ==0.1.0.0
   - unsafe ==0.0
-  - uri-bytestring ==0.3.1.1
+  - uri-bytestring ==0.3.2.0
   - uri-bytestring-aeson ==0.1.0.6
   - uri-encode ==1.5.0.5
   - uri-templater ==0.3.1.0
@@ -2192,7 +2281,7 @@ default-package-overrides:
   - validity-uuid ==0.0.0.0
   - validity-vector ==0.1.0.0
   - varying ==0.7.0.3
-  - vault ==0.3.1.0
+  - vault ==0.3.1.1
   - vcswrapper ==0.1.6
   - vector ==0.12.0.1
   - vector-algorithms ==0.7.0.1
@@ -2259,7 +2348,7 @@ default-package-overrides:
   - web-routes-th ==0.22.6.3
   - web-routes-wai ==0.24.3.1
   - webrtc-vad ==0.1.0.3
-  - websockets ==0.12.4.1
+  - websockets ==0.12.5.0
   - websockets-rpc ==0.6.0
   - websockets-simple ==0.0.6.3
   - websockets-snap ==0.10.3.0
@@ -2382,7 +2471,7 @@ default-package-overrides:
   - zeromq4-haskell ==0.7.0
   - zim-parser ==0.2.1.0
   - zip ==1.0.0
-  - zip-archive ==0.3.2.4
+  - zip-archive ==0.3.2.5
   - zippers ==0.2.5
   - zlib ==0.6.2
   - zlib-bindings ==0.1.1.5
@@ -2895,6 +2984,7 @@ dont-distribute-packages:
   Animas:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   animascii:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   animate-example:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  animate-frames:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   animate-preview:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   animate-sdl2:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   animate:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2911,6 +3001,7 @@ dont-distribute-packages:
   antlrc:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   anydbm:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   aosd:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  apart:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   apelsin:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   api-builder:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   api-tools:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3100,6 +3191,7 @@ dont-distribute-packages:
   base64-conduit:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   basic-sop:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   BASIC:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  basic:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   baskell:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   batchd:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   battlenet-yesod:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3123,6 +3215,7 @@ dont-distribute-packages:
   Befunge93:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   bein:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   belka:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bench-graph:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   BenchmarkHistory:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   bencoding:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   berkeleydb:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3240,6 +3333,7 @@ dont-distribute-packages:
   BlastHTTP:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   blatex:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   blaze-builder-enumerator:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  blaze-colonnade:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   blaze-html-contrib:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   blaze-html-hexpat:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   blaze-html-truncate:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3267,6 +3361,7 @@ dont-distribute-packages:
   board-games:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   bogre-banana:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   bolt:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  boltzmann-brain:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   bond-haskell-compiler:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   bond-haskell:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   bond:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3346,6 +3441,7 @@ dont-distribute-packages:
   cabal-ghc-dynflags:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-ghci:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-graphdeps:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cabal-helper:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Cabal-ide-backend:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-info:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-install-bundle:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3519,6 +3615,9 @@ dont-distribute-packages:
   citeproc-hs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cj-token:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   cjk:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cl3-hmatrix-interface:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cl3-linear-interface:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cl3:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   clac:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   clafer:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   claferIG:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3720,6 +3819,7 @@ dont-distribute-packages:
   content-store:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   context-stack:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ContextAlgebra:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  contiguous:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   continue:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   continuum-client:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   continuum:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4081,6 +4181,7 @@ dont-distribute-packages:
   dist-upload:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Dist:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   DisTract:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  distributed-fork-aws-lambda:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-async:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-azure:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-client-server:            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4210,6 +4311,7 @@ dont-distribute-packages:
   edentv:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   edge:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   edit-lenses:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  edit:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   editable:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   editline:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   EditTimeReport:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4256,6 +4358,7 @@ dont-distribute-packages:
   engine-io-yesod:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   engine-io:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   entangle:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  EntrezHTTP:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   EnumContainers:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   enumerate-function:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   enumeration:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4288,6 +4391,7 @@ dont-distribute-packages:
   escape-artist:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   esotericbot:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   EsounD:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  espial:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   esqueleto:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ess:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   estimators:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4341,6 +4445,7 @@ dont-distribute-packages:
   exists:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   exitcode:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   exp-extended:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  exp-pairs:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   expand:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   expat-enumerator:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   expiring-containers:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4569,6 +4674,7 @@ dont-distribute-packages:
   freesound:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   freetype-simple:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   FreeTypeGL:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  freq:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   fresco-binding:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   fresh:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   friday-devil:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5192,6 +5298,8 @@ dont-distribute-packages:
   haphviz:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   happindicator3:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   happindicator:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  happlets-lib-gtk:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  happlets:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   happraise:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   HAppS-Data:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   happs-hsp-template:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5580,6 +5688,7 @@ dont-distribute-packages:
   hi:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hiccup:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hichi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hid-examples:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hieraclus:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hierarchical-clustering-diagrams:             [ i686-linux, x86_64-linux, x86_64-darwin ]
   hierarchical-exceptions:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5991,6 +6100,7 @@ dont-distribute-packages:
   hunit-gui:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hunit-rematch:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hunp:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hunspell-hs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hunt-searchengine:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   hunt-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hurdle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6000,10 +6110,16 @@ dont-distribute-packages:
   huttons-razor:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   huzzy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hVOIDP:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-balancedparens:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-dsv:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-excess:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-json-lens:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-json:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-kafka-avro:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-prim-bits:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-rankselect-base:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-rankselect:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-succinct:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-xml:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hwall-auth-iitk:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hweblib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6049,6 +6165,7 @@ dont-distribute-packages:
   hyperloglog:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hyperloglogplus:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hyperpublic:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hyphenate:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hypher:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hzulip:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   i18n:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6799,6 +6916,7 @@ dont-distribute-packages:
   memorable-bits:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   mercury-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   merge-bash-history:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mergeless:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   merkle-patricia-db:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   messente:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   meta-misc:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6977,7 +7095,6 @@ dont-distribute-packages:
   mulang:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   multext-east-msd:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   multi-cabal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  multi-ghc-travis:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   multiaddr:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   multifile:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   multifocal:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7412,6 +7529,7 @@ dont-distribute-packages:
   perceptron:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   perdure:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   peregrin:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  perf-analysis:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   perf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   perfecthash:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   PerfectHash:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7534,6 +7652,7 @@ dont-distribute-packages:
   PlslTools:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   plugins-auto:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   plugins-multistage:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  plur:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   png-file:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pngload-fixed:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   pngload:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7631,6 +7750,7 @@ dont-distribute-packages:
   prettyprinter-vty:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   primesieve:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   primitive-simd:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  primitive-sort:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   PrimitiveArray-Pretty:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   PrimitiveArray:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   primula-board:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7973,6 +8093,7 @@ dont-distribute-packages:
   req-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   reqcatcher:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   request-monad:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  require:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   rerebase:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   reroute:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   reserve:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8149,6 +8270,7 @@ dont-distribute-packages:
   scholdoc:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   science-constants-dimensional:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   science-constants:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  SciFlow:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   scion-browser:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   scion:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   scons2dot:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8254,6 +8376,7 @@ dont-distribute-packages:
   servant-scotty:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-smsc-ru:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-snap:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-streaming-client:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-xml:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-zeppelin-client:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-zeppelin-server:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8639,6 +8762,7 @@ dont-distribute-packages:
   Stomp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   storable-static-array:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   storablevector-streamfusion:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  store-streaming:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   str:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Strafunski-ATermLib:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Strafunski-Sdf2Haskell:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8686,6 +8810,7 @@ dont-distribute-packages:
   suffixarray:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   SuffixStructures:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   suitable:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  summoner:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sunlight:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sunroof-compiler:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   sunroof-examples:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8790,6 +8915,7 @@ dont-distribute-packages:
   tamarin-prover-utils:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   tamarin-prover:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   Tape:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tar-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   target:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   tart:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   task-distribution:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8803,6 +8929,7 @@ dont-distribute-packages:
   tasty-lens:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-tap:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-travis:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Taxonomy:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   TaxonomyTools:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   TBC:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   TBit:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8942,6 +9069,7 @@ dont-distribute-packages:
   time-machine:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   time-parsers:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   time-patterns:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  time-quote:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   time-recurrence:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   time-series-lib:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   time-series:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8957,6 +9085,7 @@ dont-distribute-packages:
   timers-tick:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeseries:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   timezone-unix:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tintin:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   TinyLaunchbury:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   tinyMesh:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   TinyURL:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9170,6 +9299,10 @@ dont-distribute-packages:
   unordered-containers-rematch:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   unordered-graphs:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   unpack-funcs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  unpacked-either:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  unpacked-maybe:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  unpacked-these:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  unpacked-validation:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   unroll-ghc-plugin:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   unsafely:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   unscramble:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9194,6 +9327,7 @@ dont-distribute-packages:
   urldecode:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   urldisp-happstack:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   UrlDisp:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  urlencoded:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   URLT:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   urn-random:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   urn:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9538,6 +9672,8 @@ dont-distribute-packages:
   yam-servant:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   yam-transaction-odbc:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   yam-transaction-postgresql:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yam-web:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yaml-pretty-extras:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   yaml-rpc-scotty:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   yaml-rpc-snap:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   yaml-rpc:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9639,8 +9775,10 @@ dont-distribute-packages:
   yoko:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   york-lava:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   yql:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yu-auth:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   yu-core:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   yu-launch:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yu-tool:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   yuiGrid:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   yuuko:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   yxdb-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9651,6 +9789,7 @@ dont-distribute-packages:
   ZEBEDDE:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   zendesk-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   zeno:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  zephyr:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   zeromq-haskell:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   zeromq3-conduit:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   zeromq3-haskell:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 2f1eb1ad97a8..72c13707f48d 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -144,7 +144,16 @@ self: super: builtins.intersectAttrs super {
   gtk = disableHardening (addPkgconfigDepend (addBuildTool super.gtk self.gtk2hs-buildtools) pkgs.gtk2) ["fortify"];
   gtksourceview2 = addPkgconfigDepend super.gtksourceview2 pkgs.gtk2;
   gtk-traymanager = addPkgconfigDepend super.gtk-traymanager pkgs.gtk3;
-  taffybar = (addPkgconfigDepend super.taffybar pkgs.gtk3).override { dbus = self.dbus_1_0_1; };
+
+  # Add necessary reference to gtk3 package, plus specify needed dbus version, plus turn on strictDeps to fix build
+  taffybar = ((addPkgconfigDepend super.taffybar pkgs.gtk3).overrideDerivation (drv: { strictDeps = true; })).override { dbus = self.dbus_1_0_1; };
+
+  # Specify needed dbus version
+  dbus-hslogger = super.dbus-hslogger.override { dbus = self.dbus_1_0_1; };
+  status-notifier-item = super.status-notifier-item.override { dbus = self.dbus_1_0_1; };
+
+  # Add necessary reference to gtk3 package
+  gi-dbusmenugtk3 = addPkgconfigDepend super.gi-dbusmenugtk3 pkgs.gtk3;
 
   # Need WebkitGTK, not just webkit.
   webkit = super.webkit.override { webkit = pkgs.webkitgtk24x-gtk2; };
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 928829c8701c..6acf61979771 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -759,6 +759,50 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ abbradar ];
      }) {inherit (pkgs) emacs;};
 
+  "Agda_2_5_4" = callPackage
+    ({ mkDerivation, alex, array, async, base, binary, blaze-html
+     , boxes, bytestring, Cabal, containers, cpphs, data-hash, deepseq
+     , directory, EdisonCore, edit-distance, emacs, equivalence
+     , filepath, geniplate-mirror, gitrev, happy, hashable, hashtables
+     , haskeline, ieee754, mtl, murmur-hash, pretty, process, regex-tdfa
+     , stm, strict, template-haskell, text, time, transformers
+     , unordered-containers, uri-encode, zlib
+     }:
+     mkDerivation {
+       pname = "Agda";
+       version = "2.5.4";
+       sha256 = "02cyq1wpnllzcwdb45gk3hq7hha2090ay6m16qg7fq9467ip22dl";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal filepath process ];
+       libraryHaskellDepends = [
+         array async base binary blaze-html boxes bytestring containers
+         data-hash deepseq directory EdisonCore edit-distance equivalence
+         filepath geniplate-mirror gitrev hashable hashtables haskeline
+         ieee754 mtl murmur-hash pretty process regex-tdfa stm strict
+         template-haskell text time transformers unordered-containers
+         uri-encode zlib
+       ];
+       libraryToolDepends = [ alex cpphs happy ];
+       executableHaskellDepends = [ base directory filepath process ];
+       executableToolDepends = [ emacs ];
+       postInstall = ''
+         files=("$data/share/ghc-"*"/"*"-ghc-"*"/Agda-"*"/lib/prim/Agda/"{Primitive.agda,Builtin"/"*.agda})
+         for f in "''${files[@]}" ; do
+           $out/bin/agda $f
+         done
+         for f in "''${files[@]}" ; do
+           $out/bin/agda -c --no-main $f
+         done
+         $out/bin/agda-mode compile
+       '';
+       description = "A dependently typed functional programming language and proof assistant";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ abbradar ];
+     }) {inherit (pkgs) emacs;};
+
   "Agda-executable" = callPackage
     ({ mkDerivation, Agda, base }:
      mkDerivation {
@@ -871,24 +915,26 @@ self: {
      }) {};
 
   "Allure" = callPackage
-    ({ mkDerivation, async, base, containers, enummapset-th, filepath
+    ({ mkDerivation, async, base, containers, enummapset, filepath
      , LambdaHack, optparse-applicative, random, template-haskell, text
      , zlib
      }:
      mkDerivation {
        pname = "Allure";
-       version = "0.7.1.0";
-       sha256 = "0lsyp2rgn5g5d7q4wv13m9p5ayh0aqlzp3b11swhf7br77gg17ym";
+       version = "0.8.0.0";
+       sha256 = "0mg5srs0mfvdwf898fwkf8ji1722rkc55d0z8d4fb3aq8dvxgsxv";
+       revision = "1";
+       editedCabalFile = "10b34p2wv4nqldj0yaas9injjizxb151ks15k6wdx976fjpkqjqd";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         async base containers enummapset-th filepath LambdaHack
+         async base containers enummapset filepath LambdaHack
          optparse-applicative random template-haskell text zlib
        ];
        testHaskellDepends = [
-         base containers enummapset-th filepath LambdaHack
-         optparse-applicative random template-haskell text zlib
+         base containers enummapset filepath LambdaHack optparse-applicative
+         random template-haskell text zlib
        ];
        description = "Near-future Sci-Fi roguelike and tactical squad game";
        license = stdenv.lib.licenses.agpl3;
@@ -4746,6 +4792,7 @@ self: {
        ];
        description = "Libary to interface with the NCBI Entrez REST service";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Enum" = callPackage
@@ -9798,17 +9845,13 @@ self: {
      }) {Judy = null;};
 
   "HsOpenSSL" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, integer-gmp, network
-     , openssl, time
-     }:
+    ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.4.13";
-       sha256 = "0izzgyjd0s9whqllwyg8gv2xnsfax9sf8j47zq1d2vmk7mpx2p0j";
+       version = "0.11.4.14";
+       sha256 = "12blnh5x69wvhw1lx3vk14lm1klhqblgd539ffqnrg2dn9qh4ga4";
        setupHaskellDepends = [ base Cabal ];
-       libraryHaskellDepends = [
-         base bytestring integer-gmp network time
-       ];
+       libraryHaskellDepends = [ base bytestring network time ];
        librarySystemDepends = [ openssl ];
        testHaskellDepends = [ base bytestring ];
        description = "Partial OpenSSL binding for Haskell";
@@ -9889,6 +9932,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "HsYAML" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dlist, mtl, parsec
+     , text
+     }:
+     mkDerivation {
+       pname = "HsYAML";
+       version = "0.1.1.0";
+       sha256 = "1dih7i0c1fayqrz9x27hfhvg0rb0w1m70a702qhbyjr5jczlh6rb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers dlist mtl parsec text
+       ];
+       description = "Pure Haskell YAML 1.2 parser";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "Hsed" = callPackage
     ({ mkDerivation, array, base, bytestring, cmdargs, data-accessor
      , data-accessor-template, data-accessor-transformers, directory
@@ -11027,41 +11087,43 @@ self: {
 
   "LambdaHack" = callPackage
     ({ mkDerivation, assert-failure, async, base, base-compat, binary
-     , bytestring, containers, deepseq, directory, enummapset-th
-     , filepath, ghc-prim, hashable, hsini, keys, miniutter
-     , optparse-applicative, pretty-show, random, sdl2, sdl2-ttf, stm
-     , template-haskell, text, time, transformers, unordered-containers
-     , vector, vector-binary-instances, zlib
+     , bytestring, containers, deepseq, directory, enummapset, filepath
+     , ghc-prim, hashable, hsini, keys, miniutter, optparse-applicative
+     , pretty-show, random, sdl2, sdl2-ttf, stm, template-haskell, text
+     , time, transformers, unordered-containers, vector
+     , vector-binary-instances, zlib
      }:
      mkDerivation {
        pname = "LambdaHack";
-       version = "0.7.1.0";
-       sha256 = "1k68vjlfcjnyikissv9bmqfg04zhba1318pvhjc9yb1lb2v745d7";
+       version = "0.8.0.0";
+       sha256 = "1g7lmplcgj2swk2mvams42fjmmiamk0hxhhzgzdv29jlq9gzmfv2";
+       revision = "1";
+       editedCabalFile = "1l0s7vqv2qpq50352x772584zz4q7ip0z7jc17b72vnipqln7jkd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          assert-failure async base base-compat binary bytestring containers
-         deepseq directory enummapset-th filepath ghc-prim hashable hsini
-         keys miniutter optparse-applicative pretty-show random sdl2
-         sdl2-ttf stm text time transformers unordered-containers vector
+         deepseq directory enummapset filepath ghc-prim hashable hsini keys
+         miniutter optparse-applicative pretty-show random sdl2 sdl2-ttf stm
+         text time transformers unordered-containers vector
          vector-binary-instances zlib
        ];
        executableHaskellDepends = [
          assert-failure async base base-compat binary bytestring containers
-         deepseq directory enummapset-th filepath ghc-prim hashable hsini
-         keys miniutter optparse-applicative pretty-show random stm
+         deepseq directory enummapset filepath ghc-prim hashable hsini keys
+         miniutter optparse-applicative pretty-show random stm
          template-haskell text time transformers unordered-containers vector
          vector-binary-instances zlib
        ];
        testHaskellDepends = [
          assert-failure async base base-compat binary bytestring containers
-         deepseq directory enummapset-th filepath ghc-prim hashable hsini
-         keys miniutter optparse-applicative pretty-show random stm
+         deepseq directory enummapset filepath ghc-prim hashable hsini keys
+         miniutter optparse-applicative pretty-show random stm
          template-haskell text time transformers unordered-containers vector
          vector-binary-instances zlib
        ];
-       description = "A game engine library for roguelike dungeon crawlers";
+       description = "A game engine library for tactical squad ASCII roguelike dungeon crawlers";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -11400,6 +11462,8 @@ self: {
        pname = "List";
        version = "0.6.2";
        sha256 = "0y5qk6pzpcha01pa9133qgmmk9nkgjqxaxlg04993i9g43hjpff4";
+       revision = "1";
+       editedCabalFile = "11ws93cdzz7k4nvcld2d74155mdgcvyi6f6an7gpf9z4k523c11n";
        libraryHaskellDepends = [ base transformers ];
        description = "List monad transformer and class";
        license = stdenv.lib.licenses.bsd3;
@@ -12328,23 +12392,6 @@ self: {
      }) {};
 
   "MonadRandom" = callPackage
-    ({ mkDerivation, base, fail, mtl, primitive, random, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "MonadRandom";
-       version = "0.5.1";
-       sha256 = "11qdfghizww810vdj9ac1f5qr5kdmrk40l6w6qh311bjh290ygwy";
-       revision = "1";
-       editedCabalFile = "19242r11a7iqr8dnbxsac04c3ylh7xkan70pdv5k3jzcmfwn4shd";
-       libraryHaskellDepends = [
-         base fail mtl primitive random transformers transformers-compat
-       ];
-       description = "Random-number generation monad";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "MonadRandom_0_5_1_1" = callPackage
     ({ mkDerivation, base, mtl, primitive, random, transformers
      , transformers-compat
      }:
@@ -12357,7 +12404,6 @@ self: {
        ];
        description = "Random-number generation monad";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "MonadRandomLazy" = callPackage
@@ -14259,8 +14305,8 @@ self: {
      }:
      mkDerivation {
        pname = "Persistence";
-       version = "1.1";
-       sha256 = "1jyq159w7lpdgk0i6biqifdqf93jqla790lyix3qx7717r98kkav";
+       version = "1.1.2";
+       sha256 = "1p9nsq0rx1fh8v3cm809z8xs4877hgvgxygqxi3iq0k7gikninx4";
        libraryHaskellDepends = [
          base containers maximal-cliques parallel vector
        ];
@@ -16138,6 +16184,7 @@ self: {
        ];
        description = "Scientific workflow management system";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ScratchFs" = callPackage
@@ -16275,27 +16322,27 @@ self: {
      }) {};
 
   "ShellCheck" = callPackage
-    ({ mkDerivation, base, Cabal, containers, directory, json, mtl
-     , parsec, process, QuickCheck, regex-tdfa
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , directory, mtl, parsec, process, QuickCheck, regex-tdfa
      }:
      mkDerivation {
        pname = "ShellCheck";
-       version = "0.4.7";
-       sha256 = "0z0dlx4s0j5v627cvns5qdq1r6kcka5nif8g62hdria29lk5aj8q";
-       revision = "1";
-       editedCabalFile = "0fbrysx6wb9kmlzbfyjcb7107rnf0rjldlszaqnpib33vwd7l1hx";
+       version = "0.5.0";
+       sha256 = "0z1hscbr11hwkq8k1v0vaa947hb9m6k4cm831jk1gpj8dxrk151b";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal process ];
        libraryHaskellDepends = [
-         base containers directory json mtl parsec process QuickCheck
-         regex-tdfa
+         aeson base bytestring containers directory mtl parsec process
+         QuickCheck regex-tdfa
        ];
        executableHaskellDepends = [
-         base containers directory json mtl parsec QuickCheck regex-tdfa
+         aeson base bytestring containers directory mtl parsec QuickCheck
+         regex-tdfa
        ];
        testHaskellDepends = [
-         base containers directory json mtl parsec QuickCheck regex-tdfa
+         aeson base bytestring containers directory mtl parsec QuickCheck
+         regex-tdfa
        ];
        description = "Shell script analysis tool";
        license = stdenv.lib.licenses.gpl3;
@@ -17497,6 +17544,7 @@ self: {
        ];
        description = "Libary for parsing, processing and vizualization of taxonomy data";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "TaxonomyTools" = callPackage
@@ -18369,8 +18417,8 @@ self: {
      }:
      mkDerivation {
        pname = "Villefort";
-       version = "0.1.2.10";
-       sha256 = "0c7i5y5h2q55nj4wv692zd8hsai998dws3mdqgj5h1065v48r6im";
+       version = "0.1.2.11";
+       sha256 = "0ggcp3sgqv1m5xs8q87c2n6rms7mypbf3j9f5702qllzyns2r79l";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -18384,7 +18432,7 @@ self: {
        testHaskellDepends = [
          base HDBC HDBC-sqlite3 hspec mtl QuickCheck webdriver
        ];
-       description = "Villefort is a task manager and time tracker written in haskell";
+       description = "Villefort is a task manager and time tracker";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -22872,19 +22920,6 @@ self: {
     ({ mkDerivation, async, base, clock, stm, time, unbounded-delays }:
      mkDerivation {
        pname = "alarmclock";
-       version = "0.4.0.3";
-       sha256 = "0phgcmji4jrmyia6w05wqllrdl2hnsyxfkbh68dlgi7gn0c5nvxn";
-       libraryHaskellDepends = [
-         async base clock stm time unbounded-delays
-       ];
-       description = "Wake up and perform an action at a certain time";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "alarmclock_0_4_0_4" = callPackage
-    ({ mkDerivation, async, base, clock, stm, time, unbounded-delays }:
-     mkDerivation {
-       pname = "alarmclock";
        version = "0.4.0.4";
        sha256 = "0jrd0855mxx3hqxnp7g1xg60p9d4i5km9imxajy0q3k94049hxyx";
        libraryHaskellDepends = [
@@ -22892,7 +22927,6 @@ self: {
        ];
        description = "Wake up and perform an action at a certain time";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "alea" = callPackage
@@ -26687,6 +26721,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "animate-frames" = callPackage
+    ({ mkDerivation, aeson, animate, async, base, bytestring
+     , containers, JuicyPixels, pureMD5, safe, stm, tasty, tasty-hspec
+     , text, vector, yaml
+     }:
+     mkDerivation {
+       pname = "animate-frames";
+       version = "0.0.1";
+       sha256 = "1yjr3w064nm5qi87m4w8xvjpjqry4b6chs5igshwzijrb530chk9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson animate async base bytestring containers JuicyPixels pureMD5
+         safe stm text vector yaml
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base tasty tasty-hspec ];
+       description = "Convert sprite frames to animate files";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "animate-preview" = callPackage
     ({ mkDerivation, aeson, animate, base, bytestring, containers
      , filepath, fsnotify, key-state, lens, linear, mtl
@@ -27145,6 +27201,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) openssl;};
 
+  "apart" = callPackage
+    ({ mkDerivation, base, comonad, contravariant, free, hedgehog, lens
+     , semigroupoids
+     }:
+     mkDerivation {
+       pname = "apart";
+       version = "0.1.0";
+       sha256 = "05jpxq68pm1hs05nxz6wd787jmdxf59kd13nmsa89p5qcdh7znqw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base comonad contravariant free hedgehog lens semigroupoids
+       ];
+       executableHaskellDepends = [
+         base comonad contravariant free hedgehog lens semigroupoids
+       ];
+       testHaskellDepends = [
+         base comonad contravariant free hedgehog lens semigroupoids
+       ];
+       description = "Get all your structure and rip it apart";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "apecs" = callPackage
     ({ mkDerivation, async, base, containers, criterion, linear, mtl
      , QuickCheck, template-haskell, vector
@@ -28759,8 +28839,8 @@ self: {
      }:
      mkDerivation {
        pname = "arx";
-       version = "0.2.3";
-       sha256 = "1dlxc36sfsk0mc196v9z0kzgbz9qg2ln8ds8d2lmvi8zqyl9v0ha";
+       version = "0.3.1";
+       sha256 = "1wfxazj1qavk366vi9b65iyf5r16bp3xdzdas08ipaba3f91mx37";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -29976,8 +30056,10 @@ self: {
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "2.10.2.0";
-       sha256 = "04pclxd3wx582fx6l6fj7ggs52f0vvdag4rg17zh6xh562qbccsc";
+       version = "2.10.2.2";
+       sha256 = "080wkmv04zdzm86zrmgvyyfv7gkjxfr1fwy9470vviy7hywh1xin";
+       revision = "1";
+       editedCabalFile = "02wam77mcbknvfx8hb0d9d8m9ppvrd1w3xklwky5fz2dv071alm3";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup ];
@@ -30022,8 +30104,8 @@ self: {
      }:
      mkDerivation {
        pname = "ats-storable";
-       version = "0.3.0.3";
-       sha256 = "1a9id432vhvr3n69m1f7iyc899nc2wa4w8jpa7s7aqkixw2vqlr2";
+       version = "0.3.0.4";
+       sha256 = "0yjbhlxnrprdvf0k93j0w4dpbr55pdcxcs1jhw4b7ngd64a6nvw5";
        libraryHaskellDepends = [
          base bytestring composition-prelude text
        ];
@@ -31726,6 +31808,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "axiom_0_4_7" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , ghcjs-perch, mtl, transformers, transient, transient-universe
+     }:
+     mkDerivation {
+       pname = "axiom";
+       version = "0.4.7";
+       sha256 = "14vdmkyfqn2i5ibc9d6nfhi5hqbk1552x8paq2x0yvsng4kj228x";
+       libraryHaskellDepends = [
+         base bytestring containers directory ghcjs-perch mtl transformers
+         transient transient-universe
+       ];
+       description = "Web EDSL for running in browsers and server nodes using transient";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "axiomatic-classes" = callPackage
     ({ mkDerivation, base, containers, control-invariants, lens
      , monad-loops, mtl, portable-template-haskell-lens, QuickCheck
@@ -31875,25 +31974,25 @@ self: {
      }) {};
 
   "b9" = callPackage
-    ({ mkDerivation, aeson, async, base, bifunctors, binary, boxes
-     , bytestring, conduit, conduit-extra, ConfigFile, directory
-     , filepath, free, hashable, hspec, hspec-expectations, lens, mtl
-     , optparse-applicative, parallel, parsec, pretty, pretty-show
-     , process, QuickCheck, random, shake, syb, template, text, time
-     , transformers, unordered-containers, vector, yaml
+    ({ mkDerivation, aeson, async, base, base64-bytestring, bifunctors
+     , binary, boxes, bytestring, conduit, conduit-extra, ConfigFile
+     , directory, filepath, free, hashable, hspec, hspec-expectations
+     , lens, mtl, optparse-applicative, parallel, parsec, pretty
+     , pretty-show, process, QuickCheck, random, shake, syb, template
+     , text, time, transformers, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "b9";
-       version = "0.5.47";
-       sha256 = "1jnfci7px5hf6i729mz1fbx5sfg35q8l3663ls6pkf6b4kx8qfyz";
+       version = "0.5.49";
+       sha256 = "0n9vci1wc2ws4nyzmmqi2npwkd3zz28znyqj4905y1hc126x0yi3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async base bifunctors binary boxes bytestring conduit
-         conduit-extra ConfigFile directory filepath free hashable lens mtl
-         parallel parsec pretty pretty-show process QuickCheck random shake
-         syb template text time transformers unordered-containers vector
-         yaml
+         aeson async base base64-bytestring bifunctors binary boxes
+         bytestring conduit conduit-extra ConfigFile directory filepath free
+         hashable lens mtl parallel parsec pretty pretty-show process
+         QuickCheck random shake syb template text time transformers
+         unordered-containers vector yaml
        ];
        executableHaskellDepends = [
          base bytestring directory lens optparse-applicative
@@ -32279,25 +32378,12 @@ self: {
     ({ mkDerivation, base, containers, hspec, QuickCheck, time }:
      mkDerivation {
        pname = "bank-holidays-england";
-       version = "0.1.0.6";
-       sha256 = "1arlyjaaq8df2q121r9lc23wacn02ncdx5b7s8yszp6szx5jivap";
-       libraryHaskellDepends = [ base containers time ];
-       testHaskellDepends = [ base containers hspec QuickCheck time ];
-       description = "Calculation of bank holidays in England and Wales";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "bank-holidays-england_0_1_0_7" = callPackage
-    ({ mkDerivation, base, containers, hspec, QuickCheck, time }:
-     mkDerivation {
-       pname = "bank-holidays-england";
        version = "0.1.0.7";
        sha256 = "196ldac7aljysw8m4nzdyf5mygswbckkvd6axm8a9yw4vchzcjks";
        libraryHaskellDepends = [ base containers time ];
        testHaskellDepends = [ base containers hspec QuickCheck time ];
        description = "Calculation of bank holidays in England and Wales";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "banwords" = callPackage
@@ -32590,6 +32676,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "base-prelude_1_3" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "base-prelude";
+       version = "1.3";
+       sha256 = "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73";
+       libraryHaskellDepends = [ base ];
+       description = "The most complete prelude formed solely from the \"base\" package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "base-unicode-symbols" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -32806,29 +32904,32 @@ self: {
 
   "baserock-schema" = callPackage
     ({ mkDerivation, algebraic-graphs, base, bytestring, docopt, errors
-     , hspec, mtl, QuickCheck, text, transformers, turtle, yaml
+     , flippers, gitlab-api, hspec, microlens-platform, mtl, QuickCheck
+     , rio, yaml, yaml-pretty-extras
      }:
      mkDerivation {
        pname = "baserock-schema";
-       version = "0.0.1.3";
-       sha256 = "1p6q6g61cbmsl7ppfqcs5jn0z17aya4sqp7gdi4y01msgd81cvcc";
+       version = "0.0.2.0";
+       sha256 = "02lz48177jrnn7fwk7kjlh38a6kv7f197skf69mx0xgs88xjwrn9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         algebraic-graphs base bytestring errors mtl text transformers
-         turtle yaml
+         algebraic-graphs base errors flippers microlens-platform mtl rio
+         yaml yaml-pretty-extras
        ];
        executableHaskellDepends = [
-         algebraic-graphs base bytestring docopt errors mtl text
-         transformers turtle yaml
+         algebraic-graphs base docopt errors flippers gitlab-api
+         microlens-platform mtl rio yaml yaml-pretty-extras
        ];
        testHaskellDepends = [
-         algebraic-graphs base bytestring errors hspec mtl QuickCheck text
-         transformers turtle yaml
+         algebraic-graphs base bytestring errors flippers hspec
+         microlens-platform mtl QuickCheck rio yaml yaml-pretty-extras
        ];
        description = "Baserock Definitions Schema";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {gitlab-api = null;};
 
   "basex-client" = callPackage
     ({ mkDerivation, base, network, pureMD5, utf8-string }:
@@ -32870,6 +32971,7 @@ self: {
        ];
        description = "Lifting values from base types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "basic-cpuid" = callPackage
@@ -33224,6 +33326,44 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) ostree;};
 
+  "bdcs-api" = callPackage
+    ({ mkDerivation, aeson, async, base, bdcs, bifunctors, bytestring
+     , concurrent-extra, cond, containers, directory, extra, filepath
+     , gi-ggit, gi-gio, gi-glib, gitrev, haskell-gi-base, hspec, htoml
+     , http-client, http-media, http-types, libgit2-glib, monad-logger
+     , monad-loops, mtl, network, persistent, persistent-sqlite
+     , resourcet, safe-exceptions, semver, servant-client
+     , servant-options, servant-server, split, stm, string-conversions
+     , string-qq, tar, temporary, text, time, transformers, unix, uuid
+     , wai, wai-cors, warp
+     }:
+     mkDerivation {
+       pname = "bdcs-api";
+       version = "0.1.0";
+       sha256 = "1hnzbmihpq4nr0yxpwsaq5har2ws20zaialx98g9ws1k8k1kgzh0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async base bdcs bifunctors bytestring concurrent-extra cond
+         containers directory extra filepath gi-ggit gi-gio gi-glib gitrev
+         haskell-gi-base htoml http-media http-types monad-logger
+         monad-loops mtl network persistent persistent-sqlite resourcet
+         safe-exceptions semver servant-options servant-server split stm
+         string-conversions tar temporary text time transformers unix uuid
+         wai wai-cors warp
+       ];
+       libraryPkgconfigDepends = [ libgit2-glib ];
+       executableHaskellDepends = [ base safe-exceptions ];
+       testHaskellDepends = [
+         aeson base bdcs bytestring cond directory filepath hspec
+         http-client monad-loops safe-exceptions servant-client
+         servant-server string-conversions string-qq temporary text time wai
+         warp
+       ];
+       description = "BDCS API Server";
+       license = stdenv.lib.licenses.gpl3;
+     }) {inherit (pkgs.gnome3) libgit2-glib;};
+
   "bdd" = callPackage
     ({ mkDerivation, base, directory, HUnit, mtl, process
      , test-framework, test-framework-hunit, transformers
@@ -33358,24 +33498,6 @@ self: {
      }:
      mkDerivation {
        pname = "beam-sqlite";
-       version = "0.3.2.0";
-       sha256 = "06lmsajdlqc2178p4lkgwv2hh49dmjygrfjk081sr2xbhgnslr9s";
-       libraryHaskellDepends = [
-         aeson attoparsec base beam-core beam-migrate bytestring dlist free
-         hashable mtl network-uri scientific sqlite-simple text time unix
-       ];
-       description = "Beam driver for SQLite";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "beam-sqlite_0_3_2_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, beam-core, beam-migrate
-     , bytestring, dlist, free, hashable, mtl, network-uri, scientific
-     , sqlite-simple, text, time, unix
-     }:
-     mkDerivation {
-       pname = "beam-sqlite";
        version = "0.3.2.1";
        sha256 = "1ijgqlywb7gvig32zrhgryq0nkfabyxvxy81c36x9zfpyj36x04k";
        libraryHaskellDepends = [
@@ -33589,6 +33711,7 @@ self: {
        testHaskellDepends = [ base split text ];
        description = "Plot and compare benchmarks";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "benchmark-function" = callPackage
@@ -33886,25 +34009,6 @@ self: {
      }:
      mkDerivation {
        pname = "bhoogle";
-       version = "0.1.2.6";
-       sha256 = "0p6zh1rh80hzrm36w6d5hr6qjkfc71cr96dk9shrndnxlp8vlxsn";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base brick bytestring containers directory filepath hoogle lens
-         process protolude text time vector vty
-       ];
-       description = "Simple terminal GUI for local hoogle";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "bhoogle_0_1_2_7" = callPackage
-    ({ mkDerivation, base, brick, bytestring, containers, directory
-     , filepath, hoogle, lens, process, protolude, text, time, vector
-     , vty
-     }:
-     mkDerivation {
-       pname = "bhoogle";
        version = "0.1.2.7";
        sha256 = "0mcqkiddg7lxzambfqwqyqbppn7996a3kjyh1a8fv6h4xqcaf9pz";
        isLibrary = false;
@@ -33915,7 +34019,6 @@ self: {
        ];
        description = "Simple terminal GUI for local hoogle";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bibdb" = callPackage
@@ -34331,23 +34434,28 @@ self: {
      }) {};
 
   "binary-ext" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
-     , directory, filepath, HUnit, QuickCheck, random, test-framework
-     , test-framework-quickcheck2
+    ({ mkDerivation, attoparsec, base, binary, bytestring, conduit
+     , conduit-combinators, data-binary-ieee754, errors, exceptions
+     , HUnit, monad-control, monad-loops, mono-traversable, mtl
+     , scientific, text, transformers, transformers-base
      }:
      mkDerivation {
        pname = "binary-ext";
-       version = "1.0.8.5.1";
-       sha256 = "166c0wvmjpgpsm5s93clkp0ba50xyxinma4bkjxwqz3x1iv0gvzb";
+       version = "2.0.4";
+       sha256 = "026y58an12p6cmpxhs3qrwl6w4q3i6i47svcj5qz5mi6vsdy2n3f";
        libraryHaskellDepends = [
-         array base binary bytestring containers
+         attoparsec base binary bytestring conduit conduit-combinators
+         data-binary-ieee754 errors exceptions monad-control monad-loops
+         mono-traversable mtl scientific text transformers transformers-base
        ];
        testHaskellDepends = [
-         array base binary bytestring Cabal containers directory filepath
-         HUnit QuickCheck random test-framework test-framework-quickcheck2
+         attoparsec base binary bytestring conduit conduit-combinators
+         data-binary-ieee754 errors exceptions HUnit monad-control
+         monad-loops mono-traversable mtl scientific text transformers
+         transformers-base
        ];
-       description = "An alternate with typed errors for Data.Binary.Get monad from 'binary' library.";
-       license = stdenv.lib.licenses.bsd3;
+       description = "An alternate with strong-typed errors for `Data.Binary.Get` monad from `binary` package.";
+       license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -34654,39 +34762,6 @@ self: {
      }:
      mkDerivation {
        pname = "binary-tagged";
-       version = "0.1.4.2";
-       sha256 = "1167rlb2lnib1vin9p75hp7fzcjqxljlw56bhmkwn05c5f6an7ri";
-       revision = "8";
-       editedCabalFile = "0a8xcrx2lm8yzcnrf76c1wynn238i87yz3lqlgrg5n9csdc0bhj1";
-       libraryHaskellDepends = [
-         aeson array base base16-bytestring binary bytestring containers
-         generics-sop hashable nats scientific semigroups SHA tagged text
-         time unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson array base base16-bytestring bifunctors binary binary-orphans
-         bytestring containers generics-sop hashable nats
-         quickcheck-instances scientific semigroups SHA tagged tasty
-         tasty-quickcheck text time unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [
-         aeson array base base16-bytestring binary binary-orphans bytestring
-         containers criterion deepseq generics-sop hashable nats scientific
-         semigroups SHA tagged text time unordered-containers vector
-       ];
-       description = "Tagged binary serialisation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "binary-tagged_0_1_5" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
-     , binary, binary-orphans, bytestring, containers, criterion
-     , deepseq, generics-sop, hashable, nats, quickcheck-instances
-     , scientific, semigroups, SHA, tagged, tasty, tasty-quickcheck
-     , text, time, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "binary-tagged";
        version = "0.1.5";
        sha256 = "1s05hrak9mg8klid5jsdqh1i7d1zyzkpdbdc969g2s9h06lk7dyl";
        libraryHaskellDepends = [
@@ -34707,7 +34782,6 @@ self: {
        ];
        description = "Tagged binary serialisation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "binary-tree" = callPackage
@@ -35780,8 +35854,8 @@ self: {
      }:
      mkDerivation {
        pname = "bioinformatics-toolkit";
-       version = "0.5.0";
-       sha256 = "1nb549w2rzc9psdnz8xbma0qgm2hj4svrlm3x8vc2i1dklmljmvr";
+       version = "0.5.1";
+       sha256 = "1lpcbzapinfbd7s4hz2yj3nwp1hm4fy514hqnqil4ijndyknlk3n";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring bytestring-lexing
@@ -36980,14 +37054,15 @@ self: {
      }:
      mkDerivation {
        pname = "blaze-colonnade";
-       version = "1.2.1";
-       sha256 = "0bsax9fw3bmj32a0dsrmp7zrpfp2pgilq3nss6qfa1zh1kdyj1xy";
+       version = "1.2.2";
+       sha256 = "0k51iqfr2dvc445q6jzvf4mb3q3x4z0vvf9p8fhd4npazwb72bqz";
        libraryHaskellDepends = [
          base blaze-html blaze-markup colonnade text
        ];
        testHaskellDepends = [ base colonnade doctest ];
        description = "Helper functions for using blaze-html with colonnade";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "blaze-from-html" = callPackage
@@ -37715,6 +37790,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "boltzmann-brain" = callPackage
+    ({ mkDerivation, array, base, containers, haskell-src-exts, hmatrix
+     , megaparsec, mtl, multiset, process
+     }:
+     mkDerivation {
+       pname = "boltzmann-brain";
+       version = "1.3.1.3";
+       sha256 = "1qv0s70bvn0zgmyb2bccw64d377pb6m0xjzqq7lsz8nzk86wqhzs";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base containers haskell-src-exts hmatrix megaparsec mtl
+         multiset process
+       ];
+       executableHaskellDepends = [ base containers hmatrix ];
+       description = "Boltzmann sampler compiler for combinatorial systems";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "boltzmann-samplers" = callPackage
     ({ mkDerivation, ad, base, containers, hashable, hmatrix, ieee754
      , MonadRandom, mtl, QuickCheck, transformers, unordered-containers
@@ -37734,28 +37829,29 @@ self: {
 
   "bond" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
-     , cmdargs, derive, Diff, directory, filepath, HUnit, monad-loops
-     , mtl, parsec, pretty, process, QuickCheck, scientific, shakespeare
-     , tasty, tasty-golden, tasty-hunit, tasty-quickcheck, text
+     , cmdargs, derive, Diff, directory, filepath, HUnit, megaparsec
+     , monad-loops, mtl, pretty, process, QuickCheck, scientific
+     , shakespeare, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
+     , text, unordered-containers
      }:
      mkDerivation {
        pname = "bond";
-       version = "0.10.1.0";
-       sha256 = "024qd9dmgqsa3q5xykc0bbvgay9hp9qwl9xixkgjpa5li68rd54c";
+       version = "0.11.0.3";
+       sha256 = "1zarrlhcp8q1impikmqsz8mnaxi8l8b4nl02qp8xm6y6gpbyhaqj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring filepath mtl parsec scientific shakespeare
-         text
+         aeson base bytestring filepath megaparsec mtl scientific
+         shakespeare text unordered-containers
        ];
        executableHaskellDepends = [
-         aeson async base bytestring cmdargs directory filepath monad-loops
-         parsec process text
+         aeson async base bytestring cmdargs directory filepath megaparsec
+         monad-loops process text
        ];
        testHaskellDepends = [
          aeson aeson-pretty base bytestring cmdargs derive Diff directory
-         filepath HUnit monad-loops parsec pretty QuickCheck tasty
-         tasty-golden tasty-hunit tasty-quickcheck text
+         filepath HUnit megaparsec monad-loops pretty QuickCheck shakespeare
+         tasty tasty-golden tasty-hunit tasty-quickcheck text
        ];
        description = "Bond schema compiler and code generator";
        license = stdenv.lib.licenses.mit;
@@ -38004,8 +38100,8 @@ self: {
      }:
      mkDerivation {
        pname = "boomange";
-       version = "0.1.3.5";
-       sha256 = "017klwzi30qmrvxy19i8swnmgzxfimq9q647kvw001yx9nsf204n";
+       version = "0.1.3.6";
+       sha256 = "0gdhvxjcbyzhxvrgzk70jaihgkxa03ycg4bls03rgnqy773p07f1";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -39253,6 +39349,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "build" = callPackage
+    ({ mkDerivation, algebraic-graphs, base, containers, extra
+     , filepath, mtl, random, transformers
+     }:
+     mkDerivation {
+       pname = "build";
+       version = "0.0.1.1";
+       sha256 = "1p3814if20x9prd7m3q414v9a1c735bxzgblp55lb9bbsaja7zyl";
+       libraryHaskellDepends = [
+         algebraic-graphs base containers extra filepath mtl random
+         transformers
+       ];
+       testHaskellDepends = [ base containers extra mtl transformers ];
+       description = "Build systems a la carte";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "buildable" = callPackage
     ({ mkDerivation, base, bytestring, containers, dlist, text }:
      mkDerivation {
@@ -40256,8 +40369,8 @@ self: {
      }:
      mkDerivation {
        pname = "c-mosquitto";
-       version = "0.1.4.1";
-       sha256 = "0adb0sjdvdl3i2mqrpcvdqbi9w7bwcwc7y33ibcsyrgx542jf831";
+       version = "0.1.5.0";
+       sha256 = "07pqy6809lma8b69s91m93ibkag7irma07axnhkhsswkhd2kf5im";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -40374,6 +40487,31 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "c2hs_0_28_5" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , dlist, filepath, HUnit, language-c, pretty, process, shelly
+     , test-framework, test-framework-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "c2hs";
+       version = "0.28.5";
+       sha256 = "1xid997cc38rym6hsgv8xz5dg8jcsh8hs5rrwaxkij7mc09an45x";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         array base bytestring containers directory dlist filepath
+         language-c pretty process
+       ];
+       testHaskellDepends = [
+         base filepath HUnit shelly test-framework test-framework-hunit text
+         transformers
+       ];
+       description = "C->Haskell FFI tool that gives some cross-language type safety";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "c2hs-extra" = callPackage
     ({ mkDerivation, base, c2hs }:
      mkDerivation {
@@ -40752,6 +40890,7 @@ self: {
        doCheck = false;
        description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cabal-info" = callPackage
@@ -41033,8 +41172,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "0.12.3";
-       sha256 = "0nid91q38k4b3hgjrhv6sy68y5h74f85j08991hmfbwzd727dzfg";
+       version = "0.12.4";
+       sha256 = "1wzsbnm57wc38ppqh8fdp8qnqxham5qia96qlgya4b2wh3q6d932";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -43368,6 +43507,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ccast" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "ccast";
+       version = "0.1.0.0";
+       sha256 = "1yls8b1kjmdc8gh1i4vaaav1sgvfccyjfqxjpvb7gw27ivma3v7l";
+       libraryHaskellDepends = [ base template-haskell ];
+       description = "typesafe c-style casts; useful for FFI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cci" = callPackage
     ({ mkDerivation, base, binary, bytestring, cci, cmdargs, containers
      , filepath, mtl, pretty, process, random, time
@@ -44163,23 +44313,11 @@ self: {
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
        pname = "charsetdetect-ae";
-       version = "1.1.0.3";
-       sha256 = "15kf9g708ics81s3gj4vkx4xcvywj2fripf0g9p29v4xliwd9m7y";
-       libraryHaskellDepends = [ base bytestring ];
-       description = "Character set detection using Mozilla's Universal Character Set Detector";
-       license = "LGPL";
-     }) {};
-
-  "charsetdetect-ae_1_1_0_4" = callPackage
-    ({ mkDerivation, base, bytestring }:
-     mkDerivation {
-       pname = "charsetdetect-ae";
        version = "1.1.0.4";
        sha256 = "0321j2kmlvf88bhlbi8ddnzgbckq37sfb7nm7r0dvar6626s9flv";
        libraryHaskellDepends = [ base bytestring ];
        description = "Character set detection using Mozilla's Universal Character Set Detector";
        license = "LGPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "chart-histogram" = callPackage
@@ -44204,8 +44342,8 @@ self: {
      }:
      mkDerivation {
        pname = "chart-unit";
-       version = "0.6.2.0";
-       sha256 = "0y6xha20ckj0n0yih1zwwhyp55q1jcdmq06caid9biji8nkahzb0";
+       version = "0.6.3.0";
+       sha256 = "0r8c2g4jq2ldxn8msyyfa8r04hw5acgvb70q77jhh9v9jk5m93aa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45442,6 +45580,44 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cl3" = callPackage
+    ({ mkDerivation, base, criterion, QuickCheck, random }:
+     mkDerivation {
+       pname = "cl3";
+       version = "1.0.0.0";
+       sha256 = "1a15nbx0q260bs5bh10vckvlbzfgjs5f676r3drki77hggkidvjh";
+       libraryHaskellDepends = [ base random ];
+       testHaskellDepends = [ base QuickCheck ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Clifford Algebra of three dimensional space";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cl3-hmatrix-interface" = callPackage
+    ({ mkDerivation, base, cl3, hmatrix }:
+     mkDerivation {
+       pname = "cl3-hmatrix-interface";
+       version = "1.0.0.0";
+       sha256 = "0cz1pzbnxld2kpiqggln0yags46zhlc8pzghz3mykblwdvgk7z7s";
+       libraryHaskellDepends = [ base cl3 hmatrix ];
+       description = "Interface to/from Cl3 and HMatrix";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cl3-linear-interface" = callPackage
+    ({ mkDerivation, base, cl3, linear }:
+     mkDerivation {
+       pname = "cl3-linear-interface";
+       version = "1.0.0.0";
+       sha256 = "02yyajy8n9j7jd3kz2qas4h2vyv5b42jrjj092cy18lfj9hr22as";
+       libraryHaskellDepends = [ base cl3 linear ];
+       description = "Interface to/from Cl3 and Linear";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "clac" = callPackage
     ({ mkDerivation, base, containers, dsp, optparse-applicative
      , plailude, pretty-tree, safe, split
@@ -47564,10 +47740,8 @@ self: {
      }:
      mkDerivation {
        pname = "codeworld-api";
-       version = "0.2.2.1";
-       sha256 = "0vb3v8d4jdzk14zs1jv4m5f2wa32bpxsfa0zr4f3w6z77as136sx";
-       revision = "2";
-       editedCabalFile = "0glp45kr9v8c9pxbaaq6cwm6i5rhglw2npk16kab80dgsfdb1pj9";
+       version = "0.2.3";
+       sha256 = "0rn4lzjrw930phg62pmrziq4g3dv7rjzxxfsnz11k46w845zzgih";
        libraryHaskellDepends = [
          base blank-canvas cereal cereal-text containers hashable mtl random
          random-shuffle text time
@@ -48658,6 +48832,8 @@ self: {
        pname = "compact";
        version = "0.1.0.1";
        sha256 = "0lynnbvsyr07driy7lm9llrhvmk9wprjdbfc34svzfwldghk71gf";
+       revision = "1";
+       editedCabalFile = "0bdp226gx3gr1hg68xydxhkfr0h469ay60h0s1ywar19y3m8dn1p";
        libraryHaskellDepends = [ base binary bytestring ghc-compact ];
        testHaskellDepends = [ base directory ];
        description = "Non-GC'd, contiguous storage for immutable data structures";
@@ -48745,8 +48921,8 @@ self: {
      }:
      mkDerivation {
        pname = "compactable";
-       version = "0.1.2.0";
-       sha256 = "0kh36h1zfdlhvcz8xzf3c4af0rbypa7p421rl0xsig914r5z519j";
+       version = "0.1.2.1";
+       sha256 = "00fxrwyn1znyhfpql2ygh308b7nl6a3lgxvl39q3qm89wzh2gisc";
        libraryHaskellDepends = [
          base bifunctors containers transformers vector
        ];
@@ -49214,12 +49390,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "composition-prelude_1_4_0_5" = callPackage
+  "composition-prelude_1_5_0_0" = callPackage
     ({ mkDerivation, base, cpphs }:
      mkDerivation {
        pname = "composition-prelude";
-       version = "1.4.0.5";
-       sha256 = "0bcz7lx4v25dz9d11qy8im6fk1gviqqhgcr1bwxg4yqyzbfl8bas";
+       version = "1.5.0.0";
+       sha256 = "01rbbqnwmm615af1yrg4afk4dvv24y2k52m6c1rz9xkyyg8ii0hq";
        libraryHaskellDepends = [ base ];
        libraryToolDepends = [ cpphs ];
        description = "Higher-order function combinators";
@@ -50004,29 +50180,35 @@ self: {
 
   "conduit-algorithms" = callPackage
     ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
-     , conduit-combinators, conduit-extra, containers, deepseq
-     , directory, exceptions, HUnit, lzma-conduit, monad-control, mtl
-     , resourcet, stm, stm-conduit, streaming-commons, test-framework
-     , test-framework-hunit, test-framework-th, transformers
-     , unliftio-core, vector
+     , conduit-combinators, conduit-extra, containers, criterion
+     , deepseq, directory, exceptions, HUnit, lzma-conduit
+     , monad-control, mtl, pqueue, resourcet, stm, stm-conduit
+     , streaming-commons, test-framework, test-framework-hunit
+     , test-framework-th, transformers, unliftio-core, vector
      }:
      mkDerivation {
        pname = "conduit-algorithms";
-       version = "0.0.8.0";
-       sha256 = "0i8ikrh3fpwfqli8ksfayc20kml1wacl0rgv8pc00lgrsmd8r9i8";
+       version = "0.0.8.1";
+       sha256 = "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd";
        libraryHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
          conduit-extra containers deepseq exceptions lzma-conduit
-         monad-control mtl resourcet stm stm-conduit streaming-commons
-         transformers unliftio-core vector
+         monad-control mtl pqueue resourcet stm stm-conduit
+         streaming-commons transformers unliftio-core vector
        ];
        testHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
          conduit-extra containers deepseq directory exceptions HUnit
-         lzma-conduit monad-control mtl resourcet stm stm-conduit
+         lzma-conduit monad-control mtl pqueue resourcet stm stm-conduit
          streaming-commons test-framework test-framework-hunit
          test-framework-th transformers unliftio-core vector
        ];
+       benchmarkHaskellDepends = [
+         async base bytestring bzlib-conduit conduit conduit-combinators
+         conduit-extra containers criterion deepseq exceptions lzma-conduit
+         monad-control mtl pqueue resourcet stm stm-conduit
+         streaming-commons transformers unliftio-core vector
+       ];
        description = "Conduit-based algorithms";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -51062,8 +51244,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, transformers }:
      mkDerivation {
        pname = "constrictor";
-       version = "0.1.1.2";
-       sha256 = "0cqnc0hd73wjmmv9qcvakgg36mhxxp5f9wv2jh3nc45bxjd91snq";
+       version = "0.1.2.0";
+       sha256 = "17vdyc2r9fgblh2pjwdrya7iyrb83ay09zhpfvn80rrrj3d2nd8x";
        libraryHaskellDepends = [ base ghc-prim transformers ];
        description = "strict versions of many things in base";
        license = stdenv.lib.licenses.mit;
@@ -51332,6 +51514,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "contiguous" = callPackage
+    ({ mkDerivation, base, primitive }:
+     mkDerivation {
+       pname = "contiguous";
+       version = "0.1.0.0";
+       sha256 = "19j58q0iq8ghhvrz6hqh4k7biiw8nnnxd2q3b3gwnlgfv08g8h7b";
+       libraryHaskellDepends = [ base primitive ];
+       description = "Unified interface for primitive arrays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "continue" = callPackage
     ({ mkDerivation, base, bifunctors, monad-control, mtl
      , semigroupoids, transformers, transformers-base
@@ -51477,8 +51671,8 @@ self: {
      }:
      mkDerivation {
        pname = "control-iso";
-       version = "0.1.0.0";
-       sha256 = "1z4z3plxs06w485injj2azk8bl42wy0i6c65c4j7fzkkyk7pqbfj";
+       version = "0.1.0.1";
+       sha256 = "1346x6fmdizqi7mxv13z97yjb58psga9mk0rqc6144fgk5i9y9v1";
        libraryHaskellDepends = [
          base bytestring newtype-generics profunctors text
        ];
@@ -52572,8 +52766,8 @@ self: {
     ({ mkDerivation, base, containers, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.5.0";
-       sha256 = "0x8l31zbgcx4idcvpjsipsc3k610hj6g6rjpxbbpaz7zcb2ykvn1";
+       version = "3.5.1";
+       sha256 = "01kknyznwyxd5cgw9q21wmzykl1yiava0s1y3vrrdxzvixk1f89l";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -54650,6 +54844,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "csv-conduit_0_7_0_0" = callPackage
+    ({ mkDerivation, array, attoparsec, base, blaze-builder, bytestring
+     , conduit, conduit-extra, containers, data-default, directory
+     , exceptions, ghc-prim, HUnit, mmorph, monad-control, mtl
+     , primitive, resourcet, semigroups, test-framework
+     , test-framework-hunit, text, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "csv-conduit";
+       version = "0.7.0.0";
+       sha256 = "1rzshr0py23xi1cfgsghnhgy65hyhlxhlnb6qyfzfsqqshmy13s7";
+       libraryHaskellDepends = [
+         array attoparsec base blaze-builder bytestring conduit
+         conduit-extra containers data-default exceptions ghc-prim mmorph
+         monad-control mtl primitive resourcet semigroups text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers directory HUnit mtl primitive
+         test-framework test-framework-hunit text transformers vector
+       ];
+       description = "A flexible, fast, conduit-based CSV parser library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "csv-enumerator" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-enumerator, base
      , bytestring, containers, directory, enumerator, safe, transformers
@@ -56579,14 +56800,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "data-diverse-lens_4_1_0_0" = callPackage
+  "data-diverse-lens_4_2_0_1" = callPackage
     ({ mkDerivation, base, data-diverse, data-has, hspec, lens
      , profunctors, tagged
      }:
      mkDerivation {
        pname = "data-diverse-lens";
-       version = "4.1.0.0";
-       sha256 = "1kzmxlrnvz0xl4fvdgi9qm0vdkwh8129x5af9cjcji5rhmshh5bh";
+       version = "4.2.0.1";
+       sha256 = "07nwbvjhwx3qyh2ksk027qgci91nsckgd4yskkbafndpiri1fxds";
        libraryHaskellDepends = [
          base data-diverse data-has lens profunctors tagged
        ];
@@ -59384,14 +59605,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "dejafu_1_6_0_0" = callPackage
+  "dejafu_1_8_0_0" = callPackage
     ({ mkDerivation, base, concurrency, containers, contravariant
      , deepseq, exceptions, leancheck, profunctors, random, transformers
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "1.6.0.0";
-       sha256 = "101lbnan5cgyl6v6j4hbys8j8br814m14clxgc366yyd2rkf8saf";
+       version = "1.8.0.0";
+       sha256 = "09l1z86vzccvbmsbar5q2a9zc7i8qh8ykinfhvrzcir1yhyz422i";
        libraryHaskellDepends = [
          base concurrency containers contravariant deepseq exceptions
          leancheck profunctors random transformers
@@ -59626,8 +59847,8 @@ self: {
      }:
      mkDerivation {
        pname = "dependency";
-       version = "1.1.0.0";
-       sha256 = "1874zvkv5vkx9s6864kmpihq7514hywzb2a1zhqn3f6qf27bnj9c";
+       version = "1.2.0.0";
+       sha256 = "19b7f0j5b34yaf5gk8kasg275sphjs5bsgbn4cfi1fm874h5612m";
        libraryHaskellDepends = [
          ansi-wl-pprint base binary containers deepseq
          micro-recursion-schemes microlens
@@ -59993,8 +60214,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "descrilo";
-       version = "0.1.0.5";
-       sha256 = "13pmncbss1fwzc8n37rc7czdpjh12iim5nc10p0486ka5asxcc95";
+       version = "0.1.0.6";
+       sha256 = "166x7j8q5wg8iq1bf2qz01ps0b1pbfgizsy1zfhjd98a3zl9fid2";
        libraryHaskellDepends = [ base ];
        description = "Loads a list of items with fields";
        license = stdenv.lib.licenses.gpl3;
@@ -60456,24 +60677,25 @@ self: {
     ({ mkDerivation, base, bytestring, Cabal, containers, contravariant
      , dhall, Diff, filepath, formatting, hashable
      , insert-ordered-containers, optparse-applicative, prettyprinter
-     , tasty, tasty-golden, text, transformers, trifecta, vector
+     , tasty, tasty-golden, text, transformers, vector
      }:
      mkDerivation {
        pname = "dhall-to-cabal";
-       version = "1.0.0.1";
-       sha256 = "0qs00xhsk09azm7sqfihnwmapilmkybmcim1wzlw3h6y4jj6nmq9";
+       version = "1.1.0.0";
+       sha256 = "1vmyc9pbcndqimh2wpdwbnnzjkgkqahq13migasbj8p96ck1kbcn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring Cabal containers dhall formatting hashable
-         insert-ordered-containers text transformers trifecta vector
+         base bytestring Cabal containers contravariant dhall formatting
+         hashable insert-ordered-containers text transformers vector
        ];
        executableHaskellDepends = [
-         base Cabal contravariant dhall hashable insert-ordered-containers
-         optparse-applicative prettyprinter text
+         base bytestring Cabal dhall insert-ordered-containers
+         optparse-applicative prettyprinter text transformers
        ];
        testHaskellDepends = [
-         base bytestring Cabal Diff filepath tasty tasty-golden text
+         base bytestring Cabal dhall Diff filepath prettyprinter tasty
+         tasty-golden text
        ];
        description = "Compile Dhall expressions to Cabal files";
        license = stdenv.lib.licenses.mit;
@@ -60872,8 +61094,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-html5";
-       version = "1.4";
-       sha256 = "1an1f7ykimjbi9xir3mac34ikkawnvs96bpnzp8ia8jcdaa3qra3";
+       version = "1.4.1";
+       sha256 = "0vp99ks9ldy91x1jlla0kyg8sq9748k82ql0jsf0jxhimvwd7vp8";
        libraryHaskellDepends = [
          base cmdargs containers data-default-class diagrams-core
          diagrams-lib lens mtl NumInstances optparse-applicative split
@@ -61302,13 +61524,19 @@ self: {
      }) {};
 
   "diet" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, containers, contiguous, primitive
+     , QuickCheck, quickcheck-classes, tasty, tasty-quickcheck
+     }:
      mkDerivation {
        pname = "diet";
-       version = "0.0.1";
-       sha256 = "0qkyfmys5k6la10dvi8wsmw120xfarjblpkr33xiazll2m9845wh";
-       libraryHaskellDepends = [ base ];
-       description = "Discrete Interval Encoding Tree";
+       version = "0.1.0.0";
+       sha256 = "17mqgkxjpimr1fipiszabf8djxp0k63gmd3l3dbbsr49cfnnimr2";
+       libraryHaskellDepends = [ base contiguous primitive ];
+       testHaskellDepends = [
+         base containers primitive QuickCheck quickcheck-classes tasty
+         tasty-quickcheck
+       ];
+       description = "Discrete Interval Encoding Trees";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -62501,6 +62729,51 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "distributed-fork" = callPackage
+    ({ mkDerivation, async, base, binary, bytestring, constraints
+     , distributed-closure, exceptions, stm, tasty, tasty-hunit
+     , terminal-size, text, transformers, typed-process, unix
+     }:
+     mkDerivation {
+       pname = "distributed-fork";
+       version = "0.0.1.2";
+       sha256 = "0sdabc688fm1xajrdr9q6wzxd2fhzs9ary07sxh2sx0dwlyzk773";
+       libraryHaskellDepends = [
+         async base binary bytestring constraints distributed-closure
+         exceptions stm terminal-size text transformers typed-process
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit unix ];
+       description = "Like 'forkIO', but uses remote machines instead of local threads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "distributed-fork-aws-lambda" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, amazonka, amazonka-cloudformation
+     , amazonka-core, amazonka-lambda, amazonka-s3, amazonka-sqs, async
+     , base, base64-bytestring, bytestring, containers, distributed-fork
+     , interpolate, lens, lens-aeson, safe-exceptions, SHA, stratosphere
+     , tasty, tasty-hunit, text, time, typed-process
+     , unordered-containers, zip-archive
+     }:
+     mkDerivation {
+       pname = "distributed-fork-aws-lambda";
+       version = "0.0.1.2";
+       sha256 = "1y511vildwj2f6kcswwqw65xhv06q106pnnv1pnhjc91x7r7sbzm";
+       libraryHaskellDepends = [
+         aeson aeson-qq amazonka amazonka-cloudformation amazonka-core
+         amazonka-lambda amazonka-s3 amazonka-sqs async base
+         base64-bytestring bytestring containers distributed-fork
+         interpolate lens lens-aeson safe-exceptions SHA stratosphere text
+         time typed-process unordered-containers zip-archive
+       ];
+       testHaskellDepends = [
+         base distributed-fork tasty tasty-hunit text
+       ];
+       description = "AWS Lambda backend for distributed-fork";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "distributed-process" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers
      , data-accessor, deepseq, distributed-static, exceptions, hashable
@@ -63393,29 +63666,6 @@ self: {
      }:
      mkDerivation {
        pname = "dns";
-       version = "3.0.3";
-       sha256 = "0m7xgf5vgh3xj5yrv8hyvhx3lligx1xrnq22a9b6s2prbywyllfv";
-       libraryHaskellDepends = [
-         async attoparsec auto-update base base64-bytestring binary
-         bytestring containers cryptonite iproute mtl network psqueues safe
-         time
-       ];
-       testHaskellDepends = [
-         base bytestring doctest hspec iproute network QuickCheck word8
-       ];
-       testTarget = "spec";
-       description = "DNS library in Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "dns_3_0_4" = callPackage
-    ({ mkDerivation, async, attoparsec, auto-update, base
-     , base64-bytestring, binary, bytestring, containers, cryptonite
-     , doctest, hspec, iproute, mtl, network, psqueues, QuickCheck, safe
-     , time, word8
-     }:
-     mkDerivation {
-       pname = "dns";
        version = "3.0.4";
        sha256 = "1aa4zb9zkk244rndimrq8maxj9qrmz3rb13v9n8jblmp6ssk6d3v";
        libraryHaskellDepends = [
@@ -63429,7 +63679,6 @@ self: {
        testTarget = "spec";
        description = "DNS library in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dnscache" = callPackage
@@ -66182,6 +66431,7 @@ self: {
        ];
        description = "A monad for rewriting things";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "edit-distance" = callPackage
@@ -66417,22 +66667,22 @@ self: {
 
   "egison" = callPackage
     ({ mkDerivation, array, base, containers, criterion, deepseq
-     , directory, filepath, ghc, ghc-paths, Glob, haskeline, HUnit, mtl
-     , parallel, parsec, process, random, regex-tdfa, test-framework
-     , test-framework-hunit, text, transformers, unordered-containers
-     , vector
+     , directory, filepath, ghc, ghc-paths, Glob, hashable, haskeline
+     , HUnit, mtl, parallel, parsec, process, random, regex-tdfa, split
+     , test-framework, test-framework-hunit, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.7.10";
-       sha256 = "129g0xw951pkizs4rmbn5mhy1w0lhqw06hj2sr8sf7r2wnqmn0dy";
+       version = "3.7.11";
+       sha256 = "0k7dx9lnr8gj9nzxijcxwiivy5pi62jfld5hcskq9yqfpy5x618f";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         array base containers directory ghc ghc-paths haskeline mtl
-         parallel parsec process random regex-tdfa text transformers
-         unordered-containers vector
+         array base containers directory ghc ghc-paths hashable haskeline
+         mtl parallel parsec process random regex-tdfa split text
+         transformers unordered-containers vector
        ];
        executableHaskellDepends = [
          array base containers directory filepath ghc ghc-paths haskeline
@@ -68919,6 +69169,63 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "espial" = callPackage
+    ({ mkDerivation, aeson, base, bcrypt, bytestring, case-insensitive
+     , classy-prelude, classy-prelude-conduit, classy-prelude-yesod
+     , conduit, containers, data-default, directory, esqueleto
+     , fast-logger, file-embed, foreign-store, hjsmin, hscolour, hspec
+     , http-conduit, iso8601-time, microlens, monad-control
+     , monad-logger, mtl, optparse-generic, persistent
+     , persistent-sqlite, persistent-template, pretty-show, safe
+     , shakespeare, template-haskell, text, time, transformers
+     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
+     , yaml, yesod, yesod-auth, yesod-core, yesod-form, yesod-static
+     , yesod-test
+     }:
+     mkDerivation {
+       pname = "espial";
+       version = "0.0.1";
+       sha256 = "19zkd2vki74ny69w2bdc3qr71fzawk20a56vsv3an9q5xx0f36a6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bcrypt bytestring case-insensitive classy-prelude
+         classy-prelude-conduit classy-prelude-yesod conduit containers
+         data-default directory esqueleto fast-logger file-embed
+         foreign-store hjsmin hscolour http-conduit iso8601-time
+         monad-control monad-logger mtl persistent persistent-sqlite
+         persistent-template pretty-show safe shakespeare template-haskell
+         text time transformers unordered-containers vector wai wai-extra
+         wai-logger warp yaml yesod yesod-auth yesod-core yesod-form
+         yesod-static
+       ];
+       executableHaskellDepends = [
+         aeson base bcrypt bytestring case-insensitive classy-prelude
+         classy-prelude-conduit classy-prelude-yesod conduit containers
+         data-default directory esqueleto fast-logger file-embed
+         foreign-store hjsmin hscolour http-conduit iso8601-time
+         monad-control monad-logger mtl optparse-generic persistent
+         persistent-sqlite persistent-template pretty-show safe shakespeare
+         template-haskell text time transformers unordered-containers vector
+         wai wai-extra wai-logger warp yaml yesod yesod-auth yesod-core
+         yesod-form yesod-static
+       ];
+       testHaskellDepends = [
+         aeson base bcrypt bytestring case-insensitive classy-prelude
+         classy-prelude-conduit classy-prelude-yesod conduit containers
+         data-default directory esqueleto fast-logger file-embed
+         foreign-store hjsmin hscolour hspec http-conduit iso8601-time
+         microlens monad-control monad-logger mtl persistent
+         persistent-sqlite persistent-template pretty-show safe shakespeare
+         template-haskell text time transformers unordered-containers vector
+         wai wai-extra wai-logger warp yaml yesod yesod-auth yesod-core
+         yesod-form yesod-static yesod-test
+       ];
+       description = "Espial is an open-source, web-based bookmarking server";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "esqueleto" = callPackage
     ({ mkDerivation, base, blaze-html, bytestring, conduit, containers
      , hspec, HUnit, monad-control, monad-logger, persistent
@@ -69009,8 +69316,8 @@ self: {
      }:
      mkDerivation {
        pname = "etc";
-       version = "0.4.0.1";
-       sha256 = "0vpc3816vsxs985h076wxyr3z9q759399xapnhiv1m428sksw6zs";
+       version = "0.4.0.3";
+       sha256 = "0xnm5mvrd0409kcrxp6ls92z5fvq959pghf67pqmj4a84k1dwkw3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base hashable rio text typed-process unliftio
@@ -69699,25 +70006,6 @@ self: {
      }:
      mkDerivation {
        pname = "eventsource-api";
-       version = "1.3.0";
-       sha256 = "1xv1j0dyvbl319513ycyl8857jy3gh0dcjvwxfxz4ddsw0sld3bx";
-       libraryHaskellDepends = [
-         aeson base bytestring containers enclosed-exceptions lifted-async
-         lifted-base monad-control monad-loops mtl stm stm-chans
-         string-conversions text transformers-base unordered-containers uuid
-       ];
-       description = "Provides an eventsourcing high level API";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "eventsource-api_1_3_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers
-     , enclosed-exceptions, lifted-async, lifted-base, monad-control
-     , monad-loops, mtl, stm, stm-chans, string-conversions, text
-     , transformers-base, unordered-containers, uuid
-     }:
-     mkDerivation {
-       pname = "eventsource-api";
        version = "1.3.1";
        sha256 = "0dlrbc3xxijz1hf8w34lvk70ic6gsfb9j5z3ldqdssvv9c8fksy2";
        libraryHaskellDepends = [
@@ -69727,7 +70015,6 @@ self: {
        ];
        description = "Provides an eventsourcing high level API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "eventsource-geteventstore-store" = callPackage
@@ -69821,41 +70108,6 @@ self: {
      }:
      mkDerivation {
        pname = "eventstore";
-       version = "1.1.3";
-       sha256 = "076pxyaslvw4kiqqbhapvqi0nr501l2z8nvajkqw1d9iasgwcfxz";
-       libraryHaskellDepends = [
-         aeson array base bifunctors bytestring cereal clock connection
-         containers dns dotnet-timespan ekg-core exceptions fast-logger
-         hashable http-client interpolate lifted-async lifted-base machines
-         monad-control monad-logger mono-traversable mtl protobuf random
-         safe-exceptions semigroups stm stm-chans text time
-         transformers-base unordered-containers uuid
-       ];
-       testHaskellDepends = [
-         aeson async base bytestring cereal connection containers
-         dotnet-timespan exceptions fast-logger hashable lifted-async
-         lifted-base monad-control mono-traversable protobuf safe-exceptions
-         semigroups stm stm-chans tasty tasty-hspec tasty-hunit text time
-         transformers-base unordered-containers uuid
-       ];
-       description = "EventStore TCP Client";
-       license = stdenv.lib.licenses.bsd3;
-       platforms = [ "x86_64-darwin" "x86_64-linux" ];
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "eventstore_1_1_4" = callPackage
-    ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring
-     , cereal, clock, connection, containers, dns, dotnet-timespan
-     , ekg-core, exceptions, fast-logger, hashable, http-client
-     , interpolate, lifted-async, lifted-base, machines, monad-control
-     , monad-logger, mono-traversable, mtl, protobuf, random
-     , safe-exceptions, semigroups, stm, stm-chans, tasty, tasty-hspec
-     , tasty-hunit, text, time, transformers-base, unordered-containers
-     , uuid
-     }:
-     mkDerivation {
-       pname = "eventstore";
        version = "1.1.4";
        sha256 = "0xhhw5dxq1h4w7dpngrhnaipzhfpzvs4y7jdvimzk86hvgv0mmfj";
        libraryHaskellDepends = [
@@ -70315,8 +70567,8 @@ self: {
      }:
      mkDerivation {
        pname = "exinst";
-       version = "0.5";
-       sha256 = "1r6hy9kkfn24zszb9jd4p6w3wa4nwd2ds8mvb3k9rl20gc3zzhhi";
+       version = "0.6";
+       sha256 = "0pljgk0y4azzgp0k9q8dl7jpf9bf2719xax54mnc35g1px4s21p9";
        libraryHaskellDepends = [
          aeson base binary bytes cborg cereal constraints deepseq hashable
          profunctors QuickCheck serialise singletons
@@ -70507,6 +70759,7 @@ self: {
        ];
        description = "Linear programming over exponent pairs";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "expand" = callPackage
@@ -70990,22 +71243,6 @@ self: {
      }:
      mkDerivation {
        pname = "extra";
-       version = "1.6.6";
-       sha256 = "17d0fd2hng1bwgdl8ms7vzjb4zzwk8cljci5wsd5ninxi9m6x6br";
-       libraryHaskellDepends = [
-         base clock directory filepath process time unix
-       ];
-       testHaskellDepends = [ base directory filepath QuickCheck unix ];
-       description = "Extra functions I use";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "extra_1_6_8" = callPackage
-    ({ mkDerivation, base, clock, directory, filepath, process
-     , QuickCheck, time, unix
-     }:
-     mkDerivation {
-       pname = "extra";
        version = "1.6.8";
        sha256 = "1kngk46nkrjkpqaj845c6r823r8aawlk1ir693lr6rskhy1k7dlp";
        libraryHaskellDepends = [
@@ -71014,7 +71251,6 @@ self: {
        testHaskellDepends = [ base directory filepath QuickCheck unix ];
        description = "Extra functions I use";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "extract-dependencies" = callPackage
@@ -71444,8 +71680,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-arithmetic";
-       version = "0.6.0.6";
-       sha256 = "1vw652sps7dx11anqrrjw2fz039m7bkcfmk61px9g3yn0wvjlm02";
+       version = "0.6.0.7";
+       sha256 = "12ma6p4qy7wc22dd63dxqq3sq7spsx2hdzn82zf0w9y33y2jyaml";
        libraryHaskellDepends = [ base composition-prelude gmpint ];
        testHaskellDepends = [ arithmoi base combinat hspec QuickCheck ];
        benchmarkHaskellDepends = [ arithmoi base combinat criterion ];
@@ -71739,6 +71975,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) openssl;};
 
+  "fastsum" = callPackage
+    ({ mkDerivation, base, ghc-prim, hashable, template-haskell }:
+     mkDerivation {
+       pname = "fastsum";
+       version = "0.1.0.0";
+       sha256 = "19an2yx0x10mj1lxwh3sqj5zs8fcwbw1zj530sxs64127l2dby57";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base ghc-prim hashable template-haskell
+       ];
+       description = "A fast open-union type suitable for 100+ contained alternatives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fathead-util" = callPackage
     ({ mkDerivation, base, bytestring, cassava, hxt, network-uri, text
      }:
@@ -73069,6 +73320,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "filecache_0_4_0" = callPackage
+    ({ mkDerivation, base, containers, directory, exceptions, filepath
+     , fsnotify, hspec, mtl, stm, strict-base-types, temporary, time
+     }:
+     mkDerivation {
+       pname = "filecache";
+       version = "0.4.0";
+       sha256 = "0x2ffqx6wfv6n3k3396463f771zs9ps1rcw8ga3qw4vm5sv8s26d";
+       libraryHaskellDepends = [
+         base containers directory exceptions filepath fsnotify mtl stm
+         strict-base-types time
+       ];
+       testHaskellDepends = [
+         base containers directory filepath hspec stm temporary
+       ];
+       description = "A cache system associating values to files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "filediff" = callPackage
     ({ mkDerivation, base, bytestring, data-default
      , data-memocombinators, directory, either, hashmap, mtl, rainbow
@@ -75498,15 +75769,15 @@ self: {
      }) {};
 
   "forest" = callPackage
-    ({ mkDerivation, aeson, base, deepseq, hashable, profunctors
-     , semigroupoids
+    ({ mkDerivation, aeson, base, comonad, deepseq, free, hashable
+     , profunctors, semigroupoids
      }:
      mkDerivation {
        pname = "forest";
-       version = "0.2";
-       sha256 = "0z8wfvylzcls994yg3s4bywjxl3592y4ba6gcn2h8ndc7c8w09v4";
+       version = "0.2.1";
+       sha256 = "1kj84w39bxirasa5m2y9zjgsq7cd6yv82y51g8cr9g7r1z30wri8";
        libraryHaskellDepends = [
-         aeson base deepseq hashable profunctors semigroupoids
+         aeson base comonad deepseq free hashable profunctors semigroupoids
        ];
        description = "Tree and Forest types";
        license = stdenv.lib.licenses.mpl20;
@@ -76697,21 +76968,24 @@ self: {
      }) {};
 
   "freq" = callPackage
-    ({ mkDerivation, base, bytestring, containers, gauge, hedgehog
-     , primitive
+    ({ mkDerivation, base, bytestring, containers, deepseq, gauge
+     , hedgehog, primitive
      }:
      mkDerivation {
        pname = "freq";
-       version = "0.1.0.3";
-       sha256 = "0b9ji45n6yhz24x29adyhwmrwp9xyhl2ydm0kk5a9jqv9lddddkp";
+       version = "0.1.0.4";
+       sha256 = "1h5lhsnm89g4g46sqiym2zf855skinirygqllf9grj6vk4qbls9n";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base bytestring containers primitive ];
+       libraryHaskellDepends = [
+         base bytestring containers deepseq primitive
+       ];
        executableHaskellDepends = [ base bytestring containers ];
        testHaskellDepends = [ base bytestring containers hedgehog ];
        benchmarkHaskellDepends = [ base bytestring containers gauge ];
        description = "Are you ready to get freaky?";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fresco-binding" = callPackage
@@ -77066,15 +77340,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fsnotify_0_3_0_0" = callPackage
+  "fsnotify_0_3_0_1" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, directory
      , filepath, hinotify, random, shelly, tasty, tasty-hunit, temporary
      , text, time, unix, unix-compat
      }:
      mkDerivation {
        pname = "fsnotify";
-       version = "0.3.0.0";
-       sha256 = "1ni5zmrbc255raxn4ws20n6b1n89yyjxrf96d1fs8y74h3z4ny85";
+       version = "0.3.0.1";
+       sha256 = "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny";
+       revision = "1";
+       editedCabalFile = "1pa9pa0kflkqlb4dysagy0aihn452hmf6wwlsr7fp4ygg86m7fsq";
        libraryHaskellDepends = [
          async base bytestring containers directory filepath hinotify shelly
          text time unix unix-compat
@@ -77108,6 +77384,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "fsnotify-conduit_0_1_1_1" = callPackage
+    ({ mkDerivation, base, conduit, directory, filepath, fsnotify
+     , hspec, resourcet, temporary, transformers
+     }:
+     mkDerivation {
+       pname = "fsnotify-conduit";
+       version = "0.1.1.1";
+       sha256 = "1kh1y1p4dw2yhxrl1rrkmpkvm3q5nq12cwl8dfcscrkx3wqhz683";
+       libraryHaskellDepends = [
+         base conduit directory filepath fsnotify resourcet transformers
+       ];
+       testHaskellDepends = [
+         base conduit directory filepath fsnotify hspec resourcet temporary
+         transformers
+       ];
+       description = "Get filesystem notifications as a stream of events";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fst" = callPackage
     ({ mkDerivation, array, base, haskeline, mtl, QuickCheck
      , transformers
@@ -77165,8 +77461,8 @@ self: {
      }:
      mkDerivation {
        pname = "fswatch";
-       version = "0.1.0.2";
-       sha256 = "1k3592nfiy348aqg2q64k3w1vbzl7x7098jy73gp7ipzyfr9k1pp";
+       version = "0.1.0.3";
+       sha256 = "1k68h4jzcqsnmmhnm3sp0zlkz99q0d925iragl3dbnsbk837sq25";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79088,6 +79384,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "generic-random_1_2_0_0" = callPackage
+    ({ mkDerivation, base, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "generic-random";
+       version = "1.2.0.0";
+       sha256 = "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv";
+       libraryHaskellDepends = [ base QuickCheck ];
+       testHaskellDepends = [ base deepseq QuickCheck ];
+       description = "Generic random generators";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "generic-records" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -79828,6 +80137,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-mergeless" = callPackage
+    ({ mkDerivation, base, containers, genvalidity
+     , genvalidity-containers, genvalidity-hspec
+     , genvalidity-hspec-aeson, genvalidity-time, genvalidity-typed-uuid
+     , hspec, mergeless, mtl, QuickCheck, random, time, typed-uuid, uuid
+     }:
+     mkDerivation {
+       pname = "genvalidity-mergeless";
+       version = "0.0.0.0";
+       sha256 = "08lic96xmyqxi773zynn361yzqkx13w57hd7jl21hbkpjjx1g9ka";
+       libraryHaskellDepends = [
+         base genvalidity genvalidity-containers genvalidity-time mergeless
+         QuickCheck
+       ];
+       testHaskellDepends = [
+         base containers genvalidity-hspec genvalidity-hspec-aeson
+         genvalidity-typed-uuid hspec mergeless mtl QuickCheck random time
+         typed-uuid uuid
+       ];
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {genvalidity-typed-uuid = null; typed-uuid = null;};
+
   "genvalidity-path" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec, path
      , validity-path
@@ -81709,6 +82042,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghcjs-base-stub_0_2_0_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, containers, deepseq
+     , ghc-prim, primitive, scientific, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "ghcjs-base-stub";
+       version = "0.2.0.0";
+       sha256 = "05k59a6jg1a5s8zvqfah5rvm5kg34sqpv2zx4chczihx3n9prfv7";
+       libraryHaskellDepends = [
+         aeson attoparsec base containers deepseq ghc-prim primitive
+         scientific text transformers unordered-containers vector
+       ];
+       description = "Allow GHCJS projects to compile under GHC and develop using intero";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghcjs-codemirror" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -82050,25 +82401,25 @@ self: {
   "gi-dbusmenugtk3" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
      , gi-dbusmenu, gi-gdk, gi-gdkpixbuf, gi-glib, gi-gobject, gi-gtk
-     , haskell-gi, haskell-gi-base, haskell-gi-overloading
+     , gtk3, haskell-gi, haskell-gi-base, haskell-gi-overloading
      , libdbusmenu-gtk3, text, transformers
      }:
      mkDerivation {
        pname = "gi-dbusmenugtk3";
-       version = "0.4.1";
-       sha256 = "0gl37jsska2qsakzbmvwvb33lskdrbxpk1hmw907y187d0hq7pry";
+       version = "0.4.2";
+       sha256 = "0wflxyicav2p1z2sqdrjpvkf4blsilg7psvbr0cfl0r7vmy6nx4w";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-dbusmenu gi-gdk gi-gdkpixbuf
          gi-glib gi-gobject gi-gtk haskell-gi haskell-gi-base
          haskell-gi-overloading text transformers
        ];
-       libraryPkgconfigDepends = [ libdbusmenu-gtk3 ];
+       libraryPkgconfigDepends = [ gtk3 libdbusmenu-gtk3 ];
        doHaddock = false;
        description = "DbusmenuGtk bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) libdbusmenu-gtk3;};
+     }) {gtk3 = pkgs.gnome3.gtk; inherit (pkgs) libdbusmenu-gtk3;};
 
   "gi-gdk" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo
@@ -82942,8 +83293,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-all";
-       version = "1.5.0";
-       sha256 = "0wfvfrmwn81myiaa5x4bw6ypyk0hljaaf3f7b9rnpxwk291dwc3z";
+       version = "1.6.0";
+       sha256 = "10fq88fld1lb5wrikcsg9gxcfbldr0fpix81sba8qy11g7igd7fl";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -82977,8 +83328,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20180509";
-       sha256 = "09rl41c7fsz9jzf9234qcqfix61afxyc2vjx6sld2zyqiky7rhvh";
+       version = "6.20180529";
+       sha256 = "1rx0m4yrl3gl2ca8rbbv74fdlg4s2jnddzljhph7271a7bpyxsx5";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-fs3"
@@ -83070,13 +83421,16 @@ self: {
 
   "git-date" = callPackage
     ({ mkDerivation, base, bytestring, old-locale, QuickCheck
-     , test-framework, test-framework-quickcheck2, time, utf8-string
+     , test-framework, test-framework-quickcheck2, time, unexceptionalio
+     , utf8-string
      }:
      mkDerivation {
        pname = "git-date";
-       version = "0.2.2";
-       sha256 = "0yld8p7jgq0ihz21nkmirz3ynwi0mgrlgzx727kim59hplm6xrcl";
-       libraryHaskellDepends = [ base bytestring time utf8-string ];
+       version = "0.3.0";
+       sha256 = "1lhmzjfch84nilr89b0qaj4a7nrkkrabimg46rnqpmylbgws1h4m";
+       libraryHaskellDepends = [
+         base bytestring time unexceptionalio utf8-string
+       ];
        testHaskellDepends = [
          base bytestring old-locale QuickCheck test-framework
          test-framework-quickcheck2 time utf8-string
@@ -83720,19 +84074,18 @@ self: {
   "gitlib" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, conduit
      , conduit-combinators, containers, directory, exceptions, filepath
-     , hashable, lifted-async, lifted-base, monad-control, mtl
-     , resourcet, semigroups, tagged, text, time, transformers, unix
-     , unordered-containers
+     , hashable, mtl, resourcet, semigroups, tagged, text, time
+     , transformers, unix, unliftio, unliftio-core, unordered-containers
      }:
      mkDerivation {
        pname = "gitlib";
-       version = "3.1.1";
-       sha256 = "1vwmyfmqlly351jq9pgjhcfhnxvrhzkd4lfq7qpsa37vca5pas6x";
+       version = "3.1.2";
+       sha256 = "1r973cpkp4h8dfjrkqgyy31a3x4bbqi7zhpck09ix2a9i597b345";
        libraryHaskellDepends = [
          base base16-bytestring bytestring conduit conduit-combinators
-         containers directory exceptions filepath hashable lifted-async
-         lifted-base monad-control mtl resourcet semigroups tagged text time
-         transformers unix unordered-containers
+         containers directory exceptions filepath hashable mtl resourcet
+         semigroups tagged text time transformers unix unliftio
+         unliftio-core unordered-containers
        ];
        description = "API library for working with Git repositories";
        license = stdenv.lib.licenses.mit;
@@ -84342,6 +84695,8 @@ self: {
        pname = "glirc";
        version = "2.26";
        sha256 = "1ax2ygzrsr1r21v9cx4ixnlgrax6nxr4rkh090n1wv6xn02kd3j0";
+       revision = "1";
+       editedCabalFile = "0wbkapxwzlmjcmkp6inm2xj6bghd8nl4a4ddljizm6xvwcpvp75j";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -84915,12 +85270,12 @@ self: {
      }) {};
 
   "gmpint" = callPackage
-    ({ mkDerivation, base, gmp, recursion-schemes }:
+    ({ mkDerivation, base, gmp }:
      mkDerivation {
        pname = "gmpint";
-       version = "0.1.0.13";
-       sha256 = "0n4syarw91367kkvsbn9ag3caiksbplx4grm8q4z96wh39dvb24y";
-       libraryHaskellDepends = [ base recursion-schemes ];
+       version = "0.1.0.14";
+       sha256 = "08a3ksaq1xx8w153v0xd5k7g2b65wgkr1jshj7533pkg59s8zdxs";
+       libraryHaskellDepends = [ base ];
        librarySystemDepends = [ gmp ];
        description = "GMP integer conversions";
        license = stdenv.lib.licenses.bsd3;
@@ -84984,8 +85339,8 @@ self: {
      }:
      mkDerivation {
        pname = "gnss-converters";
-       version = "0.3.32";
-       sha256 = "0b2v7msj54r6dd2w2wd4c8q6wvywnkmyddaa05r990cnbg9l4i9b";
+       version = "0.3.44";
+       sha256 = "11khp73xa1vy6w5plk644ksgv47q6j4y3jmxds6iv90mqv47z0al";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -90982,8 +91337,8 @@ self: {
      }:
      mkDerivation {
        pname = "hackport";
-       version = "0.5.5";
-       sha256 = "0chvf2wvpvbnzf8980sdg9s61c4p100ps7ava85hlr281sng5d60";
+       version = "0.5.6";
+       sha256 = "0im76n8487q08rmw8bn536qncrdhz9pjir5cxlf2myh7prrrrczs";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -91800,8 +92155,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll";
-       version = "4.12.2.0";
-       sha256 = "1bkr94dakfwq86pm68r61x4g2xmcsliqn8lxgp2jkf8603mjla47";
+       version = "4.12.3.0";
+       sha256 = "1cczcca2h5spvrq8z2nm5ygphcrjfm6k725ppbcc05c4w49dqwm4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -92228,6 +92583,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hall-symbols" = callPackage
+    ({ mkDerivation, base, doctest, hspec, matrix, matrix-as-xyz
+     , parsec, QuickCheck
+     }:
+     mkDerivation {
+       pname = "hall-symbols";
+       version = "0.1.0.2";
+       sha256 = "05jp1l5v9vz4ai9pbz6nwcm3mzxx0k2nsj85ryi2nl9pkhfwa0l4";
+       libraryHaskellDepends = [ base doctest matrix parsec ];
+       testHaskellDepends = [
+         base doctest hspec matrix matrix-as-xyz parsec QuickCheck
+       ];
+       description = "Symmetry operations generater of Hall Symbols";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "halma" = callPackage
     ({ mkDerivation, aeson, base, containers, data-default
      , diagrams-lib, grid, HUnit, QuickCheck, test-framework
@@ -92752,32 +93123,6 @@ self: {
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.3.5.5";
-       sha256 = "1imgfnn58cmfi383zfi0flx8w2430f5kplsy2m27djy5fv6brmpv";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base filepath formatting gitrev mtl path process time transformers
-       ];
-       executableHaskellDepends = [
-         aeson async base formatting gitrev optparse-applicative path
-         path-io stm yaml
-       ];
-       testHaskellDepends = [
-         base directory filepath hspec mtl path path-io process temporary
-       ];
-       description = "A deployment library for Haskell applications";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hapistrano_0_3_5_6" = callPackage
-    ({ mkDerivation, aeson, async, base, directory, filepath
-     , formatting, gitrev, hspec, mtl, optparse-applicative, path
-     , path-io, process, stm, temporary, time, transformers, yaml
-     }:
-     mkDerivation {
-       pname = "hapistrano";
        version = "0.3.5.6";
        sha256 = "0viv359hv3wzdhnfzmq4ynbxyr3a347q7ixarwff85nn9zx7kw2c";
        isLibrary = true;
@@ -92795,7 +93140,6 @@ self: {
        ];
        description = "A deployment library for Haskell applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "happindicator" = callPackage
@@ -92847,6 +93191,7 @@ self: {
        ];
        description = "\"Haskell Applets\" provides an event handler and a canvas for building simple GUI apps";
        license = "AGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "happlets-lib-gtk" = callPackage
@@ -92868,6 +93213,7 @@ self: {
        ];
        description = "The \"Haskell Applets\" Gtk+ ver. 2 back-end for \"happlets\".";
        license = "AGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "happraise" = callPackage
@@ -94306,19 +94652,6 @@ self: {
     ({ mkDerivation, base, ghc-prim, hashable, primitive, vector }:
      mkDerivation {
        pname = "hashtables";
-       version = "1.2.3.0";
-       sha256 = "19bkpx43f3b5mya4jkygiafw402hvazawp6qr69h3wqkc6xv8mpr";
-       libraryHaskellDepends = [
-         base ghc-prim hashable primitive vector
-       ];
-       description = "Mutable hash tables in the ST monad";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hashtables_1_2_3_1" = callPackage
-    ({ mkDerivation, base, ghc-prim, hashable, primitive, vector }:
-     mkDerivation {
-       pname = "hashtables";
        version = "1.2.3.1";
        sha256 = "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg";
        libraryHaskellDepends = [
@@ -94326,7 +94659,6 @@ self: {
        ];
        description = "Mutable hash tables in the ST monad";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hashtables-plus" = callPackage
@@ -94817,8 +95149,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-dap";
-       version = "0.0.4.0";
-       sha256 = "1nzaf9zwqsx1jgspimkig6vhh2d1iz7kc3hr2kixc52sbr7y9iag";
+       version = "0.0.5.0";
+       sha256 = "1sb6jqq1nfzaycr1cx4an5yaaad3k8ijig7ss0xa6wvjkyc37xqa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -95011,8 +95343,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-gi";
-       version = "0.21.2";
-       sha256 = "0g32zgj89n1nihldvn756bz0z25h1ip8as2xvp3d10prx92i4qgi";
+       version = "0.21.3";
+       sha256 = "09smnzg6kqjyb7m281k8w3y6vabws41snp9wkh8449s0ya3ndbn0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -95024,7 +95356,7 @@ self: {
        executableHaskellDepends = [
          base containers directory filepath haskell-gi-base pretty-show text
        ];
-       testHaskellDepends = [ base doctest ];
+       testHaskellDepends = [ base doctest process ];
        description = "Generate Haskell bindings for GObject Introspection capable libraries";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -95437,6 +95769,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-overridez" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring
+     , Cabal, exceptions, foldl, managed, neat-interpolation
+     , network-uri, optparse-applicative, system-fileio, system-filepath
+     , text, turtle
+     }:
+     mkDerivation {
+       pname = "haskell-overridez";
+       version = "0.10.0.1";
+       sha256 = "0p50hsnj57hjd2sngcamicjp1yj9h4fk9jyp37ygy1j0yzyhn3a5";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson aeson-casing attoparsec base bytestring Cabal exceptions
+         foldl managed neat-interpolation network-uri optparse-applicative
+         system-fileio system-filepath text turtle
+       ];
+       description = "Manage nix overrides for haskell packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-packages" = callPackage
     ({ mkDerivation, base, binary, bytestring, Cabal, containers
      , deepseq, directory, filepath, haskell-src-exts, hse-cpp, mtl
@@ -97722,8 +98075,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-optparse-applicative";
-       version = "0.3.0.1";
-       sha256 = "19a31qg4fj74qcjrf6ng11za7zbywg08hnls4pri816fwkjdjs9k";
+       version = "0.3.0.2";
+       sha256 = "1yrqq9lpvrvqvxhrkflyi9fy7nzkga5r4pqn24c939jxi83ncvl1";
        libraryHaskellDepends = [
          base-prelude hasql hasql-pool optparse-applicative
        ];
@@ -97752,8 +98105,8 @@ self: {
     ({ mkDerivation, base-prelude, hasql, resource-pool, time }:
      mkDerivation {
        pname = "hasql-pool";
-       version = "0.4.3";
-       sha256 = "08fzh0y1cxaslp8ia26p9jhs3dckjfdvmiqw1lasdabb7ij82i0j";
+       version = "0.4.3.1";
+       sha256 = "1hjlfxlakzqjghm25a29y7rhfk2m9bhsjfkbqfk9z1221qybwg6s";
        libraryHaskellDepends = [ base-prelude hasql resource-pool time ];
        description = "A pool of connections for Hasql";
        license = stdenv.lib.licenses.mit;
@@ -97861,8 +98214,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-transaction";
-       version = "0.6";
-       sha256 = "00dxm78wscj88zb6wbyg48ps4a5cc41jbbknjrmxlgp0iw4hr06b";
+       version = "0.6.0.1";
+       sha256 = "0fw207hnpqg1r7ypwfqj5jpi91dx73q1syr1jisrhf78j3yw8rni";
        libraryHaskellDepends = [
          base base-prelude bytestring bytestring-tree-builder contravariant
          contravariant-extras hasql mtl transformers
@@ -99723,30 +100076,6 @@ self: {
     ({ mkDerivation, async, base, bytestring, bytestring-lexing
      , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
      , resource-pool, scanner, slave-thread, stm, test-framework
-     , test-framework-hunit, text, time, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hedis";
-       version = "0.10.1";
-       sha256 = "1xzma70f1p6zfihwpsnc23bdzw09yg50pig7knkj6bxkv19czbsn";
-       libraryHaskellDepends = [
-         async base bytestring bytestring-lexing deepseq errors HTTP mtl
-         network network-uri resource-pool scanner stm text time
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         async base bytestring doctest HUnit mtl slave-thread stm
-         test-framework test-framework-hunit text time
-       ];
-       benchmarkHaskellDepends = [ base mtl time ];
-       description = "Client library for the Redis datastore: supports full command set, pipelining";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hedis_0_10_2" = callPackage
-    ({ mkDerivation, async, base, bytestring, bytestring-lexing
-     , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
-     , resource-pool, scanner, slave-thread, stm, test-framework
      , test-framework-hunit, text, time, tls, unordered-containers
      , vector
      }:
@@ -99766,7 +100095,6 @@ self: {
        benchmarkHaskellDepends = [ base mtl time ];
        description = "Client library for the Redis datastore: supports full command set, pipelining";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedis-config" = callPackage
@@ -101496,6 +101824,8 @@ self: {
        pname = "hgeometry";
        version = "0.6.0.0";
        sha256 = "1pphbdl5sn6gvm4crshpnfjmf0c8kwfz68hv615hhadp7120x3ij";
+       revision = "1";
+       editedCabalFile = "19j3n0kf7n2n0spyr83gdjngxnfxvyr1sryvhq8jflsxq44d8rdg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -101842,6 +102172,7 @@ self: {
        ];
        description = "Examples to accompany the book \"Haskell in Depth\"";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hidapi" = callPackage
@@ -101976,8 +102307,8 @@ self: {
      }:
      mkDerivation {
        pname = "hifi";
-       version = "0.1.4.0";
-       sha256 = "0rgmhj1fn0ldyzbscv1q447fbqggqaw3zqxagsn95zq2dqyhrpyl";
+       version = "0.1.4.1";
+       sha256 = "01bdylz6a58aczaf3b35w6x7ji0hxr6b8sjcqsx2jwnc1vx379ns";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -103328,6 +103659,8 @@ self: {
        pname = "hledger";
        version = "1.9.1";
        sha256 = "13arzk1l2hxmi8baa68kvl2sha0na34h0dl6isbfpvgnp7w1c0b3";
+       revision = "1";
+       editedCabalFile = "0qmvkw2zbcpjmkf71janpdpdha45yi29f9kv54rxqbckkh1ziych";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103499,6 +103832,8 @@ self: {
        pname = "hledger-lib";
        version = "1.9.1";
        sha256 = "0yxgx4bpqn8vchrfp07d1fqmsscj8w5g63nqd2n49r29d6i5q5az";
+       revision = "1";
+       editedCabalFile = "1j7yhnjkiw2vm63d6va18kknjxkywb2j0h525ys4z3y6840i8b8k";
        libraryHaskellDepends = [
          ansi-terminal array base base-compat blaze-markup bytestring
          cmdargs containers csv data-default Decimal deepseq directory extra
@@ -103529,6 +103864,8 @@ self: {
        pname = "hledger-ui";
        version = "1.9.1";
        sha256 = "18ar9lja583rg06q9dbnrpify6hj99444fjw2z54lr54587151v0";
+       revision = "1";
+       editedCabalFile = "0dy5vrm969cqp4mz31524z8w1m3lznrr17kgn204rgq91j7zzwx2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -103573,6 +103910,8 @@ self: {
        pname = "hledger-web";
        version = "1.9.2";
        sha256 = "0b533vs5vrk4wpwgf23l7rvijq4qpi6w5nql2hsjwl3xk2ihfpv3";
+       revision = "1";
+       editedCabalFile = "1njgbfl71iif3f7z3kkyqgab98md93a56mpl6laq0kw4azgdsajy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103779,8 +104118,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlrdb";
-       version = "0.2.0.0";
-       sha256 = "1x7vw2mcwd703dr5mjghsjd04yxwl6z7wzdysgk75i4l7f0lcqfq";
+       version = "0.2.0.1";
+       sha256 = "0rrpn3gsh2ck3skpc9d6mdprcac8xdxxc71m8y5jfi0yzh6priga";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cryptonite hashable hedis
          hlrdb-core memory random store time unordered-containers
@@ -105807,8 +106146,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-docs";
-       version = "0.4.0";
-       sha256 = "186pb32mqwvb5n1a9v2p0cs3g01lrdw5j3p3ddjqdkss7mq6sacz";
+       version = "0.5.0";
+       sha256 = "08i15jbn7k21qfmmi1f8151bakqivbk440gi44jjnndhkdj8lwwa";
        libraryHaskellDepends = [
          base haskell-src hoppy-generator hoppy-runtime
        ];
@@ -105823,8 +106162,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-generator";
-       version = "0.4.0";
-       sha256 = "0dk5xhxiw697pb1df544yixsfhiivpp8irllvvjbij7hfbivi409";
+       version = "0.5.0";
+       sha256 = "0cv1idp7i8zqhhrf107xkscghq9j111mfcpxvrshdibsycizlwp0";
        libraryHaskellDepends = [
          base containers directory filepath haskell-src mtl
        ];
@@ -105837,8 +106176,8 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
        pname = "hoppy-runtime";
-       version = "0.4.0";
-       sha256 = "0vi1i2wa64gdxsc3705vpmimkajf3dz6dakxils1alyxp5ih8f4z";
+       version = "0.5.0";
+       sha256 = "089dqnnczknir9q9mwdh5z9jzb5wsw4bmqqi8spibxk8lna4cvqs";
        libraryHaskellDepends = [
          base Cabal containers directory filepath
        ];
@@ -105851,8 +106190,8 @@ self: {
     ({ mkDerivation, base, filepath, haskell-src, hoppy-generator }:
      mkDerivation {
        pname = "hoppy-std";
-       version = "0.4.0";
-       sha256 = "0kb9myfnradifyihigjw08navl5fwcfqznqrp9xjmkwkp8k2h0p5";
+       version = "0.5.0";
+       sha256 = "1x4a4z434nhkgd5nndwrj3y9zm3pf4mln1mccsclf8kkyaj4hyqd";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base filepath haskell-src hoppy-generator
@@ -106783,6 +107122,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) postgresql;};
 
+  "hpqtypes_1_5_3_0" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, Cabal, containers
+     , data-default-class, directory, exceptions, filepath, HUnit
+     , lifted-base, monad-control, mtl, postgresql, QuickCheck, random
+     , resource-pool, scientific, semigroups, test-framework
+     , test-framework-hunit, text, text-show, time, transformers
+     , transformers-base, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hpqtypes";
+       version = "1.5.3.0";
+       sha256 = "1igzja5vy3pfvn2xi4bfbrbnxggxwav16cw2kfjrzkp2xrxq09gz";
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       libraryHaskellDepends = [
+         aeson async base bytestring containers data-default-class
+         exceptions lifted-base monad-control mtl resource-pool semigroups
+         text text-show time transformers transformers-base vector
+       ];
+       librarySystemDepends = [ postgresql ];
+       testHaskellDepends = [
+         aeson base bytestring exceptions HUnit lifted-base monad-control
+         mtl QuickCheck random scientific test-framework
+         test-framework-hunit text text-show time transformers-base
+         unordered-containers vector
+       ];
+       description = "Haskell bindings to libpqtypes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) postgresql;};
+
   "hpqtypes-extras" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, containers
      , cryptohash, data-default, exceptions, fields-json, hpqtypes
@@ -107139,6 +107508,18 @@ self: {
        license = "GPL";
      }) {};
 
+  "hs-bibutils_6_4_0_0" = callPackage
+    ({ mkDerivation, base, syb }:
+     mkDerivation {
+       pname = "hs-bibutils";
+       version = "6.4.0.0";
+       sha256 = "1kravnc0cn0r7bnm3fmcd6d1l4z1ax41wcm32jrp5rafq15lyg9f";
+       libraryHaskellDepends = [ base syb ];
+       description = "Haskell bindings to bibutils, the bibliography conversion utilities";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hs-blake2" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-arbitrary, criterion
      , cryptohash, libb2, QuickCheck, tasty, tasty-quickcheck
@@ -109070,19 +109451,19 @@ self: {
      }) {};
 
   "hsini" = callPackage
-    ({ mkDerivation, base, bytestring, containers, HUnit, mtl, parsec
-     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, tasty-th
+    ({ mkDerivation, base, bytestring, containers, mtl, parsec, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-th
      }:
      mkDerivation {
        pname = "hsini";
-       version = "0.5.1.1";
-       sha256 = "0yfmra5z9fjms5ighlmi6zd092c4kpwnmsrcp2p8gqwdz7k1in51";
+       version = "0.5.1.2";
+       sha256 = "1r6qksnrmk18ndxs5zaga8b7kvmk34kp0kh5hwqmq797qrlax9pa";
        libraryHaskellDepends = [ base bytestring containers mtl parsec ];
        testHaskellDepends = [
-         base bytestring containers HUnit mtl parsec QuickCheck tasty
-         tasty-hunit tasty-quickcheck tasty-th
+         base bytestring containers mtl parsec tasty tasty-hunit
+         tasty-quickcheck tasty-th
        ];
-       description = "Package for user configuration files (INI)";
+       description = "ini configuration files";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -111123,8 +111504,8 @@ self: {
     ({ mkDerivation, base, hsp, jmacro, mtl, text, wl-pprint-text }:
      mkDerivation {
        pname = "hsx-jmacro";
-       version = "7.3.8";
-       sha256 = "15a427bkyn36rdkkvw74ck5dzgbsxnwhy23yd6fibidcz2iyziwp";
+       version = "7.3.8.1";
+       sha256 = "0ndgy5vf5rwgwqya75ny5vbr7hfqwjrdgfgpwf5410bk0603v47i";
        libraryHaskellDepends = [
          base hsp jmacro mtl text wl-pprint-text
        ];
@@ -113114,12 +113495,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hunit-dejafu_1_2_0_1" = callPackage
+  "hunit-dejafu_1_2_0_3" = callPackage
     ({ mkDerivation, base, dejafu, exceptions, HUnit }:
      mkDerivation {
        pname = "hunit-dejafu";
-       version = "1.2.0.1";
-       sha256 = "1shkfbn14qfk9bjnrmdn3zz88718jb1m942idg2vl53yfj16ahy9";
+       version = "1.2.0.3";
+       sha256 = "1qja9warghakl06fv5v7fimb3bqnb38lhs9y264x9hrc7i0nx2xj";
        libraryHaskellDepends = [ base dejafu exceptions HUnit ];
        description = "Deja Fu support for the HUnit test framework";
        license = stdenv.lib.licenses.mit;
@@ -113185,6 +113566,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hunspell-hs" = callPackage
+    ({ mkDerivation, base, criterion, hspec, hunspell, stm }:
+     mkDerivation {
+       pname = "hunspell-hs";
+       version = "0.1.0.0";
+       sha256 = "0jiqgs4akny8kcpl3hdkj08hyknw2p0z96dci6lwq2fv5qprj77i";
+       libraryHaskellDepends = [ base stm ];
+       librarySystemDepends = [ hunspell ];
+       testHaskellDepends = [ base hspec stm ];
+       testSystemDepends = [ hunspell ];
+       benchmarkHaskellDepends = [ base criterion stm ];
+       benchmarkSystemDepends = [ hunspell ];
+       description = "Hunspell thread-safe FFI bindings for spell checking";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) hunspell;};
+
   "hunt-searchengine" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, binary, bytestring
      , containers, data-default, data-r-tree, data-stringmap, deepseq
@@ -113478,6 +113876,7 @@ self: {
        ];
        description = "Balanced parentheses";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-bits" = callPackage
@@ -113531,6 +113930,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-dsv" = callPackage
+    ({ mkDerivation, base, bits-extra, bytestring, cassava, criterion
+     , directory, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-hspec-hedgehog, hw-prim, hw-rankselect, hw-rankselect-base
+     , lens, mmap, optparse-applicative, resourcet, text, vector, weigh
+     }:
+     mkDerivation {
+       pname = "hw-dsv";
+       version = "0.1.0.0";
+       sha256 = "1qyqvb4ky4fl0hys1yihn54xxmh1ajnb81szgsv8crh1idvx0fil";
+       revision = "1";
+       editedCabalFile = "0g99dyjx8vrhm9rdblla1gwd1z1p7fpaddq21y56k5bfg9zjcivw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bits-extra bytestring hw-bits hw-prim hw-rankselect
+         hw-rankselect-base vector
+       ];
+       executableHaskellDepends = [
+         base bits-extra bytestring hedgehog hw-bits hw-prim hw-rankselect
+         hw-rankselect-base lens optparse-applicative resourcet vector
+       ];
+       testHaskellDepends = [
+         base bits-extra bytestring cassava directory hedgehog hspec hw-bits
+         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base text
+         vector weigh
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         base bits-extra bytestring cassava criterion directory hw-bits
+         hw-prim hw-rankselect hw-rankselect-base mmap vector weigh
+       ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hw-eliasfano" = callPackage
     ({ mkDerivation, base, hspec, hw-bits, hw-int, hw-packed-vector
      , hw-prim, QuickCheck, safe, vector
@@ -113565,6 +114000,7 @@ self: {
        ];
        description = "Excess";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-fingertree" = callPackage
@@ -113592,30 +114028,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-fingertree-strict";
-       version = "0.1.0.3";
-       sha256 = "03njx1g23f8s8a9dcyanpfm8pzgcbyds4zwkmp7g8mshk1rljfcm";
-       revision = "1";
-       editedCabalFile = "027ds9pl198478hyimfqaff52r8qhwgmhzazck847z2i5igp30i2";
-       libraryHaskellDepends = [ base deepseq ];
-       testHaskellDepends = [
-         base hedgehog hspec HUnit hw-hspec-hedgehog QuickCheck
-         test-framework test-framework-hunit test-framework-quickcheck2
-       ];
-       description = "Generic strict finger-tree structure";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hw-fingertree-strict_0_1_1_0" = callPackage
-    ({ mkDerivation, base, deepseq, hedgehog, hspec, HUnit
-     , hw-hspec-hedgehog, QuickCheck, test-framework
-     , test-framework-hunit, test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "hw-fingertree-strict";
-       version = "0.1.1.0";
-       sha256 = "0a709kcly1wi3lxznk92bcir29yawv5hz6fxnw2dp1zhdmxqj09q";
-       revision = "1";
-       editedCabalFile = "06dv0zbxzvayymf2syi3dqcm6q8x9c91yl35z1dgkz36lddqbidh";
+       version = "0.1.1.1";
+       sha256 = "0s0jz6lynxiaz2h8hr78j05vhswrl6vwhmvdra9a46c3yg7vf9qi";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base hedgehog hspec HUnit hw-hspec-hedgehog QuickCheck
@@ -113623,7 +114037,6 @@ self: {
        ];
        description = "Generic strict finger-tree structure";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-hedgehog" = callPackage
@@ -113639,20 +114052,6 @@ self: {
      }) {};
 
   "hw-hspec-hedgehog" = callPackage
-    ({ mkDerivation, base, call-stack, hedgehog, hspec, HUnit }:
-     mkDerivation {
-       pname = "hw-hspec-hedgehog";
-       version = "0.1.0.4";
-       sha256 = "1vlrrskalip7a477px7imwy9yifvdx7c03zrgk90rlarivwkggaq";
-       revision = "1";
-       editedCabalFile = "12bh7ms7kjmpk43fwmnbbaflsl41icjck3bn8pcjybp7f7j0mrk5";
-       libraryHaskellDepends = [ base call-stack hedgehog hspec HUnit ];
-       testHaskellDepends = [ base hedgehog hspec ];
-       description = "Interoperability between hspec and hedgehog";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hw-hspec-hedgehog_0_1_0_5" = callPackage
     ({ mkDerivation, base, call-stack, hedgehog, hspec, HUnit
      , transformers
      }:
@@ -113666,7 +114065,6 @@ self: {
        testHaskellDepends = [ base hedgehog hspec ];
        description = "Interoperability between hspec and hedgehog";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-int" = callPackage
@@ -113964,6 +114362,8 @@ self: {
        pname = "hw-rankselect";
        version = "0.10.0.3";
        sha256 = "1jqlyprb83bnffmq6ck6xpx27mqnmrarn890r2dn8k06asghf7da";
+       revision = "1";
+       editedCabalFile = "1rkni89h3sq02y03phb2bgx4yrx4gly9mzan6r4ziph0qayf09wf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -113983,6 +114383,7 @@ self: {
        ];
        description = "Rank-select";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-rankselect_0_12_0_2" = callPackage
@@ -113995,6 +114396,8 @@ self: {
        pname = "hw-rankselect";
        version = "0.12.0.2";
        sha256 = "02fr2p1sl7ynpc1280l1nakf24ifp4fkpjpy2lac8rk4iab48syk";
+       revision = "1";
+       editedCabalFile = "0wggs7k8b0syivi3lyz6qplkiqb11im94bqhhbn6dqikf5sv6qv7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -114037,6 +114440,7 @@ self: {
        ];
        description = "Rank-select base";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-rankselect-base_0_3_2_0" = callPackage
@@ -114091,6 +114495,7 @@ self: {
        ];
        description = "Succint datastructures";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-vector" = callPackage
@@ -115187,6 +115592,7 @@ self: {
        libraryHaskellDepends = [ base containers ];
        description = "Text hyphenation algorithm";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hyphenation" = callPackage
@@ -117630,6 +118036,8 @@ self: {
        pname = "ini";
        version = "0.3.6";
        sha256 = "1n9wsl7nz910bc8jx9ps7pvpql4hlnryjkqbdpfq0phjb9sf7fzw";
+       revision = "1";
+       editedCabalFile = "0gfikdal67aws20i5r4wg4r0lgn844glykcn3nnmbmyvwsks049l";
        libraryHaskellDepends = [
          attoparsec base text unordered-containers
        ];
@@ -118547,6 +118955,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "interprocess" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "interprocess";
+       version = "0.1.0.0";
+       sha256 = "13bxwgzbqb2ih76j5il5l6fqaq9lxl7c6h7r0y6hlpzm9f9izcpa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       description = "Shared memory and control structures for IPC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "interruptible" = callPackage
     ({ mkDerivation, base, Cabal, either, lifted-base, monad-control
      , transformers
@@ -118783,6 +119204,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "invertible-grammar" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, mtl, prettyprinter
+     , profunctors, semigroups, tagged, template-haskell, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "invertible-grammar";
+       version = "0.1.0";
+       sha256 = "0wi0s07v95yh1bmhc4z6n5r47mbmg0mvf3a3ks999gdma4sva1iz";
+       libraryHaskellDepends = [
+         base bifunctors containers mtl prettyprinter profunctors semigroups
+         tagged template-haskell text transformers
+       ];
+       description = "Invertible parsing combinators framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "invertible-hlist" = callPackage
     ({ mkDerivation, base, HList, invertible }:
      mkDerivation {
@@ -120651,6 +121089,8 @@ self: {
        pname = "jailbreak-cabal";
        version = "1.3.3";
        sha256 = "076h7nbf94zfwvfijcpv03r3s2nyynb2y9v354m4bxqz3anhib3b";
+       revision = "3";
+       editedCabalFile = "0f4gqssh2ayl089zzl8m5rwa66x430dg1q5hfwcfd56r6xr6wi1l";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base Cabal ];
@@ -123373,8 +123813,8 @@ self: {
      }:
      mkDerivation {
        pname = "katip";
-       version = "0.5.5.0";
-       sha256 = "10s2bv79shvnpkz1zbcn220mxv05xxq5gny332vhrhflnlcsq9jr";
+       version = "0.5.5.1";
+       sha256 = "0q72kjjrn6x1qr2rp6c3mhf5s3cq4pdsl917a9bflid9zmk5n30b";
        libraryHaskellDepends = [
          aeson async auto-update base bytestring containers either hostname
          microlens microlens-th monad-control mtl old-locale resourcet
@@ -125865,8 +126305,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-ats";
-       version = "1.2.0.10";
-       sha256 = "1998i63gn8f5pn4jlkv30869679jab0vz0gvjzr4yqlyq4npsvpy";
+       version = "1.2.0.11";
+       sha256 = "1kz30k8fdmnrx5zcyy3kpvr81p50m7bwsxgp5qqjrhk2i1a1igfp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array base composition-prelude containers deepseq
@@ -125942,6 +126382,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-c_0_8" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers, deepseq
+     , directory, filepath, happy, pretty, process, syb
+     }:
+     mkDerivation {
+       pname = "language-c";
+       version = "0.8";
+       sha256 = "0ms0hfg65d7phfr2dq6183vcbmq9ddpvmlqbs8nwbqhqvcdpfl4w";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq directory filepath pretty
+         process syb
+       ];
+       libraryToolDepends = [ alex happy ];
+       testHaskellDepends = [ base directory filepath process ];
+       description = "Analysis and generation of C code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-c-comments" = callPackage
     ({ mkDerivation, alex, array, base, language-c }:
      mkDerivation {
@@ -126106,22 +126565,23 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
-  "language-docker_5_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, directory, filepath, free, Glob
-     , hspec, HUnit, mtl, parsec, pretty, process, QuickCheck, split
-     , template-haskell, text, th-lift, time
+  "language-docker_6_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , free, Glob, hspec, HUnit, megaparsec, mtl, prettyprinter, process
+     , QuickCheck, split, template-haskell, text, th-lift, time
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "5.0.1";
-       sha256 = "0y2kb2g9w34p3yw8cdjr4f0xkq9j065khlk1mbk7061gg2rhpykv";
+       version = "6.0.0";
+       sha256 = "0b3m6vzfhypwqnlwdy1b1cx6dfca0rcq2m4zivd608ny2ii22ajv";
        libraryHaskellDepends = [
-         base bytestring free mtl parsec pretty split template-haskell text
-         th-lift time
+         base bytestring containers free megaparsec mtl prettyprinter split
+         template-haskell text th-lift time
        ];
        testHaskellDepends = [
-         base bytestring directory filepath free Glob hspec HUnit mtl parsec
-         pretty process QuickCheck split template-haskell text th-lift time
+         base bytestring containers directory filepath free Glob hspec HUnit
+         megaparsec mtl prettyprinter process QuickCheck split
+         template-haskell text th-lift time
        ];
        description = "Dockerfile parser, pretty-printer and embedded DSL";
        license = stdenv.lib.licenses.gpl3;
@@ -126195,7 +126655,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "language-ecmascript_0_18" = callPackage
+  "language-ecmascript_0_19" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, charset, containers
      , data-default-class, Diff, directory, filepath, HUnit, mtl, parsec
      , QuickCheck, template-haskell, test-framework
@@ -126204,16 +126664,17 @@ self: {
      }:
      mkDerivation {
        pname = "language-ecmascript";
-       version = "0.18";
-       sha256 = "0gg608hniq1v7f1d56akyk44zyrmd0acr33m53cbdlcq8w1c8h70";
+       version = "0.19";
+       sha256 = "13v5ghw8qc4paacn34skgwmvwisjaykszwjrq3lk4idzvrxln2jp";
        libraryHaskellDepends = [
          ansi-wl-pprint base charset containers data-default-class Diff mtl
-         parsec QuickCheck template-haskell testing-feat uniplate
+         parsec QuickCheck template-haskell uniplate
        ];
        testHaskellDepends = [
-         ansi-wl-pprint base containers data-default-class Diff directory
-         filepath HUnit mtl parsec QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 uniplate
+         ansi-wl-pprint base charset containers data-default-class Diff
+         directory filepath HUnit mtl parsec QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 testing-feat
+         uniplate
        ];
        description = "JavaScript parser and pretty-printer library";
        license = stdenv.lib.licenses.bsd3;
@@ -128594,6 +129055,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "lexer-applicative_2_1_0_2" = callPackage
+    ({ mkDerivation, base, deepseq, regex-applicative, srcloc, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "lexer-applicative";
+       version = "2.1.0.2";
+       sha256 = "1gjwxc9d2al8az89mrxkvh8fmmdk78685dgdxi4fil2r587kqhxf";
+       libraryHaskellDepends = [ base regex-applicative srcloc ];
+       testHaskellDepends = [
+         base deepseq regex-applicative srcloc tasty tasty-hunit
+       ];
+       description = "Simple lexer based on applicative regular expressions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lfst" = callPackage
     ({ mkDerivation, base, containers, doctest, lattices, QuickCheck }:
      mkDerivation {
@@ -129794,8 +130272,8 @@ self: {
      }:
      mkDerivation {
        pname = "limp";
-       version = "0.3.2.1";
-       sha256 = "0fx8q7ll47qc06laagiap0z4b5mbp958r3b9mc6qm1h9rhksimjk";
+       version = "0.3.2.2";
+       sha256 = "0dx2xgkrqda8qwfiwm3pd5lfnfw5sxf1qdz5sbp54jf6516m2c4w";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base containers QuickCheck tasty tasty-quickcheck tasty-th
@@ -129806,14 +130284,18 @@ self: {
      }) {};
 
   "limp-cbc" = callPackage
-    ({ mkDerivation, base, c2hs, containers, limp, vector }:
+    ({ mkDerivation, base, c2hs, containers, limp, QuickCheck, tasty
+     , tasty-quickcheck, vector
+     }:
      mkDerivation {
        pname = "limp-cbc";
-       version = "0.3.2.1";
-       sha256 = "0q4az96nbwvm7jhrwvbjp87vzkb5nlp739jhkya6z0iq340cjxjy";
+       version = "0.3.2.2";
+       sha256 = "0v637hrm980iqj3bh9p0ixirkhg3dwq7i36pff3n1fiav516qbww";
        libraryHaskellDepends = [ base containers limp vector ];
        libraryToolDepends = [ c2hs ];
-       testHaskellDepends = [ base limp ];
+       testHaskellDepends = [
+         base limp QuickCheck tasty tasty-quickcheck
+       ];
        description = "bindings for integer linear programming solver Coin/CBC";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -131478,8 +131960,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-hs-pretty";
-       version = "0.3.0.0";
-       sha256 = "1q67rsjnw8wsfvmz4a54nr7b9il59fdjbbra2wwnnyjldi29ykdq";
+       version = "0.4.0.0";
+       sha256 = "1b398yxyd0x2mlv5b70vgy1q3i8nk77fch7asyx8s42pnff4qqkq";
        libraryHaskellDepends = [
          array base bytestring llvm-hs-pure text wl-pprint-text
        ];
@@ -136133,6 +136615,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "matrix-as-xyz" = callPackage
+    ({ mkDerivation, base, doctest, hspec, matrix, parsec, QuickCheck
+     }:
+     mkDerivation {
+       pname = "matrix-as-xyz";
+       version = "0.1.1.0";
+       sha256 = "0ckirpbflr69a51k21nfak74d5r4jxra2sl4ys2gyicjm77b5a3s";
+       libraryHaskellDepends = [ base hspec matrix parsec QuickCheck ];
+       testHaskellDepends = [
+         base doctest hspec matrix parsec QuickCheck
+       ];
+       description = "Read and Display representation of matrix like \"x,y,z\"";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "matrix-market" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -136495,6 +136992,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mbug" = callPackage
+    ({ mkDerivation, base, bytestring, directory, extra, http-client
+     , http-client-tls, optparse-applicative, process, scalpel-core
+     , tagsoup, text, th-printf, time, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "mbug";
+       version = "1.0";
+       sha256 = "1bz8bwmapxssgs1j98xvad47185i81sqkydjf6r7329c4sn5gipv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory extra http-client http-client-tls
+         optparse-applicative process scalpel-core tagsoup text th-printf
+         time xdg-basedir
+       ];
+       executableHaskellDepends = [
+         base bytestring directory extra http-client http-client-tls
+         optparse-applicative process scalpel-core tagsoup text th-printf
+         time xdg-basedir
+       ];
+       description = "download bugs mailboxes";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "mcl" = callPackage
     ({ mkDerivation, base, binary, bytestring, Cabal, criterion
      , deepseq, ghc-prim, gmpxx, groups, integer-gmp, mcl, openssl
@@ -137473,6 +137995,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mergeless" = callPackage
+    ({ mkDerivation, aeson, base, containers, mtl, time, validity
+     , validity-containers, validity-time
+     }:
+     mkDerivation {
+       pname = "mergeless";
+       version = "0.0.0.0";
+       sha256 = "1wldriwz4247ikf73prlrgd2s5jfazq27p5b7yyfqmylx0h49vaz";
+       libraryHaskellDepends = [
+         aeson base containers mtl time validity validity-containers
+         validity-time
+       ];
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "merkle-patricia-db" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, base16-bytestring
      , binary, bytestring, containers, cryptonite, data-default
@@ -138533,29 +139071,6 @@ self: {
      }:
      mkDerivation {
        pname = "milena";
-       version = "0.5.2.1";
-       sha256 = "1mylkqp8vha9gq7li5cir5h3i27zb573alxgxnvr1y938z2nimf2";
-       libraryHaskellDepends = [
-         base bytestring cereal containers digest lens lifted-base
-         monad-control mtl murmur-hash network random resource-pool
-         semigroups transformers zlib
-       ];
-       testHaskellDepends = [
-         base bytestring lens mtl network QuickCheck semigroups tasty
-         tasty-hspec tasty-quickcheck
-       ];
-       description = "A Kafka client for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "milena_0_5_2_2" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, containers, digest, lens
-     , lifted-base, monad-control, mtl, murmur-hash, network, QuickCheck
-     , random, resource-pool, semigroups, tasty, tasty-hspec
-     , tasty-quickcheck, transformers, zlib
-     }:
-     mkDerivation {
-       pname = "milena";
        version = "0.5.2.2";
        sha256 = "0dag2r79wpq67ydd7blwha2jf8nd5311bxv3li3fm88m0kbqrni1";
        libraryHaskellDepends = [
@@ -138569,7 +139084,6 @@ self: {
        ];
        description = "A Kafka client for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mime" = callPackage
@@ -138809,30 +139323,29 @@ self: {
   "minio-hs" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , case-insensitive, conduit, conduit-extra, containers, cryptonite
-     , cryptonite-conduit, data-default, directory, exceptions, filepath
+     , cryptonite-conduit, data-default, directory, filepath
      , http-client, http-conduit, http-types, memory, protolude
      , QuickCheck, resourcet, tasty, tasty-hunit, tasty-quickcheck
-     , tasty-smallcheck, temporary, text, text-format, time
-     , transformers, unliftio, unliftio-core, xml-conduit
+     , tasty-smallcheck, temporary, text, time, transformers, unliftio
+     , unliftio-core, xml-conduit
      }:
      mkDerivation {
        pname = "minio-hs";
-       version = "1.0.0";
-       sha256 = "0q6qzzkkbm9b0a7c630yj2rlg54imir1yjbpsy4x9fh3kc7vx0i2";
+       version = "1.0.1";
+       sha256 = "0hxl56zx9xhyi14pmd4mns8r43pym1nhhfqrni3wxqrxh1w6qbsv";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive conduit
          conduit-extra containers cryptonite cryptonite-conduit data-default
-         exceptions filepath http-client http-conduit http-types memory
-         protolude resourcet text text-format time transformers unliftio
-         unliftio-core xml-conduit
+         filepath http-client http-conduit http-types memory protolude
+         resourcet text time transformers unliftio unliftio-core xml-conduit
        ];
        testHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive conduit
          conduit-extra containers cryptonite cryptonite-conduit data-default
-         directory exceptions filepath http-client http-conduit http-types
-         memory protolude QuickCheck resourcet tasty tasty-hunit
-         tasty-quickcheck tasty-smallcheck temporary text text-format time
-         transformers unliftio unliftio-core xml-conduit
+         directory filepath http-client http-conduit http-types memory
+         protolude QuickCheck resourcet tasty tasty-hunit tasty-quickcheck
+         tasty-smallcheck temporary text time transformers unliftio
+         unliftio-core xml-conduit
        ];
        description = "A Minio Haskell Library for Amazon S3 compatible cloud storage";
        license = stdenv.lib.licenses.asl20;
@@ -140986,13 +141499,14 @@ self: {
      }:
      mkDerivation {
        pname = "monadiccp-gecode";
-       version = "0.1.2";
-       sha256 = "1ylyzklcb37khrq8a11fzlyd0sa1nrhpd7cv470m23v7l1hc1wg0";
+       version = "0.1.3";
+       sha256 = "0h3a82lrsvsdkdvf1m5hl9ayvikxp5p38wj5rpgn6qh8n5im2sn8";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base containers monadiccp mtl ];
        librarySystemDepends = [
          gecodeint gecodekernel gecodesearch gecodeset gecodesupport
        ];
+       testHaskellDepends = [ base ];
        description = "Constraint Programming";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -143019,20 +143533,6 @@ self: {
      }) {};
 
   "multiset" = callPackage
-    ({ mkDerivation, base, containers, doctest, Glob }:
-     mkDerivation {
-       pname = "multiset";
-       version = "0.3.3";
-       sha256 = "0dg1dlvsyjam5z284p2pzfdzhk88z9bw57v290xzx0dyvg9pfkn7";
-       revision = "2";
-       editedCabalFile = "1pwb1prra12yrm3qdjp8h7343cilbkck85blhaflzsmn1sbcyq2w";
-       libraryHaskellDepends = [ base containers ];
-       testHaskellDepends = [ base doctest Glob ];
-       description = "The Data.MultiSet container type";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "multiset_0_3_4" = callPackage
     ({ mkDerivation, base, containers, deepseq, doctest, Glob }:
      mkDerivation {
        pname = "multiset";
@@ -143042,7 +143542,6 @@ self: {
        testHaskellDepends = [ base doctest Glob ];
        description = "The Data.MultiSet container type";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "multiset-comb" = callPackage
@@ -144538,23 +145037,11 @@ self: {
     ({ mkDerivation, base, containers, template-haskell }:
      mkDerivation {
        pname = "names-th";
-       version = "0.2.0.3";
-       sha256 = "1ijy7wkmw8y5lv7f1p975jlp17r3yfv5v05csiqrs1zykcpjpghf";
-       libraryHaskellDepends = [ base containers template-haskell ];
-       description = "Manipulate name strings for TH";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "names-th_0_2_0_4" = callPackage
-    ({ mkDerivation, base, containers, template-haskell }:
-     mkDerivation {
-       pname = "names-th";
        version = "0.2.0.4";
        sha256 = "03nj3qdqkdl4wgb9s4p1dmrcx19ffc03br0a3n8z85bih0p4vgsq";
        libraryHaskellDepends = [ base containers template-haskell ];
        description = "Manipulate name strings for TH";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "namespace" = callPackage
@@ -148205,20 +148692,16 @@ self: {
      }) {};
 
   "notzero" = callPackage
-    ({ mkDerivation, base, bifunctors, directory, doctest, filepath
-     , lens, mtl, QuickCheck, semigroupoids, semigroups
-     , template-haskell, transformers
+    ({ mkDerivation, base, bifunctors, lens, mtl, semigroupoids
+     , semigroups, transformers
      }:
      mkDerivation {
        pname = "notzero";
-       version = "0.0.11";
-       sha256 = "0sqqffk1znyh7ghbx9ayr2khzxh5g07jjlarx78c051rb2sgdy77";
+       version = "0.1";
+       sha256 = "0l9z10njx18vp7xxcb0gys9dyq2g7i8i5mczymfknwdv9x3v2jk5";
        libraryHaskellDepends = [
          base bifunctors lens mtl semigroupoids semigroups transformers
        ];
-       testHaskellDepends = [
-         base directory doctest filepath QuickCheck template-haskell
-       ];
        description = "A data type for representing numeric values, except zero";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -149310,24 +149793,24 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , file-embed, filepath, formatting, hspec, hspec-golden-aeson, mtl
      , process, QuickCheck, quickcheck-arbitrary-adt, servant
-     , servant-server, split, template-haskell, text, time
-     , typelits-witnesses, wai, wai-extra, warp, wl-pprint-text
+     , servant-server, singletons, split, template-haskell, text, time
+     , wai, wai-extra, warp, wl-pprint-text
      }:
      mkDerivation {
        pname = "ocaml-export";
-       version = "0.7.0.0";
-       sha256 = "10cvzzqnv7za9albnma112cx0pr4ranjqg3r38k5x6jmj4n5s4bp";
+       version = "0.9.0.0";
+       sha256 = "1wqgvaf8198p1avq3vlmi256a6wk5w76m4hvlhvmdv0kzad3iw25";
        libraryHaskellDepends = [
          aeson base bytestring containers directory file-embed filepath
          formatting hspec hspec-golden-aeson mtl QuickCheck
-         quickcheck-arbitrary-adt servant servant-server split
-         template-haskell text time typelits-witnesses wl-pprint-text
+         quickcheck-arbitrary-adt servant servant-server singletons split
+         template-haskell text time wl-pprint-text
        ];
        testHaskellDepends = [
          aeson base bytestring containers directory filepath hspec
          hspec-golden-aeson process QuickCheck quickcheck-arbitrary-adt
-         servant servant-server template-haskell text time
-         typelits-witnesses wai wai-extra warp
+         servant servant-server singletons template-haskell text time wai
+         wai-extra warp
        ];
        description = "Convert Haskell types in OCaml types";
        license = stdenv.lib.licenses.bsd3;
@@ -149506,18 +149989,19 @@ self: {
   "odpic-raw" = callPackage
     ({ mkDerivation, base, c2hs, conduit, hspec, monad-control
      , monad-logger, odpic, QuickCheck, resourcet, text, time
+     , unliftio-core
      }:
      mkDerivation {
        pname = "odpic-raw";
-       version = "0.1.11";
-       sha256 = "0via5p0sfma91ny5rw87sirmp4189663ww25dfwi6jlha4d82hlh";
+       version = "0.2.0";
+       sha256 = "0g83ag8ggcwmf82zghzdds990l5hvcfiv85rlj95phb0lpdskj5m";
        libraryHaskellDepends = [
-         base conduit monad-control resourcet text time
+         base conduit monad-control resourcet text time unliftio-core
        ];
        librarySystemDepends = [ odpic ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
-         base conduit hspec monad-logger QuickCheck resourcet
+         base conduit hspec monad-logger QuickCheck resourcet text
        ];
        description = "Oracle Database Bindings";
        license = stdenv.lib.licenses.bsd3;
@@ -150037,14 +150521,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "online_0_2_3_0" = callPackage
+  "online_0_3_0_0" = callPackage
     ({ mkDerivation, base, doctest, foldl, numhask-prelude, protolude
      , tasty, tdigest, vector, vector-algorithms
      }:
      mkDerivation {
        pname = "online";
-       version = "0.2.3.0";
-       sha256 = "04yh51gdmb2nycsxjrfzkb07byxdmn1n9wrk7wv7nh3ki7jxi15d";
+       version = "0.3.0.0";
+       sha256 = "056a9dkrzfgj0wf9f9d9d25f6yc03jx9z0p0z5xm8n8brk6b3bds";
        libraryHaskellDepends = [
          base foldl numhask-prelude protolude tdigest vector
          vector-algorithms
@@ -151581,8 +152065,8 @@ self: {
      }:
      mkDerivation {
        pname = "orgmode-parse";
-       version = "0.2.0";
-       sha256 = "1xx0mqq4c2war7ykr7md67dhhgh7h74b5j25arh1im7hgn1iy52x";
+       version = "0.2.1";
+       sha256 = "1zpkj3f0gdi5ri39s7g532j2pgk5mgs97y2g1gj42q9aa5lm5hw5";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers free hashable
          old-locale text thyme unordered-containers
@@ -152467,8 +152951,8 @@ self: {
        pname = "pandoc";
        version = "2.1.2";
        sha256 = "0rgba2vfh2n7kh2g75hmxa6pbjk6p73a4zwj00pfsvhwyvpjc2yw";
-       revision = "1";
-       editedCabalFile = "1vk5g5dbk7q8w9pncqgkn4wbdj83p20ca6ipb5vca532x2294x5b";
+       revision = "2";
+       editedCabalFile = "0s7hhycdkjqw4sd6qj4n7lrf76aa4yaw4kaq35ivpjin7hrf011j";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -155764,14 +156248,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "perf_0_4_0_1" = callPackage
+  "perf_0_4_1_0" = callPackage
     ({ mkDerivation, base, containers, deepseq, doctest, foldl, rdtsc
      , text, time, transformers
      }:
      mkDerivation {
        pname = "perf";
-       version = "0.4.0.1";
-       sha256 = "1am2wzj43gi0naz5mwpvja9i005g05d6gpkqw0qvdy63mddz9b96";
+       version = "0.4.1.0";
+       sha256 = "1z0128fnqlraj8sj26fsfy9izfr1ld3k5c3sh0471fh36vf507c8";
        libraryHaskellDepends = [
          base containers deepseq foldl rdtsc text time transformers
        ];
@@ -155781,6 +156265,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "perf-analysis" = callPackage
+    ({ mkDerivation, base, containers, deepseq, formatting
+     , optparse-generic, perf, protolude, scientific, tdigest, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "perf-analysis";
+       version = "0.0.1.1";
+       sha256 = "1rjig10c7cy3lck2cvjs6drwrakb65mqhjgs6aakb07yjjl536pn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base deepseq formatting perf protolude scientific tdigest text
+         vector
+       ];
+       executableHaskellDepends = [
+         base containers deepseq formatting optparse-generic perf protolude
+         scientific tdigest text vector
+       ];
+       description = "analysis example using perf";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "perfect-hash-generator" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, data-ordlist
      , directory, filepath, hashable, HUnit, optparse-applicative
@@ -155904,11 +156412,14 @@ self: {
      }) {};
 
   "permutation" = callPackage
-    ({ mkDerivation, base, ghc-prim, QuickCheck }:
+    ({ mkDerivation, base, Cabal, ghc-prim, process, QuickCheck }:
      mkDerivation {
        pname = "permutation";
        version = "0.5.0.5";
        sha256 = "005737s6k9dfpjmjf41m3k1wc31c2kql08ig7fd6npk22nhwmdai";
+       revision = "1";
+       editedCabalFile = "0lrargadwkwzzvajfiay8vkq1byh56kbr2h9ba9cfbpqwb4s90j9";
+       setupHaskellDepends = [ base Cabal process ];
        libraryHaskellDepends = [ base ghc-prim QuickCheck ];
        description = "A library for permutations and combinations";
        license = stdenv.lib.licenses.bsd3;
@@ -157023,8 +157534,8 @@ self: {
      }:
      mkDerivation {
        pname = "phoityne-vscode";
-       version = "0.0.23.0";
-       sha256 = "139fjsyximny4ikgqrjxx9pg4spkz8s1fh6b3a9xgrsyya4r1sw7";
+       version = "0.0.24.0";
+       sha256 = "1kk8bfvai1196960cqq6zg5xhs15jzwllw57n247csiifijs0b0v";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -158181,6 +158692,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-fluid_0_6_0_1" = callPackage
+    ({ mkDerivation, async, base, constraints, hspec, lens
+     , lifted-async, mmorph, monad-control, mtl, pipes
+     , pipes-concurrency, pipes-misc, semigroups, stm, these
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "pipes-fluid";
+       version = "0.6.0.1";
+       sha256 = "01ig0czixnf5fypnfns2kzna676vd3mr2a52fb9f4cg7yy6qwp8h";
+       libraryHaskellDepends = [
+         base constraints lens lifted-async monad-control pipes semigroups
+         stm these transformers transformers-base
+       ];
+       testHaskellDepends = [
+         async base constraints hspec lens lifted-async mmorph monad-control
+         mtl pipes pipes-concurrency pipes-misc stm transformers
+       ];
+       description = "Reactively combines Producers so that a value is yielded as soon as possible";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-group" = callPackage
     ({ mkDerivation, base, doctest, free, lens-family-core, pipes
      , pipes-parse, transformers
@@ -159497,6 +160031,7 @@ self: {
        libraryHaskellDepends = [ base semigroups ];
        description = "Plurality monad: Zero, one, or at least two";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "plural" = callPackage
@@ -161054,32 +161589,6 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-simple";
-       version = "0.5.3.0";
-       sha256 = "0h8f4d09f25p0dlz2mxvgp5b5pr56hnhng3yhb69pmv0dmj7n38y";
-       revision = "1";
-       editedCabalFile = "1hvry7nhk629yas6nbm3wnyy0bgwh6r8511rmsq9r8xkl7qm76r2";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring bytestring-builder
-         case-insensitive containers hashable postgresql-libpq scientific
-         template-haskell text time transformers uuid-types vector
-       ];
-       testHaskellDepends = [
-         aeson base base16-bytestring bytestring containers cryptohash
-         filepath HUnit tasty tasty-golden tasty-hunit text time vector
-       ];
-       description = "Mid-Level PostgreSQL client library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "postgresql-simple_0_5_4_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
-     , bytestring, bytestring-builder, case-insensitive, containers
-     , cryptohash, filepath, hashable, HUnit, postgresql-libpq
-     , scientific, tasty, tasty-golden, tasty-hunit, template-haskell
-     , text, time, transformers, uuid-types, vector
-     }:
-     mkDerivation {
-       pname = "postgresql-simple";
        version = "0.5.4.0";
        sha256 = "0xrsyx25v5z06qziy32wlb3lvkyci3nxkbb25nis21vkj3kimlgm";
        libraryHaskellDepends = [
@@ -161093,7 +161602,6 @@ self: {
        ];
        description = "Mid-Level PostgreSQL client library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "postgresql-simple-bind" = callPackage
@@ -161123,29 +161631,6 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-simple-migration";
-       version = "0.1.11.0";
-       sha256 = "17kmmilvzpllk5nr7xngkym2gavkv32z5i1b7vc290g89c58a3y0";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base base64-bytestring bytestring cryptohash directory
-         postgresql-simple time
-       ];
-       executableHaskellDepends = [
-         base base64-bytestring bytestring cryptohash directory
-         postgresql-simple text time
-       ];
-       testHaskellDepends = [ base bytestring hspec postgresql-simple ];
-       description = "PostgreSQL Schema Migrations";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "postgresql-simple-migration_0_1_12_0" = callPackage
-    ({ mkDerivation, base, base64-bytestring, bytestring, cryptohash
-     , directory, hspec, postgresql-simple, text, time
-     }:
-     mkDerivation {
-       pname = "postgresql-simple-migration";
        version = "0.1.12.0";
        sha256 = "18sx8ila7w7k4ym4rs36dc48v0cdl3b4il5jfqyfcx34n3mb5y4q";
        isLibrary = true;
@@ -161161,7 +161646,6 @@ self: {
        testHaskellDepends = [ base bytestring hspec postgresql-simple ];
        description = "PostgreSQL Schema Migrations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "postgresql-simple-opts" = callPackage
@@ -161525,15 +162009,15 @@ self: {
      }) {};
 
   "potoki-cereal" = callPackage
-    ({ mkDerivation, base, base-prelude, bytestring, cereal, potoki
+    ({ mkDerivation, base, base-prelude, bytestring, cereal
      , potoki-core, text
      }:
      mkDerivation {
        pname = "potoki-cereal";
-       version = "0.1.6";
-       sha256 = "0mr3wv8mx88xzbkcrndq833wcq753dyp9z4610pxa34cfalnbvhf";
+       version = "0.2";
+       sha256 = "06fb615lki0pa341a8fv68vkyw13zax4zw6cappnffqccplvdhyg";
        libraryHaskellDepends = [
-         base base-prelude bytestring cereal potoki potoki-core text
+         base base-prelude bytestring cereal potoki-core text
        ];
        description = "Streaming serialization";
        license = stdenv.lib.licenses.mit;
@@ -161541,18 +162025,24 @@ self: {
      }) {};
 
   "potoki-core" = callPackage
-    ({ mkDerivation, base, profunctors, QuickCheck
-     , quickcheck-instances, rerebase, stm, tasty, tasty-hunit
-     , tasty-quickcheck
+    ({ mkDerivation, acquire, attoparsec, base, base-prelude
+     , bytestring, directory, foldl, hashable, profunctors, ptr
+     , QuickCheck, quickcheck-instances, random, rerebase, stm, tasty
+     , tasty-hunit, tasty-quickcheck, text, transformers, unagi-chan
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "potoki-core";
-       version = "1.5.2";
-       sha256 = "1qkr3g7xfbkmvy2a4gcy0zxg22000mxdgw0dapq16pymj9wqf2si";
-       libraryHaskellDepends = [ base profunctors stm ];
+       version = "2";
+       sha256 = "13zgqw4csypx5m97xfpbxxxic7rxms0xrz6wz5kk5x2pn6i9mgjl";
+       libraryHaskellDepends = [
+         acquire attoparsec base base-prelude bytestring directory foldl
+         hashable profunctors ptr stm text transformers unagi-chan
+         unordered-containers vector
+       ];
        testHaskellDepends = [
-         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
-         tasty-quickcheck
+         attoparsec QuickCheck quickcheck-instances random rerebase tasty
+         tasty-hunit tasty-quickcheck
        ];
        description = "Low-level components of \"potoki\"";
        license = stdenv.lib.licenses.mit;
@@ -162857,6 +163347,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "primitive_0_6_4_0" = callPackage
+    ({ mkDerivation, base, ghc-prim, transformers }:
+     mkDerivation {
+       pname = "primitive";
+       version = "0.6.4.0";
+       sha256 = "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc";
+       libraryHaskellDepends = [ base ghc-prim transformers ];
+       description = "Primitive memory-related operations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "primitive-checked" = callPackage
     ({ mkDerivation, base, primitive }:
      mkDerivation {
@@ -162883,6 +163385,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "primitive-sort" = callPackage
+    ({ mkDerivation, base, containers, contiguous, doctest, gauge
+     , ghc-prim, HUnit, primitive, QuickCheck, random, smallcheck, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "primitive-sort";
+       version = "0.1.0.0";
+       sha256 = "147y4y8v00yggfgyf70kzd3pd9r6jvgxkzjsy3xpbp6mjdnzrbm3";
+       libraryHaskellDepends = [ base contiguous ghc-prim primitive ];
+       testHaskellDepends = [
+         base containers doctest HUnit primitive QuickCheck smallcheck tasty
+         tasty-hunit tasty-quickcheck tasty-smallcheck
+       ];
+       benchmarkHaskellDepends = [ base gauge ghc-prim primitive random ];
+       description = "Sort primitive arrays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "primula-board" = callPackage
     ({ mkDerivation, base, ConfigFile, containers, directory, happstack
      , happstack-helpers, happstack-server, happstack-state, hsp
@@ -163728,20 +164250,21 @@ self: {
      , criterion, cryptohash-sha256, data-interval, deepseq
      , deepseq-generics, directory, distributed-process
      , distributed-process-async, distributed-process-client-server
-     , distributed-process-extras, either, extended-reals, filepath, ghc
-     , ghc-boot, ghc-paths, Glob, gnuplot, hashable, hashable-time
-     , haskeline, http-api-data, http-types, HUnit, list-t, megaparsec
-     , monad-parallel, MonadRandom, mtl, network, network-transport
-     , network-transport-tcp, old-locale, optparse-applicative, parallel
-     , path-pieces, random, random-shuffle, resourcet, scotty
-     , semigroups, stm, stm-containers, template-haskell, temporary
-     , text, time, transformers, unix, unordered-containers, uuid
-     , vector, vector-binary-instances, websockets, zlib
+     , distributed-process-extras, either, exceptions, extended-reals
+     , filepath, ghc, ghc-boot, ghc-paths, ghci, Glob, gnuplot, hashable
+     , hashable-time, haskeline, http-api-data, http-types, HUnit
+     , list-t, megaparsec, monad-parallel, MonadRandom, mtl, network
+     , network-transport, network-transport-tcp, old-locale
+     , optparse-applicative, parallel, path-pieces, QuickCheck, random
+     , random-shuffle, resourcet, rset, scotty, semigroups, stm
+     , stm-containers, template-haskell, temporary, text, time
+     , transformers, unix, unordered-containers, uuid, vector
+     , vector-binary-instances, websockets, zlib
      }:
      mkDerivation {
        pname = "project-m36";
-       version = "0.3";
-       sha256 = "0l72wafjy12vymsvfjy5xh0gfkswdyzr12hmn1qffham9s280014";
+       version = "0.4";
+       sha256 = "0lp0vrvvplyav0dp418kx12y4qrf7y7xp3vxwsv5jjb3sc7aqyq9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -163749,13 +164272,13 @@ self: {
          conduit containers cryptohash-sha256 data-interval deepseq
          deepseq-generics directory distributed-process
          distributed-process-async distributed-process-client-server
-         distributed-process-extras either extended-reals filepath ghc
-         ghc-boot ghc-paths Glob gnuplot hashable hashable-time haskeline
-         http-api-data list-t monad-parallel MonadRandom mtl
-         network-transport network-transport-tcp old-locale
-         optparse-applicative parallel path-pieces random-shuffle resourcet
-         stm stm-containers temporary text time transformers unix
-         unordered-containers uuid vector vector-binary-instances zlib
+         distributed-process-extras either exceptions extended-reals
+         filepath ghc ghc-boot ghc-paths ghci Glob gnuplot hashable
+         hashable-time haskeline http-api-data list-t monad-parallel
+         MonadRandom mtl network-transport network-transport-tcp old-locale
+         optparse-applicative parallel path-pieces QuickCheck random-shuffle
+         resourcet rset stm stm-containers temporary text time transformers
+         unix unordered-containers uuid vector vector-binary-instances zlib
        ];
        executableHaskellDepends = [
          aeson attoparsec base base64-bytestring binary blaze-html
@@ -163783,7 +164306,8 @@ self: {
          containers criterion data-interval deepseq deepseq-generics
          directory filepath gnuplot hashable hashable-time haskeline HUnit
          megaparsec mtl parallel stm stm-containers temporary text time
-         unordered-containers uuid vector vector-binary-instances
+         transformers unordered-containers uuid vector
+         vector-binary-instances
        ];
        description = "Relational Algebra Engine";
        license = stdenv.lib.licenses.publicDomain;
@@ -163914,8 +164438,8 @@ self: {
      }:
      mkDerivation {
        pname = "prologue";
-       version = "3.2.2";
-       sha256 = "1sswdhbfgh2pnhyixj03khp5ylsxkyisghyg0mqgb039kq1lxxci";
+       version = "3.2.3";
+       sha256 = "1a69283vmxr3ksak6b8hb8ys52gi5r7f1d59l32xfq1ilaswxxwm";
        libraryHaskellDepends = [
          base bifunctors binary comonad cond container convert data-default
          deepseq deriving-compat either errors exceptions functor-utils
@@ -164369,27 +164893,6 @@ self: {
      }:
      mkDerivation {
        pname = "protobuf";
-       version = "0.2.1.1";
-       sha256 = "0b3jbr6s8m21q4yiikvjv74j9w744frhrpsd1d6203b7bc49lrfd";
-       libraryHaskellDepends = [
-         base base-orphans bytestring cereal data-binary-ieee754 deepseq mtl
-         text unordered-containers
-       ];
-       testHaskellDepends = [
-         base bytestring cereal containers hex HUnit mtl QuickCheck tagged
-         tasty tasty-hunit tasty-quickcheck text unordered-containers
-       ];
-       description = "Google Protocol Buffers via GHC.Generics";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "protobuf_0_2_1_2" = callPackage
-    ({ mkDerivation, base, base-orphans, bytestring, cereal, containers
-     , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged
-     , tasty, tasty-hunit, tasty-quickcheck, text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "protobuf";
        version = "0.2.1.2";
        sha256 = "1php9pydbh2jyr5x6h1i218w8kqwys5aniz2zm1hapv6ia8p3j5k";
        libraryHaskellDepends = [
@@ -164402,7 +164905,6 @@ self: {
        ];
        description = "Google Protocol Buffers via GHC.Generics";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "protobuf-native" = callPackage
@@ -164460,22 +164962,6 @@ self: {
      }:
      mkDerivation {
        pname = "protocol-buffers";
-       version = "2.4.9";
-       sha256 = "0d6j5k8mfxnixx9n6v7vwncy49cx9sxkhjgh1g7sbs1q15rxkn6m";
-       libraryHaskellDepends = [
-         array base binary bytestring containers directory filepath mtl
-         parsec syb utf8-string
-       ];
-       description = "Parse Google Protocol Buffer specifications";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "protocol-buffers_2_4_10" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
-     , directory, filepath, mtl, parsec, syb, utf8-string
-     }:
-     mkDerivation {
-       pname = "protocol-buffers";
        version = "2.4.10";
        sha256 = "0rr7yla1gl199hk2zn7jr1p0nq166mi4dm43ild27y6bvrdc2kvk";
        libraryHaskellDepends = [
@@ -164484,27 +164970,12 @@ self: {
        ];
        description = "Parse Google Protocol Buffer specifications";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "protocol-buffers-descriptor" = callPackage
     ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
      mkDerivation {
        pname = "protocol-buffers-descriptor";
-       version = "2.4.9";
-       sha256 = "0641cwi7lb53w4mi1icbgz0yghz4lwdf16y9pi0f188hp31f3b2j";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bytestring containers protocol-buffers
-       ];
-       description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "protocol-buffers-descriptor_2_4_10" = callPackage
-    ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
-     mkDerivation {
-       pname = "protocol-buffers-descriptor";
        version = "2.4.10";
        sha256 = "1w4n0yqf5xhbs5yi0xj8ak268chngklc7sif2s3bjr0dwk7fi5d0";
        enableSeparateDataOutput = true;
@@ -164513,7 +164984,6 @@ self: {
        ];
        description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "protocol-buffers-descriptor-fork" = callPackage
@@ -166160,8 +166630,8 @@ self: {
      }:
      mkDerivation {
        pname = "qr-imager";
-       version = "2.0.0.0";
-       sha256 = "01886bwkap8qk39iihlyrfa9g8cw6sicrynwk7r24nd5ib60csc3";
+       version = "2.0.0.1";
+       sha256 = "0n3f5zhyp0pvrb4ixvrvzs9af2x1mjprlnyjbhhldb3rc64jl7yd";
        libraryHaskellDepends = [
          base binary bytestring cryptonite directory haskell-qrencode
          jose-jwt JuicyPixels microlens process split vector
@@ -166229,8 +166699,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-cpp-qt5";
-       version = "0.4.0";
-       sha256 = "03m45jc5jpkjfcx0dr1lb2nsajbhkfb5phsx7v909hj8d7j7swvz";
+       version = "0.5.0";
+       sha256 = "14349jf69wvbcp18xi5jb0281qhrz38pw68qw91hwfr8vmqdx8h7";
        setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [ base process qtah-generator ];
        librarySystemDepends = [ qtbase ];
@@ -166245,8 +166715,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-examples";
-       version = "0.4.0";
-       sha256 = "0q8k2diyrxpvsnhlw484lxy3j6qbk07hkqj0hg2cxv8whhi02bp9";
+       version = "0.5.0";
+       sha256 = "087sspnaw39zcymkm0xzyzdbc4g96zlpa45b2i6mfshxi4g38af5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -166264,8 +166734,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-generator";
-       version = "0.4.0";
-       sha256 = "1fxv8g3rrhf9q7g90phqji4q5yb2l0sfi0qm81zp9ya91wmcfsg5";
+       version = "0.5.0";
+       sha256 = "0kbc3dpmkxxi2ms6a7dga02g19vq9fm0hz53y9x6iyfpnlpk1sy7";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
@@ -166282,25 +166752,23 @@ self: {
 
   "qtah-qt5" = callPackage
     ({ mkDerivation, base, binary, bytestring, Cabal, directory
-     , filepath, hoppy-runtime, HUnit, qtah, qtah-cpp-qt5
-     , qtah-generator, qtbase
+     , filepath, hoppy-runtime, HUnit, qtah-cpp-qt5, qtah-generator
+     , qtbase
      }:
      mkDerivation {
        pname = "qtah-qt5";
-       version = "0.4.0";
-       sha256 = "1b20wrbyldxx6vsxax3kdfxikv0v79m3qcbwhjwgyp586gk9pl63";
+       version = "0.5.0";
+       sha256 = "0c4z56siw1kkqiyzmbpjk6jkzmcxqv6ji52rnivlavlyw3b4s2a3";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          base binary bytestring hoppy-runtime qtah-cpp-qt5 qtah-generator
        ];
-       librarySystemDepends = [ qtah ];
        libraryToolDepends = [ qtbase ];
        testHaskellDepends = [ base hoppy-runtime HUnit ];
-       testSystemDepends = [ qtah ];
        description = "Qt bindings for Haskell";
        license = stdenv.lib.licenses.lgpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {qtah = null; inherit (pkgs.qt5) qtbase;};
+     }) {inherit (pkgs.qt5) qtbase;};
 
   "quack" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, http-types, mtl, text }:
@@ -166973,6 +167441,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "quickcheck-simple_0_1_0_4" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "quickcheck-simple";
+       version = "0.1.0.4";
+       sha256 = "0524xkhx2qa6wfl7wf9qdjscr2djl0l08a1bk6ikigcpdabbb3l0";
+       libraryHaskellDepends = [ base QuickCheck ];
+       description = "Test properties and default-mains for QuickCheck";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "quickcheck-special" = callPackage
     ({ mkDerivation, base, QuickCheck, special-values }:
      mkDerivation {
@@ -168344,23 +168824,6 @@ self: {
      }:
      mkDerivation {
        pname = "range-set-list";
-       version = "0.1.2.1";
-       sha256 = "06f8z9rmk2phmds9wv95y2xvjhfx8dr9jbqlv4ybv8m21283x0kw";
-       libraryHaskellDepends = [ base containers deepseq hashable ];
-       testHaskellDepends = [
-         base containers deepseq hashable tasty tasty-quickcheck
-       ];
-       description = "Memory efficient sets with ranges of elements";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "range-set-list_0_1_3" = callPackage
-    ({ mkDerivation, base, containers, deepseq, hashable, tasty
-     , tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "range-set-list";
        version = "0.1.3";
        sha256 = "1pwnriv5r093qvqzzg9s868613nf92d3h8qmqaqc5qq95hykj6z5";
        libraryHaskellDepends = [ base containers deepseq hashable ];
@@ -168813,8 +169276,8 @@ self: {
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "4.0.9";
-       sha256 = "0wz36zclpckkm8w7mmdzbklrr08ggyqsk7j4wfxbh4gxa0ry7yj5";
+       version = "4.1.0";
+       sha256 = "1skamrpkz8p9i19anyp0lqcncsa1zwzcikcxlm3gmrgqf2hq0m0i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169822,8 +170285,8 @@ self: {
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.2.3";
-       sha256 = "1glnxvgf79qm2iz4xxdn6zygjff42cyakk1nah2wrzkkrr11axqk";
+       version = "1.2.4";
+       sha256 = "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya";
        libraryHaskellDepends = [
          base base-prelude bifunctors bytestring containers contravariant
          contravariant-extras deepseq dlist either fail hashable mtl
@@ -170500,6 +170963,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "refined_0_2_3_0" = callPackage
+    ({ mkDerivation, base, containers, exceptions, mtl, prettyprinter
+     , template-haskell, these, transformers
+     }:
+     mkDerivation {
+       pname = "refined";
+       version = "0.2.3.0";
+       sha256 = "1xc4qg2xibf2j0k6dwjj2sp5s58cj4dwcri6zrn42460wxnvyjk6";
+       libraryHaskellDepends = [
+         base containers exceptions mtl prettyprinter template-haskell these
+         transformers
+       ];
+       description = "Refinement types with static and runtime checking";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "reflection" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -171815,6 +172295,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "relational-query-HDBC_0_6_7_0" = callPackage
+    ({ mkDerivation, base, containers, convertible, dlist, HDBC
+     , HDBC-session, names-th, persistable-record, product-isomorphic
+     , relational-query, relational-schemas, sql-words, template-haskell
+     , th-data-compat, transformers
+     }:
+     mkDerivation {
+       pname = "relational-query-HDBC";
+       version = "0.6.7.0";
+       sha256 = "1g10z6076lrlal3ismvz4q4pxpawy749zwxpyvvfdhld2qqhg74c";
+       libraryHaskellDepends = [
+         base containers convertible dlist HDBC HDBC-session names-th
+         persistable-record product-isomorphic relational-query
+         relational-schemas sql-words template-haskell th-data-compat
+         transformers
+       ];
+       description = "HDBC instance of relational-query and typed query interface for HDBC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "relational-record" = callPackage
     ({ mkDerivation, base, persistable-record
      , persistable-types-HDBC-pg, product-isomorphic, relational-query
@@ -172840,33 +173341,38 @@ self: {
      }) {};
 
   "require" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, tasty, tasty-hspec
-     , text, universum
+    ({ mkDerivation, base, bytestring, criterion, megaparsec, tasty
+     , tasty-hspec, text, universum
      }:
      mkDerivation {
        pname = "require";
-       version = "0.0.1";
-       sha256 = "04zi13y2xzgwrw4n0z2l7ii8rkl2d78n0cwq1xi2v5amr3kb8jjn";
+       version = "0.2.1";
+       sha256 = "0cf19mcjmqn50gz2fc32b67s8za6bb7i2k0h6sj25b457xv9rdx2";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base bytestring text universum ];
-       executableHaskellDepends = [ base bytestring text universum ];
+       libraryHaskellDepends = [
+         base bytestring megaparsec text universum
+       ];
+       executableHaskellDepends = [
+         base bytestring megaparsec text universum
+       ];
        testHaskellDepends = [
-         base bytestring tasty tasty-hspec text universum
+         base bytestring megaparsec tasty tasty-hspec text universum
        ];
        benchmarkHaskellDepends = [
-         base bytestring criterion text universum
+         base bytestring criterion megaparsec text universum
        ];
        description = "Scrap your qualified import clutter";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rerebase" = callPackage
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.2.1";
-       sha256 = "02j119pabivn2x23mvvmzlkypxwi31p7s2fpakavhqfs6bmbnb2a";
+       version = "1.2.2";
+       sha256 = "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks";
        libraryHaskellDepends = [ rebase ];
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = stdenv.lib.licenses.mit;
@@ -175989,6 +176495,17 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "safe-foldable" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "safe-foldable";
+       version = "0.1.0.0";
+       sha256 = "1l87j0liv0hgdv3f3d4s4962df5q5xcyhmnfz2fj773r1v62wzya";
+       libraryHaskellDepends = [ base ];
+       description = "Safe wrappers for null-partial Foldable operations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "safe-freeze" = callPackage
     ({ mkDerivation, base, indexed, mtl, vector }:
      mkDerivation {
@@ -178903,8 +179420,8 @@ self: {
      }:
      mkDerivation {
        pname = "self-extract";
-       version = "0.2.0.0";
-       sha256 = "1p1z4zy7s7j4sxx45lcspxvxf10v6vx80vgrw52acgbqnfairg7c";
+       version = "0.2.1";
+       sha256 = "0as9qxqh1pc695ds7kah5x241psnmfsp9hz2ilvvl73yanfg7j90";
        libraryHaskellDepends = [
          base binary bytestring Cabal extra file-embed path path-io process
          unix-compat
@@ -180208,30 +180725,52 @@ self: {
      }) {};
 
   "servant-checked-exceptions" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, deepseq, doctest, Glob
-     , hspec-wai, http-media, http-types, profunctors, servant
-     , servant-client, servant-client-core, servant-docs, servant-server
-     , tagged, tasty, tasty-hspec, tasty-hunit, text, wai
+    ({ mkDerivation, aeson, base, bytestring, deepseq, hspec-wai
+     , http-media, http-types, profunctors, servant
+     , servant-checked-exceptions-core, servant-client
+     , servant-client-core, servant-docs, servant-server, tagged, tasty
+     , tasty-hspec, tasty-hunit, text, wai, world-peace
      }:
      mkDerivation {
        pname = "servant-checked-exceptions";
-       version = "1.1.0.0";
-       sha256 = "1zvpha9czj4pnvdd53qcyl609x3w1hkaqxva7hk68bk65zd296jk";
+       version = "2.0.0.0";
+       sha256 = "127nav7z2zkgfgzpjjprqb6s55mbdj9z2p05knjx3mangs2q5wm7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring deepseq http-media http-types profunctors
-         servant servant-client servant-client-core servant-docs
-         servant-server tagged text wai
+         servant servant-checked-exceptions-core servant-client
+         servant-client-core servant-docs servant-server tagged text wai
+         world-peace
        ];
        testHaskellDepends = [
-         base bytestring doctest Glob hspec-wai http-types servant
-         servant-server tasty tasty-hspec tasty-hunit wai
+         base bytestring hspec-wai http-types servant servant-server tasty
+         tasty-hspec tasty-hunit wai
        ];
        description = "Checked exceptions for Servant APIs";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-checked-exceptions-core" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, deepseq, doctest, Glob
+     , http-media, http-types, profunctors, servant, servant-docs
+     , tagged, text, world-peace
+     }:
+     mkDerivation {
+       pname = "servant-checked-exceptions-core";
+       version = "2.0.0.0";
+       sha256 = "0j5j7ai1b7nnsvzal27jy6hamwx5i2pyc1f6mmmb06r40cs53lxa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring deepseq http-media http-types profunctors
+         servant servant-docs tagged text world-peace
+       ];
+       testHaskellDepends = [ base doctest Glob ];
+       description = "Checked exceptions for Servant APIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "servant-client" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
      , containers, deepseq, exceptions, generics-sop, hspec
@@ -181303,6 +181842,7 @@ self: {
        ];
        description = "Client instances for the 'servant-streaming' package";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-streaming-docs" = callPackage
@@ -181689,8 +182229,8 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.5.0";
-       sha256 = "0di9l77x6skbf26vic4sg83187lgkc98yzakip1ix5d9a45niz6m";
+       version = "0.5.2";
+       sha256 = "1nsxc9kif57fvr6j1pp116llbmyb1ngvzgndcfjwvdbscl23jfwg";
        libraryHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive http-types iproute
@@ -182242,28 +182782,29 @@ self: {
 
   "sexp-grammar" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, containers
-     , criterion, happy, mtl, prettyprinter, profunctors, QuickCheck
-     , scientific, semigroups, split, tagged, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, transformers
+     , criterion, deepseq, happy, invertible-grammar, prettyprinter
+     , QuickCheck, recursion-schemes, scientific, semigroups, split
+     , tasty, tasty-hunit, tasty-quickcheck, text, utf8-string
      }:
      mkDerivation {
        pname = "sexp-grammar";
-       version = "1.3.0";
-       sha256 = "0h9b9rmymfy0qwr51yllapmp7g0j3f70pmhwyzag782giff8q0x3";
+       version = "2.0.0";
+       sha256 = "1wf9mrmz89kcvrkyif5mp0wwqxgg363f3jc7y9sf370qc4frm68p";
        libraryHaskellDepends = [
-         array base bytestring containers mtl prettyprinter profunctors
-         scientific semigroups split tagged template-haskell text
-         transformers
+         array base bytestring containers deepseq invertible-grammar
+         prettyprinter recursion-schemes scientific semigroups split text
+         utf8-string
        ];
        libraryToolDepends = [ alex happy ];
        testHaskellDepends = [
-         base QuickCheck scientific semigroups tasty tasty-hunit
-         tasty-quickcheck text
+         base containers invertible-grammar prettyprinter QuickCheck
+         scientific semigroups tasty tasty-hunit tasty-quickcheck text
+         utf8-string
        ];
        benchmarkHaskellDepends = [
-         base bytestring criterion scientific semigroups text
+         base bytestring criterion deepseq text
        ];
-       description = "Invertible parsers for S-expressions";
+       description = "Invertible grammar combinators for S-expressions";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -182562,22 +183103,49 @@ self: {
 
   "shake-ats" = callPackage
     ({ mkDerivation, base, binary, dependency, directory, hashable
-     , hs2ats, language-ats, microlens, microlens-th, shake, shake-ext
-     , text
+     , hs2ats, language-ats, microlens, microlens-th, shake, shake-cabal
+     , shake-ext, text
      }:
      mkDerivation {
        pname = "shake-ats";
-       version = "1.8.0.5";
-       sha256 = "0hznrllvlw3ypd3ljlx6wlr3d7hkm8g2mrwpfscgvf4hk0lyj1hd";
+       version = "1.8.0.6";
+       sha256 = "00887a8dh26w2qj5w0scivrz3qjybbkflf4s135lmrz6s5pb7l6f";
        libraryHaskellDepends = [
          base binary dependency directory hashable hs2ats language-ats
-         microlens microlens-th shake shake-ext text
+         microlens microlens-th shake shake-cabal shake-ext text
        ];
        description = "Utilities for building ATS projects with shake";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "shake-c" = callPackage
+    ({ mkDerivation, base, cdeps, shake }:
+     mkDerivation {
+       pname = "shake-c";
+       version = "0.1.0.0";
+       sha256 = "0g6lavs5y62g5dpy1pfpm2bks43kf6i4m1gb9hdrkrz1iysgl209";
+       libraryHaskellDepends = [ base cdeps shake ];
+       description = "Library for building C code with shake";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shake-cabal" = callPackage
+    ({ mkDerivation, base, Cabal, composition-prelude, directory, shake
+     }:
+     mkDerivation {
+       pname = "shake-cabal";
+       version = "0.1.0.0";
+       sha256 = "1zxxfjfklwnarzvdyq9n221n5aygq253xcr3hly54mrvalq337bb";
+       revision = "2";
+       editedCabalFile = "02hzlwp75i2vmvk8inaasnpgpy89a00xbawp6p4p5fg07czx3fap";
+       libraryHaskellDepends = [
+         base Cabal composition-prelude directory shake
+       ];
+       description = "Shake library for use with cabal";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "shake-cabal-build" = callPackage
     ({ mkDerivation, base, Cabal, directory, filepath, process }:
      mkDerivation {
@@ -182594,17 +183162,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "shake-ccjs" = callPackage
+    ({ mkDerivation, base, directory, shake }:
+     mkDerivation {
+       pname = "shake-ccjs";
+       version = "0.1.0.0";
+       sha256 = "1n52fjay6xgx65ihin6zxx05q42mfkdqi9888hn8dnn70kf5j7cg";
+       libraryHaskellDepends = [ base directory shake ];
+       description = "Shake rules for CCJS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shake-elm" = callPackage
+    ({ mkDerivation, base, shake }:
+     mkDerivation {
+       pname = "shake-elm";
+       version = "0.1.0.0";
+       sha256 = "1pd2ga35kjcx5zfkvmdwr4rjlcm5b5r8h0kjmjadk4qf5219rwc1";
+       libraryHaskellDepends = [ base shake ];
+       description = "Elm builds in shake";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "shake-ext" = callPackage
-    ({ mkDerivation, base, Cabal, cdeps, composition-prelude, cpphs
-     , directory, shake, template-haskell
+    ({ mkDerivation, base, cdeps, composition-prelude, directory, shake
+     , template-haskell
      }:
      mkDerivation {
        pname = "shake-ext";
-       version = "2.11.0.3";
-       sha256 = "0v5n7l3xx1a0y4vvrn0zi61pb3wd41pqh1g3vnq1dr12dhrrx1ac";
+       version = "2.12.0.0";
+       sha256 = "1yvsywbszvn2vllbzbp8c9c10idaid87wv1qvhz2xq4jw2f8q38h";
        libraryHaskellDepends = [
-         base Cabal cdeps composition-prelude cpphs directory shake
-         template-haskell
+         base cdeps composition-prelude directory shake template-haskell
        ];
        description = "Helper functions for linting with shake";
        license = stdenv.lib.licenses.bsd3;
@@ -182664,6 +183253,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "shake-literate" = callPackage
+    ({ mkDerivation, base, cpphs, shake }:
+     mkDerivation {
+       pname = "shake-literate";
+       version = "0.1.0.0";
+       sha256 = "1kliv9i9libcyzm0bccxi226rd69kvjxi9hi3n4y7zjbbp40cqgd";
+       libraryHaskellDepends = [ base cpphs shake ];
+       description = "Rules for building literate programs in shake";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "shake-minify" = callPackage
     ({ mkDerivation, base, bytestring, css-text, hjsmin, shake, text }:
      mkDerivation {
@@ -183288,30 +183888,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "shelly_1_8_0" = callPackage
+  "shelly_1_8_1" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, directory
      , enclosed-exceptions, exceptions, filepath, hspec, hspec-contrib
      , HUnit, lifted-async, lifted-base, monad-control, mtl, process
      , system-fileio, system-filepath, text, time, transformers
-     , transformers-base, unix-compat
+     , transformers-base, unix, unix-compat
      }:
      mkDerivation {
        pname = "shelly";
-       version = "1.8.0";
-       sha256 = "1y08pdw49yk4hbipgfwjab0wa85ng0mkypch5l0p53frykjm2zvk";
+       version = "1.8.1";
+       sha256 = "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          async base bytestring containers directory enclosed-exceptions
          exceptions lifted-async lifted-base monad-control mtl process
          system-fileio system-filepath text time transformers
-         transformers-base unix-compat
+         transformers-base unix unix-compat
        ];
        testHaskellDepends = [
          async base bytestring containers directory enclosed-exceptions
          exceptions filepath hspec hspec-contrib HUnit lifted-async
          lifted-base monad-control mtl process system-fileio system-filepath
-         text time transformers transformers-base unix-compat
+         text time transformers transformers-base unix unix-compat
        ];
        description = "shell-like (systems) programming in Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -184277,26 +184877,6 @@ self: {
      }:
      mkDerivation {
        pname = "simple-log";
-       version = "0.9.4";
-       sha256 = "0chp90h9112sxa7ds0ldzdp59i6b1vy7chkqcb6d5mb9faq6vjqi";
-       libraryHaskellDepends = [
-         async base base-unicode-symbols containers data-default deepseq
-         directory exceptions filepath hformat microlens microlens-platform
-         mmorph mtl SafeSemaphore text time transformers
-       ];
-       testHaskellDepends = [ base hspec microlens-platform text ];
-       description = "Simple log for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "simple-log_0_9_5" = callPackage
-    ({ mkDerivation, async, base, base-unicode-symbols, containers
-     , data-default, deepseq, directory, exceptions, filepath, hformat
-     , hspec, microlens, microlens-platform, mmorph, mtl, SafeSemaphore
-     , text, time, transformers
-     }:
-     mkDerivation {
-       pname = "simple-log";
        version = "0.9.5";
        sha256 = "042mnsc2mfxdsf49knszk732mj5ryd9309h9ysyzb6z0y9wnp736";
        libraryHaskellDepends = [
@@ -184307,7 +184887,6 @@ self: {
        testHaskellDepends = [ base hspec microlens-platform text ];
        description = "Simple log for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "simple-log-syslog" = callPackage
@@ -184931,8 +185510,8 @@ self: {
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "simtreelo";
-       version = "0.1.1.2";
-       sha256 = "1wn3hycwn0i25jad096g6hzkxrm64j2hpjdpp8lr69mdrcmn2gmx";
+       version = "0.1.1.3";
+       sha256 = "148j6z8rxqaiwfjgxz780fy8w8xv8a8gwida61lfir677jlkwgh9";
        libraryHaskellDepends = [ base containers ];
        description = "Loader for data organized in a tree";
        license = stdenv.lib.licenses.gpl3;
@@ -185225,8 +185804,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, lens, mtl }:
      mkDerivation {
        pname = "sixty-five-oh-two";
-       version = "1.1.0.0";
-       sha256 = "1jw86xxim016gqws34diabdlrlilypg22s6670n7x887sjc1bkz6";
+       version = "1.2.0.0";
+       sha256 = "0xxx8k6zx8h2a3ddgic5k52nhzlxz8r7kkfmsyhaycwhkrgkfvsq";
        libraryHaskellDepends = [ base bytestring containers lens mtl ];
        testHaskellDepends = [ base bytestring containers lens mtl ];
        description = "An eDSL for writing 65(C)02 bytecode";
@@ -188174,6 +188753,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "socket-icmp" = callPackage
+    ({ mkDerivation, base, socket }:
+     mkDerivation {
+       pname = "socket-icmp";
+       version = "0.1.0.0";
+       sha256 = "14lfvbhcq1ri9bfc0qiymh8qv8b7q78lzfbr5qsarh8rb85ii2vj";
+       libraryHaskellDepends = [ base socket ];
+       description = "Definitions for ICMP with the `socket` library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "socket-io" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, engine-io
      , mtl, stm, text, transformers, unordered-containers, vector
@@ -188864,8 +189454,8 @@ self: {
      }:
      mkDerivation {
        pname = "sparrow";
-       version = "0.0.2.0";
-       sha256 = "061bjgrvvvv2n6bhn0lz6sd5c7mc63nb2b83rbpgdx3am68mk9gf";
+       version = "0.0.2.1";
+       sha256 = "1j20536pjp4m26l8zvsaf8wv0vvj0fkwid1nkljl6zkggaqq5b8f";
        libraryHaskellDepends = [
          aeson aeson-attoparsec async attoparsec attoparsec-uri base
          bytestring deepseq exceptions extractable-singleton hashable
@@ -189201,6 +189791,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "speechmatics" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HsOpenSSL, hspec
+     , http-client, http-client-openssl, http-types, json-autotype, lens
+     , mime-types, monad-logger, mtl, neat-interpolation, options, SHA
+     , text, wreq
+     }:
+     mkDerivation {
+       pname = "speechmatics";
+       version = "0.5.0.0";
+       sha256 = "12hk79wfs935118y1dzzrya9k82jf525scn67ps0s314g8fzpnc0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring HsOpenSSL http-client http-client-openssl
+         http-types json-autotype lens mime-types monad-logger mtl text wreq
+       ];
+       executableHaskellDepends = [
+         base bytestring mime-types monad-logger mtl options SHA text
+       ];
+       testHaskellDepends = [
+         base bytestring hspec monad-logger mtl neat-interpolation text
+       ];
+       description = "Speechmatics api client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "speedy-slice" = callPackage
     ({ mkDerivation, base, containers, kan-extensions, lens, mcmc-types
      , mwc-probability, pipes, primitive, transformers
@@ -189947,25 +190563,12 @@ self: {
     ({ mkDerivation, base, QuickCheck, quickcheck-simple }:
      mkDerivation {
        pname = "sql-words";
-       version = "0.1.6.0";
-       sha256 = "065ymcym5vm5xmprbzgv88wk3b09j44ajvsd59apw6qr32j218rn";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base QuickCheck quickcheck-simple ];
-       description = "SQL keywords data constructors into OverloadedString";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "sql-words_0_1_6_1" = callPackage
-    ({ mkDerivation, base, QuickCheck, quickcheck-simple }:
-     mkDerivation {
-       pname = "sql-words";
        version = "0.1.6.1";
        sha256 = "07prq4bcvl469m0sr767kxidr0kk27yynb9zsm48sjz84h0bx2v3";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck quickcheck-simple ];
        description = "SQL keywords data constructors into OverloadedString";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sqlcipher" = callPackage
@@ -190598,8 +191201,8 @@ self: {
        pname = "stack";
        version = "1.7.1";
        sha256 = "17rjc9fz1hn56jz4bnhhm50h5x71r69jizlw6dx7kfvm57hg5i0r";
-       revision = "3";
-       editedCabalFile = "0ni953da0qiscnvbx70pd89myy2qq3chgkghmw6wg9xhzcz7nwgp";
+       revision = "4";
+       editedCabalFile = "06imaj3adll2lwfivkv3axzfkaj6nfp0vbq6vsmpknw0r8s32xad";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -192414,15 +193017,18 @@ self: {
      }) {};
 
   "stocks" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, http-conduit, semigroups
+    ({ mkDerivation, aeson, base, bytestring, containers, http-conduit
+     , HUnit, semigroups, unordered-containers
      }:
      mkDerivation {
        pname = "stocks";
-       version = "0.1.0.0";
-       sha256 = "10ws7mg0236iqkjclajwph2lb5719adkay5imaxrsj13d10f8ssq";
+       version = "0.2.0.0";
+       sha256 = "1rbspmxw81739hjzj5bd365zm9jqmsq5lv70d3wc8vvvf92zimi9";
        libraryHaskellDepends = [
-         aeson base bytestring http-conduit semigroups
+         aeson base bytestring containers http-conduit semigroups
+         unordered-containers
        ];
+       testHaskellDepends = [ base bytestring HUnit ];
        description = "Library for the IEX Trading API";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -192677,21 +193283,96 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "store_0_5_0" = callPackage
+    ({ mkDerivation, array, async, base, base-orphans
+     , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
+     , containers, contravariant, criterion, cryptohash, deepseq
+     , directory, filepath, free, ghc-prim, hashable, hspec
+     , hspec-smallcheck, integer-gmp, lifted-base, monad-control
+     , mono-traversable, network, primitive, resourcet, safe, semigroups
+     , smallcheck, store-core, syb, template-haskell, text, th-lift
+     , th-lift-instances, th-orphans, th-reify-many, th-utilities, time
+     , transformers, unordered-containers, vector
+     , vector-binary-instances, void, weigh
+     }:
+     mkDerivation {
+       pname = "store";
+       version = "0.5.0";
+       sha256 = "1ivr2pvfja2plhp625wjv9lbd47vmydp33f31ljwdyzqik2j7vij";
+       libraryHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring containers contravariant cryptohash deepseq directory
+         filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp
+         lifted-base monad-control mono-traversable network primitive
+         resourcet safe semigroups smallcheck store-core syb
+         template-haskell text th-lift th-lift-instances th-orphans
+         th-reify-many th-utilities time transformers unordered-containers
+         vector void
+       ];
+       testHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring cereal cereal-vector containers contravariant criterion
+         cryptohash deepseq directory filepath free ghc-prim hashable hspec
+         hspec-smallcheck integer-gmp lifted-base monad-control
+         mono-traversable network primitive resourcet safe semigroups
+         smallcheck store-core syb template-haskell text th-lift
+         th-lift-instances th-orphans th-reify-many th-utilities time
+         transformers unordered-containers vector vector-binary-instances
+         void weigh
+       ];
+       benchmarkHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring containers contravariant criterion cryptohash deepseq
+         directory filepath free ghc-prim hashable hspec hspec-smallcheck
+         integer-gmp lifted-base monad-control mono-traversable network
+         primitive resourcet safe semigroups smallcheck store-core syb
+         template-haskell text th-lift th-lift-instances th-orphans
+         th-reify-many th-utilities time transformers unordered-containers
+         vector void
+       ];
+       description = "Fast binary serialization";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "store-core" = callPackage
-    ({ mkDerivation, base, bytestring, fail, ghc-prim, primitive, text
+    ({ mkDerivation, base, bytestring, ghc-prim, primitive, text
      , transformers
      }:
      mkDerivation {
        pname = "store-core";
-       version = "0.4.1";
-       sha256 = "1d34n2n9vjngxndkbxcqm07sg4cnaq6rlx013rhyjr3aybwqalhl";
+       version = "0.4.3";
+       sha256 = "0fx4ylhqm79pi6k8qzby6nb0d7nlq5za8n3fir1v97wl34vmr3gf";
        libraryHaskellDepends = [
-         base bytestring fail ghc-prim primitive text transformers
+         base bytestring ghc-prim primitive text transformers
        ];
        description = "Fast and lightweight binary serialization";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "store-streaming" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit, free, hspec
+     , hspec-smallcheck, network, resourcet, smallcheck, store
+     , store-core, streaming-commons, text, transformers, void
+     }:
+     mkDerivation {
+       pname = "store-streaming";
+       version = "0.1.0.0";
+       sha256 = "04vsglnxqgznnacgmb34z3dsb7pz1kmc2fis1ij5p7k740c9gn2g";
+       libraryHaskellDepends = [
+         async base bytestring conduit free resourcet store store-core
+         streaming-commons text transformers
+       ];
+       testHaskellDepends = [
+         async base bytestring conduit free hspec hspec-smallcheck network
+         resourcet smallcheck store store-core streaming-commons text
+         transformers void
+       ];
+       description = "Streaming interfaces for `store`";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "str" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, Crypto
      , hashable, MissingH, text, utf8-string
@@ -192732,15 +193413,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_23_0" = callPackage
+  "stratosphere_0_24_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.23.0";
-       sha256 = "0np2rxcs0fld06ihldgmi9i61344dx64w1dz0vlfrnkrcjpkqhif";
+       version = "0.24.1";
+       sha256 = "1kgky2713bik420i93k982zwlnp4ldr6lik2brg4nqwplwzf091i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -193407,7 +194088,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "streamly_0_2_0" = callPackage
+  "streamly_0_2_1" = callPackage
     ({ mkDerivation, atomic-primops, base, containers, deepseq
      , exceptions, gauge, hspec, lifted-base, lockfree-queue
      , monad-control, mtl, QuickCheck, random, stm, transformers
@@ -193415,8 +194096,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly";
-       version = "0.2.0";
-       sha256 = "1vbzyvmdzhjxpjd4pq4lkn6y0s2yxiziypp4vf9pvwmy1bq5dk0f";
+       version = "0.2.1";
+       sha256 = "157zxg03ibgxdrghpcdyj22fd7zd02fmgnib13yf0jwwc400c4gp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -194727,6 +195408,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "summoner" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, directory
+     , filepath, generic-deriving, hedgehog, neat-interpolation
+     , optparse-applicative, process, tasty, tasty-discover
+     , tasty-hedgehog, text, time, tomland, universum
+     }:
+     mkDerivation {
+       pname = "summoner";
+       version = "1.0.2";
+       sha256 = "164mcpcjmbqrpdxaw693394s15f13i8mvxaq7ib7rflavkjdm8qh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring directory filepath
+         generic-deriving neat-interpolation optparse-applicative process
+         text time tomland universum
+       ];
+       executableHaskellDepends = [ base universum ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-hedgehog universum
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Tool for creating completely configured production Haskell projects";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sump" = callPackage
     ({ mkDerivation, base, bytestring, data-default, lens, serialport
      , transformers, vector
@@ -195431,6 +196139,8 @@ self: {
        pname = "swagger2";
        version = "2.2.2";
        sha256 = "1jkfmfrldqrfqqnjf0g4spd03w9xjmi35k33xnhsmfj122455lw2";
+       revision = "1";
+       editedCabalFile = "08rjphysbbiy1zcakgrscv0f3ypxx604dcg6h84jg38azqsf8kff";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base base-compat-batteries bytestring containers generics-sop
@@ -197001,8 +197711,8 @@ self: {
      }) {};
 
   "taffybar" = callPackage
-    ({ mkDerivation, alsa-mixer, base, cairo, ConfigFile, containers
-     , dbus, dbus-hslogger, directory, dyre, either, enclosed-exceptions
+    ({ mkDerivation, base, cairo, ConfigFile, containers, dbus
+     , dbus-hslogger, directory, dyre, either, enclosed-exceptions
      , filepath, gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gdkx11, gi-glib
      , gi-gtk, gi-gtk-hs, glib, gtk-sni-tray, gtk-strut, gtk-traymanager
      , gtk3, haskell-gi, haskell-gi-base, hslogger, HStringTemplate
@@ -197015,16 +197725,16 @@ self: {
      }:
      mkDerivation {
        pname = "taffybar";
-       version = "2.1.0";
-       sha256 = "1a32wpxjyimn08pmbwwx7crn97hg9wmlva5f0blkw4cwv090jhh8";
+       version = "2.1.1";
+       sha256 = "13bp0ydwb26k8y4f3cn47qy24lwxfx9v7ysm1q0r8iksjg9a6lhk";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         alsa-mixer base cairo ConfigFile containers dbus dbus-hslogger
-         directory dyre either enclosed-exceptions filepath gi-cairo gi-gdk
-         gi-gdkpixbuf gi-gdkx11 gi-glib gi-gtk gi-gtk-hs glib gtk-sni-tray
-         gtk-strut gtk-traymanager gtk3 haskell-gi haskell-gi-base hslogger
+         base cairo ConfigFile containers dbus dbus-hslogger directory dyre
+         either enclosed-exceptions filepath gi-cairo gi-gdk gi-gdkpixbuf
+         gi-gdkx11 gi-glib gi-gtk gi-gtk-hs glib gtk-sni-tray gtk-strut
+         gtk-traymanager gtk3 haskell-gi haskell-gi-base hslogger
          HStringTemplate HTTP multimap network network-uri old-locale parsec
          process rate-limit regex-compat safe split status-notifier-item stm
          template-haskell text time time-locale-compat time-units
@@ -197746,6 +198456,7 @@ self: {
        ];
        description = "Extract and create tar files using conduit for streaming";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tardis" = callPackage
@@ -197980,12 +198691,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tasty-dejafu_1_2_0_2" = callPackage
+  "tasty-dejafu_1_2_0_4" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
        pname = "tasty-dejafu";
-       version = "1.2.0.2";
-       sha256 = "145w018mv8928g9bbp5pjwzciyfspxxqdg5grzq0mlpydkpmmgr5";
+       version = "1.2.0.4";
+       sha256 = "151cr15l4v1p1zlfps4q3wv26v2mhcnplnnx03lmcq9di21y95yn";
        libraryHaskellDepends = [ base dejafu random tagged tasty ];
        description = "Deja Fu support for the Tasty test framework";
        license = stdenv.lib.licenses.mit;
@@ -198018,6 +198729,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tasty-discover_4_2_1" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, Glob
+     , hedgehog, tasty, tasty-hedgehog, tasty-hspec, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "tasty-discover";
+       version = "4.2.1";
+       sha256 = "0ghxrjkqp4w6i47pvdsd25zs6sj10rw4ybkf0pxr598l8qw5nv5y";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers directory filepath Glob
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath Glob
+       ];
+       testHaskellDepends = [
+         base containers directory filepath Glob hedgehog tasty
+         tasty-hedgehog tasty-hspec tasty-hunit tasty-quickcheck
+         tasty-smallcheck
+       ];
+       description = "Test discovery for the tasty framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-expected-failure" = callPackage
     ({ mkDerivation, base, tagged, tasty }:
      mkDerivation {
@@ -198865,6 +199603,37 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "telegram-bot-simple" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cron
+     , hashable, http-api-data, http-client, http-client-tls
+     , monad-control, mtl, pretty-show, profunctors, servant
+     , servant-client, split, stm, template-haskell, text, time
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "telegram-bot-simple";
+       version = "0.2.0";
+       sha256 = "1aafj27zj69hvzxv58cz7h8pjbc9c74hmg92swg2sy8ai1rcb34a";
+       revision = "1";
+       editedCabalFile = "1li6b3m9glhfg8agr9h0mrbxpr8zr46l57mzjfdqndm248ddbklv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring cron hashable http-api-data
+         http-client http-client-tls monad-control mtl pretty-show
+         profunctors servant servant-client split stm template-haskell text
+         time transformers unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base bytestring cron hashable http-api-data
+         http-client http-client-tls monad-control mtl pretty-show
+         profunctors servant servant-client split stm template-haskell text
+         time transformers unordered-containers
+       ];
+       description = "Easy to use library for building Telegram bots";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "teleport" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring
      , configurator, optparse-applicative, system-filepath, text, turtle
@@ -200856,22 +201625,6 @@ self: {
      }:
      mkDerivation {
        pname = "text-postgresql";
-       version = "0.0.2.3";
-       sha256 = "0dp4f213d9rslgiqpmpk9dzl6yb9njmiym7s1fn3ms9aadipag72";
-       libraryHaskellDepends = [
-         base dlist transformers transformers-compat
-       ];
-       testHaskellDepends = [ base QuickCheck quickcheck-simple ];
-       description = "Parser and Printer of PostgreSQL extended types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "text-postgresql_0_0_3_0" = callPackage
-    ({ mkDerivation, base, dlist, QuickCheck, quickcheck-simple
-     , transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "text-postgresql";
        version = "0.0.3.0";
        sha256 = "0db08ri1zixxm8vhcnijv2wpmcyv3bali30a1fx4vmb8d6c1fh35";
        libraryHaskellDepends = [
@@ -200880,7 +201633,6 @@ self: {
        testHaskellDepends = [ base QuickCheck quickcheck-simple ];
        description = "Parser and Printer of PostgreSQL extended types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-printer" = callPackage
@@ -200923,22 +201675,6 @@ self: {
      }:
      mkDerivation {
        pname = "text-region";
-       version = "0.3.0.0";
-       sha256 = "0xy9lpdn26dla4ad7hcpv51swih4n2iw3n27dq68sdp01rz43sfa";
-       libraryHaskellDepends = [
-         aeson base base-unicode-symbols bytestring groups lens text
-       ];
-       testHaskellDepends = [ base base-unicode-symbols hspec lens text ];
-       description = "Marking text regions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "text-region_0_3_1_0" = callPackage
-    ({ mkDerivation, aeson, base, base-unicode-symbols, bytestring
-     , groups, hspec, lens, text
-     }:
-     mkDerivation {
-       pname = "text-region";
        version = "0.3.1.0";
        sha256 = "1zy5zb7xg1343hlkwawnbca7f6gal9028ps1kp83fg2vmq1aqk57";
        libraryHaskellDepends = [
@@ -200947,7 +201683,6 @@ self: {
        testHaskellDepends = [ base base-unicode-symbols hspec lens text ];
        description = "Marking text regions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-register-machine" = callPackage
@@ -203179,6 +203914,7 @@ self: {
        ];
        description = "Quasi-quoters for dates and times";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "time-recurrence" = callPackage
@@ -203730,8 +204466,8 @@ self: {
      }:
      mkDerivation {
        pname = "tintin";
-       version = "1.4.6";
-       sha256 = "012mvfwn9dy50xpmi4hgf5rq7k4660fjbwdhs3f02x0wndh77n49";
+       version = "1.8.0";
+       sha256 = "1i5hdyxrrflxbw59i55p7bxfn75m2j6dmn7h43f9qwcgn6fv3l3y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -203744,6 +204480,7 @@ self: {
        testHaskellDepends = [ base require ];
        description = "A softer alternative to Haddock";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tiny-scheduler" = callPackage
@@ -210407,6 +211144,7 @@ self: {
        testHaskellDepends = [ base QuickCheck quickcheck-classes ];
        description = "An unpacked either data type";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "unpacked-maybe" = callPackage
@@ -210419,6 +211157,41 @@ self: {
        testHaskellDepends = [ base QuickCheck quickcheck-classes ];
        description = "An unpacked maybe data type";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unpacked-these" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck
+     , quickcheck-classes, these, unpacked-maybe
+     }:
+     mkDerivation {
+       pname = "unpacked-these";
+       version = "0.1.0.0";
+       sha256 = "18m0ynw9dnyfkk4nvkfp0qjhzwis5696si3cvkh5chpqm6m725sv";
+       libraryHaskellDepends = [
+         base deepseq ghc-prim these unpacked-maybe
+       ];
+       testHaskellDepends = [ base QuickCheck quickcheck-classes ];
+       description = "An unpacked these data type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unpacked-validation" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck
+     , quickcheck-classes, unpacked-either, validation
+     }:
+     mkDerivation {
+       pname = "unpacked-validation";
+       version = "0.1.0.0";
+       sha256 = "058lp5b4cpyksmpnzj5v1vckbaa22mclprfqq9bl619vpr3y0gg2";
+       libraryHaskellDepends = [
+         base deepseq ghc-prim unpacked-either validation
+       ];
+       testHaskellDepends = [ base QuickCheck quickcheck-classes ];
+       description = "An unpacked validation data type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "unroll-ghc-plugin" = callPackage
@@ -210743,35 +211516,6 @@ self: {
   "uri-bytestring" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat, blaze-builder
      , bytestring, containers, criterion, deepseq, deepseq-generics
-     , fail, generics-sop, HUnit, network-uri, QuickCheck
-     , quickcheck-instances, semigroups, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, th-lift-instances
-     , transformers
-     }:
-     mkDerivation {
-       pname = "uri-bytestring";
-       version = "0.3.1.1";
-       sha256 = "1ysmwf2zqv6kky2656nk6i2azpngzl0rkgy5fab7ja3xhx998y3z";
-       libraryHaskellDepends = [
-         attoparsec base blaze-builder bytestring containers fail
-         template-haskell th-lift-instances
-       ];
-       testHaskellDepends = [
-         attoparsec base base-compat blaze-builder bytestring containers
-         generics-sop HUnit QuickCheck quickcheck-instances semigroups tasty
-         tasty-hunit tasty-quickcheck transformers
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-builder bytestring criterion deepseq deepseq-generics
-         network-uri
-       ];
-       description = "Haskell URI parsing as ByteStrings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "uri-bytestring_0_3_2_0" = callPackage
-    ({ mkDerivation, attoparsec, base, base-compat, blaze-builder
-     , bytestring, containers, criterion, deepseq, deepseq-generics
      , generics-sop, HUnit, network-uri, QuickCheck
      , quickcheck-instances, semigroups, tasty, tasty-hunit
      , tasty-quickcheck, template-haskell, th-lift-instances
@@ -210796,7 +211540,6 @@ self: {
        ];
        description = "Haskell URI parsing as ByteStrings";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uri-bytestring-aeson" = callPackage
@@ -211042,6 +211785,7 @@ self: {
        testHaskellDepends = [ base network network-uri QuickCheck ];
        description = "Generate or process x-www-urlencoded data";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "urlpath" = callPackage
@@ -212495,8 +213239,8 @@ self: {
      }:
      mkDerivation {
        pname = "vault";
-       version = "0.3.1.0";
-       sha256 = "17wp9i64k5ms4bqwjwqjj7llcbmyvgf81sah7w3zdqfsqd1shq6r";
+       version = "0.3.1.1";
+       sha256 = "0a1fir7gvbj2w894daac5c4c3gy36r6c74yci78lb2nvk431b95j";
        libraryHaskellDepends = [
          base containers hashable semigroups unordered-containers
        ];
@@ -217010,6 +217754,84 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "webex-teams-api" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bitset-word8
+     , bytestring, conduit, data-default, hspec, http-conduit
+     , http-types, network-uri, optparse-applicative, text, utf8-string
+     , wai, warp
+     }:
+     mkDerivation {
+       pname = "webex-teams-api";
+       version = "0.2.0.0";
+       sha256 = "02x4g10r0rl1g4fbqkj8zxcbz64g8dck4d77f0gswkadsn5y6mkp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bitset-word8 bytestring conduit data-default
+         http-conduit network-uri text
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring data-default http-conduit
+         optparse-applicative text utf8-string
+       ];
+       testHaskellDepends = [
+         aeson async attoparsec base bytestring data-default hspec
+         http-conduit http-types network-uri text wai warp
+       ];
+       description = "A Haskell bindings for Webex Teams API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "webex-teams-conduit" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, conduit
+     , data-default, hspec, http-client, http-conduit, http-types
+     , network-uri, optparse-applicative, text, utf8-string, wai, warp
+     , webex-teams-api
+     }:
+     mkDerivation {
+       pname = "webex-teams-conduit";
+       version = "0.2.0.0";
+       sha256 = "0p9ffj3qm84c7m4w5bfpn53vcs96p7gdlyk87mjmc9h9i6v7sz0d";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base conduit webex-teams-api ];
+       executableHaskellDepends = [
+         base bytestring conduit data-default http-client
+         optparse-applicative text utf8-string webex-teams-api
+       ];
+       testHaskellDepends = [
+         aeson async base bytestring conduit data-default hspec http-conduit
+         http-types network-uri text wai warp webex-teams-api
+       ];
+       description = "Conduit wrapper of Webex Teams List API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "webex-teams-pipes" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, data-default
+     , hspec, http-client, http-conduit, http-types, network-uri
+     , optparse-applicative, pipes, text, utf8-string, wai, warp
+     , webex-teams-api
+     }:
+     mkDerivation {
+       pname = "webex-teams-pipes";
+       version = "0.2.0.0";
+       sha256 = "001ilf2yj6q8rqcagjlh28rad191jyjjr1cpk6cf84v66isdbykp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base pipes webex-teams-api ];
+       executableHaskellDepends = [
+         base bytestring data-default http-client optparse-applicative pipes
+         text utf8-string webex-teams-api
+       ];
+       testHaskellDepends = [
+         aeson async base bytestring data-default hspec http-conduit
+         http-types network-uri pipes text wai warp webex-teams-api
+       ];
+       description = "Pipes wrapper of Webex Teams List API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "webfinger-client" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default-class
      , hashable, http-client, http-client-tls, http-types
@@ -217217,8 +218039,8 @@ self: {
      }:
      mkDerivation {
        pname = "websockets";
-       version = "0.12.4.1";
-       sha256 = "1qr9sjjnllf6y2k5knyrck9nnh3s7z6nid8a0z5vsvmmvr37fa4j";
+       version = "0.12.5.0";
+       sha256 = "19vp0mjpib66980q12iv7xkc6j82nkwlyiir0n964nyzl478v3rd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -217909,6 +218731,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "winery" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hashable, mtl
+     , prettyprinter, prettyprinter-ansi-terminal, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "winery";
+       version = "0";
+       sha256 = "0bhgiw2zljr50cyhfc8rzkd217g8mvl56f82ys5z0kvr5gp8mjdw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers hashable mtl prettyprinter
+         prettyprinter-ansi-terminal text transformers unordered-containers
+         vector
+       ];
+       executableHaskellDepends = [
+         base bytestring containers hashable mtl prettyprinter
+         prettyprinter-ansi-terminal text transformers unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers hashable mtl prettyprinter
+         prettyprinter-ansi-terminal text transformers unordered-containers
+         vector
+       ];
+       description = "Sustainable serialisation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "winio" = callPackage
     ({ mkDerivation, base, bytestring, extensible-exceptions, kernel32
      , network, winerror, ws2_32
@@ -219368,7 +220220,7 @@ self: {
 
   "wxc" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , libX11, mesa, process, split, wxdirect, wxGTK
+     , libGL, libX11, process, split, wxdirect, wxGTK
      }:
      mkDerivation {
        pname = "wxc";
@@ -219380,7 +220232,7 @@ self: {
          base bytestring Cabal directory filepath process split
        ];
        libraryHaskellDepends = [ base split wxdirect ];
-       librarySystemDepends = [ libX11 mesa ];
+       librarySystemDepends = [ libGL libX11 ];
        libraryPkgconfigDepends = [ wxGTK ];
        doHaddock = false;
        postInstall = "cp -v dist/build/libwxc.so.0.92.3.0 $out/lib/libwxc.so";
@@ -219388,7 +220240,7 @@ self: {
        description = "wxHaskell C++ wrapper";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs.xorg) libX11; inherit (pkgs) mesa; 
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
          inherit (pkgs) wxGTK;};
 
   "wxcore" = callPackage
@@ -221933,6 +222785,7 @@ self: {
        ];
        description = "Yam Web";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yamemo" = callPackage
@@ -222041,6 +222894,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "yaml-pretty-extras" = callPackage
+    ({ mkDerivation, base, bytestring, errors, hspec, mtl, rio, text
+     , yaml
+     }:
+     mkDerivation {
+       pname = "yaml-pretty-extras";
+       version = "0.0.1.3";
+       sha256 = "15jk0hxpvq6hjysxrf4nilhn7s32cwvpfc4wbb3fgfvgzaxnnqfb";
+       libraryHaskellDepends = [
+         base bytestring errors mtl rio text yaml
+       ];
+       testHaskellDepends = [
+         base bytestring errors hspec mtl rio text yaml
+       ];
+       description = "Extra functionality for pretty printing Yaml documents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yaml-rpc" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, http-client
      , http-types, lens, template-haskell, text, th-lift, transformers
@@ -223164,6 +224036,8 @@ self: {
        pname = "yesod-core";
        version = "1.4.37.3";
        sha256 = "1jw1302p5s9jy7xghxzg9j63pn6b1hp957n1808qyk1iz7yrfsg0";
+       revision = "2";
+       editedCabalFile = "0hgrp8i33zssjlvkbvlnrr5ppblvn1vzhxlax2m5qyjjg60cqjsp";
        libraryHaskellDepends = [
          aeson auto-update base blaze-builder blaze-html blaze-markup
          byteable bytestring case-insensitive cereal clientsession conduit
@@ -223531,6 +224405,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "yesod-form-bulma" = callPackage
+    ({ mkDerivation, base, email-validate, shakespeare, text, yesod
+     , yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-form-bulma";
+       version = "0.1.0.0";
+       sha256 = "0488n3j61jimw0qxw6nhnkrdslzg1jva1ird8q1ljggmdhin0prm";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base email-validate shakespeare text yesod-core yesod-form
+       ];
+       executableHaskellDepends = [
+         base email-validate shakespeare text yesod yesod-core yesod-form
+       ];
+       testHaskellDepends = [
+         base email-validate shakespeare text yesod-core yesod-form
+       ];
+       description = "support Bulma form for Yesod";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "yesod-form-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, text
      , unordered-containers, yesod-core, yesod-form
@@ -223812,6 +224709,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "yesod-paginator_1_1_0_0" = callPackage
+    ({ mkDerivation, base, blaze-markup, doctest, hspec, path-pieces
+     , persistent, safe, text, transformers, uri-encode, yesod-core
+     , yesod-persistent, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-paginator";
+       version = "1.1.0.0";
+       sha256 = "03h9zpplsglblcdf0cm36i3kmmfbhk6iqwq2vsh8nw5ygizcqh0n";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blaze-markup path-pieces persistent safe text transformers
+         uri-encode yesod-core yesod-persistent
+       ];
+       testHaskellDepends = [ base doctest hspec yesod-core yesod-test ];
+       description = "A pagination approach for yesod";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-paypal-rest" = callPackage
     ({ mkDerivation, base, paypal-rest-client, time, yesod-core }:
      mkDerivation {
@@ -224965,6 +225883,26 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "yi-rope_0_11" = callPackage
+    ({ mkDerivation, base, binary, bytestring, criterion, deepseq
+     , fingertree, hspec, QuickCheck, quickcheck-instances, text
+     }:
+     mkDerivation {
+       pname = "yi-rope";
+       version = "0.11";
+       sha256 = "020hnyhl2g313ch6dng9lq3xdjy3ssnb069wiwzbpg816mlii4ws";
+       libraryHaskellDepends = [
+         base binary bytestring deepseq fingertree text
+       ];
+       testHaskellDepends = [
+         base hspec QuickCheck quickcheck-instances text
+       ];
+       benchmarkHaskellDepends = [ base criterion deepseq text ];
+       description = "A rope data structure used by Yi";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yi-snippet" = callPackage
     ({ mkDerivation, base, binary, containers, data-default, free
      , microlens-platform, mtl, tasty-hunit, tasty-th, text, vector
@@ -225270,6 +226208,7 @@ self: {
        testHaskellDepends = [ base MonadRandom random yu-utils ];
        description = "Auth module for Yu";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yu-core" = callPackage
@@ -225316,6 +226255,7 @@ self: {
        ];
        description = "Tool for Yu";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yu-utils" = callPackage
@@ -225567,16 +226507,16 @@ self: {
      }) {};
 
   "zephyr" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base-compat, boxes
-     , bytestring, containers, directory, filepath, formatting, Glob
-     , hspec, hspec-core, HUnit, language-javascript, mtl
-     , optparse-applicative, process, purescript, safe, text
+    ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base
+     , base-compat, boxes, bytestring, containers, directory, filepath
+     , formatting, Glob, hspec, hspec-core, HUnit, language-javascript
+     , mtl, optparse-applicative, process, purescript, safe, text
      , transformers, transformers-base, transformers-compat, utf8-string
      }:
      mkDerivation {
        pname = "zephyr";
-       version = "0.1.1.0";
-       sha256 = "0wh6yarc890j442s5kmqpsl03y0f8n4kq43sx1k8y63avhq1qi2m";
+       version = "0.1.4";
+       sha256 = "0zsqn8rbrzdh1l2m44nqhcdx3y3lbxdvik4scs5lb0sz5a0rdx5q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -225586,10 +226526,10 @@ self: {
          transformers-base transformers-compat utf8-string
        ];
        executableHaskellDepends = [
-         aeson ansi-terminal base base-compat bytestring containers
-         directory filepath formatting Glob language-javascript mtl
-         optparse-applicative purescript text transformers transformers-base
-         transformers-compat utf8-string
+         aeson ansi-terminal ansi-wl-pprint base base-compat bytestring
+         containers directory filepath formatting Glob language-javascript
+         mtl optparse-applicative purescript text transformers
+         transformers-base transformers-compat utf8-string
        ];
        testHaskellDepends = [
          aeson ansi-terminal base base-compat bytestring containers
@@ -225599,6 +226539,7 @@ self: {
        ];
        description = "Zephyr tree shaking for PureScript Language";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zero" = callPackage
@@ -226021,8 +226962,8 @@ self: {
      }:
      mkDerivation {
        pname = "zip-archive";
-       version = "0.3.2.4";
-       sha256 = "119p7f9dbims5swf23czyg4r4p0sjmgwfh042bpxw54d9p9jwq90";
+       version = "0.3.2.5";
+       sha256 = "14xkaj456zpxxbwd1h5prcxiiid42snli4mqm1052jp32c7xhf89";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
@@ -226030,11 +226971,11 @@ self: {
          array base binary bytestring containers digest directory filepath
          mtl old-time pretty text time unix zlib
        ];
-       libraryToolDepends = [ unzip ];
        testHaskellDepends = [
          base bytestring directory filepath HUnit old-time process temporary
          time unix
        ];
+       testToolDepends = [ unzip ];
        description = "Library for creating and modifying zip archives";
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) unzip;};
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index 7fc921037a2a..a54967c4e45e 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -102,8 +102,7 @@ let
   callPackage = drv: args: callPackageWithScope defaultScope drv args;
 
   withPackages = packages: buildPackages.callPackage ./with-packages-wrapper.nix {
-    inherit (self) llvmPackages;
-    inherit ghc;
+    inherit (self) ghc llvmPackages;
     inherit packages;
   };
 
@@ -120,7 +119,7 @@ let
       installPhase = ''
         export HOME="$TMP"
         mkdir -p "$out"
-        cabal2nix --compiler=${ghc.haskellCompilerName} --system=${hostPlatform.system} ${sha256Arg} "${src}" ${extraCabal2nixOptions} > "$out/default.nix"
+        cabal2nix --compiler=${self.ghc.haskellCompilerName} --system=${hostPlatform.system} ${sha256Arg} "${src}" ${extraCabal2nixOptions} > "$out/default.nix"
       '';
   };
 
diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix
index 4c32c0684d0e..87f2ebf2d70e 100644
--- a/pkgs/development/interpreters/joker/default.nix
+++ b/pkgs/development/interpreters/joker/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "joker-${version}";
-  version = "0.9.2";
+  version = "0.9.3";
 
   goPackagePath = "github.com/candid82/joker";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "1ayp7arygd3l4a1zbkhvix84fpqnnncbdxhimymr3c75ymwmmdr8";
+    sha256 = "1738gr25hlffc8ppzy6kik21jfix9iy316kv1kj1lqxr8giirhf6";
   };
 
   preBuild = "go generate ./...";
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index f25d2933ab7f..36d1a8326e70 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, makeFontsConf, makeWrapper
 , cairo, coreutils, fontconfig, freefont_ttf
-, glib, gmp, gtk2, libedit, libffi, libjpeg
+, glib, gmp, gtk3, libedit, libffi, libjpeg
 , libpng, libtool, mpfr, openssl, pango, poppler
 , readline, sqlite
 , disableDocs ? false
 , CoreFoundation
+, gsettings_desktop_schemas
 }:
 
 let
@@ -18,7 +19,8 @@ let
     fontconfig
     glib
     gmp
-    gtk2
+    gtk3
+    gsettings_desktop_schemas
     libedit
     libjpeg
     libpng
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
     (stdenv.lib.optionalString stdenv.isDarwin "-framework CoreFoundation")
   ];
 
-  buildInputs = [ fontconfig libffi libtool makeWrapper sqlite ]
+  buildInputs = [ fontconfig libffi libtool makeWrapper sqlite gsettings_desktop_schemas gtk3 ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation ];
 
   preConfigure = ''
@@ -76,7 +78,9 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for p in $(ls $out/bin/) ; do
-      wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${LD_LIBRARY_PATH}";
+      wrapProgram $out/bin/$p \
+        --prefix LD_LIBRARY_PATH ":" "${LD_LIBRARY_PATH}" \
+        --prefix XDG_DATA_DIRS ":" "$GSETTINGS_SCHEMAS_PATH";
     done
   '';
 
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index a992717d94f3..220aa9abe558 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -7,7 +7,7 @@ with pythonPackages;
 
 stdenv.mkDerivation rec {
   name = "renpy-${version}";
-  version = "6.99.14.3";
+  version = "7.0.0";
 
   meta = with stdenv.lib; {
     description = "Ren'Py Visual Novel Engine";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
-    sha256 = "15n29ybblcpnfbmhc31gm5vj7cpqd8cwrcqxlwnxy0gjpbc50x73";
+    sha256 = "0yrwp5iw4fjg7kbd041qv8gh2p0dnbrnkrgmn0ndk5k10pjij82g";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index 7e96cf84686f..d40b25cd8040 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  propagatedBuildInputs = [ ]
+  propagatedBuildInputs = [ libiconv ]
     ++ optionals x11Support [ libXext libICE libXrandr ]
     ++ optional stdenv.isLinux libcap
     ++ optionals openglSupport [ libGL libGLU ]
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     ++ optional pulseaudioSupport libpulseaudio
     ++ optional stdenv.isDarwin Cocoa;
 
-  buildInputs = [ libiconv ]
+  buildInputs = [ ]
     ++ optional (!hostPlatform.isMinGW) audiofile
     ++ optionals stdenv.isDarwin [ AudioUnit CoreAudio CoreServices Kernel OpenGL ];
 
@@ -119,6 +119,8 @@ stdenv.mkDerivation rec {
 
   passthru = { inherit openglSupport; };
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A cross-platform multimedia library";
     homepage    = "http://www.libsdl.org/";
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index d852b594f6dd..c32f59636a92 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -55,7 +55,8 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--disable-oss"
   ] ++ optional (!x11Support) "--without-x"
-    ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib";
+    ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"
+    ++ optional stdenv.isDarwin "--disable-sdltest";
 
   postInstall = ''
     moveToOutput lib/libSDL2main.a "$dev"
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
index 04ec3f9652c2..803cc97a8ae8 100644
--- a/pkgs/development/libraries/SDL2_gfx/default.nix
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ SDL2 ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
-  configureFlags = if stdenv.isi686 || stdenv.isx86_64 then "--enable-mmx" else "--disable-mmx";
+  configureFlags = [(if stdenv.isi686 || stdenv.isx86_64 then "--enable-mmx" else "--disable-mmx")]
+     ++ stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
 
   meta = with stdenv.lib; {
     description = "SDL graphics drawing primitives and support functions";
diff --git a/pkgs/development/libraries/SDL2_image/default.nix b/pkgs/development/libraries/SDL2_image/default.nix
index b0f2d0e8b8d1..ea5f37513afb 100644
--- a/pkgs/development/libraries/SDL2_image/default.nix
+++ b/pkgs/development/libraries/SDL2_image/default.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ SDL2 libpng libjpeg libtiff libungif libXpm zlib ]
     ++ stdenv.lib.optional stdenv.isDarwin Foundation;
 
+
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
index 00251adb9153..f31fe33ea096 100644
--- a/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -23,7 +23,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ SDL2 libogg libvorbis fluidsynth smpeg2 flac libmodplug ];
 
   configureFlags = [ "--disable-music-ogg-shared" ]
-    ++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl";
+    ++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl"
+    ++ lib.optionals stdenv.isDarwin [ "--disable-sdltest" "--disable-smpegtest" ];
 
   meta = with stdenv.lib; {
     description = "SDL multi-channel audio mixer library";
diff --git a/pkgs/development/libraries/SDL2_net/default.nix b/pkgs/development/libraries/SDL2_net/default.nix
index 780444d51f4f..5cadfb9d9051 100644
--- a/pkgs/development/libraries/SDL2_net/default.nix
+++ b/pkgs/development/libraries/SDL2_net/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   propagatedBuildInputs = [ SDL2 ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/SDL2_ttf/default.nix b/pkgs/development/libraries/SDL2_ttf/default.nix
index 4558317ce3e3..a21315fdc882 100644
--- a/pkgs/development/libraries/SDL2_ttf/default.nix
+++ b/pkgs/development/libraries/SDL2_ttf/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0xljwcpvd2knrjdfag5b257xqayplz55mqlszrqp0kpnphh5xnrl";
   };
 
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   buildInputs = [ SDL2 freetype libGL ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index 18aeef04a770..46e6a73433d0 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -15,13 +15,13 @@ let
         else throw "Unsupported system!";
 in stdenv.mkDerivation rec {
   name = "aws-sdk-cpp-${version}";
-  version = "1.4.40";
+  version = "1.4.50";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "16n5p29pf062mfsn7q8q8hw0ppxb02a0kkakd0vjrybqflpgf42j";
+    sha256 = "1qly5zn7w9j8w6a9pjw25xnr01sfq8dn8g5zrz6xyjgz590fj2x7";
   };
 
   # FIXME: might be nice to put different APIs in different outputs
diff --git a/pkgs/development/libraries/bulletml/default.nix b/pkgs/development/libraries/bulletml/default.nix
new file mode 100644
index 000000000000..b61ac1dcb09f
--- /dev/null
+++ b/pkgs/development/libraries/bulletml/default.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchpatch, fetchurl, bison, perl }:
+
+let
+  version = "0.0.6";
+  debianRevision = "7";
+  debianPatch = patchname: hash: fetchpatch {
+    name = "${patchname}.patch";
+    url = "https://sources.debian.org/data/main/b/bulletml/${version}-${debianRevision}/debian/patches/${patchname}.patch";
+    sha256 = hash;
+  };
+
+in stdenv.mkDerivation {
+  name = "bulletml-${version}";
+
+  srcs = [
+    (fetchurl {
+      url = "http://shinh.skr.jp/libbulletml/libbulletml-${version}.tar.bz2";
+      sha256 = "0yda0zgj2ydgkmby5676f5iiawabxadzh5p7bmy42998sp9g6dvw";
+    })
+    (fetchurl {
+      url = "http://shinh.skr.jp/d/d_cpp.tar.bz2";
+      sha256 = "1ly9qmbb8q9nyadmdap1gmxs3vkniqgchlv2hw7riansz4gg1agh";
+    })
+  ];
+  sourceRoot = "bulletml";
+  postUnpack = "mv d_cpp bulletml/";
+
+  patches = [
+    (debianPatch "fixes" "0cnr968n0h50fjmjijx7idsa2pg2pv5cwy6nvfbkx9z8w2zf0mkl")
+    (debianPatch "bulletml_d" "03d1dgln3gkiw019pxn3gwgjkmvzisq8kp3n6fpn38yfwh4fp4hv")
+    (debianPatch "d_cpp" "04g9c7c89w7cgrxw75mcbdhzxqmz1716li49mhl98znakchrlb9h")
+    (debianPatch "warnings" "18px79x4drvm6dy6w6js53nzlyvha7qaxhz5a99b97pyk3qc7i9g")
+    (debianPatch "makefile" "0z6yxanxmarx0s08gh12pk2wfqjk8g797wmfcqczdv1i6xc7nqzp")
+    (debianPatch "includes" "1n11j5695hs9pspslf748w2cq5d78s6bwhyl476wp6gcq6jw20bw")
+  ];
+
+  makeFlags = [
+    "-C src"
+  ];
+  nativeBuildInputs = [ bison perl ];
+  hardeningDisable = [ "format" ];
+
+  installPhase = ''
+    install -D -m 644 src/bulletml.d "$out"/include/d/bulletml.d
+    install -d "$out"/include/bulletml/tinyxml
+    install -m 644 src/*.h "$out"/include/bulletml
+    install -m 644 src/tinyxml/tinyxml.h "$out"/include/bulletml/tinyxml
+    cp -r src/boost $out/include/boost
+
+    install -d "$out"/lib
+    install -m 644 src/libbulletml.{a,so}* "$out"/lib
+
+    install -D -m 644 README "$out"/share/doc/libbulletml/README.jp
+    install -m 644 README.en "$out"/share/doc/libbulletml
+    install -m 644 README.bulletml "$out"/share/doc/libbulletml
+    install -D -m 644 README "$out"/share/licenses/libbulletml/README.jp
+    install -m 644 README.en "$out"/share/licenses/libbulletml
+  '';
+
+  meta = with stdenv.lib; {
+    description = "C++ library to handle BulletML easily";
+    longDescription = ''
+      BulletML is the Bullet Markup Language. BulletML can describe the barrage
+      of bullets in shooting games.
+    '';
+    homepage = "http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fgaz ];
+    # See https://github.com/NixOS/nixpkgs/pull/35482
+    # for some attempts in getting it to build on darwin
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 74ae4abaedf9..44cdfc4e0eef 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -10,14 +10,14 @@
 assert glSupport -> libGL != null;
 
 let
-  version = "1.15.10";
+  version = "1.15.12";
   inherit (stdenv.lib) optional optionals;
 in stdenv.mkDerivation rec {
   name = "cairo-${version}";
 
   src = fetchurl {
     url = "http://cairographics.org/${if stdenv.lib.mod (builtins.fromJSON (stdenv.lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"}/${name}.tar.xz";
-    sha256 = "14l3jll98pjdlpm8f972v0spzcsf6y5nz85y2k8iybyg6ihj5jk2";
+    sha256 = "1jcl0mnqq6j2xip8p506g2cj54sfycm339rrd3p4g2jljhdhh8vn";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/cfitsio/darwin-curl-config.patch b/pkgs/development/libraries/cfitsio/darwin-curl-config.patch
new file mode 100644
index 000000000000..77d8f719d778
--- /dev/null
+++ b/pkgs/development/libraries/cfitsio/darwin-curl-config.patch
@@ -0,0 +1,25 @@
+diff -ruN cfitsio/configure cfitsio-curl-config/configure
+--- cfitsio/configure	2018-05-09 21:16:00.000000000 +0200
++++ cfitsio-curl-config/configure	2018-05-30 13:28:58.000000000 +0200
+@@ -4783,13 +4783,6 @@
+ CURL_LIB=""
+ CURL_INC=""
+ # Use curl-config to get compiler & linker flags, if available.
+-# On Macs, prefer XCode curl-config, and reject MacPorts version
+-# until further notice to prevent build errors:
+-if test "x$EXT" = xdarwin -a -x /usr/bin/curl-config; then
+-  CURLCONFIG="/usr/bin/curl-config"
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for curl-config... choosing /usr/bin/curl-config on Mac" >&5
+-$as_echo "checking for curl-config... choosing /usr/bin/curl-config on Mac" >&6; }
+-else
+   # Extract the first word of "curl-config", so it can be a program name with args.
+ set dummy curl-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+@@ -4833,7 +4826,6 @@
+   fi
+ fi
+ fi
+-fi
+ CURLCONFIG=$ac_cv_prog_CURLCONFIG
+ if test -n "$CURLCONFIG"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURLCONFIG" >&5
diff --git a/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch b/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch
new file mode 100644
index 000000000000..af38abf329ea
--- /dev/null
+++ b/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch
@@ -0,0 +1,21 @@
+diff -ruN cfitsio/configure cfitsio-rpath-universal/configure
+--- cfitsio/configure	2018-05-09 21:16:00.000000000 +0200
++++ cfitsio-rpath-universal/configure	2018-05-31 12:02:25.000000000 +0200
+@@ -4727,16 +4727,7 @@
+     SHLIB_SUFFIX=".dylib"
+     CFITSIO_SHLIB="lib\${PACKAGE}.\${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}\${SHLIB_SUFFIX}"
+     CFITSIO_SHLIB_SONAME="lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX}"
+-    case $host in
+-        *darwin[56789]*)
+-            SHLIB_LD="$CC -dynamiclib -install_name lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
+-            ;;
+-        *)
+-            # Build 'Universal' binaries (i386 & x86_64 architectures) and
+-            # use rpath token on Darwin 10.x or newer:
+-            SHLIB_LD="$CC -dynamiclib $C_UNIV_SWITCH -headerpad_max_install_names -install_name @rpath/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
+-            ;;
+-    esac
++    SHLIB_LD="$CC -dynamiclib -install_name ${out}/lib/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
+ 
+     lhea_shlib_cflags="-fPIC -fno-common"
+     ;;
diff --git a/pkgs/development/libraries/cfitsio/default.nix b/pkgs/development/libraries/cfitsio/default.nix
index ecf5fb1f02fd..a21158723be1 100644
--- a/pkgs/development/libraries/cfitsio/default.nix
+++ b/pkgs/development/libraries/cfitsio/default.nix
@@ -8,9 +8,11 @@
     sha256 = "07fghxh5fl8nqk3q0dh8rvc83npnm0hisxzcj16a6r7gj5pmp40l";
   };
 
+  patches = [ ./darwin-curl-config.patch ./darwin-rpath-universal.patch ];
+
   # Shared-only build
   buildFlags = "shared";
-  patchPhase = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
+  postPatch = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
    '';
 
   meta = with stdenv.lib; {
@@ -27,6 +29,6 @@
       '';
     # Permissive BSD-style license.
     license = "permissive";
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/eigen/3.3.nix b/pkgs/development/libraries/eigen/3.3.nix
index 5d13fb09dcca..7de05926da59 100644
--- a/pkgs/development/libraries/eigen/3.3.nix
+++ b/pkgs/development/libraries/eigen/3.3.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake}:
+{stdenv, fetchurl, fetchpatch, cmake}:
 
 let
   version = "3.3.4";
@@ -11,6 +11,15 @@ stdenv.mkDerivation {
     name = "eigen-${version}.tar.gz";
     sha256 = "1q85bgd6hnsgn0kq73wa4jwh4qdwklfg73pgqrz4zmxvzbqyi1j2";
   };
+
+  patches = [
+    # Remove for > 3.3.4
+    # Upstream commit from 6 Apr 2018 "Fix cmake scripts with no fortran compiler"
+    (fetchpatch {
+      url    = "https://bitbucket.org/eigen/eigen/commits/ba14974d054ae9ae4ba88e5e58012fa6c2729c32/raw";
+      sha256 = "0fskiy9sbzvp693fcyv3pfq8kxxx3d3mgmaqvjbl5bpfjivij8l1";
+    })
+  ];
   
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index 701209971074..3c5100f2f7f4 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -5,7 +5,7 @@ with lib;
 assert elem precision [ "single" "double" "long-double" "quad-precision" ];
 
 let
-  version = "3.3.7";
+  version = "3.3.8";
   withDoc = stdenv.cc.isGNU;
 in
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
-    sha256 = "0wsms8narnbhfsa8chdflv2j9hzspvflblnqdn7hw8x5xdzrnq1v";
+    sha256 = "00z3k8fq561wq2khssqg0kallk0504dzlx989x3vvicjdqpjc4v1";
   };
 
   outputs = [ "out" "dev" "man" ]
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index 157f9f3936ec..b2c66ad346d0 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -19,6 +19,10 @@ stdenv.mkDerivation {
       url = patchURL + "/Fix-CVE-2016-5684.patch";
       sha256 = "14ffgqbnwg28r6sjvm3z89zbnnm9ghbc81hdhrzxlyk3vwvd6cw3";
     })
+    (fetchurl {
+      url = https://raw.githubusercontent.com/buildroot/buildroot/2018.05/package/libfreeimage/0005-Manage-powf64-with-glibc.patch;
+      sha256 = "1lis479ad5cfkhqm044nk4x97wfwm3hry3bvij1w5xkndnlfppc2";
+    })
   ];
 
   buildInputs = [ unzip ] ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools;
@@ -57,6 +61,8 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_COMPILE = "-Wno-narrowing";
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Open Source library for accessing popular graphics image file formats";
     homepage = http://freeimage.sourceforge.net/;
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 873d71d178bc..e15f2583f4da 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, libjpeg, libtiff, zlib
+{ stdenv, fetchurl, fetchpatch, unzip, libjpeg, libtiff, zlib
 , postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
 , libpng, sqlite, libspatialite, poppler, hdf4
 , libiconv
@@ -16,6 +16,16 @@ stdenv.mkDerivation rec {
     sha256 = "18iaamzkn0lipizynvspf3bs5qzgcy36hn6bbi941q8dlfdf8xbg";
   };
 
+  patches = [
+    # fix build with recent Poppler
+    (fetchpatch {
+      url    = "https://github.com/OSGeo/gdal/commit/124f0343436d1267319ac627fc220530091b41ea.diff";
+      stripLen = 2;
+      extraPrefix = "";
+      sha256 = "1v6iiy4cgrdcfas3iva5swh9446pqfjh5p6bcab6y49hyjhpsgfy";
+    })
+  ];
+
   buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite
     libspatialite poppler hdf4 ]
   ++ (with pythonPackages; [ python numpy wrapPython ])
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index b0a86644afb2..3e11aaf7bc6b 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
     "-Djasper=true"
     "-Dx11=true"
     "-Dgir=${if gobjectIntrospection != null then "true" else "false"}"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "-Dbuiltin_loaders=all";
+  ];
 
   postPatch = ''
     chmod +x build-aux/* # patchShebangs only applies to executables
@@ -73,8 +73,16 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall =
-    # All except one utility seem to be only useful during building.
+    # meson erroneously installs loaders with .dylib extension on Darwin.
+    # Their @rpath has to be replaced before gdk-pixbuf-query-loaders looks at them.
+    stdenv.lib.optionalString stdenv.isDarwin ''
+      for f in $out/${passthru.moduleDir}/*.dylib; do
+          install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f
+          mv $f ''${f%.dylib}.so
+      done
     ''
+    # All except one utility seem to be only useful during building.
+    + ''
       moveToOutput "bin" "$dev"
       moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"
 
@@ -82,12 +90,8 @@ stdenv.mkDerivation rec {
       $dev/bin/gdk-pixbuf-query-loaders --update-cache
     '';
 
-  # The fixDarwinDylibNames hook doesn't patch library references or binaries.
+  # The fixDarwinDylibNames hook doesn't patch binaries.
   preFixup = stdenv.lib.optionalString stdenv.isDarwin ''
-    for f in $(find $out/lib -name '*.dylib'); do
-        install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f
-    done
-
     for f in $out/bin/* $dev/bin/*; do
         install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f
     done
diff --git a/pkgs/development/libraries/getdns/default.nix b/pkgs/development/libraries/getdns/default.nix
index 779534460df2..66fc0138ef9b 100644
--- a/pkgs/development/libraries/getdns/default.nix
+++ b/pkgs/development/libraries/getdns/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   pname = "getdns";
   name = "${pname}-${version}";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchurl {
-    url = "https://getdnsapi.net/releases/${pname}-1-4-1/${pname}-${version}.tar.gz";
-    sha256 = "07n5n5m4dnnh2xkh7wrnlx8s8myrvjf2nbs7n5m5nq8gg3f36li4";
+    url = "https://getdnsapi.net/releases/${pname}-1-4-2/${pname}-${version}.tar.gz";
+    sha256 = "100fzjpvajvnv0kym8g5lkwyv8w8vhy7g2p0pb2gyz19zqnvi18n";
   };
 
   nativeBuildInputs = [ libtool m4 autoreconfHook automake file ];
diff --git a/pkgs/development/libraries/java/lombok/default.nix b/pkgs/development/libraries/java/lombok/default.nix
index df9b3f96c871..5ec4634d6323 100644
--- a/pkgs/development/libraries/java/lombok/default.nix
+++ b/pkgs/development/libraries/java/lombok/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "lombok-1.16.20";
+  name = "lombok-1.16.22";
 
   src = fetchurl {
     url = "https://projectlombok.org/downloads/${name}.jar";
-    sha256 = "0v8fq4qlpjh4b87xx35m32y2xpnj4d05xflrgghia6mar8c8n5y5";
+    sha256 = "1hr2jjlqdnxrw7ablqkf7ljc6n2q6a04ww14di06zs6i3l82zzpa";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 21bddf8f6bb5..a9b5d596b395 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext
-, gobjectIntrospection, dbus
-, fixDarwinDylibNames
+, gobjectIntrospection, dbus, fixDarwinDylibNames, gnome3
 }:
 
-stdenv.mkDerivation rec {
-  name = "json-glib-${minVer}.2";
-  minVer = "1.4";
+let
+  pname = "json-glib";
+  version = "1.4.2";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/json-glib/${minVer}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
     sha256 = "2d7709a44749c7318599a6829322e081915bdc73f5be5045882ed120bb686dc8";
   };
 
@@ -28,9 +29,15 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
-    homepage = http://live.gnome.org/JsonGlib;
     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
+    homepage = https://wiki.gnome.org/Projects/JsonGlib;
     license = licenses.lgpl2;
     maintainers = with maintainers; [ lethalman ];
     platforms = with platforms; unix;
diff --git a/pkgs/development/libraries/libbdplus/default.nix b/pkgs/development/libraries/libbdplus/default.nix
index 83b9367f9923..8b2f0b0da92d 100644
--- a/pkgs/development/libraries/libbdplus/default.nix
+++ b/pkgs/development/libraries/libbdplus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libgcrypt, libgpgerror, yacc, flex }:
+{ stdenv, fetchurl, libgcrypt, libgpgerror, yacc, flex, gettext }:
 
 # library that allows libbluray to play BDplus protected bluray disks
 # libaacs does not infringe DRM's right or copyright. See the legal page of the website for more info.
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "02n87lysqn4kg2qk7d1ffrp96c44zkdlxdj0n16hbgrlrpiwlcd6";
   };
 
-  buildInputs = [ libgcrypt libgpgerror ];
+  buildInputs = [ libgcrypt libgpgerror gettext ];
 
   nativeBuildInputs = [ ];
 
diff --git a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch b/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
index 2680b1c6de5c..8d9c5d0fbba7 100644
--- a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
+++ b/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
@@ -1,21 +1,26 @@
-diff -ru3 libbluray-0.8.0/configure.ac libbluray-0.8.0-new/configure.ac
---- libbluray-0.8.0/configure.ac	2015-04-10 09:48:23.000000000 +0300
-+++ libbluray-0.8.0-new/configure.ac	2015-05-18 14:22:01.002075482 +0300
-@@ -231,6 +231,7 @@
-   AC_DEFINE([USING_BDJAVA], [1], ["Define to 1 if using BD-Java"])
-   AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$java_arch"], ["Defines the architecture of the java vm."])
-   AC_DEFINE_UNQUOTED([JDK_HOME], ["$JDK_HOME"], [""])
-+  CPPFLAGS="${CPPFLAGS} -DJARDIR='\"\$(datadir)/java\"'"
+diff --git a/configure.ac b/configure.ac
+index 5fd3c8de..7ae343e0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -228,6 +228,10 @@ if test "x$use_bdjava_jar" = "xyes" && test "x$HAVE_ANT" = "xno"; then
+     AC_MSG_ERROR([BD-J requires ANT, but ant was not found. Please install it.])
  fi
- AM_CONDITIONAL([USING_BDJAVA], [ test $use_bdjava = "yes" ])
  
-diff -ru3 libbluray-0.8.0/src/libbluray/bdj/bdj.c libbluray-0.8.0-new/src/libbluray/bdj/bdj.c
---- libbluray-0.8.0/src/libbluray/bdj/bdj.c	2015-04-06 19:25:09.000000000 +0300
-+++ libbluray-0.8.0-new/src/libbluray/bdj/bdj.c	2015-05-18 14:22:59.241312808 +0300
-@@ -228,6 +228,7 @@
- #ifdef _WIN32
-         "" BDJ_JARFILE,
- #else
++if test "x$use_bdjava_jar" = "xyes"; then
++  CPPFLAGS="${CPPFLAGS} -DJARDIR='\"\$(datadir)/java\"'"
++fi
++
+ AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$java_arch"], ["Defines the architecture of the java vm."])
+ AC_DEFINE_UNQUOTED([JDK_HOME], ["$JDK_HOME"], [""])
+ AM_CONDITIONAL([USING_BDJAVA_BUILD_JAR], [ test $use_bdjava_jar = "yes" ])
+diff --git a/src/libbluray/bdj/bdj.c b/src/libbluray/bdj/bdj.c
+index 511ad533..e273b9e0 100644
+--- a/src/libbluray/bdj/bdj.c
++++ b/src/libbluray/bdj/bdj.c
+@@ -478,6 +478,7 @@ static const char *_find_libbluray_jar(BDJ_STORAGE *storage)
+     // pre-defined search paths for libbluray.jar
+     static const char * const jar_paths[] = {
+ #ifndef _WIN32
 +        JARDIR "/" BDJ_JARFILE,
          "/usr/share/java/" BDJ_JARFILE,
          "/usr/share/libbluray/lib/" BDJ_JARFILE,
diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix
new file mode 100644
index 000000000000..22debc6d68aa
--- /dev/null
+++ b/pkgs/development/libraries/libcef/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, cmake, alsaLib, atk, cairo, cups, dbus, expat, fontconfig
+, GConf, gdk_pixbuf, glib, gtk2, libX11, libxcb, libXcomposite, libXcursor
+, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXScrnSaver
+, libXtst, nspr, nss, pango, libpulseaudio, systemd }:
+
+let
+  libPath =
+    stdenv.lib.makeLibraryPath [
+      alsaLib atk cairo cups dbus expat fontconfig GConf gdk_pixbuf glib gtk2
+      libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes libXi
+      libXrandr libXrender libXScrnSaver libXtst nspr nss pango libpulseaudio
+      systemd
+    ];
+in
+stdenv.mkDerivation rec {
+  name = "cef-binary-${version}";
+  # Not very recent but more recent versions have problems:
+  # https://github.com/bazukas/obs-linuxbrowser/issues/63
+  version = "3.3325.1750.gaabe4c4";
+  src = fetchurl {
+    url = "http://opensource.spotify.com/cefbuilds/cef_binary_${version}_linux64.tar.bz2";
+    sha256 = "06pj1ci1lwammz1vwmbgw2fri7gkvbpv4iw67pqckd9xz0cfhwzr";
+  };
+  nativeBuildInputs = [ cmake ];
+  makeFlags = "libcef_dll_wrapper";
+  dontStrip = true;
+  dontPatchELF = true;
+  installPhase = ''
+    mkdir -p $out/lib/ $out/share/cef/
+    cp libcef_dll_wrapper/libcef_dll_wrapper.a $out/lib/
+    cp ../Release/libcef.so $out/lib/
+    patchelf --set-rpath "${libPath}" $out/lib/libcef.so
+    cp ../Release/*.bin $out/share/cef/
+    cp -r ../Resources/* $out/share/cef/
+    cp -r ../include $out/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple framework for embedding Chromium-based browsers in other applications";
+    homepage = http://opensource.spotify.com/cefbuilds/index.html;
+    maintainers = with maintainers; [ puffnfresh ];
+    license = licenses.bsd3;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix
index faa8b483a780..67552181d9a6 100644
--- a/pkgs/development/libraries/libdazzle/default.nix
+++ b/pkgs/development/libraries/libdazzle/default.nix
@@ -2,7 +2,7 @@
 , gtk-doc, docbook_xsl, dbus, xvfb_run, glib, gtk3, gnome3 }:
 
 let
-  version = "3.28.1";
+  version = "3.28.2";
   pname = "libdazzle";
 in
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "04j9pjigpgxddq6y90y73k8qyjixlalip87q121ss5d8zp8xnz32";
+    sha256 = "1kfxnyqjwb1r8d4bpr59j1cikd94m6nxf1641hlg7dqlpl9rwlan";
   };
 
   nativeBuildInputs = [ ninja meson pkgconfig vala gobjectIntrospection libxml2 gtk-doc docbook_xsl dbus xvfb_run ];
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 50cf8526c362..1c7c0715e75b 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -49,6 +49,11 @@ stdenv.mkDerivation rec {
     "--enable-pax_emutramp"
   ];
 
+  preCheck = ''
+    # The tests use -O0 which is not compatible with -D_FORTIFY_SOURCE.
+    NIX_HARDENING_ENABLE=''${NIX_HARDENING_ENABLE/fortify/}
+  '';
+
   inherit doCheck;
 
   dontStrip = hostPlatform != buildPlatform; # Don't run the native `strip' when cross-compiling.
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index f027b767db68..5c4699d26268 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libpqxx-${version}";
-  version = "6.2.3";
+  version = "6.2.4";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = "libpqxx";
     rev = version;
-    sha256 = "130mkkq46l23aaxfc2bnlf9mi3qxfn5465ziz0048bxymbxa7b58";
+    sha256 = "18fkyfa3a917ljmarf3jy8ycdhqzpc47cj87542sjpxnpaj9hy59";
   };
 
   nativeBuildInputs = [ gnused python2 ];
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index 796954b356d1..b6328a7354cf 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "librealsense-${version}";
-  version = "2.11.1";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "IntelRealSense";
     repo = "librealsense";
     rev = "v${version}";
-    sha256 = "1r27pdisg4hl4x23lrmykqfdc5agrc4pi161mhvzd1vjfkjrxbid";
+    sha256 = "1hmrp39x6c8i1l5d0hla0c8k6mf70sdyfjrlnwiqyi2p4s6phyd2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix
index e3be66e8b1ca..356462e8a4af 100644
--- a/pkgs/development/libraries/libunistring/default.nix
+++ b/pkgs/development/libraries/libunistring/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     "--with-libiconv-prefix=${libiconv}"
   ];
 
-  doCheck = !stdenv.hostPlatform.isMusl;
+  doCheck = true;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libutempter/default.nix b/pkgs/development/libraries/libutempter/default.nix
index d54c82ae7f21..f9703e3c5932 100644
--- a/pkgs/development/libraries/libutempter/default.nix
+++ b/pkgs/development/libraries/libutempter/default.nix
@@ -13,11 +13,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ glib ];
 
+  patches = [ ./exec_path.patch ];
+
   prePatch = ''
     substituteInPlace Makefile --replace 2711 0711
   '';
 
-  installFlags = [
+  makeFlags = [
     "libdir=\${out}/lib"
     "libexecdir=\${out}/lib"
     "includedir=\${out}/include"
@@ -26,6 +28,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files";
+    longDescription = ''
+      The bundled utempter binary must be able to run as a user belonging to group utmp.
+      On NixOS systems, this can be achieved by creating a setguid wrapper.
+    '';
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.msteen ];
diff --git a/pkgs/development/libraries/libutempter/exec_path.patch b/pkgs/development/libraries/libutempter/exec_path.patch
new file mode 100644
index 000000000000..bd5f56611ef9
--- /dev/null
+++ b/pkgs/development/libraries/libutempter/exec_path.patch
@@ -0,0 +1,25 @@
+diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
+--- libutempter-1.1.6/iface.c	2010-11-04 18:14:53.000000000 +0100
++++ libutempter-1.1.6.patched/iface.c	2018-06-06 15:09:11.417755549 +0200
+@@ -60,9 +60,9 @@
+ 		_exit(EXIT_FAILURE);
+ 	}
+ 
+-	execv(path, argv);
++	execvp(path, argv);
+ #ifdef	UTEMPTER_DEBUG
+-	fprintf(stderr, "libutempter: execv: %s\n", strerror(errno));
++	fprintf(stderr, "libutempter: execvp: %s\n", strerror(errno));
+ #endif
+ 
+ 	while (EACCES == errno)
+@@ -79,7 +79,7 @@
+ 		if (setgid(sgid))
+ 			break;
+ 
+-		(void) execv(path, argv);
++		(void) execvp(path, argv);
+ 		break;
+ 	}
+ 
+Only in libutempter-1.1.6.patched: result
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 7262ca541f01..8456e395f468 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -14,19 +14,19 @@ let
   buildFromTarball = stdenv.isDarwin;
 in stdenv.mkDerivation rec {
   name = "libvirt-${version}";
-  version = "4.1.0";
+  version = "4.4.0";
 
   src =
     if buildFromTarball then
       fetchurl {
         url = "http://libvirt.org/sources/${name}.tar.xz";
-        sha256 = "0fb466mcma21hsxx3cckllbr9hhncpbwim5px1mr66iidy1a8bwa";
+        sha256 = "1djaz3b5n4ksyw6z4n4qs82g5zyxdl2gm4rsb5181bv1rdiisqs6";
       }
     else
       fetchgit {
         url = git://libvirt.org/libvirt.git;
         rev = "v${version}";
-        sha256 = "01021r7i71dw9w7ffp6ia8h70ns6bc0ps5np0hq9nipxs68finm6";
+        sha256 = "0rhas7hbisfh0aib75nsh9wspxj8pvcqagds1mp2jgfls7hfna0r";
         fetchSubmodules = true;
       };
 
diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix
index 74be133b0687..ed1052ce40a0 100644
--- a/pkgs/development/libraries/mbedtls/default.nix
+++ b/pkgs/development/libraries/mbedtls/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mbedtls-2.9.0";
+  name = "mbedtls-2.10.0";
 
   src = fetchFromGitHub {
     owner = "ARMmbed";
     repo = "mbedtls";
     rev = name;
-    sha256 = "1pb1my8wwa757hvd06qwidkj58fa1wayf16g98q600xhya5fj3vx";
+    sha256 = "0im83kqf7a64ywxh6dnv0by3gwxww93zx5wpdqglr6xp7b8yg4xk";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/medfile/default.nix b/pkgs/development/libraries/medfile/default.nix
new file mode 100644
index 000000000000..5a29a9219fb8
--- /dev/null
+++ b/pkgs/development/libraries/medfile/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, hdf5 }:
+
+stdenv.mkDerivation rec {
+  name = "medfile-${version}";
+  version = "3.3.1";
+
+  src = fetchurl {
+    url = "http://files.salome-platform.org/Salome/other/med-${version}.tar.gz";
+    sha256 = "1215sal10xp6xirgggdszay2bmx0sxhn9pgh7x0wg2w32gw1wqyx";
+  };
+
+  buildInputs = [ cmake hdf5 ];
+
+  checkPhase = "make test";
+
+  postInstall = "rm -r $out/bin/testc";
+
+  meta = with stdenv.lib; {
+    description = "Library to read and write MED files";
+    homepage = http://salome-platform.org/;
+    platforms = platforms.linux;
+    license = licenses.lgpl3Plus;
+  };
+}
diff --git a/pkgs/development/libraries/ndpi/default.nix b/pkgs/development/libraries/ndpi/default.nix
index c84cddc897c1..0fd531fa282f 100644
--- a/pkgs/development/libraries/ndpi/default.nix
+++ b/pkgs/development/libraries/ndpi/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, which, autoconf, automake, libtool, libpcap }:
 
-let version = "1.8"; in
+let version = "2.2"; in
 
 stdenv.mkDerivation rec {
   name = "ndpi-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "ntop";
     repo = "nDPI";
     rev = "${version}";
-    sha256 = "0kxp9dv4d1nmr2cxv6zsfy2j14wyb0q6am0qyxg0npjb08p7njf4";
+    sha256 = "06gg8lhn944arlczmv5i40jkjdnl1nrvsmvm843l9ybcswpayv4m";
   };
 
   configureScript = "./autogen.sh";
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index a600938cdbb2..203be8b6907b 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "npth-1.5";
 
   src = fetchurl {
-    url = "ftp://ftp.gnupg.org/gcrypt/npth/${name}.tar.bz2";
+    url = "mirror://gnupg/npth/${name}.tar.bz2";
     sha256 = "1hmkkp6vzyrh8v01c2ynzf9vwikyagp7p1lxhbnr4ysk3w66jji9";
   };
 
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index 9c6631862879..212547c63a0e 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "p11-kit-${version}";
-  version = "0.23.10";
+  version = "0.23.12";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = "p11-kit";
     rev = version;
-    sha256 = "0n0wqv028flzvnxllqv8i6x9nv705csl7ddzi0fzvppc9fp2yinp";
+    sha256 = "0pb3qlddzbw7dglwnrl7fs9g71vhqk7qzxnb1i4nw633qgy21ga1";
   };
 
   outputs = [ "out" "dev"];
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "exampledir=\${out}/etc/pkcs11" ];
 
   doInstallCheck = false; # probably a bug in this derivation
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     homepage = https://p11-glue.freedesktop.org/;
diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix
index 1a1bb1800cf2..0c5d5e22e696 100644
--- a/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/pkgs/development/libraries/pkcs11helper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pkcs11-helper-${version}";
-  version = "1.22";
+  version = "1.23";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "pkcs11-helper";
     rev = "${name}";
-    sha256 = "01v3zv6sr5phqhr2f21fl2rmcnmkp9518dkq82g1v2y9ysjksg7q";
+    sha256 = "1m3fp3v6c903cs36bvvg0h65p1sdamsmzy13ww0zyvplcycarz0n";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 960a792822d3..bfc94e1fac8a 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -3,7 +3,7 @@
 , withData ? true, poppler_data
 , qt5Support ? false, qtbase ? null
 , introspectionSupport ? false, gobjectIntrospection ? null
-, utils ? false
+, utils ? false, nss ? null
 , minimal ? false, suffix ? "glib"
 }:
 
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     [ zlib freetype fontconfig libjpeg openjpeg ]
     ++ optionals (!minimal) [ cairo lcms curl ]
     ++ optional qt5Support qtbase
+    ++ optional utils nss
     ++ optional introspectionSupport gobjectIntrospection;
 
   nativeBuildInputs = [ cmake ninja pkgconfig ];
@@ -49,7 +50,9 @@ stdenv.mkDerivation rec {
     description = "A PDF rendering library";
 
     longDescription = ''
-      Poppler is a PDF rendering library based on the xpdf-3.0 code base.
+      Poppler is a PDF rendering library based on the xpdf-3.0 code
+      base. In addition it provides a number of tools that can be
+      installed separately.
     '';
 
     license = licenses.gpl2;
diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix
index 53949ddd4925..96014cfbc779 100644
--- a/pkgs/development/libraries/qt-5/mkDerivation.nix
+++ b/pkgs/development/libraries/qt-5/mkDerivation.nix
@@ -16,9 +16,6 @@ let
       optional (!debug) "-DQT_NO_DEBUG"
       ++ lib.toList (args.NIX_CFLAGS_COMPILE or []);
 
-    configureFlags = [ "-no-framework" ]
-                  ++ (args.configureFlags or []);
-
     cmakeFlags =
       (args.cmakeFlags or [])
       ++ [
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 28b250437d08..0c7af9e185dd 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -298,6 +298,7 @@ stdenv.mkDerivation {
           "-no-fontconfig"
           "-qt-freetype"
           "-qt-libpng"
+          "-no-framework"
         ]
       else
         [
@@ -373,24 +374,6 @@ stdenv.mkDerivation {
     ''
 
     + (
-      if stdenv.isDarwin
-      then
-        ''
-          fixDarwinDylibNames_rpath() {
-            local flags=()
-
-            for fn in "$@"; do
-              flags+=(-change "@rpath/$fn.framework/Versions/5/$fn" "$out/lib/$fn.framework/Versions/5/$fn")
-            done
-
-            for fn in "$@"; do
-              echo "$fn: fixing dylib"
-              install_name_tool -id "$out/lib/$fn.framework/Versions/5/$fn" "''${flags[@]}" "$out/lib/$fn.framework/Versions/5/$fn"
-            done
-          }
-          fixDarwinDylibNames_rpath "QtConcurrent" "QtPrintSupport" "QtCore" "QtSql" "QtDBus" "QtTest" "QtGui" "QtWidgets" "QtNetwork" "QtXml" "QtOpenGL"
-        ''
-      else
         # fixup .pc file (where to find 'moc' etc.)
         ''
           sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
diff --git a/pkgs/development/libraries/readline/readline-7.0-patches.nix b/pkgs/development/libraries/readline/readline-7.0-patches.nix
index 45bec6b64812..c34ef2bf97bb 100644
--- a/pkgs/development/libraries/readline/readline-7.0-patches.nix
+++ b/pkgs/development/libraries/readline/readline-7.0-patches.nix
@@ -4,4 +4,6 @@ patch: [
 (patch "001" "0xm3sxvwmss7ddyfb11n6pgcqd1aglnpy15g143vzcf75snb7hcs")
 (patch "002" "0n1dxmqsbjgrfxb1hgk5c6lsraw4ncbnzxlsx7m35nym6lncjiw7")
 (patch "003" "1027kmymniizcy0zbdlrczxfx3clxcdln5yq05q9yzlc6y9slhwy")
+(patch "004" "0r3bbaf12iz8m02z6p3fzww2m365fhn71xmzab2p62gj54s6h9gr")
+(patch "005" "0lxpa4f72y2nsgj6fgrhjk2nmmxvccys6aciwfxwchb5f21rq5fa")
 ]
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index f5715157531e..1a98ecc87436 100644
--- a/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit7, cudatoolkit75, cudatoolkit8, cudatoolkit9 }:
+{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -8,37 +8,44 @@ let
 in
 
 {
-  cudnn_cudatoolkit7 = generic rec {
+  cudnn_cudatoolkit_7 = generic rec {
     version = "4.0";
-    cudatoolkit = cudatoolkit7;
+    cudatoolkit = cudatoolkit_7;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}-prod.tgz";
     sha256 = "0zgr6qdbc29qw6sikhrh6diwwz7150rqc8a49f2qf37j2rvyyr2f";
   };
 
-  cudnn_cudatoolkit75 = generic rec {
+  cudnn_cudatoolkit_7_5 = generic rec {
     version = "6.0";
-    cudatoolkit = cudatoolkit75;
+    cudatoolkit = cudatoolkit_7_5;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}.tgz";
     sha256 = "0b68hv8pqcvh7z8xlgm4cxr9rfbjs0yvg1xj2n5ap4az1h3lp3an";
   };
 
-  cudnn6_cudatoolkit8 = generic rec {
+  cudnn6_cudatoolkit_8 = generic rec {
     version = "6.0";
-    cudatoolkit = cudatoolkit8;
+    cudatoolkit = cudatoolkit_8;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}.tgz";
     sha256 = "173zpgrk55ri8if7s5yngsc89ajd6hz4pss4cdxlv6lcyh5122cv";
   };
 
-  cudnn_cudatoolkit8 = generic rec {
+  cudnn_cudatoolkit_8 = generic rec {
     version = "7.0.5";
-    cudatoolkit = cudatoolkit8;
+    cudatoolkit = cudatoolkit_8;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
     sha256 = "9e0b31735918fe33a79c4b3e612143d33f48f61c095a3b993023cdab46f6d66e";
   };
 
-  cudnn_cudatoolkit9 = generic rec {
+  cudnn_cudatoolkit_9_0 = generic rec {
     version = "7.0.5";
-    cudatoolkit = cudatoolkit9;
+    cudatoolkit = cudatoolkit_9_0;
+    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
+    sha256 = "03mbv4m5lhwnc181xz8li067pjzzhxqbxgnrfc68dffm8xj0fghs";
+  };
+
+  cudnn_cudatoolkit_9 = generic rec {
+    version = "7.0.5";
+    cudatoolkit = cudatoolkit_9;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
     sha256 = "1rfmdd2v47p83fm3sfyvik31gci0q17qs6kjng6mvcsd6akmvb8y";
   };
diff --git a/pkgs/development/libraries/science/math/nccl/default.nix b/pkgs/development/libraries/science/math/nccl/default.nix
index 1d692f6316ff..d3c20258425b 100644
--- a/pkgs/development/libraries/science/math/nccl/default.nix
+++ b/pkgs/development/libraries/science/math/nccl/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit8, cudatoolkit9 }:
+{ callPackage, cudatoolkit_8, cudatoolkit_9 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -8,16 +8,16 @@ let
 in
 
 {
-  nccl_cudatoolkit8 = generic rec {
+  nccl_cudatoolkit_8 = generic rec {
     version = "2.1.4";
-    cudatoolkit = cudatoolkit8;
+    cudatoolkit = cudatoolkit_8;
     srcName = "nccl_${version}-1+cuda${cudatoolkit.majorVersion}_x86_64.txz";
     sha256 = "1lwwm8kdhna5m318yg304kl2gsz1jwhv4zv4gn8av2m57zh848zi";
   };
 
-  nccl_cudatoolkit9 = generic rec {
+  nccl_cudatoolkit_9 = generic rec {
     version = "2.1.4";
-    cudatoolkit = cudatoolkit9;
+    cudatoolkit = cudatoolkit_9;
     srcName = "nccl_${version}-1+cuda${cudatoolkit.majorVersion}_x86_64.txz";
     sha256 = "0pajmqzkacpszs63jh2hw2qqc49kj75kcf7r0ky8hdh560q8xn0p";
   };
diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix
index 62d8bcccfe36..dfaf1c679dd7 100644
--- a/pkgs/development/libraries/serf/default.nix
+++ b/pkgs/development/libraries/serf/default.nix
@@ -13,31 +13,32 @@ stdenv.mkDerivation rec {
   buildInputs = [ apr scons openssl aprutil zlib libiconv ]
     ++ stdenv.lib.optional (!stdenv.isCygwin) kerberos;
 
-  postPatch = ''
-    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' \
-        -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' \
-        -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' \
-      -i SConstruct
-  '';
+  patches = [ ./scons.patch ];
 
   buildPhase = ''
-    scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr.dev}"/bin/*-config)" CFLAGS="-I${zlib.dev}/include" \
-      LINKFLAGS="-L${zlib.out}/lib -L${openldap}/lib -L${libiconv}/lib" \
-        APU="$(echo "${aprutil.dev}"/bin/*-config)" CC=$CC ${
-          if (stdenv.isDarwin || stdenv.isCygwin) then "" else "GSSAPI=\"${kerberos.dev}\""
-        }
+    scons \
+      -j $NIX_BUILD_CORES \
+      APR="$(echo ${apr.dev}/bin/*-config)" \
+      APU="$(echo ${aprutil.dev}/bin/*-config)" \
+      CC=$CC \
+      OPENSSL=${openssl} \
+      PREFIX="$out" \
+      ZLIB=${zlib} \
+      ${
+        if stdenv.isCygwin then "" else "GSSAPI=${kerberos.dev}"
+      }
   '';
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-L/usr/lib";
-
   installPhase = ''
     scons install
   '';
 
-  meta = {
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     description = "HTTP client library based on APR";
-    license = stdenv.lib.licenses.asl20;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ orivej raskin ];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/serf/scons.patch b/pkgs/development/libraries/serf/scons.patch
new file mode 100644
index 000000000000..a7eefe7d5c1f
--- /dev/null
+++ b/pkgs/development/libraries/serf/scons.patch
@@ -0,0 +1,12 @@
+diff --git a/SConstruct b/SConstruct
+index 4358a23..0d862e7 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -155,6 +155,7 @@ if sys.platform == 'win32':
+ env = Environment(variables=opts,
+                   tools=('default', 'textfile',),
+                   CPPPATH=['.', ],
++                  ENV=os.environ,
+                   )
+ 
+ env.Append(BUILDERS = {
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 05fd952eb2e8..21359c4f0d0b 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -2,7 +2,7 @@
 , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
 , cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup
 , withPolkit ? true, polkit, acl, usbutils
-, vala, gtk3, epoxy, libdrm }:
+, vala, gtk3, epoxy, libdrm, gst_all_1, phodav }:
 
 # If this package is built with polkit support (withPolkit=true),
 # usb redirection reqires spice-client-glib-usb-acl-helper to run setuid root.
@@ -46,8 +46,8 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    spice-protocol celt_0_5_1 openssl libpulseaudio pixman
-    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy libdrm
+    spice-protocol celt_0_5_1 openssl libpulseaudio gst_all_1.gst-plugins-base pixman
+    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy libdrm phodav
   ] ++ optionals withPolkit [ polkit acl usbutils ] ;
 
   nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala gobjectIntrospection ];
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index 1ab76340cc7c..ee54ad555537 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -6,32 +6,13 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "spice-0.13.3";
+  name = "spice-0.14.0";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "17mqgwamdhj8sx8vhahrjl5937x693kjnw6cp6v0akjrwz011xrh";
+    sha256 = "0j5q7cp5p95jk8fp48gz76rz96lifimdsx1wnpmfal0nnnar9nrs";
   };
 
-  patches = [
-    # the following three patches fix CVE-2016-9577 and CVE-2016-9578
-    (fetchpatch {
-      name = "0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch";
-      url = "http://src.fedoraproject.org/cgit/rpms/spice.git/plain/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
-      sha256 = "11x5566lx5zyl7f39glwsgpzkxb7hpcshx8va5ab3imrns07130q";
-    })
-    (fetchpatch {
-      name = "0002-Prevent-integer-overflows-in-capability-checks.patch";
-      url = "http://src.fedoraproject.org/cgit/rpms/spice.git/plain/0002-Prevent-integer-overflows-in-capability-checks.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
-      sha256 = "1r1bhq98w93cvvrlrz6jwdfsy261xl3xqs0ppchaa2igyxvxv5z5";
-    })
-    (fetchpatch {
-      name = "0003-main-channel-Prevent-overflow-reading-messages-from.patch";
-      url = "https://cgit.freedesktop.org/spice/spice/patch/?id=1d3e26c0ee75712fa4bbbcfa09d8d5866b66c8af";
-      sha256 = "030mm551aipck99rqiz39vsvk071pn8715zynr5j6chwzgpflwm3";
-    })
-  ];
-
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
                   libXrandr libXfixes libXrender libXext libXinerama
                   python pyparsing glib cyrus_sasl lz4 ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index eaeafa741297..03f2f5c7199e 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -66,6 +66,11 @@ stdenv.mkDerivation rec {
     echo ""
   '';
 
+  postInstall = ''
+    # Do not contaminate dependent libtool-based projects with sqlite dependencies.
+    sed -i $out/lib/libsqlite3.la -e "s/dependency_libs=.*/dependency_libs='''/"
+  '';
+
   meta = {
     description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
     downloadPage = http://sqlite.org/download.html;
diff --git a/pkgs/development/libraries/vsqlite/default.nix b/pkgs/development/libraries/vsqlite/default.nix
index d9a9564e6de1..bfb07c2df337 100644
--- a/pkgs/development/libraries/vsqlite/default.nix
+++ b/pkgs/development/libraries/vsqlite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost, sqlite, zlib }:
+{ stdenv, fetchurl, boost, sqlite }:
 
 stdenv.mkDerivation rec {
   name = "vsqlite-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "17fkj0d2jh0xkjpcayhs1xvbnh1d69f026i7vs1zqnbiwbkpz237";
   };
 
-  buildInputs = [ boost sqlite zlib ];
+  buildInputs = [ boost sqlite ];
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace Makefile.in \
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index fa65a14121fc..47686451eee6 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "wolfssl-${version}";
-  version = "3.13.0";
+  version = "3.15.0";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "0mvq7ifcpckfrg0zzcxqfbrv08pnz4a8g2z2j3s9h3cwns9ipn6h";
+    sha256 = "1jqhq0dl2zxks7dm6g3dm1zvrl646ab073kgg8ypv19nkd5cvbdv";
   };
 
   outputs = [ "out" "dev" "doc" "lib" ];
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 32ce856eddd3..e17ac6d15075 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -2,14 +2,14 @@
 , openssl, nss, makeWrapper }:
 
 let
-  version = "1.2.25";
+  version = "1.2.26";
 in
 stdenv.mkDerivation rec {
   name = "xmlsec-${version}";
 
   src = fetchurl {
     url = "http://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
-    sha256 = "1lpwj8dxwhha54sby0v5axjk79h56jnhjjiwiasbbk15vwzahz4n";
+    sha256 = "0l1dk344rn3j2vnj13daz72xd8j1msvzhg82n2il5ji0qz4pd0ld";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/lua-modules/generic/default.nix b/pkgs/development/lua-modules/generic/default.nix
index 091ae06ab910..5669eae96c5e 100644
--- a/pkgs/development/lua-modules/generic/default.nix
+++ b/pkgs/development/lua-modules/generic/default.nix
@@ -29,9 +29,9 @@ else
           if [[ $LUA_PATH = *"$package_path"* ]]; then return; fi
 
           if [[ -z $LUA_PATH ]]; then
-            export LUA_PATH="$package_path/?.lua"
+            export LUA_PATH="$package_path/?.lua;$package_path/?/init.lua"
           else
-            export LUA_PATH="$LUA_PATH;$package_path/?.lua"
+            export LUA_PATH="$LUA_PATH;$package_path/?.lua;$package_path/?/init.lua"
           fi
         }
 
diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix
index 78e278be2376..6a647192e091 100644
--- a/pkgs/development/mobile/androidenv/androidndk.nix
+++ b/pkgs/development/mobile/androidenv/androidndk.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, zlib, ncurses, p7zip, lib, makeWrapper
+{ stdenv, fetchurl, zlib, ncurses5, p7zip, lib, makeWrapper
 , coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which
-, platformTools, python3, version, sha256
+, platformTools, python3, libcxx, version, sha256
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   phases = "buildPhase";
 
-  nativeBuildInputs = [ p7zip makeWrapper ];
+  nativeBuildInputs = [ p7zip makeWrapper file ];
 
   buildCommand = let
     bin_path = "$out/bin";
@@ -31,11 +31,15 @@ stdenv.mkDerivation rec {
       jdk python3 which
     ]) + ":${platformTools}/platform-tools";
   in ''
-    set -x
     mkdir -pv $out/libexec
+    mkdir -pv $out/lib64
+    ln -s ${ncurses5.out}/lib/libncursesw.so.5 $out/lib64/libtinfo.so.5
+    ln -s ${ncurses5.out}/lib/libncurses.so.5 $out/lib64/libncurses.so.5
     cd $out/libexec
     7z x $src
 
+    patchShebangs ${pkg_path}
+
     # so that it doesn't fail because of read-only permissions set
     cd -
     ${if (version == "10e") then
@@ -46,8 +50,6 @@ stdenv.mkDerivation rec {
         ''
       else
         ''
-          patchShebangs ${pkg_path}/build/tools/make-standalone-toolchain.sh
-
           patch -p1 \
             --no-backup-if-mismatch \
             -d $out/libexec/${name} < ${ ./. + builtins.toPath ("/make_standalone_toolchain.py_" + "${version}" + ".patch") }
@@ -60,17 +62,13 @@ stdenv.mkDerivation rec {
         \( -type f -a -name "*.so*" \) -o \
         \( -type f -a -perm -0100 \) \
         \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \
-                          --set-rpath ${stdenv.lib.makeLibraryPath [ zlib.out ncurses ]} {} \;
+                          --set-rpath $out/lib64:${stdenv.lib.makeLibraryPath [ libcxx.out zlib.out ncurses5 ]} {} \;
     # fix ineffective PROGDIR / MYNDKDIR determination
     for i in ndk-build ${lib.optionalString (version == "10e") "ndk-gdb ndk-gdb-py"}
     do
         sed -i -e ${sed_script_1} $i
     done
-    ${lib.optionalString (version == "10e") ''
-      sed -i -e ${sed_script_2} ndk-which
-      # a bash script
-      patchShebangs ndk-which
-    ''}
+
     # wrap
     for i in ndk-build ${lib.optionalString (version == "10e") "ndk-gdb ndk-gdb-py ndk-which"}
     do
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 3978ae1aeb7b..5846e4fb6de0 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -219,7 +219,7 @@ rec {
     inherit (buildPackages)
       p7zip makeWrapper;
     inherit (pkgs)
-      stdenv fetchurl zlib ncurses lib python3
+      stdenv fetchurl zlib ncurses5 lib python3 libcxx
       coreutils file findutils gawk gnugrep gnused jdk which;
     inherit platformTools;
     version = "10e";
@@ -230,7 +230,7 @@ rec {
     inherit (buildPackages)
       p7zip makeWrapper;
     inherit (pkgs)
-      stdenv fetchurl zlib ncurses lib python3
+      stdenv fetchurl zlib ncurses5 lib python3 libcxx
       coreutils file findutils gawk gnugrep gnused jdk which;
     inherit platformTools;
     version = "16b";
@@ -241,7 +241,7 @@ rec {
     inherit (buildPackages)
       p7zip makeWrapper;
     inherit (pkgs)
-      stdenv fetchurl zlib ncurses lib python3
+      stdenv fetchurl zlib ncurses5 lib python3 libcxx
       coreutils file findutils gawk gnugrep gnused jdk which;
     inherit platformTools;
     version = "17";
diff --git a/pkgs/development/node-packages/default-v8.nix b/pkgs/development/node-packages/default-v8.nix
index 0428095d97c6..eb87f13f56d3 100644
--- a/pkgs/development/node-packages/default-v8.nix
+++ b/pkgs/development/node-packages/default-v8.nix
@@ -68,9 +68,14 @@ nodePackages // {
 
   pnpm = nodePackages.pnpm.override (oldAttrs: {
     nativeBuildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
-    postInstall = ''
+    postInstall = let
+      pnpmLibPath = stdenv.lib.makeBinPath [
+        nodejs.passthru.python
+        nodejs
+      ];
+    in ''
       for prog in $out/bin/*; do
-        wrapProgram "$prog" --prefix PATH : ${stdenv.lib.makeBinPath [ nodejs.passthru.python ]}
+        wrapProgram "$prog" --prefix PATH : ${pnpmLibPath}
       done
     '';
   });
diff --git a/pkgs/development/ocaml-modules/cmdliner/0.9.nix b/pkgs/development/ocaml-modules/cmdliner/0.9.nix
index e8824f318071..345d56d21707 100644
--- a/pkgs/development/ocaml-modules/cmdliner/0.9.nix
+++ b/pkgs/development/ocaml-modules/cmdliner/0.9.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
 
 let
   pname = "cmdliner";
@@ -17,17 +17,12 @@ stdenv.mkDerivation rec {
   };
 
   unpackCmd = "tar xjf $src";
-  nativeBuildInputs = [ ocamlbuild opam ];
+  nativeBuildInputs = [ ocamlbuild opaline ];
   buildInputs = [ ocaml findlib ];
 
-  createFindlibDestdir = true;
-
   configurePhase = "ocaml pkg/git.ml";
   buildPhase     = "ocaml pkg/build.ml native=true native-dynlink=true";
-  installPhase   = ''
-    opam-installer --script --prefix=$out | sh
-    ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
-  '';
+  installPhase   = "opaline -libdir $OCAMLFIND_DESTDIR";
 
   meta = with stdenv.lib; {
     homepage = http://erratique.ch/software/cmdliner;
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index da9383c4e95b..8b304aadd9ef 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml, camlp4,
   js_of_ocaml, lwt_react, cryptokit,
   ipaddr, ocamlnet, lwt_ssl, ocaml_pcre,
-  opam, ppx_tools, ppx_deriving, findlib
+  opaline, ppx_tools, ppx_deriving, findlib
 , js_of_ocaml-ocamlbuild, js_of_ocaml-ppx, js_of_ocaml-ppx_deriving_json
 , js_of_ocaml-lwt
 , js_of_ocaml-tyxml
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec
 
   patches = [ ./camlp4.patch ];
 
-  buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild js_of_ocaml-ppx_deriving_json opam ppx_tools
+  buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild js_of_ocaml-ppx_deriving_json opaline ppx_tools
     ocsigen_deriving
   ];
 
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec
     ppx_deriving
   ];
 
-  installPhase = "opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
+  installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
 
   setupHook = [ ./setup-hook.sh ];
 
diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix
index 6d4deac38c47..c8b29759b97c 100644
--- a/pkgs/development/ocaml-modules/functory/default.nix
+++ b/pkgs/development/ocaml-modules/functory/default.nix
@@ -1,14 +1,24 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{ stdenv, fetchurl, ocaml, findlib }:
 
 assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
 
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
+    version = "0.6";
+    sha256 = "18wpyxblz9jh5bfp0hpffnd0q8cq1b0dqp0f36vhqydfknlnpx8y";
+  } else {
+    version = "0.5";
+    sha256 = "1j17rhifdjv1z262dma148ywg34x0zjn8vczdrnkwajsm4qg1hw3";
+  };
+in
+
 stdenv.mkDerivation {
 
-  name = "ocaml-functory-0.5";
+  name = "ocaml${ocaml.version}-functory-${param.version}";
 
   src = fetchurl {
-    url = https://www.lri.fr/~filliatr/functory/download/functory-0.5.tar.gz;
-    sha256 = "1j17rhifdjv1z262dma148ywg34x0zjn8vczdrnkwajsm4qg1hw3";
+    url = "https://www.lri.fr/~filliatr/functory/download/functory-${param.version}.tar.gz";
+    inherit (param) sha256;
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/ocaml-modules/gg/default.nix b/pkgs/development/ocaml-modules/gg/default.nix
index 0839ff361aea..0c80f39d9d7d 100644
--- a/pkgs/development/ocaml-modules/gg/default.nix
+++ b/pkgs/development/ocaml-modules/gg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
 
 let
   inherit (stdenv.lib) getVersion versionAtLeast;
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     sha256 = "0czj41sr8jsivl3z8wyblf9k971j3kx2wc3s0c1nhzcc8allg9i2";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
+  buildInputs = [ ocaml findlib ocamlbuild opaline ];
 
   createFindlibDestdir = true;
 
@@ -27,10 +27,7 @@ stdenv.mkDerivation rec {
 
   buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
 
-  installPhase = ''
-    opam-installer --script --prefix=$out ${pname}.install | sh
-    ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
-  '';
+  installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
 
   meta = with stdenv.lib; {
     description = "Basic types for computer graphics in OCaml";
diff --git a/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix b/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
index 61b2038bfd29..fdb0d8034e69 100644
--- a/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
+++ b/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
@@ -1,4 +1,4 @@
-{ buildOcaml, opam, js_build_tools, ocaml_oasis, fetchurl } :
+{ buildOcaml, opaline, js_build_tools, ocaml_oasis, fetchurl } :
 
 { name, version ? "113.33.03", buildInputs ? [],
   hash ? "",
@@ -14,7 +14,7 @@ buildOcaml (args // {
 
   hasSharedObjects = true;
 
-  buildInputs = [ ocaml_oasis js_build_tools opam ] ++ buildInputs;
+  buildInputs = [ ocaml_oasis js_build_tools opaline ] ++ buildInputs;
 
   dontAddPrefix = true;
 
@@ -22,14 +22,6 @@ buildOcaml (args // {
 
   buildPhase = "OCAML_TOPLEVEL_PATH=`ocamlfind query findlib`/.. make";
 
-  installPhase = ''
-    opam-installer -i --prefix $prefix --libdir `ocamlfind printconf destdir` --stubsdir `ocamlfind printconf destdir`/${name} ${name}.install
-    if [ -d $out/lib/${name} ]
-      then if [ "$(ls -A $out/lib/${name})" ]
-        then mv $out/lib/${name}/* `ocamlfind printconf destdir`/${name}
-      fi
-      rmdir $out/lib/${name}
-    fi
-  '';
+  installPhase = "opaline -prefix $prefix -libdir $OCAMLFIND_DESTDIR ${name}.install";
 
 })
diff --git a/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix b/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
index 2c314f3dbdea..f77b793bcaab 100644
--- a/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
+++ b/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildOcaml, fetchurl, ocaml_oasis, opam }:
+{ stdenv, buildOcaml, fetchurl, ocaml_oasis, opaline }:
 
 buildOcaml rec {
   name = "js-build-tools";
@@ -13,11 +13,11 @@ buildOcaml rec {
 
   hasSharedObjects = true;
 
-  buildInputs = [ ocaml_oasis opam ];
+  buildInputs = [ ocaml_oasis opaline ];
 
   dontAddPrefix = true;
   configurePhase = "./configure --prefix $prefix";
-  installPhase = "opam-installer -i --prefix $prefix --libdir `ocamlfind printconf destdir` ${name}.install";
+  installPhase = "opaline -prefix $prefix -libdir $OCAMLFIND_DESTDIR ${name}.install";
 
   patches = [ ./js-build-tools-darwin.patch ];
 
diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix
index 769b80ecddce..fdd30d28ed89 100644
--- a/pkgs/development/ocaml-modules/lambda-term/default.nix
+++ b/pkgs/development/ocaml-modules/lambda-term/default.nix
@@ -17,10 +17,7 @@ buildOcaml rec {
 
   buildPhase = "jbuilder build -p lambda-term";
 
-  installPhase = ''
-    ${jbuilder.installPhase}
-    mv $out/lib/ocaml/${ocaml.version}/site-lib/{stubslibs,lambda-term}/dlllambda_term_stubs.so
-  '';
+  inherit (jbuilder) installPhase;
 
   hasSharedObjects = true;
 
diff --git a/pkgs/development/ocaml-modules/linenoise/default.nix b/pkgs/development/ocaml-modules/linenoise/default.nix
new file mode 100644
index 000000000000..53ac918c47e6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/linenoise/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, ocaml, jbuilder, findlib, result }:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "linenoise is not available for OCaml ${ocaml.version}"
+else
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-linenoise-${version}";
+  version = "1.1.0";
+  src = fetchFromGitHub {
+    owner = "fxfactorial";
+    repo = "ocaml-linenoise";
+    rev = "v${version}";
+    sha256 = "1h6rqfgmhmd7p5z8yhk6zkbrk4yzw1v2fgwas2b7g3hqs6y0xj0q";
+  };
+
+  buildInputs = [ ocaml findlib jbuilder ];
+  propagatedBuildInputs = [ result ];
+
+  inherit (jbuilder) installPhase;
+
+  meta = {
+    description = "OCaml bindings to linenoise";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    inherit (ocaml.meta) platforms;
+    inherit (src.meta) homepage;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/mstruct/default.nix b/pkgs/development/ocaml-modules/mstruct/default.nix
index 5aa57ba8fbb8..5682b75d6a14 100644
--- a/pkgs/development/ocaml-modules/mstruct/default.nix
+++ b/pkgs/development/ocaml-modules/mstruct/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, opam
+{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder
 , cstruct
 }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 		sha256 = "1p4ygwzs3n1fj4apfib0z0sabpph21bkq1dgjk4bsa59pq4prncm";
 	};
 
-	buildInputs = [ ocaml findlib jbuilder opam ];
+	buildInputs = [ ocaml findlib jbuilder ];
 
 	propagatedBuildInputs = [ cstruct ];
 
diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix
index cfe3f37800de..6e68c87b5ff0 100644
--- a/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -22,10 +22,7 @@ stdenv.mkDerivation rec {
     ppx_sexp_conv ];
   propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt;
 
-  buildPhase = ''
-    LD_LIBRARY_PATH=${cpuid}/lib/ocaml/${ocaml.version}/site-lib/stubslibs/ \
-    ${topkg.buildPhase} --with-lwt ${boolToString withLwt}
-  '';
+  buildPhase = "${topkg.buildPhase} --with-lwt ${boolToString withLwt}";
   inherit (topkg) installPhase;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
index 556c343241c3..37c8c8f76c95 100644
--- a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, buildOcaml, ocaml, opam
+{ stdenv, fetchurl, buildOcaml, ocaml, opaline
 , calendar, eliom, js_of_ocaml-ppx_deriving_json
 }:
 
@@ -8,13 +8,13 @@ buildOcaml rec
  version = "1.1.0";
 
  propagatedBuildInputs = [ calendar eliom js_of_ocaml-ppx_deriving_json ];
- buildInputs = [ opam ];
+ buildInputs = [ opaline ];
 
  installPhase =
   ''
     export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
     make install
-    opam-installer --prefix=$out
+    opaline -prefix $out
   '';
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/ppx_import/default.nix b/pkgs/development/ocaml-modules/ppx_import/default.nix
index 991af1e41de1..3948cfce0e8e 100644
--- a/pkgs/development/ocaml-modules/ppx_import/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_import/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, buildOcaml, ocaml, opam,
+{stdenv, fetchFromGitHub, buildOcaml, ocaml, opaline,
  cppo, ppx_tools, ounit, ppx_deriving}:
 
 buildOcaml rec {
@@ -15,15 +15,12 @@ buildOcaml rec {
     sha256 = "14c2lp7r9080c4hsb1y1drbxxx3v44b7ib5wfh3kkh3f1jfsjwbk";
   };
 
-  buildInputs = [ cppo ounit ppx_deriving opam ];
+  buildInputs = [ cppo ounit ppx_deriving opaline ];
 
   doCheck = true;
   checkTarget = "test";
 
-  installPhase = ''
-    opam-installer --script --prefix=$out ppx_import.install | sh
-    ln -s $out/lib/ppx_import $out/lib/ocaml/${ocaml.version}/site-lib
-  '';
+  installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
 
   meta = with stdenv.lib; {
     description = "A syntax extension that allows to pull in types or signatures from other compiled interface files";
diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix
index 1f1781f5a65b..fa85f2174688 100644
--- a/pkgs/development/ocaml-modules/reactivedata/default.nix
+++ b/pkgs/development/ocaml-modules/reactivedata/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, react, opam }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, react, opaline }:
 
 assert stdenv.lib.versionAtLeast ocaml.version "3.11";
 
@@ -9,12 +9,12 @@ stdenv.mkDerivation {
     sha256 = "0wcs0z50nia1cpk8mh6i5qbc6sff9cc8x7s7q1q89d7m73bnv4vf";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
+  buildInputs = [ ocaml findlib ocamlbuild opaline ];
   propagatedBuildInputs = [ react ];
 
   buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
 
-  installPhase = "opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
+  installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
 
   meta = with stdenv.lib; {
     description = "An OCaml module for functional reactive programming (FRP) based on React";
diff --git a/pkgs/development/ocaml-modules/topkg/default.nix b/pkgs/development/ocaml-modules/topkg/default.nix
index 9a655e055131..3ff641ff93e5 100644
--- a/pkgs/development/ocaml-modules/topkg/default.nix
+++ b/pkgs/development/ocaml-modules/topkg/default.nix
@@ -5,7 +5,7 @@ The `buildPhase` and `installPhase` attributes can be reused directly
 in many cases. When more fine-grained control on how to run the “topkg”
 build system is required, the attribute `run` can be used.
 */
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, result, opam }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, result, opaline }:
 
 if !stdenv.lib.versionAtLeast ocaml.version "4.01"
 then throw "topkg is not available for OCaml ${ocaml.version}"
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   unpackCmd = "tar xjf ${src}";
   buildPhase = "${run} build";
   createFindlibDestdir = true;
-  installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
+  installPhase = "${opaline}/bin/opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
 
   passthru = { inherit run; };
 
diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix
index 6b27f00fb150..8fddf883da5d 100644
--- a/pkgs/development/ocaml-modules/uchar/default.nix
+++ b/pkgs/development/ocaml-modules/uchar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, ocamlbuild, opam }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-uchar-0.0.2";
@@ -9,15 +9,9 @@ stdenv.mkDerivation {
   };
 
   unpackCmd = "tar xjf $src";
-  buildInputs = [ ocaml ocamlbuild opam ];
+  buildInputs = [ ocaml ocamlbuild findlib opaline ];
   buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
-  installPhase = ''
-    opam-installer --script --prefix=$out uchar.install > install.sh
-    sh install.sh
-    mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/
-    ln -s $out/lib/uchar $out/lib/ocaml/${ocaml.version}/site-lib/
-  '';
-
+  installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
 
   meta = {
     description = "Compatibility library for OCaml’s Uchar module";
diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix
index 9d3a0b1bb4d0..a1765296d57d 100644
--- a/pkgs/development/ocaml-modules/xmlm/default.nix
+++ b/pkgs/development/ocaml-modules/xmlm/default.nix
@@ -4,38 +4,24 @@ let
   webpage = "http://erratique.ch/software/${pname}";
 in
 
-assert stdenv.lib.versionAtLeast ocaml.version "3.12";
-
-let param =
-  if stdenv.lib.versionAtLeast ocaml.version "4.02"
-  then {
-    version = "1.3.0";
-    sha256 = "1rrdxg5kh9zaqmgapy9bhdqyxbbvxxib3bdfg1vhw4rrkp1z0x8n";
-    buildInputs = [ topkg ];
-    inherit (topkg) buildPhase;
-  } else {
-    version = "1.2.0";
-    sha256 = "1jywcrwn5z3gkgvicr004cxmdaqfmq8wh72f81jqz56iyn5024nh";
-    buildInputs = [];
-    buildPhase = "./pkg/build true";
-  };
-in
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "xmlm is not available for OCaml ${ocaml.version}"
+else
 
 stdenv.mkDerivation rec {
-  name = "ocaml-${pname}-${version}";
-  inherit (param) version;
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "${webpage}/releases/${pname}-${version}.tbz";
-    inherit (param) sha256;
+    sha256 = "1rrdxg5kh9zaqmgapy9bhdqyxbbvxxib3bdfg1vhw4rrkp1z0x8n";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ] ++ param.buildInputs;
+  buildInputs = [ ocaml findlib ocamlbuild topkg ];
 
   unpackCmd = "tar xjf $src";
 
-  inherit (param) buildPhase;
-  inherit (topkg) installPhase;
+  inherit (topkg) buildPhase installPhase;
 
   meta = with stdenv.lib; {
     description = "An OCaml streaming codec to decode and encode the XML data format";
diff --git a/pkgs/development/perl-modules/BerkeleyDB/default.nix b/pkgs/development/perl-modules/BerkeleyDB/default.nix
index 72e27ab9a0dd..4566c04fcb6a 100644
--- a/pkgs/development/perl-modules/BerkeleyDB/default.nix
+++ b/pkgs/development/perl-modules/BerkeleyDB/default.nix
@@ -1,11 +1,11 @@
 {buildPerlPackage, fetchurl, db}:
 
 buildPerlPackage rec {
-  name = "BerkeleyDB-0.54";
-  
+  name = "BerkeleyDB-0.55";
+
   src = fetchurl {
     url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
-    sha256 = "010e66d0034b93a8397c600da320611149aef7861eaf1f93b95e49ae37b825b8";
+    sha256 = "0kz40wqr7qwag43qnmkpri03cjnqwzb0kj0vc9aw9yz2qx0y2a3g";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
index a136e61e5547..832cec169ba3 100644
--- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
+++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, buildPerlPackage, zlib, stdenv }:
 
 buildPerlPackage rec {
-  name = "Compress-Raw-Zlib-2.074";
+  name = "Compress-Raw-Zlib-2.081";
 
   src = fetchurl {
     url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
-    sha256 = "08bpx9v6i40n54rdcj6invlj294z20amrl8wvwf9b83aldwdwsd3";
+    sha256 = "06rsm9ahp20xfyvd3jc69sd0k8vqysryxc6apzdbn96jbcsdwmp1";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/perl-modules/DBD-Pg/default.nix b/pkgs/development/perl-modules/DBD-Pg/default.nix
index b9d287b2bf3c..f69ce015ed1c 100644
--- a/pkgs/development/perl-modules/DBD-Pg/default.nix
+++ b/pkgs/development/perl-modules/DBD-Pg/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, buildPerlPackage, DBI, postgresql }:
 
 buildPerlPackage rec {
-  name = "DBD-Pg-3.5.3";
+  name = "DBD-Pg-3.7.4";
 
   src = fetchurl {
     url = "mirror://cpan/authors/id/T/TU/TURNSTEP/${name}.tar.gz";
-    sha256 = "03m9w1cd0yyrbqwkwcl92j1cpmasmm69f3hwvcrlfsi5fnwsk63y";
+    sha256 = "0gkqlvbmzbdm0g4k328nlkjdg3wrjm5i2n9jxj1i8sqxkm79rylz";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix
index 2737ad95d4b7..5b6990810b39 100644
--- a/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix
@@ -1,12 +1,11 @@
 { stdenv, fetchurl, buildPerlPackage, DBI, sqlite }:
 
 buildPerlPackage rec {
-  name = "DBD-SQLite-${version}";
-  version = "1.55_07";
+  name = "DBD-SQLite-1.58";
 
   src = fetchurl {
-    url = "https://github.com/DBD-SQLite/DBD-SQLite/archive/${version}.tar.gz";
-    sha256 = "0213a31eb7b5afc2d7b3775ca2d1717d07fc7e9ed21ae73b2513a8d54ca222d8";
+    url = mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.58.tar.gz;
+    sha256 = "0fqx386jgs9mmrknr7smmzapf07izgivza7x08lfm39ks2cxs83i";
   };
 
   propagatedBuildInputs = [ DBI ];
@@ -19,23 +18,10 @@ buildPerlPackage rec {
 
   makeMakerFlags = "SQLITE_INC=${sqlite.dev}/include SQLITE_LIB=${sqlite.out}/lib";
 
-  preBuild =
-    ''
-      substituteInPlace Makefile --replace -L/usr/lib ""
-    '';
-
-  postInstall =
-    ''
-      # Prevent warnings from `strip'.
-      chmod -R u+w $out
-
-      # Get rid of a pointless copy of the SQLite sources.
-      rm -rf $out/lib/perl5/site_perl/*/*/auto/share
-    '';
-
-  # Disabled because the tests can randomly fail due to timeouts
-  # (e.g. "database is locked(5) at dbdimp.c line 402 at t/07busy.t").
-  #doCheck = false;
+  postInstall = ''
+    # Get rid of a pointless copy of the SQLite sources.
+    rm -rf $out/lib/perl5/site_perl/*/*/auto/share
+  '';
 
   meta = with stdenv.lib; {
     description = "Self Contained SQLite RDBMS in a DBI Driver";
diff --git a/pkgs/development/perl-modules/DBD-mysql/default.nix b/pkgs/development/perl-modules/DBD-mysql/default.nix
index 12ddcf166e25..2191c233d455 100644
--- a/pkgs/development/perl-modules/DBD-mysql/default.nix
+++ b/pkgs/development/perl-modules/DBD-mysql/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, buildPerlPackage, DBI, mysql }:
 
 buildPerlPackage rec {
-  name = "DBD-mysql-4.041";
+  name = "DBD-mysql-4.046";
 
   src = fetchurl {
-    url = "mirror://cpan/authors/id/M/MI/MICHIELB/${name}.tar.gz";
-    sha256 = "0h4h6zwzj8fwh9ljb8svnsa0a3ch4p10hp59kpdibdb4qh8xwxs7";
+    url = "mirror://cpan/authors/id/C/CA/CAPTTOFU/${name}.tar.gz";
+    sha256 = "1xziv9w87cl3fbl1mqkdrx28mdqly3gs6gs1ynbmpl2rr4p6arb1";
   };
 
   buildInputs = [ mysql.connector-c ] ;
diff --git a/pkgs/development/perl-modules/DBD-sybase/default.nix b/pkgs/development/perl-modules/DBD-sybase/default.nix
new file mode 100644
index 000000000000..ced458396da5
--- /dev/null
+++ b/pkgs/development/perl-modules/DBD-sybase/default.nix
@@ -0,0 +1,17 @@
+{ fetchurl, buildPerlPackage, DBI, freetds }:
+
+buildPerlPackage rec {
+  name = "DBD-Sybase-1.16";
+
+  src = fetchurl {
+    url = "mirror://cpan/authors/id/M/ME/MEWP/${name}.tar.gz";
+    sha256 = "1k6n261nrrcll9wxn5xwi4ibpavqv1il96687k62mbpznzl2gx37";
+  };
+
+  SYBASE = freetds;
+
+  buildInputs = [ freetds ] ;
+  propagatedBuildInputs = [ DBI ];
+
+  doCheck = false;
+}
diff --git a/pkgs/development/perl-modules/DB_File/default.nix b/pkgs/development/perl-modules/DB_File/default.nix
index 9d189de77c4e..b34ea3873660 100644
--- a/pkgs/development/perl-modules/DB_File/default.nix
+++ b/pkgs/development/perl-modules/DB_File/default.nix
@@ -1,11 +1,11 @@
 {fetchurl, buildPerlPackage, db}:
 
 buildPerlPackage rec {
-  name = "DB_File-1.831";
+  name = "DB_File-1.841";
 
   src = fetchurl {
     url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
-    sha256 = "0hq2vvcsa3nkb5bpcl0nkfsxhk8wyrsp3p3ara18rscrfd783hjs";
+    sha256 = "11fks42kgscpia0mxx4lc9krm7q4gv6w7m5h3m2jr3dl7viv36hn";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/perl-modules/Unicode-String-perl-5-22.patch b/pkgs/development/perl-modules/Unicode-String-perl-5-22.patch
deleted file mode 100644
index 08d0d13b41f0..000000000000
--- a/pkgs/development/perl-modules/Unicode-String-perl-5-22.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ru libunicode-string-perl-2.09.pristine/lib/Unicode/CharName.pm libunicode-string-perl-2.09/lib/Unicode/CharName.pm
---- libunicode-string-perl-2.09.pristine/lib/Unicode/CharName.pm	2005-10-25 19:11:00.000000000 +0100
-+++ libunicode-string-perl-2.09/lib/Unicode/CharName.pm	2012-01-24 12:56:59.730653088 +0000
-@@ -77,7 +77,7 @@
- 	    return join("", "HANGUL SYLLABLE ", @s)
- 	}
-     }
--    _init_names() unless defined %NAMES;
-+    _init_names() unless %NAMES;
-     $NAMES{sprintf("%04X",$code)}
- }
diff --git a/pkgs/development/perl-modules/gd-options-passthrough-and-fontconfig.patch b/pkgs/development/perl-modules/gd-options-passthrough-and-fontconfig.patch
deleted file mode 100644
index 24eab55f6eb5..000000000000
--- a/pkgs/development/perl-modules/gd-options-passthrough-and-fontconfig.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-This patch configures Getopt::Long to pass options
-so they will be available at the second GetOptions call.
-
-Also an option to specify the search path for libfontconfig
-is added.
-diff -Naur GD-2.45/Makefile.PL GD-2.45-patched/Makefile.PL
---- GD-2.45/Makefile.PL	2009-07-10 13:40:07.000000000 -0430
-+++ GD-2.45-patched/Makefile.PL	2010-11-26 22:48:52.372992578 -0430
-@@ -16,9 +16,9 @@
- my (@INC,@LIBPATH,@LIBS);
- my $AUTOCONFIG = 0;      # global set by try_to_autoconfigure() below
- 
--my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force);
-+my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$lib_fontconfig_path,$force);
- 
--use Getopt::Long;
-+use Getopt::Long qw(:config pass_through);
- GetOptions("ignore_missing_gd" => \$force);
- 
- unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS) || $force) {
-@@ -49,6 +49,7 @@
- 			"lib_jpeg_path=s" => \$lib_jpeg_path,
- 			"lib_xpm_path=s"  => \$lib_xpm_path,
- 			"lib_zlib_path=s" => \$lib_zlib_path,
-+                        "lib_fontconfig_path=s" => \$lib_fontconfig_path,
- 		       );
- unless ($result) {
-   print STDERR <<END;
-@@ -64,6 +65,7 @@
-      -lib_jpeg_path path            path to libjpeg
-      -lib_xpm_path  path            path to libxpm
-      -lib_zlib_path path            path to libpng
-+     -lib_fontconfig_path path      path to libfontconfig
-      -ignore_missing_gd             Ignore missing or old libgd installations and try to compile anyway
- 
- If no options are passed on the command line.  The program will
-@@ -111,6 +113,12 @@
-     @INC     = ("-I$lib_zlib_path/include", @INC);
-     @LIBPATH = ("-L$lib_zlib_path/lib", @LIBPATH); 
- }
-+if( defined($lib_fontconfig_path) ) 
-+{
-+    print "Fontconfig library used from:     $lib_fontconfig_path\n";
-+    @INC     = ("-I$lib_fontconfig_path/include", @INC);
-+    @LIBPATH = ("-L$lib_fontconfig_path/lib", @LIBPATH); 
-+}
- #############################################################################################
- 
- if ($^O eq 'VMS'){
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index a9488b540e28..88709949aee4 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -11,7 +11,19 @@
 , ncurses
 }:
 
-buildPythonPackage rec {
+let
+  excludedTests = []
+    # cython's testsuite is not working very well with libc++
+    # We are however optimistic about things outside of testsuite still working
+    ++ stdenv.lib.optionals (stdenv.cc.isClang or false) [ "cpdef_extern_func" "libcpp_algo" ]
+    # Some tests in the test suite isn't working on aarch64. Disable them for
+    # now until upstream finds a workaround.
+    # Upstream issue here: https://github.com/cython/cython/issues/2308
+    ++ stdenv.lib.optionals stdenv.isAarch64 [ "numpy_memoryview" ]
+    ++ stdenv.lib.optionals stdenv.isi686 [ "future_division" "overflow_check_longlong" ]
+  ;
+
+in buildPythonPackage rec {
   pname = "Cython";
   version = "0.28.2";
 
@@ -29,12 +41,11 @@ buildPythonPackage rec {
   buildInputs = [ glibcLocales gdb ];
   LC_ALL = "en_US.UTF-8";
 
-  # cython's testsuite is not working very well with libc++
-  # We are however optimistic about things outside of testsuite still working
   checkPhase = ''
     export HOME="$NIX_BUILD_TOP"
     ${python.interpreter} runtests.py \
-      ${if stdenv.cc.isClang or false then ''--exclude="(cpdef_extern_func|libcpp_algo)"'' else ""}
+      ${stdenv.lib.optionalString (builtins.length excludedTests != 0)
+        ''--exclude="(${builtins.concatStringsSep "|" excludedTests})"''}
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/amazon_kclpy/default.nix b/pkgs/development/python-modules/amazon_kclpy/default.nix
new file mode 100644
index 000000000000..a405b575b253
--- /dev/null
+++ b/pkgs/development/python-modules/amazon_kclpy/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, python, mock, boto, pytest }:
+
+buildPythonPackage rec {
+  pname = "amazon_kclpy";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "awslabs";
+    repo = "amazon-kinesis-client-python";
+    rev = "v${version}";
+    sha256 = "1qg86y9172gm5592ja7lr6w7kfnx668j99bf3ijklpk5yshxwr9m";
+  };
+
+  # argparse is just required for python2.6
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace "'argparse'," ""
+  '';
+
+  propagatedBuildInputs =  [ mock boto ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    ${python.interpreter} -m pytest
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Amazon Kinesis Client Library for Python";
+    homepage = https://github.com/awslabs/amazon-kinesis-client-python;
+    license = licenses.amazonsl;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
diff --git a/pkgs/development/python-modules/autograd/default.nix b/pkgs/development/python-modules/autograd/default.nix
new file mode 100644
index 000000000000..1c3c1fdefbea
--- /dev/null
+++ b/pkgs/development/python-modules/autograd/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, numpy, future, nose }:
+
+buildPythonPackage rec {
+  pname = "autograd";
+  version = "1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zd4lhz9dpll4i63jjijbzkzbgmg8h88il7lr7kmcylvadnzm2x0";
+  };
+
+  propagatedBuildInputs = [ numpy future ];
+
+  # Currently, the PyPI tarball doesn't contain the tests. When that has been
+  # fixed, enable testing. See: https://github.com/HIPS/autograd/issues/404
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/HIPS/autograd;
+    description = "Compute derivatives of NumPy code efficiently";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/cairocffi/cairocffi-0.8.1-cairo-1.15.12.patch b/pkgs/development/python-modules/cairocffi/cairocffi-0.8.1-cairo-1.15.12.patch
new file mode 100644
index 000000000000..4d142275b9e8
--- /dev/null
+++ b/pkgs/development/python-modules/cairocffi/cairocffi-0.8.1-cairo-1.15.12.patch
@@ -0,0 +1,24 @@
+diff --git a/cairocffi/test_cairo.py b/cairocffi/test_cairo.py
+index 1588349..5452910 100644
+--- a/cairocffi/test_cairo.py
++++ b/cairocffi/test_cairo.py
+@@ -292,7 +292,8 @@ def test_pdf_surface():
+         pdf_bytes = file_obj.getvalue()
+         assert pdf_bytes.startswith(b'%PDF')
+         assert b'/MediaBox [ 0 0 123 432 ]' in pdf_bytes
+-        assert pdf_bytes.count(b'/Type /Page\n') == 1
++        assert pdf_bytes.count(b'/Type /Pages') == 1
++        assert pdf_bytes.count(b'/Type /Page') == 2
+ 
+     file_obj = io.BytesIO()
+     surface = PDFSurface(file_obj, 1, 1)
+@@ -306,7 +307,8 @@ def test_pdf_surface():
+     assert b'/MediaBox [ 0 0 1 1 ]' not in pdf_bytes
+     assert b'/MediaBox [ 0 0 12 100 ]' in pdf_bytes
+     assert b'/MediaBox [ 0 0 42 700 ]' in pdf_bytes
+-    assert pdf_bytes.count(b'/Type /Page\n') == 2
++    assert pdf_bytes.count(b'/Type /Pages') == 1
++    assert pdf_bytes.count(b'/Type /Page') == 3
+ 
+ 
+ def test_svg_surface():
diff --git a/pkgs/development/python-modules/cairocffi/default.nix b/pkgs/development/python-modules/cairocffi/default.nix
index a8a8ac110f10..13d00d0529c0 100644
--- a/pkgs/development/python-modules/cairocffi/default.nix
+++ b/pkgs/development/python-modules/cairocffi/default.nix
@@ -1,5 +1,6 @@
 # FIXME: make gdk_pixbuf dependency optional
-{ buildPythonPackage
+{ stdenv
+, buildPythonPackage
 , fetchPypi
 , lib
 , substituteAll
@@ -16,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "cairocffi";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0i9m3p39g9wrkpjvpawch2qmnmm3cnim7niz3nmmbcp2hrkixwk5";
+    sha256 = "0y373vafv7q35msg7gqdn7niifr3j4j4n070hflxshahs59irss7";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -42,11 +43,13 @@ buildPythonPackage rec {
     # OSError: dlopen() failed to load a library: gdk_pixbuf-2.0 / gdk_pixbuf-2.0-0
     (substituteAll {
       src = ./dlopen-paths.patch;
+      ext = stdenv.hostPlatform.extensions.sharedLibrary;
       cairo = cairo.out;
       glib = glib.out;
       gdk_pixbuf = gdk_pixbuf.out;
     })
     ./fix_test_scaled_font.patch
+    ./cairocffi-0.8.1-cairo-1.15.12.patch
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/cairocffi/dlopen-paths.patch b/pkgs/development/python-modules/cairocffi/dlopen-paths.patch
index bc5e939ceba9..862f7bd4bf7c 100644
--- a/pkgs/development/python-modules/cairocffi/dlopen-paths.patch
+++ b/pkgs/development/python-modules/cairocffi/dlopen-paths.patch
@@ -16,10 +16,10 @@ index 718aa7f..1a1dcff 100644
  
 +# Use hardcoded soname, because ctypes.util use gcc/objdump which shouldn't be required for runtime
 +_LIBS = {
-+    'cairo': '@cairo@/lib/libcairo.so.2',
-+    'glib-2.0': '@glib@/lib/libglib-2.0.so.0',
-+    'gobject-2.0': '@glib@/lib/libgobject-2.0.so.0',
-+    'gdk_pixbuf-2.0': '@gdk_pixbuf@/lib/libgdk_pixbuf-2.0.so.0',
++    'cairo': '@cairo@/lib/libcairo@ext@',
++    'glib-2.0': '@glib@/lib/libglib-2.0@ext@',
++    'gobject-2.0': '@glib@/lib/libgobject-2.0@ext@',
++    'gdk_pixbuf-2.0': '@gdk_pixbuf@/lib/libgdk_pixbuf-2.0@ext@',
 +}
  
 -def dlopen(ffi, *names):
diff --git a/pkgs/development/python-modules/detox/default.nix b/pkgs/development/python-modules/detox/default.nix
index ea50eebb38cb..7c3aa87e9b89 100644
--- a/pkgs/development/python-modules/detox/default.nix
+++ b/pkgs/development/python-modules/detox/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "detox";
-  version = "0.11";
+  version = "0.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4719ca48c4ea5ffd908b1bc3d5d1b593b41e71dee17180d58d8a3e7e8f588d45";
+    sha256 = "06svvkszg6xlg0fr471smn4rmpfga960d6qqsyhyiwa48k59n4gk";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/envs/default.nix b/pkgs/development/python-modules/envs/default.nix
index 7b6159d0e616..43446b407af6 100644
--- a/pkgs/development/python-modules/envs/default.nix
+++ b/pkgs/development/python-modules/envs/default.nix
@@ -1,16 +1,13 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib, buildPythonPackage, fetchPypi
 , click, jinja2, terminaltables }:
 
 buildPythonPackage rec {
   pname = "envs";
-  version = "1.2.4";
+  version = "1.2.6";
 
-  # move to fetchPyPi when https://github.com/capless/envs/issues/8 is fixed
-  src = fetchFromGitHub {
-    owner  = "capless";
-    repo   = "envs";
-    rev    = "e1f6cbad7f20316fc44324d2c50826d57c2817a8";
-    sha256 = "0p88a79amj0jxll3ssq1dzg78y7zwgc8yqyr7cf53nv2i7kmpakv";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5fe059d6df1ae01c422d32b10ec7f539baad0e7d339f4c8b2de4ad8cbb07c8ba";
   };
 
   checkInputs = [ click jinja2 terminaltables ];
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
index 54cfb5dc93ba..144e826b675d 100644
--- a/pkgs/development/python-modules/h5py/default.nix
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchPypi, fetchpatch, python, buildPythonPackage
-, numpy, hdf5, cython, six, pkgconfig
+{ stdenv, fetchPypi, fetchpatch, isPy27, python, buildPythonPackage
+, numpy, hdf5, cython, six, pkgconfig, unittest2
 , mpi4py ? null, openssh }:
 
 assert hdf5.mpiSupport -> mpi4py != null && hdf5.mpi == mpi4py.mpi;
@@ -10,12 +10,12 @@ let
   mpi = hdf5.mpi;
   mpiSupport = hdf5.mpiSupport;
 in buildPythonPackage rec {
-  version = "2.7.1";
+  version = "2.8.0";
   pname = "h5py";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "180a688311e826ff6ae6d3bda9b5c292b90b28787525ddfcb10a29d5ddcae2cc";
+    sha256 = "0mdr6wrq02ac93m1aqx9kad0ppfzmm4imlxqgyy1x4l7hmdcc9p6";
   };
 
   configure_flags = "--hdf5=${hdf5}" + optionalString mpiSupport " --mpi";
@@ -30,18 +30,13 @@ in buildPythonPackage rec {
 
   preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
 
+  checkInputs = optional isPy27 unittest2;
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ hdf5 cython ]
     ++ optional mpiSupport mpi;
   propagatedBuildInputs = [ numpy six]
     ++ optionals mpiSupport [ mpi4py openssh ];
 
-  patches = [
-    # Patch is based on upstream patch. The tox.ini hunk had to be removed.
-    # https://github.com/h5py/h5py/commit/5009e062a6f7d4e074cab0fcb42a780ac2b1d7d4.patch
-    ./numpy-1.14.patch
-  ];
-
   meta = {
     description =
       "Pythonic interface to the HDF5 binary data format";
diff --git a/pkgs/development/python-modules/h5py/numpy-1.14.patch b/pkgs/development/python-modules/h5py/numpy-1.14.patch
deleted file mode 100644
index e1db7e05808d..000000000000
--- a/pkgs/development/python-modules/h5py/numpy-1.14.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 5009e062a6f7d4e074cab0fcb42a780ac2b1d7d4 Mon Sep 17 00:00:00 2001
-From: James Tocknell <aragilar@gmail.com>
-Date: Thu, 28 Dec 2017 20:55:55 +1100
-Subject: [PATCH] FIX: Don't reorder compound types, breaks on numpy 1.14
-
----
- h5py/h5t.pyx | 25 +++++++------------------
- setup.py     |  2 +-
- tox.ini      |  4 ++--
- 3 files changed, 10 insertions(+), 21 deletions(-)
-
-diff --git a/h5py/h5t.pyx b/h5py/h5t.pyx
-index cc2344e1..7445e9eb 100644
---- a/h5py/h5t.pyx
-+++ b/h5py/h5t.pyx
-@@ -1136,12 +1136,6 @@ cdef class TypeCompoundID(TypeCompositeID):
-         else:
-             if sys.version[0] == '3':
-                 field_names = [x.decode('utf8') for x in field_names]
--            if len(field_names) > 0:
--                collated_fields = zip(field_names, field_types, field_offsets)
--                ordered_fields = sorted(
--                    collated_fields, key=operator.itemgetter(2))
--                field_names, field_types, field_offsets = \
--                    map(list, zip(*ordered_fields))
-             typeobj = dtype({
-                 'names': field_names,
-                 'formats': field_types,
-@@ -1458,8 +1452,7 @@ cdef TypeCompoundID _c_compound(dtype dt, int logical, int aligned):
-     cdef dtype member_dt
-     cdef size_t member_offset = 0
- 
--    cdef dict offsets = {}
--    cdef list fields = []
-+    cdef dict fields = {}
- 
-     # The challenge with correctly converting a numpy/h5py dtype to a HDF5 type
-     # which is composed of subtypes has three aspects we must consider
-@@ -1468,19 +1461,14 @@ cdef TypeCompoundID _c_compound(dtype dt, int logical, int aligned):
-     # 2. For correct round-tripping of aligned dtypes, we need to consider how
-     #   much padding we need by looking at the field offsets
-     # 3. There is no requirement that the offsets be monotonically increasing
--    #  (so we start by sorting the names as a function of increasing offset)
-     #
-     # The code below tries to cover these aspects
- 
--    # Get offsets for each compound member
--    for name, field in dt.fields.items():
--        offsets[name] = field[1]
--
-     # Build list of names, offsets, and types, sorted by increasing offset
-     # (i.e. the position of the member in the struct)
--    for name in sorted(dt.names, key=offsets.__getitem__):
-+    for name in sorted(dt.names, key=(lambda n: dt.fields[n][1])):
-         field = dt.fields[name]
--        name = name.encode('utf8') if isinstance(name, unicode) else name
-+        h5_name = name.encode('utf8') if isinstance(name, unicode) else name
- 
-         # Get HDF5 data types and set the offset for each member
-         member_dt = field[0]
-@@ -1489,7 +1477,7 @@ cdef TypeCompoundID _c_compound(dtype dt, int logical, int aligned):
-         if aligned and (member_offset > field[1]
-                         or member_dt.itemsize != member_type.get_size()):
-             raise TypeError("Enforced alignment not compatible with HDF5 type")
--        fields.append((name, member_offset, member_type))
-+        fields[name] = (h5_name, member_offset, member_type)
- 
-         # Update member offset based on the HDF5 type size
-         member_offset += member_type.get_size()
-@@ -1500,8 +1488,9 @@ cdef TypeCompoundID _c_compound(dtype dt, int logical, int aligned):
- 
-     # Create compound with the necessary size, and insert its members
-     tid = H5Tcreate(H5T_COMPOUND, member_offset)
--    for (name, member_offset, member_type) in fields:
--        H5Tinsert(tid, name, member_offset, member_type.id)
-+    for name in dt.names:
-+        h5_name, member_offset, member_type = fields[name]
-+        H5Tinsert(tid, h5_name, member_offset, member_type.id)
- 
-     return TypeCompoundID(tid)
- 
-diff --git a/setup.py b/setup.py
-index ec2a78a7..bbb086f6 100755
---- a/setup.py
-+++ b/setup.py
-@@ -32,7 +32,7 @@
- # these are required to build h5py
- # RUN_REQUIRES is included as setup.py test needs RUN_REQUIRES for testing
- # RUN_REQUIRES can be removed when setup.py test is removed
--SETUP_REQUIRES = RUN_REQUIRES + [NUMPY_DEP, 'Cython>=0.19', 'pkgconfig']
-+SETUP_REQUIRES = RUN_REQUIRES + [NUMPY_DEP, 'Cython>=0.23', 'pkgconfig']
- 
- # Needed to avoid trying to install numpy/cython on pythons which the latest
- # versions don't support
diff --git a/pkgs/development/python-modules/jira/default.nix b/pkgs/development/python-modules/jira/default.nix
index 2a1abe7b59ce..ac4f45f4e9d3 100644
--- a/pkgs/development/python-modules/jira/default.nix
+++ b/pkgs/development/python-modules/jira/default.nix
@@ -1,29 +1,35 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k
 , pytest, pytestrunner, pbr, glibcLocales , pytestcov
-, requests, requests_oauthlib, requests_toolbelt, defusedxml }:
+, requests, requests_oauthlib, requests_toolbelt, defusedxml
+, ipython
+}:
 
 buildPythonPackage rec {
   pname = "jira";
   version = "1.0.15";
 
+  PBR_VERSION = version;
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "20108a1d5b0dd058d5d4e0047f2d09ee06aaa413b22ca4d5c249e86167417fe8";
   };
 
   buildInputs = [ glibcLocales pytest pytestcov pytestrunner pbr ];
-  propagatedBuildInputs = [ requests requests_oauthlib requests_toolbelt defusedxml ];
+  propagatedBuildInputs = [ requests requests_oauthlib requests_toolbelt defusedxml pbr ipython ];
+
+  # impure tests because of connectivity attempts to jira servers
+  doCheck = false;
+
+  patches = [ ./sphinx-fix.patch ];
 
   LC_ALL = "en_US.utf8";
 
   disabled = !isPy3k;
 
-  # no tests in release tarball
-  doCheck = false;
-
   meta = with lib; {
     description = "This library eases the use of the JIRA REST API from Python.";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ globin ];
+    maintainers = with maintainers; [ globin ma27 ];
   };
 }
diff --git a/pkgs/development/python-modules/jira/sphinx-fix.patch b/pkgs/development/python-modules/jira/sphinx-fix.patch
new file mode 100644
index 000000000000..ccc47ac4b9cf
--- /dev/null
+++ b/pkgs/development/python-modules/jira/sphinx-fix.patch
@@ -0,0 +1,11 @@
+diff --git a/setup.py b/setup.py
+index c49a24d..31aeec2 100644
+--- a/setup.py
++++ b/setup.py
+@@ -11,5 +11,5 @@ except ImportError:
+ 
+ 
+ setuptools.setup(
+-    setup_requires=['pbr>=3.0.0', 'setuptools>=17.1', 'pytest-runner', 'sphinx>=1.6.5'],
++    setup_requires=['pbr>=3.0.0', 'setuptools>=17.1', 'pytest-runner'],
+     pbr=True)
diff --git a/pkgs/development/python-modules/libvirt/default.nix b/pkgs/development/python-modules/libvirt/default.nix
index d120c38b02cb..65e8f3c7ba6c 100644
--- a/pkgs/development/python-modules/libvirt/default.nix
+++ b/pkgs/development/python-modules/libvirt/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "libvirt";
-  version = "4.1.0";
+  version = "4.4.0";
 
   src = assert version == libvirt.version; fetchgit {
     url = git://libvirt.org/libvirt-python.git;
     rev = "v${version}";
-    sha256 = "0z87y6qr0ypdxfanphxl7yanisd7a0b0bwhg97kii68mig5dlw9r";
+    sha256 = "01kwwwacbq7kbsslb2ac3wwfs4r8nsv7jhn0df2mmff30izbhq34";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index 5ce05b7938f5..65cdf79059df 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "0.600";
+  version = "0.610";
 
   # Tests not included in pip package.
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1pd3kkz435wlvi9fwqbi3xag5zs59jcjqi6c9gzdjdn23friq9dw";
+    sha256 = "0fc7h7hf9042nlqczdvj2ngz2hc7rcnd35qz5pb840j38x9n8wpl";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
index cb7635522621..e45c69aa3954 100644
--- a/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "0.6.5";
+  version = "0.6.6";
   name = "${pname}-${version}";
 
   # Tests aren't included in PyPI tarball.
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     name = "${name}.tar.bz2";
     url = "https://dev.gajim.org/gajim/python-nbxmpp/repository/archive.tar.bz2?"
         + "ref=${name}";
-    sha256 = "0b7jw07s4mnp20gcg8raw4bhw2h1hxf75cbn4f2ynj69fbpfr38h";
+    sha256 = "10n7z613p00q15dplsvdrz11s9yq26jy2qack6nd8k7fivfhlcmz";
   };
 
   propagatedBuildInputs = [ pyopenssl ];
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 3f9188a6322a..cb497742e47a 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -55,6 +55,8 @@ in buildPythonPackage rec {
     xlwt
   ];
 
+  patches = [ ./pandas-0.22.0-pytest-3.5.1.patch ];
+
   # For OSX, we need to add a dependency on libcxx, which provides
   # `complex.h` and other libraries that pandas depends on to build.
   postPatch = optionalString isDarwin ''
diff --git a/pkgs/development/python-modules/pandas/pandas-0.22.0-pytest-3.5.1.patch b/pkgs/development/python-modules/pandas/pandas-0.22.0-pytest-3.5.1.patch
new file mode 100644
index 000000000000..cba71b91316a
--- /dev/null
+++ b/pkgs/development/python-modules/pandas/pandas-0.22.0-pytest-3.5.1.patch
@@ -0,0 +1,13 @@
+--- a/pandas/tests/io/test_pytables.py
++++ b/pandas/tests/io/test_pytables.py
+@@ -5028,8 +5028,8 @@ class TestHDFStore(Base):
+             with ensure_clean_path(self.path) as path:
+                 with catch_warnings(record=True):
+                     with pytest.raises(
+-                        ValueError, msg=("cannot have non-object label "
+-                                         "DataIndexableCol")):
++                        ValueError, message=("cannot have non-object label "
++                                             "DataIndexableCol")):
+                         df.to_hdf(path, 'df', format='table',
+                                   data_columns=True)
+ 
diff --git a/pkgs/development/python-modules/pvlib/default.nix b/pkgs/development/python-modules/pvlib/default.nix
new file mode 100644
index 000000000000..296b20fac4a2
--- /dev/null
+++ b/pkgs/development/python-modules/pvlib/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, numpy, pandas, pytz, six, pytest }:
+
+buildPythonPackage rec {
+  pname = "pvlib";
+  version = "0.5.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1897v9qq97nk5n0hfm9089yz8pffd42795mnhcyq48g9bsyap1xi";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ numpy pandas pytz six ];
+
+  # Currently, the PyPI tarball doesn't contain the tests. When that has been
+  # fixed, enable testing. See: https://github.com/pvlib/pvlib-python/issues/473
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://pvlib-python.readthedocs.io;
+    description = "Simulate the performance of photovoltaic energy systems";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyezminc/default.nix b/pkgs/development/python-modules/pyezminc/default.nix
new file mode 100644
index 000000000000..614a1555cbef
--- /dev/null
+++ b/pkgs/development/python-modules/pyezminc/default.nix
@@ -0,0 +1,33 @@
+{ buildPythonPackage, isPy3k, fetchFromGitHub, stdenv,
+  netcdf, hdf5, libminc, ezminc,
+  cython, numpy, scipy
+}:
+
+buildPythonPackage rec {
+  pname = "pyezminc";
+  version = "1.2.01";
+ 
+  disabled = isPy3k;
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = "pyezminc";
+    rev    = "release-${version}";
+    sha256 = "13smvramacisbwj8qsl160dnvv6ynngn1jmqwhvy146nmadphyv1";
+  };
+
+  nativeBuildInputs = [ cython ];
+  buildInputs = [ netcdf hdf5 libminc ezminc ];
+  propagatedBuildInputs = [ numpy scipy ];
+
+  NIX_CFLAGS_COMPILE = "-fpermissive";
+
+  doCheck = false;  # e.g., expects test data in /opt
+
+  meta = {
+    homepage = https://github.com/BIC-MNI/pyezminc;
+    description = "Python API for libminc using EZMINC";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/pykdtree/default.nix b/pkgs/development/python-modules/pykdtree/default.nix
new file mode 100644
index 000000000000..86524b6002d6
--- /dev/null
+++ b/pkgs/development/python-modules/pykdtree/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, numpy, nose, openmp }:
+
+buildPythonPackage rec {
+  pname = "pykdtree";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "79351b79087f473f83fb27a5cd552bd1056f2dfa7acec5d4a68f35a7cbea6776";
+  };
+
+  buildInputs = [ openmp ];
+
+  propagatedBuildInputs = [ numpy ];
+
+  checkInputs = [ nose ];
+
+  meta = with stdenv.lib; {
+    description = "kd-tree implementation for fast nearest neighbour search in Python";
+    homepage = https://github.com/storpipfugl/pykdtree;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
index c9b89ff7616a..9c6b84e8c7ac 100644
--- a/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -2,7 +2,7 @@
 , lib
 , fetchurl
 , buildPythonPackage
-, isPy3k, isPy36, pythonOlder
+, isPy3k, isPy35, isPy36, pythonOlder
 , numpy
 , six
 , protobuf
@@ -12,20 +12,40 @@
 , enum34
 , tensorflow-tensorboard
 , cudaSupport ? false
+, cudatoolkit ? null
+, cudnn ? null
+, nvidia_x11 ? null
+, zlib
+, python
+, symlinkJoin
 }:
 
-# tensorflow is built from a downloaded wheel because the source
-# build doesn't yet work on Darwin.
+# We keep this binary build for two reasons:
+# - the source build doesn't work on Darwin.
+# - the source build is currently brittle and not easy to maintain
 
-buildPythonPackage rec {
+assert cudaSupport -> cudatoolkit != null
+                   && cudnn != null
+                   && nvidia_x11 != null;
+let
+  cudatoolkit_joined = symlinkJoin {
+    name = "unsplit_cudatoolkit";
+    paths = [ cudatoolkit.out
+              cudatoolkit.lib ];};
+
+in buildPythonPackage rec {
   pname = "tensorflow";
-  version = "1.5.0";
+  version = "1.7.1";
   format = "wheel";
 
-  src = fetchurl {
-    url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-${version}-py3-none-any.whl";
-    sha256 = "1mapv45n9wmgcq3i3im0pv0gmhwkxw5z69nsnxb1gfxbj1mz5h9m";
-  };
+  src = let
+    pyVerNoDot = lib.strings.stringAsChars (x: if x == "." then "" else x) "${python.majorVersion}";
+    version = if stdenv.isDarwin then builtins.substring 0 1 pyVerNoDot else pyVerNoDot;
+    platform = if stdenv.isDarwin then "mac" else "linux";
+    unit = if cudaSupport then "gpu" else "cpu";
+    key = "${platform}_py_${version}_${unit}";
+    dls = import ./tf1.7.1-hashes.nix;
+  in fetchurl dls.${key};
 
   propagatedBuildInputs = [ numpy six protobuf absl-py ]
                  ++ lib.optional (!isPy3k) mock
@@ -38,14 +58,28 @@ buildPythonPackage rec {
   # bleach) Hence we disable dependency checking for now.
   installFlags = lib.optional isPy36 "--no-dependencies";
 
+  # Note that we need to run *after* the fixup phase because the
+  # libraries are loaded at runtime. If we run in preFixup then
+  # patchelf --shrink-rpath will remove the cuda libraries.
+  postFixup = let
+    rpath = stdenv.lib.makeLibraryPath
+      ([ stdenv.cc.cc.lib zlib ] ++ lib.optionals cudaSupport [ cudatoolkit_joined cudnn nvidia_x11 ]);
+  in
+  lib.optionalString (stdenv.isLinux) ''
+    rrPath="$out/${python.sitePackages}/tensorflow/:${rpath}"
+    internalLibPath="$out/${python.sitePackages}/tensorflow/python/_pywrap_tensorflow_internal.so"
+    find $out -name '*.${stdenv.hostPlatform.extensions.sharedLibrary}' -exec patchelf --set-rpath "$rrPath" {} \;
+  '';
+
+
   meta = with stdenv.lib; {
     description = "Computation using data flow graphs for scalable machine learning";
     homepage = http://tensorflow.org;
     license = licenses.asl20;
     maintainers = with maintainers; [ jyp abbradar ];
-    platforms = platforms.darwin;
+    platforms = with platforms; linux ++ lib.optionals (!cudaSupport) darwin;
     # Python 2.7 build uses different string encoding.
     # See https://github.com/NixOS/nixpkgs/pull/37044#issuecomment-373452253
-    broken = cudaSupport || !isPy3k;
+    broken = stdenv.isDarwin && !isPy3k;
   };
 }
diff --git a/pkgs/development/python-modules/tensorflow/prefetcher.sh b/pkgs/development/python-modules/tensorflow/prefetcher.sh
new file mode 100644
index 000000000000..ba9aa0bdf356
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow/prefetcher.sh
@@ -0,0 +1,29 @@
+version=1.7.1
+hashfile=tf${version}-hashes.nix
+rm -f $hashfile
+echo "{" >> $hashfile
+for sys in "linux" "mac"; do
+    for tfpref in "cpu/tensorflow" "gpu/tensorflow_gpu"; do
+        for pykind in "py2-none-any" "py3-none-any" "cp27-none-linux_x86_64" "cp35-cp35m-linux_x86_64" "cp36-cp36m-linux_x86_64"; do
+            if [ $sys == "mac" ]; then
+               [[ $pykind =~ py.* ]] && [[ $tfpref =~ cpu.* ]]
+               result=$?
+               pyver=${pykind:2:1}
+               flavour=cpu
+            else
+               [[ $pykind =~ .*linux.* ]]
+               result=$?
+               pyver=${pykind:2:2}
+               flavour=${tfpref:0:3}
+            fi
+            if [ $result == 0 ]; then
+                url=https://storage.googleapis.com/tensorflow/$sys/$tfpref-$version-$pykind.whl
+                hash=$(nix-prefetch-url $url)
+                echo "${sys}_py_${pyver}_${flavour} = {" >> $hashfile
+                echo "  url = \"$url\";" >> $hashfile
+                echo "  sha256 = \"$hash\";" >> $hashfile
+                echo "};" >> $hashfile
+            fi
+        done
+    done
+done
diff --git a/pkgs/development/python-modules/tensorflow/tf1.7.1-hashes.nix b/pkgs/development/python-modules/tensorflow/tf1.7.1-hashes.nix
new file mode 100644
index 000000000000..c9ed7c182644
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow/tf1.7.1-hashes.nix
@@ -0,0 +1,34 @@
+{
+linux_py_27_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.7.1-cp27-none-linux_x86_64.whl";
+  sha256 = "0p8n5x74qmdv9g63y176xqpfdc1gawzjysn79bvk46knrks3pa2b";
+};
+linux_py_35_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.7.1-cp35-cp35m-linux_x86_64.whl";
+  sha256 = "050qv8fjpnw2y8da7s910jv4nsxg56d3xdpl09jim47kbwqabr5m";
+};
+linux_py_36_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.7.1-cp36-cp36m-linux_x86_64.whl";
+  sha256 = "00d5cij1mh64hh0zc2qfl8z2hpr3nna6lhpsc6qh4am1g7wz4ndn";
+};
+linux_py_27_gpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.7.1-cp27-none-linux_x86_64.whl";
+  sha256 = "0ami6nlp9cwg631a8f5rfpzpwb9ls9zxhsx61cimw46xljx3l2b5";
+};
+linux_py_35_gpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.7.1-cp35-cp35m-linux_x86_64.whl";
+  sha256 = "1xfc8dww52fy8g4b0j8r20q7yj2bfg20hlk9p7sk3k9z8swfw0kc";
+};
+linux_py_36_gpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.7.1-cp36-cp36m-linux_x86_64.whl";
+  sha256 = "1kkqx8m7h03b8l9l6dki4g4r7sgi3wbb4dp9gvk6l08n4vnlvc50";
+};
+mac_py_2_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.7.1-py2-none-any.whl";
+  sha256 = "1icbsvvwkkc09s6bdd43drvnhc6v6xmnqwjzipgc8rmpj1z71yz5";
+};
+mac_py_3_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.7.1-py3-none-any.whl";
+  sha256 = "0s5dy956jvwazqflc90v15i912zvhwsbzlf0cl8k7isq52j6g3kp";
+};
+}
diff --git a/pkgs/development/python-modules/trustme/default.nix b/pkgs/development/python-modules/trustme/default.nix
index 0c3ccb5258e7..db966ed4421e 100644
--- a/pkgs/development/python-modules/trustme/default.nix
+++ b/pkgs/development/python-modules/trustme/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, cryptography, pytest, pyopenssl, service-identity }:
+{ lib, buildPythonPackage, fetchPypi, isPy3k, cryptography, futures, pytest, pyopenssl, service-identity }:
 
 buildPythonPackage rec {
   pname = "trustme";
@@ -15,6 +15,8 @@ buildPythonPackage rec {
   '';
   propagatedBuildInputs = [
     cryptography
+  ] ++ lib.optionals (!isPy3k) [
+    futures
   ];
 
   meta = {
diff --git a/pkgs/development/python-modules/typing-extensions/default.nix b/pkgs/development/python-modules/typing-extensions/default.nix
new file mode 100644
index 000000000000..de06ddbe2ce5
--- /dev/null
+++ b/pkgs/development/python-modules/typing-extensions/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy3k, python, typing }:
+let
+  testDir = if isPy3k then "src_py3" else "src_py2";
+
+in buildPythonPackage rec {
+  pname = "typing_extensions";
+  version = "3.6.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09xxykw8mk30r0g33r2gy5qlqw3sqj5vkp6h7nh0flp59hxqw2hw";
+  };
+
+  checkInputs = lib.optional (pythonOlder "3.5") typing;
+
+  # Error for Python3.6: ImportError: cannot import name 'ann_module'
+  # See https://github.com/python/typing/pull/280
+  doCheck = pythonOlder "3.6";
+
+  checkPhase = ''
+    cd ${testDir}
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = with lib; {
+    description = "Backported and Experimental Type Hints for Python 3.5+";
+    homepage = https://github.com/python/typing;
+    license = licenses.psfl;
+    maintainers = with maintainers; [ pmiddend ];
+  };
+}
diff --git a/pkgs/development/python-modules/voluptuous-serialize/default.nix b/pkgs/development/python-modules/voluptuous-serialize/default.nix
new file mode 100644
index 000000000000..e2796ee2a74e
--- /dev/null
+++ b/pkgs/development/python-modules/voluptuous-serialize/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, voluptuous, pytest }:
+
+buildPythonPackage rec  {
+  pname = "voluptuous-serialize";
+  version = "2018-03-10";
+
+  disabled = !isPy3k;
+
+  # no tests in PyPI tarball
+  src = fetchFromGitHub {
+    owner = "balloob";
+    repo = pname;
+    rev = "567f0d96f928cf6c30c9f1b8bdee729e651aac82";
+    sha256 = "0b16f1bxlqyvi1hy8wmzp2k0rzqcycmdhs8zwsyx0swnvkgwnv50";
+  };
+
+  propagatedBuildInputs = [
+    voluptuous
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/balloob/voluptuous-serialize;
+    license = licenses.asl20;
+    description = "Convert Voluptuous schemas to dictionaries so they can be serialized";
+    maintainers = with maintainers; [ etu ];
+  };
+}
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index cbaea0f0d85e..35822fa78bd4 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -433,6 +433,11 @@ let
     PET = [ pkgs.which pkgs.xorg.xdpyinfo pkgs.imagemagick ];
     dti = [ pkgs.which pkgs.xorg.xdpyinfo pkgs.imagemagick ];
     mzR = [ pkgs.netcdf ];
+    cluster = [ pkgs.libiconv ];
+    KernSmooth = [ pkgs.libiconv ];
+    nlme = [ pkgs.libiconv ];
+    Matrix = [ pkgs.libiconv ];
+    mgcv = [ pkgs.libiconv ];
   };
 
   packagesRequireingX = [
diff --git a/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
index e87f65d02ad5..831653a60d1d 100644
--- a/pkgs/development/ruby-modules/solargraph/Gemfile.lock
+++ b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
@@ -5,7 +5,8 @@ GEM
     coderay (1.1.2)
     eventmachine (1.2.7)
     htmlentities (4.3.4)
-    kramdown (1.16.2)
+    jaro_winkler (1.5.1)
+    kramdown (1.17.0)
     mini_portile2 (2.3.0)
     nokogiri (1.8.2)
       mini_portile2 (~> 2.3.0)
@@ -16,7 +17,8 @@ GEM
     rainbow (3.0.0)
     reverse_markdown (1.1.0)
       nokogiri
-    rubocop (0.56.0)
+    rubocop (0.57.1)
+      jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.5)
       powerpack (~> 0.1)
@@ -24,11 +26,11 @@ GEM
       ruby-progressbar (~> 1.7)
       unicode-display_width (~> 1.0, >= 1.0.1)
     ruby-progressbar (1.9.0)
-    solargraph (0.21.1)
+    solargraph (0.22.0)
       coderay (~> 1.1)
       eventmachine (~> 1.2, >= 1.2.5)
       htmlentities (~> 4.3, >= 4.3.4)
-      kramdown
+      kramdown (~> 1.16)
       parser (~> 2.4)
       reverse_markdown (~> 1.0, >= 1.0.5)
       rubocop (~> 0.52)
@@ -37,8 +39,8 @@ GEM
       yard (~> 0.9)
     thor (0.20.0)
     tilt (2.0.8)
-    unicode-display_width (1.3.2)
-    yard (0.9.12)
+    unicode-display_width (1.4.0)
+    yard (0.9.14)
 
 PLATFORMS
   ruby
diff --git a/pkgs/development/ruby-modules/solargraph/gemset.nix b/pkgs/development/ruby-modules/solargraph/gemset.nix
index 0dbdd17d4d4d..e9e1244a53a5 100644
--- a/pkgs/development/ruby-modules/solargraph/gemset.nix
+++ b/pkgs/development/ruby-modules/solargraph/gemset.nix
@@ -31,13 +31,21 @@
     };
     version = "4.3.4";
   };
+  jaro_winkler = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah";
+      type = "gem";
+    };
+    version = "1.5.1";
+  };
   kramdown = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mkrqpp01rrfn3rx6wwsjizyqmafp0vgg8ja1dvbjs185r5zw3za";
+      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
       type = "gem";
     };
-    version = "1.16.2";
+    version = "1.17.0";
   };
   mini_portile2 = {
     source = {
@@ -99,13 +107,13 @@
     version = "1.1.0";
   };
   rubocop = {
-    dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04j2n2zilvfw46v94mpymwnfzni0jq05fz6gs3yi2na7l4c98zv8";
+      sha256 = "1rm2fidc3zkxamfvn53aa6mz4rr0qx6fhcnxc83bn4myv59gw9dd";
       type = "gem";
     };
-    version = "0.56.0";
+    version = "0.57.1";
   };
   ruby-progressbar = {
     source = {
@@ -119,10 +127,10 @@
     dependencies = ["coderay" "eventmachine" "htmlentities" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18wkmbhymhwpdy4638bmdslniy2mjwldms5p61r6jnxzc7qnnalf";
+      sha256 = "1khj0bpyr7mwbjxd9x2al78rcw5k7s87ncrql5ml0ykqx57w7b7l";
       type = "gem";
     };
-    version = "0.21.1";
+    version = "0.22.0";
   };
   thor = {
     source = {
@@ -143,17 +151,17 @@
   unicode-display_width = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x31fgv1acywbb50prp7y4fr677c2d9gsl6wxmfcrlxbwz7nxn5n";
+      sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.4.0";
   };
   yard = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11x58w0ccayvgy0lmhfyrzxd33ya1v41prh5zzhvaajhw8vr74lh";
+      sha256 = "08kww2m1izjq56q2va2my0x3f3f0xsg6f07b6sgb4nl0scr6y10q";
       type = "gem";
     };
-    version = "0.9.12";
+    version = "0.9.14";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index 6f908128e599..e738d30543ed 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pmd-${version}";
-  version = "6.3.0";
+  version = "6.4.0";
 
   buildInputs = [ unzip ];
 
   src = fetchurl {
     url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "09x6mpqz4z583lvliipkmvlv3qmmwi7zjzgfjhwyp27faf2pz1ym";
+    sha256 = "17yjjmqcn1fy3bj73nh5i84yc7wappza612a0iwg0lqqn4yl7lyn";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
new file mode 100644
index 000000000000..a98c2b4e04bd
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "bazel-buildtools";
+  version = "2018-05-24";
+
+  goPackagePath = "github.com/bazelbuild/buildtools";
+
+  src = fetchFromGitHub {
+    owner = "bazelbuild";
+    repo = "buildtools";
+    rev = "588d90030bc8054b550967aa45a8a8d170deba0b";
+    sha256 = "18q1z138545kh4s5k0jcqwhpzc1w7il4x00l7yzv9wq8bg1vn1rv";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "This derivation contains developer tools for working with Google's bazel buildtool.";
+    homepage = https://github.com/bazelbuild/buildtools;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ uri-canva ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix b/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
new file mode 100644
index 000000000000..d53c744d04a9
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
@@ -0,0 +1,29 @@
+[
+  {
+    goPackagePath = "github.com/bazelbuild/buildtools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bazelbuild/buildtools";
+      rev = "588d90030bc8054b550967aa45a8a8d170deba0b";
+      sha256 = "18q1z138545kh4s5k0jcqwhpzc1w7il4x00l7yzv9wq8bg1vn1rv";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "3a3da3a4e26776cc22a79ef46d5d58477532dede";
+      sha256 = "05l0kjgk6ss98qii7vpjj2bqszyd16h448w47sv4422mp2xbni40";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/skylark";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/skylark";
+      rev = "572cea2bd78e2f1de8f3e136db9413cf02f097eb";
+      sha256 = "0hc7gwvqsw421if06nlfdl86h6jl8wgjx1j2x2mzpnzdh1r03w92";
+    };
+  }
+]
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index fbbddbd0fcbc..7570c3be0679 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-4.7";
+    name = "gradle-4.8";
     nativeVersion = "0.14";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "016vvjvk3gfasv3h6dxxp48kp9v4ariqj280bijn835mr1yhi9gw";
+      sha256 = "1fpihf35nd2wqh3ghkk9x0x2nr1s4vx3dgrfn2q4xagsm299dqpk";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 04102e7e8f86..76d099625626 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "1.1.4";
+  version = "1.1.6";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
       "https://cocl.us/sbt-${version}.tgz"
     ];
-    sha256 = "0hc361gb71psadx9gj78j0j60fw4sljjk8sl45hw6yzx3hmmkg9g";
+    sha256 = "1hb8gcf3shcp4a65pnlqdlp8j5as7prqvw3d0b5bnfjfi0qbaigm";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 2d534435b5f9..ebbf5023374f 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.89.4";
+  version = "2.107.3";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "0lwv3y12r36amkr70fap5g1zfd7vv92809lh9w7178s91sikm28x";
+    sha256 = "1f4sz1dqcfypdywdwcz4byjmir7ismcpzg2hbgg6pcf5pq4yba8p";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/dep2nix/default.nix b/pkgs/development/tools/dep2nix/default.nix
new file mode 100644
index 000000000000..6367f6be2981
--- /dev/null
+++ b/pkgs/development/tools/dep2nix/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, buildGoPackage
+, makeWrapper, nix-prefetch-git }:
+
+buildGoPackage rec {
+  name = "dep2nix-${version}";
+  version = "0.0.1";
+
+  goPackagePath = "github.com/nixcloud/dep2nix";
+
+  src = fetchFromGitHub {
+    owner = "nixcloud";
+    repo = "dep2nix";
+    rev = version;
+    sha256 = "05b06wgcy88fb5ccqwq3mfhrhcblr1akpxgsf44kgbdwf5nzz87g";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  postFixup = ''
+    wrapProgram $bin/bin/dep2nix \
+      --prefix PATH : ${nix-prefetch-git}/bin
+  '';
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Convert `Gopkg.lock` files from golang dep into `deps.nix`";
+    license = licenses.bsd3;
+    homepage = https://github.com/nixcloud/dep2nix;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/development/tools/dep2nix/deps.nix b/pkgs/development/tools/dep2nix/deps.nix
new file mode 100644
index 000000000000..fc9280e9df5b
--- /dev/null
+++ b/pkgs/development/tools/dep2nix/deps.nix
@@ -0,0 +1,145 @@
+
+  # file automatically generated from Gopkg.lock with https://github.com/nixcloud/dep2nix (golang dep)
+  [
+  
+    {
+      goPackagePath  = "github.com/Masterminds/semver";
+      fetch = {
+        type = "git";
+        url = "https://github.com/Masterminds/semver";
+        rev =  "a93e51b5a57ef416dac8bb02d11407b6f55d8929";
+        sha256 = "1rd3p135r7iw0lvaa6vk7afxna87chq61a7a0wqnxd3xgpnpa9ik";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/Masterminds/vcs";
+      fetch = {
+        type = "git";
+        url = "https://github.com/Masterminds/vcs";
+        rev =  "6f1c6d150500e452704e9863f68c2559f58616bf";
+        sha256 = "02bpyzccazw9lwqchcz349al4vlxnz4m5gzwigk02zg2qpa1j53j";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/armon/go-radix";
+      fetch = {
+        type = "git";
+        url = "https://github.com/armon/go-radix";
+        rev =  "1fca145dffbcaa8fe914309b1ec0cfc67500fe61";
+        sha256 = "19jws9ngncpbhghzcy7biyb4r8jh14mzknyk67cvq6ln7kh1qyic";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/boltdb/bolt";
+      fetch = {
+        type = "git";
+        url = "https://github.com/boltdb/bolt";
+        rev =  "2f1ce7a837dcb8da3ec595b1dac9d0632f0f99e8";
+        sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/golang/dep";
+      fetch = {
+        type = "git";
+        url = "https://github.com/CrushedPixel/dep";
+        rev =  "fa9f32339c8855ebe7e7bc66e549036a7e06d37a";
+        sha256 = "1knaxs1ji1b0b68393f24r8qzvahxz9x7rqwc8jsjlshvpz0hlm6";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/golang/protobuf";
+      fetch = {
+        type = "git";
+        url = "https://github.com/golang/protobuf";
+        rev =  "bbd03ef6da3a115852eaf24c8a1c46aeb39aa175";
+        sha256 = "1pyli3dcagi7jzpiazph4fhkz7a3z4bhd25nwbb7g0iy69b8z1g4";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/jmank88/nuts";
+      fetch = {
+        type = "git";
+        url = "https://github.com/jmank88/nuts";
+        rev =  "8b28145dffc87104e66d074f62ea8080edfad7c8";
+        sha256 = "1d0xj1dj1lfalq3pg15h0c645n84lf122xx3zkm7hawq9zri6n5k";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/nightlyone/lockfile";
+      fetch = {
+        type = "git";
+        url = "https://github.com/nightlyone/lockfile";
+        rev =  "6a197d5ea61168f2ac821de2b7f011b250904900";
+        sha256 = "03znnf6rzyyi4h4qj81py1xpfs3pnfm39j4bfc9qzakz5j9y1gdl";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/pelletier/go-toml";
+      fetch = {
+        type = "git";
+        url = "https://github.com/pelletier/go-toml";
+        rev =  "acdc4509485b587f5e675510c4f2c63e90ff68a8";
+        sha256 = "1y5m9pngxhsfzcnxh8ma5nsllx74wn0jr47p2n6i3inrjqxr12xh";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/pkg/errors";
+      fetch = {
+        type = "git";
+        url = "https://github.com/pkg/errors";
+        rev =  "645ef00459ed84a119197bfb8d8205042c6df63d";
+        sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+      };
+    }
+    
+    {
+      goPackagePath  = "github.com/sdboyer/constext";
+      fetch = {
+        type = "git";
+        url = "https://github.com/sdboyer/constext";
+        rev =  "836a144573533ea4da4e6929c235fd348aed1c80";
+        sha256 = "0055yw73di4spa1wwpa2pyb708wmh9r3xd8dcv8pn81dba94if1w";
+      };
+    }
+    
+    {
+      goPackagePath  = "golang.org/x/net";
+      fetch = {
+        type = "git";
+        url = "https://go.googlesource.com/net";
+        rev =  "dc948dff8834a7fe1ca525f8d04e261c2b56e70d";
+        sha256 = "0gkw1am63agb1rgpxr2qhns9npr99mzwrxg7px88qq8h93zzd4kg";
+      };
+    }
+    
+    {
+      goPackagePath  = "golang.org/x/sync";
+      fetch = {
+        type = "git";
+        url = "https://go.googlesource.com/sync";
+        rev =  "fd80eb99c8f653c847d294a001bdf2a3a6f768f5";
+        sha256 = "12lzldlj1cqc1babp1hkkn76fglzn5abkqvmbpr4f2j95mf9x836";
+      };
+    }
+    
+    {
+      goPackagePath  = "golang.org/x/sys";
+      fetch = {
+        type = "git";
+        url = "https://go.googlesource.com/sys";
+        rev =  "37707fdb30a5b38865cfb95e5aab41707daec7fd";
+        sha256 = "1abrr2507a737hdqv4q7pw7hv6ls9pdiq9crhdi52r3gcz6hvizg";
+      };
+    }
+    
+]
diff --git a/pkgs/development/tools/gllvm/default.nix b/pkgs/development/tools/gllvm/default.nix
index 6cf36e44dd1c..cae6d2255bf2 100644
--- a/pkgs/development/tools/gllvm/default.nix
+++ b/pkgs/development/tools/gllvm/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gllvm-${version}";
-  version = "1.2.1";
+  version = "1.2.2";
 
   goPackagePath = "github.com/SRI-CSL/gllvm";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "SRI-CSL";
     repo = "gllvm";
     rev = "v${version}";
-    sha256 = "1rbvn7qhzb7xxqv0wrkwxq4sm657vsl6q7nwrfq2zwb21573811z";
+    sha256 = "1k6081frnc6i6h3fa8d796cirhbf5kkshw7qyarz5wi3fcgijn4s";
   };
 
   meta = with stdenv.lib; {
@@ -18,5 +18,6 @@ buildGoPackage rec {
     description = "Whole Program LLVM: wllvm ported to go";
     license = licenses.bsd3;
     maintainers = with maintainers; [ dtzWill ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/godep/default.nix b/pkgs/development/tools/godep/default.nix
deleted file mode 100644
index 3503a6c2c625..000000000000
--- a/pkgs/development/tools/godep/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  version = "73";
-  name = "godep-${version}";
-
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit;
-  };
-
-  buildInputs = [ go ];
-
-  buildPhase = ''
-    export GOPATH=$src
-    go build -v -o godep github.com/tools/godep
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv godep $out/bin
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Dependency tool for go";
-    homepage = https://github.com/tools/godep;
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ offline ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/godep/deps.nix b/pkgs/development/tools/godep/deps.nix
deleted file mode 100644
index 10071fa51955..000000000000
--- a/pkgs/development/tools/godep/deps.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-# This file was generated by go2nix.
-{ stdenv, lib, fetchgit }:
-
-let
-  goDeps = [
-    {
-      root = "github.com/kr/fs";
-      src = fetchgit {
-        url = "https://github.com/kr/fs.git";
-        rev = "2788f0dbd16903de03cb8186e5c7d97b69ad387b";
-        sha256 = "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly";
-      };
-    }
-    {
-      root = "github.com/tools/godep";
-      src = fetchgit {
-        url = "https://github.com/tools/godep.git";
-        rev = "f4edf338389e6e2bde0e8307886718133dc0613e";
-        sha256 = "1jdza8kwnzdsh3layqjzy9dnr92xdg3kfhnzvqkq3p50vsdims9w";
-      };
-    }
-    {
-      root = "github.com/kr/pretty";
-      src = fetchgit {
-        url = "https://github.com/kr/pretty";
-        rev = "f31442d60e51465c69811e2107ae978868dbea5c";
-        sha256 = "12nczwymikxmivb10q5ml5yxrwpz9s8p6k4vqig9g9707yhpxrkh";
-      };
-    }
-    {
-      root = "github.com/kr/text";
-      src = fetchgit {
-        url = "https://github.com/kr/text";
-        rev = "6807e777504f54ad073ecef66747de158294b639";
-        sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
-      };
-    }
-    {
-      root = "github.com/pmezard/go-difflib";
-      src = fetchgit {
-        url = "https://github.com/pmezard/go-difflib";
-        rev = "f78a839676152fd9f4863704f5d516195c18fc14";
-        sha256 = "1bws3qyy572b62i3wkwfr1aw1g2nwcim2sy42jqsvh9pajjsf1vz";
-      };
-    }
-    {
-      root = "golang.org/x/tools";
-      src = fetchgit {
-        url = "https://go.googlesource.com/tools";
-        rev = "1f1b3322f67af76803c942fd237291538ec68262";
-        sha256 = "0h2yarcvcgg1px20r8n58psra1czv0sgly5gins2q3wp25iql6gj";
-      };
-    }
-  ];
-
-in
-
-stdenv.mkDerivation rec {
-  name = "go-deps";
-
-  buildCommand =
-    lib.concatStrings
-      (map (dep: ''
-              mkdir -p $out/src/`dirname ${dep.root}`
-              ln -s ${dep.src} $out/src/${dep.root}
-            '') goDeps);
-}
diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
index 73050280f17e..0f42a5e34903 100644
--- a/pkgs/development/tools/haskell/ihaskell/wrapper.nix
+++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
@@ -9,7 +9,7 @@ let
   ihaskellSh = writeScriptBin "ihaskell-notebook" ''
     #! ${stdenv.shell}
     export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH"
-    export PATH="${stdenv.lib.makeBinPath ([ ihaskellEnv jupyter ])}"
+    export PATH="${stdenv.lib.makeBinPath ([ ihaskellEnv jupyter ])}\${PATH:+':'}$PATH"
     ${ihaskellEnv}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${jupyter}/bin/jupyter notebook
   '';
 in
diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
index b9f6db1cc947..98df266703ac 100644
--- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
+++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
@@ -1,7 +1,17 @@
 { mkDerivation, ansi-terminal, base, bytestring, Cabal, containers
 , deepseq, Diff, directory, filepath, ShellCheck, stdenv, tasty
-, tasty-golden, transformers, fetchFromGitHub
+, tasty-golden, transformers, fetchFromGitHub, fetchpatch
 }:
+
+let
+
+  newShellCheck = fetchpatch {
+    url = https://github.com/haskell-CI/haskell-ci/pull/159.patch;
+    sha256 = "17qn099lvfiii5z3hg24idmg4sk6ph7m2k940fsxzhqrad8fkjmw";
+  };
+
+in
+
 mkDerivation {
   pname = "haskell-ci";
   version = "0";
@@ -11,6 +21,7 @@ mkDerivation {
     rev = "db63eb7f2eaa64b7b0e4759e98258fea2a27a424";
     sha256 = "0ff55zafx7561s1yps7aw83ws4vcpc5cq9r6bbckaagvwwla0dcq";
   };
+  patches = [ newShellCheck ];
   isLibrary = true;
   isExecutable = true;
   libraryHaskellDepends = [
diff --git a/pkgs/development/tools/misc/binutils/support-ios.patch b/pkgs/development/tools/misc/binutils/support-ios.patch
index 919a3920727f..74e56d130ed5 100644
--- a/pkgs/development/tools/misc/binutils/support-ios.patch
+++ b/pkgs/development/tools/misc/binutils/support-ios.patch
@@ -1,5 +1,5 @@
 diff --git a/bfd/config.bfd b/bfd/config.bfd
-index f04a993f06..3357022f35 100644
+index f04a993f06..1e24a9d030 100644
 --- a/bfd/config.bfd
 +++ b/bfd/config.bfd
 @@ -238,7 +238,7 @@ case "${targ}" in
@@ -20,8 +20,35 @@ index f04a993f06..3357022f35 100644
      targ_defvec=arm_mach_o_vec
      targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
      targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
+@@ -678,7 +678,7 @@ case "${targ}" in
+   i[3-7]86-*-aix*)
+     targ_defvec=i386_coff_vec
+     ;;
+-  i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
++  i[3-7]86-*-darwin* | i[3-7]86-*-ios* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
+     targ_defvec=i386_mach_o_vec
+     targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
+     targ64_selvecs=x86_64_mach_o_vec
+@@ -762,7 +762,7 @@ case "${targ}" in
+     targ_defvec=x86_64_elf64_cloudabi_vec
+     want64=true
+     ;;
+-  x86_64-*-darwin*)
++  x86_64-*-darwin* | x86_64-*-ios*)
+     targ_defvec=x86_64_mach_o_vec
+     targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
+     targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
+@@ -1402,7 +1402,7 @@ case "${targ}" in
+     targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec"
+     targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
+     ;;
+-  powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*)
++  powerpc-*-darwin* | powerpc-*-ios* | powerpc-*-macos10* | powerpc-*-rhapsody*)
+     targ_defvec=mach_o_be_vec
+     targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
+     targ_archs="$targ_archs bfd_i386_arch"
 diff --git a/configure.ac b/configure.ac
-index aae94501e4..4b1121e0d1 100644
+index aae94501e4..2cceb4dad4 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -510,7 +510,7 @@ if test x$enable_libgomp = x ; then
@@ -33,9 +60,18 @@ index aae94501e4..4b1121e0d1 100644
  	;;
      nvptx*-*-*)
  	;;
-@@ -706,7 +706,7 @@ case "${target}" in
+@@ -700,13 +700,13 @@ esac
+ 
+ # Disable libffi for some systems.
+ case "${target}" in
+-  powerpc-*-darwin*)
++  powerpc-*-darwin* | powerpc-*-ios*)
+     ;;
+-  i[[3456789]]86-*-darwin*)
++  i[[3456789]]86-*-darwin* | i[[3456789]]86-*-ios*)
      ;;
-   x86_64-*-darwin[[912]]*)
+-  x86_64-*-darwin[[912]]*)
++  x86_64-*-darwin[[912]]* | x86_64-*-ios[[912]]*)
      ;;
 -  *-*-darwin*)
 +  *-*-darwin* | *-*-ios*)
@@ -60,7 +96,7 @@ index aae94501e4..4b1121e0d1 100644
  	# PR 46986
  	noconfigdirs="$noconfigdirs target-libgo"
  	;;
-@@ -916,11 +916,11 @@ esac
+@@ -916,27 +916,27 @@ esac
  case "${target}" in
    *-*-chorusos)
      ;;
@@ -74,7 +110,18 @@ index aae94501e4..4b1121e0d1 100644
      noconfigdirs="$noconfigdirs ld gas gdb gprof"
      noconfigdirs="$noconfigdirs sim target-rda"
      ;;
-@@ -936,7 +936,7 @@ case "${target}" in
+-  powerpc-*-darwin*)
++  powerpc-*-darwin* | powerpc-*-ios*)
+     noconfigdirs="$noconfigdirs ld gas gdb gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
+     ;;
+-  i[[3456789]]86-*-darwin*)
++  i[[3456789]]86-*-darwin* | i[[3456789]]86-*-ios*)
+     noconfigdirs="$noconfigdirs ld gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
+     ;;
+-  x86_64-*-darwin[[912]]*)
++  x86_64-*-darwin[[912]]* | x86_64-*-ios[[912]]*)
      noconfigdirs="$noconfigdirs ld gas gprof"
      noconfigdirs="$noconfigdirs sim target-rda"
      ;;
@@ -92,6 +139,15 @@ index aae94501e4..4b1121e0d1 100644
      host_makefile_frag="config/mh-darwin"
      ;;
    powerpc-*-aix*)
+@@ -1697,7 +1697,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
+   build_lto_plugin=yes
+ ],[if test x"$default_enable_lto" = x"yes" ; then
+     case $target in
+-      *-apple-darwin[[912]]* | *-cygwin* | *-mingw* | *djgpp*) ;;
++      *-apple-darwin[[912]]* | *-apple-ios[[912]]* | *-cygwin* | *-mingw* | *djgpp*) ;;
+       # On other non-ELF platforms, LTO has yet to be validated.
+       *) enable_lto=no ;;
+     esac
 @@ -1708,7 +1708,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
    # warn during gcc/ subconfigure; unless you're bootstrapping with
    # -flto it won't be needed until after installation anyway.
diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix
index af40f3df20fa..86136084d840 100644
--- a/pkgs/development/tools/misc/ctags/default.nix
+++ b/pkgs/development/tools/misc/ctags/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   revision = "816";
 
   src = fetchsvn {
-    url = "https://ctags.svn.sourceforge.net/svnroot/ctags/trunk";
+    url = https://svn.code.sf.net/p/ctags/code/trunk;
     rev = revision;
     sha256 = "0jmbkrmscbl64j71qffcc39x005jrmphx8kirs1g2ws44wil39hf";
   };
diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix
index cb64bd602b79..67180b08f026 100644
--- a/pkgs/development/tools/misc/intltool/default.nix
+++ b/pkgs/development/tools/misc/intltool/default.nix
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
 
   # fix "unescaped left brace" errors when using intltool in some cases
   patches = [(fetchpatch {
-    name = "perl-5.22.patch";
-    url = "https://anonscm.debian.org/viewvc/pkg-gnome/desktop/unstable/intltool"
-      + "/debian/patches/perl5.22-regex-fixes?revision=47258&view=co&pathrev=47258";
-    sha256 = "17clqczb9fky7hp8czxa0fy82b5478irvz4f3fnans3sqxl95hx3";
+    name = "perl5.26-regex-fixes.patch";
+    url = "https://sources.debian.org/data/main/i/intltool/0.51.0-5"
+      + "/debian/patches/perl5.26-regex-fixes.patch";
+    sha256 = "12q2140867r5d0dysly72khi7b0mm2gd7nlm1k81iyg7fxgnyz45";
   })];
 
   propagatedBuildInputs = [ gettext perl perlXMLParser ];
diff --git a/pkgs/development/tools/misc/itstool/default.nix b/pkgs/development/tools/misc/itstool/default.nix
index 129c1c6b3a93..9368a3c1acf8 100644
--- a/pkgs/development/tools/misc/itstool/default.nix
+++ b/pkgs/development/tools/misc/itstool/default.nix
@@ -2,11 +2,13 @@
 # We need the same Python as is used to build libxml2Python
 
 stdenv.mkDerivation rec {
-  name = "itstool-2.0.4";
+  # 2.0.3+ breaks the build of gnome3.gnome-desktop
+  # https://github.com/itstool/itstool/issues/17
+  name = "itstool-2.0.2";
 
   src = fetchurl {
     url = "http://files.itstool.org/itstool/${name}.tar.bz2";
-    sha256 = "0q7b4qrc758zfx3adsgvz0r93swdbxjr42w37rahngm33nshihlp";
+    sha256 = "bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a";
   };
 
   buildInputs = [ python2 libxml2Python ];
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index 8294b68126fc..6be23c171a6a 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lttng-tools-${version}";
-  version = "2.10.3";
+  version = "2.10.4";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2";
-    sha256 = "0x3b6jps053s9pxc7bslj5qsn2z53yf0fk9pcrmxjf9yri17n3qr";
+    sha256 = "1p3y7p8m5i5f8qvsib4da2m41rkw7pamvsngplh7wspgvg0zxvay";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index e25b94714b68..18b84e2c961d 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -50,8 +50,8 @@ stdenv.mkDerivation rec {
         if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib"; then
             export OCAMLPATH="''${OCAMLPATH}''${OCAMLPATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/"
         fi
-        if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib/stubslibs"; then
-            export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stubslibs"
+        if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"; then
+            export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"
         fi
         export OCAMLFIND_DESTDIR="''$out/lib/ocaml/${ocaml.version}/site-lib/"
         if test -n "$createFindlibDestdir"; then
diff --git a/pkgs/development/tools/ocaml/jbuilder/default.nix b/pkgs/development/tools/ocaml/jbuilder/default.nix
index 38fd4323d5ca..abfcdb61c1e6 100644
--- a/pkgs/development/tools/ocaml/jbuilder/default.nix
+++ b/pkgs/development/tools/ocaml/jbuilder/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, ocaml, opam }:
+{ stdenv, fetchFromGitHub, ocamlPackages, opaline }:
 
 stdenv.mkDerivation rec {
   name = "jbuilder-${version}";
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
     sha256 = "0571lzm8caq6wnia7imgy4a27x5l2bvxiflg0jrwwml0ylnii65f";
   };
 
-  buildInputs = [ ocaml ];
+  buildInputs = with ocamlPackages; [ ocaml findlib ];
 
   dontAddPrefix = true;
 
-  installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
+  installPhase = "${opaline}/bin/opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
 
   preFixup = "rm -rf $out/jbuilder";
 
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "Fast, portable and opinionated build system";
     maintainers = [ stdenv.lib.maintainers.vbgl ];
     license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
+    inherit (ocamlPackages.ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/tools/ocaml/opaline/default.nix b/pkgs/development/tools/ocaml/opaline/default.nix
new file mode 100644
index 000000000000..10088cce4912
--- /dev/null
+++ b/pkgs/development/tools/ocaml/opaline/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocamlPackages }:
+
+stdenv.mkDerivation rec {
+  version = "0.3.1";
+  name = "opaline-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jaapb";
+    repo = "opaline";
+    rev = "v${version}";
+    sha256 = "0vd5xaf272hk4iqfj347jvbppy7my5p5gz8yqpkvl1d1i6lzh08v";
+  };
+
+  buildInputs = with ocamlPackages; [ ocaml findlib ocamlbuild opam-file-format ];
+
+  preInstall = "mkdir -p $out/bin";
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    description = "OPAm Light INstaller Engine";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    inherit (src.meta) homepage;
+    inherit (ocamlPackages.ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index 469e97e19de5..aa9feda985a3 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -71,8 +71,12 @@ in stdenv.mkDerivation rec {
   # Dirty, but apparently ocp-build requires a TERM
   makeFlags = ["TERM=screen"];
 
+  # change argv0 to "opam" as a workaround for
+  # https://github.com/ocaml/opam/issues/2142
   postInstall = ''
-    wrapProgram $out/bin/opam \
+    mv $out/bin/opam $out/bin/.opam-wrapped
+    makeWrapper $out/bin/.opam-wrapped $out/bin/opam \
+      --argv0 "opam" \
       --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin
   '';
 
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index 9c75e93bb1c1..287bb8beb524 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -1,14 +1,14 @@
 { stdenv, hostPlatform, fetchurl, m4, perl, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "bison-3.0.4";
+  name = "bison-3.0.5";
 
   src = fetchurl {
     url = "mirror://gnu/bison/${name}.tar.gz";
-    sha256 = "b67fd2daae7a64b5ba862c66c07c1addb9e6b1b05c5f2049392cfd8a2172952e";
+    sha256 = "0rnml9spd6p0i5qy9g4r82drwdr09r1z9cf4p89agbrkxqmrsffd";
   };
 
-  patches = stdenv.lib.optional hostPlatform.isDarwin stdenv.secure-format-patch;
+  patches = []; # remove on another rebuild
 
   nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
   propagatedBuildInputs = [ m4 ];
diff --git a/pkgs/development/tools/wllvm/default.nix b/pkgs/development/tools/wllvm/default.nix
index 8fa7574f3110..18d7be93258b 100644
--- a/pkgs/development/tools/wllvm/default.nix
+++ b/pkgs/development/tools/wllvm/default.nix
@@ -1,13 +1,13 @@
 { stdenv, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
-  version = "1.2.1";
+  version = "1.2.2";
   pname = "wllvm";
   name = "${pname}-${version}";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1yr0gijhgbxx1sl5a8dygr3a8g5wfkh9rk4v789r2aplvcbanv5a";
+    sha256 = "1zrjcabv41105mmv632gp488kmhya37n0jwgwxhadps4z3jv2qxb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/cutemaze/default.nix b/pkgs/games/cutemaze/default.nix
index 253a7fcbf304..2570ccb51dcd 100644
--- a/pkgs/games/cutemaze/default.nix
+++ b/pkgs/games/cutemaze/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cutemaze-${version}";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchurl {
     url = "https://gottcode.org/cutemaze/${name}-src.tar.bz2";
-    sha256 = "1a2jmkm7fjzdrvzgvbqfq20k0vvpwfcycagsm0haxb3fpv86950y";
+    sha256 = "1gczg8bki9d2kkkkrac5wi4vnjdynv8xjw2qxn9lx1jfkm8fk1qk";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index 82710256c631..ee2e442daa28 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -1,14 +1,14 @@
-{ pkgs, pkgsi686Linux, stdenv }:
+{ pkgs, stdenv, stdenvNoCC, gccStdenv }:
 
 let
   callPackage = pkgs.newScope self;
-  callPackage_i686 = pkgsi686Linux.newScope self;
 
   self = rec {
     dwarf-fortress-original = callPackage ./game.nix { };
 
     dfhack = callPackage ./dfhack {
       inherit (pkgs.perlPackages) XMLLibXML XMLLibXSLT;
+      stdenv = gccStdenv;
     };
 
     soundSense = callPackage ./soundsense.nix { };
@@ -32,9 +32,13 @@ let
 
     dwarf-therapist = callPackage ./dwarf-therapist/wrapper.nix { };
 
-    phoebus-theme = callPackage ./themes/phoebus.nix { };
+    themes = callPackage ./themes {
+      stdenv = stdenvNoCC;
+    };
+
+    phoebus-theme = themes.phoebus;
 
-    cla-theme = callPackage ./themes/cla.nix { };
+    cla-theme = themes.cla;
   };
 
 in self
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index 641676489ed9..a77f50a51711 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -1,13 +1,11 @@
-{ stdenv, lib, fetchgit, cmake, writeScriptBin, callPackage
+{ stdenv, hostPlatform, lib, fetchFromGitHub, cmake, writeScriptBin, callPackage
 , perl, XMLLibXML, XMLLibXSLT, zlib
 , enableStoneSense ? false,  allegro5, libGLU_combined
 }:
 
 let
-  dfVersion = "0.44.09";
+  dfVersion = "0.44.10";
   version = "${dfVersion}-r1";
-  rev = "refs/tags/${version}";
-  sha256 = "1cwifdhi48a976xc472nf6q2k0ibwqffil5a4llcymcxdbgxdcc9";
 
   # revision of library/xml submodule
   xmlRev = "3c0bf63674d5430deadaf7befaec42f0ec1e8bc5";
@@ -25,7 +23,7 @@ let
       if [ "$(dirname "$(pwd)")" = "xml" ]; then
         echo "${xmlRev}"
       else
-        echo "${rev}"
+        echo "refs/tags/${version}"
       fi
     elif [ "$*" = "rev-parse HEAD:library/xml" ]; then
       echo "${xmlRev}"
@@ -38,13 +36,13 @@ in stdenv.mkDerivation rec {
   name = "dfhack-${version}";
 
   # Beware of submodules
-  src = fetchgit {
-    url = "https://github.com/DFHack/dfhack";
-    inherit rev sha256;
+  src = fetchFromGitHub {
+    owner = "DFHack";
+    repo = "dfhack";
+    sha256 = "0srgymyd57hk9iffhi2i0ra5vzw2vzlpzn4042yb90vqpmvz2zrj";
+    rev = version;
   };
 
-  patches = [ ./fix-stonesense.patch ];
-
   nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
   # We don't use system libraries because dfhack needs old C++ ABI.
   buildInputs = [ zlib ]
diff --git a/pkgs/games/dwarf-fortress/dfhack/fix-stonesense.patch b/pkgs/games/dwarf-fortress/dfhack/fix-stonesense.patch
deleted file mode 100644
index da860cd55624..000000000000
--- a/pkgs/games/dwarf-fortress/dfhack/fix-stonesense.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From f5be6fe5fb192f01ae4551ed9217e97fd7f6a0ae Mon Sep 17 00:00:00 2001
-From: Herwig Hochleitner <hhochleitner@gmail.com>
-Date: Sun, 1 Oct 2017 18:01:43 +0200
-Subject: [PATCH] include <GL/glext.h>
-
-this fixes `GLhandleARB` not being defined
----
- plugins/stonesense/common.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/plugins/stonesense/common.h b/plugins/stonesense/common.h
-index eb36691..ef45389 100644
---- a/plugins/stonesense/common.h
-+++ b/plugins/stonesense/common.h
-@@ -31,6 +31,8 @@ using namespace df::enums;
- #include <allegro5/allegro_opengl.h>
- #include <allegro5/utf8.h>
- 
-+#include <GL/glext.h>
-+
- // allegro leaks X headers, undef some of it here:
- #undef TileShape
- #undef None
\ No newline at end of file
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index 29cc2dc62857..2e54258c4be9 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -2,33 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "dwarf-therapist-original-${version}";
-  version = "39.3.1";
+  version = "40.0.0";
 
   src = fetchFromGitHub {
     owner = "Dwarf-Therapist";
     repo = "Dwarf-Therapist";
     rev = "v${version}";
-    sha256 = "0vb0dg1r833gaa4jzlrxf9acn41az3xjs9alx7r9lkqwvkjyrdy2";
+    sha256 = "0b5y7800nzydn0jcc0vglgi9mzkj8f3qhw16wd872cf5396xnag9";
   };
 
-  outputs = [ "out" "layouts" ];
   buildInputs = [ qtbase qtdeclarative ];
   nativeBuildInputs = [ texlive cmake ninja ];
 
-  configurePhase = ''
-    cmake -GNinja
-  '';
-
-  buildPhase = ''
-    ninja -j$NIX_BUILD_CORES
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ./DwarfTherapist $out/bin/DwarfTherapist
-    cp -r ./share/memory_layouts $layouts
-  '';
-
   meta = with stdenv.lib; {
     description = "Tool to manage dwarves in in a running game of Dwarf Fortress";
     maintainers = with maintainers; [ the-kenny abbradar bendlas ];
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
index 6debf0bb0b2b..f9e3e468cdc0 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
@@ -18,7 +18,7 @@ in symlinkJoin {
   postBuild = ''
     # DwarfTherapist assumes it's run in $out/share/dwarftherapist and
     # therefore uses many relative paths.
-    wrapProgram $out/bin/DwarfTherapist \
+    wrapProgram $out/bin/dwarftherapist \
       --run "cd $out/share/dwarftherapist"
 
     rm -rf $out/share/dwarftherapist/memory_layouts/linux
@@ -26,7 +26,7 @@ in symlinkJoin {
     origmd5=$(cat "${dfHashFile}.orig" | cut -c1-8)
     patchedmd5=$(cat "${dfHashFile}" | cut -c1-8)
     substitute \
-      ${dt.layouts}/${inifile} \
+      ${dt}/share/dwarftherapist/memory_layouts/${inifile} \
       $out/share/dwarftherapist/memory_layouts/${inifile} \
       --replace "$origmd5" "$patchedmd5"
   '';
diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix
index 79eb6e191329..477ba33b77c6 100644
--- a/pkgs/games/dwarf-fortress/game.nix
+++ b/pkgs/games/dwarf-fortress/game.nix
@@ -9,7 +9,7 @@ with lib;
 
 let
   baseVersion = "44";
-  patchVersion = "09";
+  patchVersion = "10";
   dfVersion = "0.${baseVersion}.${patchVersion}";
 
   libpath = makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc dwarf-fortress-unfuck SDL ];
@@ -21,15 +21,15 @@ let
   srcs = {
     "x86_64-linux" = fetchurl {
       url = "${homepage}df_${baseVersion}_${patchVersion}_linux.tar.bz2";
-      sha256 = "1haikynkg1pqyrzzqk1qxm19p36ww58qp8brh3fjxssp4x71rcdy";
+      sha256 = "1cqm43hn3ar9d8a7y7dwq48ajp72cirn1gclh8r2fykkypprxmp2";
     };
     "i686-linux" = fetchurl {
       url = "${homepage}df_${baseVersion}_${patchVersion}_linux32.tar.bz2";
-      sha256 = "0lmbrdf7wjdwj5yx0khnq871yxvhfwqxjjyfkqcdy5ik18lvlkj8";
+      sha256 = "0gdb6sq8725nwdisxwha8f5b6arq570s73aj4gdrh611gxh13r6n";
     };
     "x86_64-darwin" = fetchurl {
       url = "${homepage}df_${baseVersion}_${patchVersion}_osx.tar.bz2";
-      sha256 = "01dss8g9lmi8majp6lxcfw166ydz4himkz6am5pi29gixaf4vfqs";
+      sha256 = "1wpa45d81q8f5mhqmaxvdkz93k6cm3pg7vpsqjjjsp5s961gd74g";
     };
   };
 
diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix
index 67c86f7f745c..f09ac8435482 100644
--- a/pkgs/games/dwarf-fortress/soundsense.nix
+++ b/pkgs/games/dwarf-fortress/soundsense.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   version = "2016-1_196";
-  dfVersion = "0.44.09";
+  dfVersion = "0.44.10";
   inherit soundPack;
   name = "soundsense-${version}";
   src = fetchzip {
diff --git a/pkgs/games/dwarf-fortress/themes/cla.nix b/pkgs/games/dwarf-fortress/themes/cla.nix
deleted file mode 100644
index c7d85c48ce8e..000000000000
--- a/pkgs/games/dwarf-fortress/themes/cla.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-# On upgrade check https://github.com/DFgraphics/CLA/blob/master/manifest.json
-# for compatibility information.
-
-stdenv.mkDerivation rec {
-  name = "cla-theme-${version}";
-  version = "44.xx-v25";
-
-  src = fetchFromGitHub {
-    owner = "DFgraphics";
-    repo = "CLA";
-    rev = version;
-    sha256 = "1h8nwa939qzqklbi8vwsq9p2brvv7sc0pbzzrdjnb221lr9p58zk";
-  };
-
-  installPhase = ''
-    mkdir $out
-    cp -r data raw $out
-  '';
-
-  passthru.dfVersion = "0.44.09";
-
-  preferLocalBuild = true;
-
-  meta = with stdenv.lib; {
-    description = "CLA graphics set for Dwarf Fortress";
-    homepage = http://www.bay12forums.com/smf/index.php?topic=105376.0;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ abbradar ];
-    license = licenses.free;
-  };
-}
diff --git a/pkgs/games/dwarf-fortress/themes/default.nix b/pkgs/games/dwarf-fortress/themes/default.nix
new file mode 100644
index 000000000000..90f46d052618
--- /dev/null
+++ b/pkgs/games/dwarf-fortress/themes/default.nix
@@ -0,0 +1,25 @@
+{stdenv, lib, fetchFromGitHub}:
+
+with builtins;
+
+listToAttrs (map (v: {
+  inherit (v) name;
+  value = stdenv.mkDerivation {
+    name = "${v.name}-${v.version}";
+    src = fetchFromGitHub {
+      owner = "DFgraphics";
+      repo = v.name;
+      rev = v.version;
+      sha256 = v.sha256;
+    };
+    installPhase = ''
+      mkdir -p $out
+      cp -r data raw $out
+    '';
+    meta = with lib; {
+      platforms = platforms.all;
+      maintainers = [ maintainers.matthewbauer ];
+      license = licenses.free;
+    };
+  };
+}) (fromJSON (readFile ./themes.json)))
diff --git a/pkgs/games/dwarf-fortress/themes/phoebus.nix b/pkgs/games/dwarf-fortress/themes/phoebus.nix
deleted file mode 100644
index 8641e15fa864..000000000000
--- a/pkgs/games/dwarf-fortress/themes/phoebus.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-# On upgrade check https://github.com/DFgraphics/Phoebus/blob/master/manifest.json
-# for compatibility information.
-
-stdenv.mkDerivation rec {
-  name = "phoebus-theme-${version}";
-  version = "44.07";
-
-  src = fetchFromGitHub {
-    owner = "DFgraphics";
-    repo = "Phoebus";
-    rev = version;
-    sha256 = "114yc0s7j57i4rq6iq295gggbgzx4qb389xip8lkzfg4dnp6klns";
-  };
-
-  installPhase = ''
-    mkdir $out
-    cp -r data raw $out
-  '';
-
-  passthru.dfVersion = "0.44.09";
-
-  preferLocalBuild = true;
-
-  meta = with stdenv.lib; {
-    description = "Phoebus graphics set for Dwarf Fortress";
-    homepage = http://www.bay12forums.com/smf/index.php?topic=137096.0;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ a1russell abbradar ];
-    # https://github.com/fricy/Phoebus/issues/5
-    license = licenses.free;
-  };
-}
diff --git a/pkgs/games/dwarf-fortress/themes/themes.json b/pkgs/games/dwarf-fortress/themes/themes.json
new file mode 100644
index 000000000000..f2cc4ed3ac7d
--- /dev/null
+++ b/pkgs/games/dwarf-fortress/themes/themes.json
@@ -0,0 +1,72 @@
+[
+  {
+      "name": "taffer",
+      "version": "44.10a",
+      "sha256": "0gp8hmv55bp34db0caksdpd3kn2glh7sz03gyxknzdymh1cpy0qv"
+  },
+  {
+      "name": "spacefox",
+      "version": "44.10a",
+      "sha256": "0ngipq1aha8cd34k4hkrfbi238gp36qpymr2f87d3nwbj2vi9hmh"
+  },
+  {
+      "name": "gemset",
+      "version": "44.10a",
+      "sha256": "14q69dyqzhxsfv1a4vh17fx7r7mylfimmjrydz6ygdypblgc9zm6"
+  },
+  {
+      "name": "wanderlust",
+      "version": "44.10",
+      "sha256": "016acv0ab2wj4rn9slhbf626977zas6q4372f7avaf99ihcmwi85"
+  },
+  {
+      "name": "rally-ho",
+      "version": "44.10",
+      "sha256": "1pij5llnc8hfsqgyrwj1ak123wxhhk7yhlpnj033gwbpp0lnqz2x"
+  },
+  {
+      "name": "phoebus",
+      "version": "44.10",
+      "sha256": "1fvl5251wzjns159snhw01p214k53vpdlyj7piv545r23q7wg2ji"
+  },
+  {
+      "name": "obsidian",
+      "version": "44.10",
+      "sha256": "06lixlkprjd829zn10g5zljnxymsh81g31dj86hn2jvlch4dh98q"
+  },
+  {
+      "name": "mayday",
+      "version": "44.10",
+      "sha256": "1g15ha0w93iyj5ni2pavhwrsckhnw80xvwrvw4dbp5zx1y41f3x9"
+  },
+  {
+      "name": "jolly-bastion",
+      "version": "44.10",
+      "sha256": "038qvr08776rinlqa6zwb8qqxyrc75nnyyqjsasr2rf9d2f9yf8j"
+  },
+  {
+      "name": "ironhand",
+      "version": "44.10",
+      "sha256": "14hngixd4gkw0lzqzlkj9ljmrxr8b3wgjk67n6zysgyi3f38f5j2"
+  },
+  {
+      "name": "afro-graphics",
+      "version": "44.10",
+      "sha256": "050mrpy9q6g9y4133al7rdsj6c9hy2wva7jqmc56babvmmcpcc2j"
+  },
+  {
+      "name": "cla",
+      "version": "44.xx-v25",
+      "sha256": "1h8nwa939qzqklbi8vwsq9p2brvv7sc0pbzzrdjnb221lr9p58zk"
+  },
+  {
+      "name": "tergel",
+      "version": "44.03",
+      "sha256": "1kgk0cav5b6v7mca36gm84b2p556ibd8yy4rwbfc4i6i3hlsdw07"
+  },
+  {
+      "name": "autoreiv",
+      "version": "44.03",
+      "sha256": "03w9dp42718p5gnswynw3p9wz85y61gkzz60jf71arw1zhf23wm0"
+  }
+]
diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix
index fc42c05f0701..d816ba461b11 100644
--- a/pkgs/games/dwarf-fortress/unfuck.nix
+++ b/pkgs/games/dwarf-fortress/unfuck.nix
@@ -3,7 +3,7 @@
 , ncurses, glib, gtk2, libsndfile, zlib
 }:
 
-let dfVersion = "0.44.09"; in
+let dfVersion = "0.44.10"; in
 
 stdenv.mkDerivation {
   name = "dwarf_fortress_unfuck-${dfVersion}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "svenstaro";
     repo = "dwarf_fortress_unfuck";
     rev = dfVersion;
-    sha256 = "00yj4l4gazxg4i6fj9rwri6vm17i6bviy2mpkx0z5c0mvsr7s14b";
+    sha256 = "0vb19qx2ibc79j4bgbk9lskb883qfb0815zw1dfz9k7rqwal8mzj";
   };
 
   cmakeFlags = [
diff --git a/pkgs/games/freecell-solver/default.nix b/pkgs/games/freecell-solver/default.nix
index a096b17b71a5..3dc9857d4552 100644
--- a/pkgs/games/freecell-solver/default.nix
+++ b/pkgs/games/freecell-solver/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, cmake
 , perl, gmp, libtap, gperf
-, perlPackages, python3Packages }:
+, perlPackages, python3 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
@@ -13,11 +13,20 @@ stdenv.mkDerivation rec{
     sha256 = "1cmaib69pijmcpvgjvrdry8j4xys8l906l80b8z21vvyhdwrfdnn";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake perl gmp libtap gperf
-    perlPackages.TemplateToolkit perlPackages.StringShellQuote
-    perlPackages.GamesSolitaireVerify perlPackages.TaskFreecellSolverTesting
-    python3Packages.python python3Packages.random2 ];
+  nativeBuildInputs = [
+    cmake perl pkgconfig
+  ] ++ (with perlPackages; TaskFreecellSolverTesting.buildInputs ++ [
+    GamesSolitaireVerify StringShellQuote TaskFreecellSolverTesting TemplateToolkit
+  ]);
+
+  buildInputs = [
+    gmp libtap gperf
+    python3 python3.pkgs.random2
+  ];
+
+  # "ninja t/CMakeFiles/delta-states-test.t.exe.dir/__/delta_states.c.o" fails
+  # to depend on the generated "is_king.h".
+  enableParallelBuilding = false;
 
   meta = {
     description = "A FreeCell automatic solver";
diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix
index 35444f82f66e..c6697f5806d4 100644
--- a/pkgs/games/multimc/default.nix
+++ b/pkgs/games/multimc/default.nix
@@ -4,12 +4,12 @@ let
   libpath = with xorg; stdenv.lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ];
 in stdenv.mkDerivation rec {
   name = "multimc-${version}";
-  version = "0.6.1";
+  version = "0.6.2";
   src = fetchFromGitHub {
     owner = "MultiMC";
     repo = "MultiMC5";
     rev = version;
-    sha256 = "0glsf4vfir8w24bpinf3cx2ninrcp7hpq9cl463wl78dvqfg47kx";
+    sha256 = "07jrr6si8nzfqwf073zhgw47y6snib23ad3imh1ik1nn5r7wqy3c";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ cmake file makeWrapper ];
@@ -18,6 +18,9 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   postInstall = ''
+    mkdir -p $out/share/{applications,pixmaps}
+    cp ../application/resources/multimc/scalable/multimc.svg $out/share/pixmaps
+    cp ../application/package/linux/multimc.desktop $out/share/applications
     wrapProgram $out/bin/MultiMC --add-flags "-d \$HOME/.multimc/" --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} --prefix PATH : ${jdk}/bin/
   '';
 
diff --git a/pkgs/games/opendune/default.nix b/pkgs/games/opendune/default.nix
new file mode 100644
index 000000000000..7b848086794b
--- /dev/null
+++ b/pkgs/games/opendune/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, SDL, SDL_image, SDL_mixer, binutils }:
+
+# - set the opendune configuration at ~/.config/opendune/opendune.ini:
+#     [opendune]
+#     datadir=/path/to/opendune-data
+# - download dune2 into [datadir] http://www.bestoldgames.net/eng/old-games/dune-2.php
+
+stdenv.mkDerivation rec {
+  name = "opendune-${version}";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "OpenDUNE";
+    repo = "OpenDUNE";
+    rev = version;
+    sha256 = "15rvrnszdy3db8s0dmb696l4isb3x2cpj7wcl4j09pdi59pc8p37";
+  };
+
+  buildInputs = [ SDL SDL_image SDL_mixer ];
+
+  installPhase = ''
+    install -m 555 -D bin/opendune $out/bin/opendune
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Dune, Reinvented";
+    homepage = https://github.com/OpenDUNE/OpenDUNE;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.nand0p ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix
index e34f29300ab4..5a35b06a1e3d 100644
--- a/pkgs/games/openrct2/default.nix
+++ b/pkgs/games/openrct2/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An open source re-implementation of RollerCoaster Tycoon 2 (original game required)";
-    homepage = https://openrct2.website/;
+    homepage = https://openrct2.io/;
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ geistesk ];
diff --git a/pkgs/games/rrootage/default.nix b/pkgs/games/rrootage/default.nix
new file mode 100644
index 000000000000..8b07a38c7bb7
--- /dev/null
+++ b/pkgs/games/rrootage/default.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchpatch, fetchurl, SDL, SDL_mixer, bulletml }:
+
+let
+  version = "0.23a";
+  debianRevision = "12";
+  debianPatch = patchname: hash: fetchpatch {
+    name = "${patchname}.patch";
+    url = "https://sources.debian.org/data/main/r/rrootage/${version}-${debianRevision}/debian/patches/${patchname}.patch";
+    sha256 = hash;
+  };
+
+in stdenv.mkDerivation {
+  name = "rrootage-${version}";
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/rrootage/rRootage-${version}.tar.gz";
+    sha256 = "01zzg4ih3kmbhsn1p9zr7g8srv1d2dhrp8cdd86y9qq233idnkln";
+  };
+
+  patches = [
+    (debianPatch
+      "01_makefile"
+      "0wgplznx9kgb82skwqplpydbpallgrby3w662h52wky5zl0pyijj")
+    (debianPatch
+      "02_data_dir"
+      "12vw60s94by3f6k8pk45k555h4y7gzlqfds0a96nrrryammpgnq3")
+    (debianPatch
+      "03_texture_filename"
+      "1qxkxy6821xvanacf25mi43wj8nf40c1qiyavhc8av798xprpkjh")
+    (debianPatch
+      "04_home"
+      "0s15b0liv40jzjd9l4zsq688ky1yp9b1gmb1xhi3bih4y7q9awdz")
+    (debianPatch
+      "05_gcc"
+      "06ihgbfrklabs7cb6216w1jjb9sglv86iagzhhmyydwyph4fb782")
+    (debianPatch
+      "06_rrootage_highres"
+      "0ifjmh236yiv3g896nfwwydgcnq3njdb8ldah7s3jxp3xkpvwcga")
+    (debianPatch
+      "07_use_system_bulletml"
+      "1sxsl1yzx3msvz8mf0jk1vnahqb1ahq9drm391idgh0afy77l6j7")
+    (debianPatch
+      "08_windowed_mode"
+      "0knx4g445ngilsz4dvdkq69f5f8i2xv2fnmdmq037xd5rhfg0b23")
+    (debianPatch
+      "09_rootage_make_highres_default"
+      "1zqz8s54rl8jmqmvdi9c3ayfcma6qkbfkx5vw0fzyn268wcs022p")
+    (debianPatch
+      "10_deg_out_of_range"
+      "1wr76az4rlv1gaj9xdknzqcjazw6h8myqw6y3753q259hxbq4cah")
+  ];
+  postPatch = ''
+    substituteInPlace "src/screen.c" --replace "/usr/share/games/rrootage" "$out/share/games/rrootage"
+    substituteInPlace "src/soundmanager.c" --replace "/usr/share/games/rrootage" "$out/share/games/rrootage"
+    substituteInPlace "src/barragemanager.cc" --replace "/usr/share/games/rrootage" "$out/share/games/rrootage"
+  '';
+
+  buildInputs = [ SDL SDL_mixer bulletml ];
+  makeFlags = [ "-C src" "-f makefile.lin" ];
+  hardeningDisable = [ "stackprotector" "fortify" ]; # buffer overflow without this
+
+  installPhase = ''
+    install -d "$out"/share/games
+    cp -r rr_share "$out"/share/games/rrootage
+    install -D src/rrootage "$out"/bin/rrootage
+
+    install -D -m 644 readme.txt "$out"/share/licenses/rrootage/README.jp
+    install -m 644 readme_e.txt "$out"/share/licenses/rrootage/README.en
+
+    install -D -m 644 readme.txt "$out"/share/doc/rrootage/README.jp
+    install -m 644 readme_e.txt "$out"/share/doc/rrootage/README.en
+    install -m 644 readme_linux "$out"/share/doc/rrootage/README
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Abstract shooter created by Kenta Cho";
+    homepage = "http://rrootage.sourceforge.net/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index c44a166268cc..4de5f6608186 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -3,6 +3,7 @@
 , withJava ? false
 , withPrimus ? false
 , extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs
+, extraProfile ? "" # string to append to profile
 , nativeOnly ? false
 , runtimeOnly ? false
 }:
@@ -178,7 +179,7 @@ in buildFHSUserEnv rec {
 
   profile = ''
     export STEAM_RUNTIME=${if nativeOnly then "0" else "/steamrt"}
-  '';
+  '' + extraProfile;
 
   runScript = writeScript "steam-wrapper.sh" ''
     #!${stdenv.shell}
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 817241fbe0fe..c55fbbb0b8a1 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -13,9 +13,9 @@ let fetchurl = args@{url, sha256, ...}:
 in rec {
 
   stable = fetchurl rec {
-    version = "3.0";
+    version = "3.0.1";
     url = "https://dl.winehq.org/wine/source/3.0/wine-${version}.tar.xz";
-    sha256 = "1v7vq9iinkscbq6wg85fb0d2137660fg2nk5iabxkl2wr850asil";
+    sha256 = "1wr63n70pli83p3rmclr2j4lxzs4ll1cwlpdlaajfrf6v9yhvl5s";
 
     ## see http://wiki.winehq.org/Gecko
     gecko32 = fetchurl rec {
@@ -39,16 +39,16 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "3.7";
+    version = "3.9";
     url = "https://dl.winehq.org/wine/source/3.x/wine-${version}.tar.xz";
-    sha256 = "1drbzk3y0m14lkq3vzwwkvain5shykgcbmyzh6gcb5r4sxh3givn";
+    sha256 = "0ddphvlp9lsjyqc6zckinc36bggpkg925v0x2vqr8nkdjs0w5bfc";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-compholio/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "0kam73jqhah7bzji5csxxhhfdp6byhzpcph6xnzjqz2aic5xk7xi";
+    sha256 = "022hzh9i0pc063vcdy7ilb1lxlxpzgr4llcb52y2j3gz1psrcyqs";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
@@ -56,8 +56,8 @@ in rec {
 
   winetricks = fetchFromGitHub rec {
     # https://github.com/Winetricks/winetricks/releases
-    version = "20180217";
-    sha256 = "0k3vlsqjbzys5dfbxwgw76al8gh44jsjqkc06va103frkrgjxvc5";
+    version = "20180513";
+    sha256 = "0ijjqvx2110mfcfyj3rvw53phqbay91vsp5ncv40szx0d259jbw4";
     owner = "Winetricks";
     repo = "winetricks";
     rev = version;
diff --git a/pkgs/misc/screensavers/i3lock-pixeled/default.nix b/pkgs/misc/screensavers/i3lock-pixeled/default.nix
index 5fff7b8f0ea3..de6114897318 100644
--- a/pkgs/misc/screensavers/i3lock-pixeled/default.nix
+++ b/pkgs/misc/screensavers/i3lock-pixeled/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, pkgs, fetchurl }:
+{ stdenv, i3lock, imagemagick, scrot, playerctl, fetchFromGitLab }:
 
 stdenv.mkDerivation rec {
   name = "i3lock-pixeled-${version}";
   version = "1.2.0";
 
-  src = fetchurl {
-    url = "https://github.com/Ma27/i3lock-pixeled/archive/${version}.tar.gz";
-    sha256 = "0vlynm833fk1mmdnkcgh4hwqmfypn22zskhysm110k39zvikif0h";
+  src = fetchFromGitLab {
+    owner = "Ma27";
+    repo = "i3lock-pixeled";
+    rev = version;
+    sha256 = "0pysx9sv4i3nnjvpqkrxkxaqja2a2dw5f2r1bzjcgg3c3c5qv74b";
   };
 
-  propagatedBuildInputs = with pkgs; [
+  propagatedBuildInputs = [
     i3lock
     imagemagick
     scrot
@@ -22,15 +24,15 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     substituteInPlace i3lock-pixeled \
-       --replace i3lock    "${pkgs.i3lock}/bin/i3lock" \
-       --replace convert   "${pkgs.imagemagick}/bin/convert" \
-       --replace scrot     "${pkgs.scrot}/bin/scrot" \
-       --replace playerctl "${pkgs.playerctl}/bin/playerctl"
+       --replace i3lock    "${i3lock}/bin/i3lock" \
+       --replace convert   "${imagemagick}/bin/convert" \
+       --replace scrot     "${scrot}/bin/scrot" \
+       --replace playerctl "${playerctl}/bin/playerctl"
   '';
 
   meta = with stdenv.lib; {
     description = "Simple i3lock helper which pixels a screenshot by scaling it down and up to get a pixeled version of the screen when the lock is active.";
-    homepage = https://github.com/Ma27/i3lock-pixeled;
+    homepage = https://gitlab.com/Ma27/i3lock-pixeled;
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ma27 ];
diff --git a/pkgs/misc/themes/adapta-kde/default.nix b/pkgs/misc/themes/adapta-kde/default.nix
new file mode 100644
index 000000000000..875973c9d3f5
--- /dev/null
+++ b/pkgs/misc/themes/adapta-kde/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "adapta-kde-theme-${version}";
+  version = "20180512";
+
+  src = fetchFromGitHub {
+    owner = "PapirusDevelopmentTeam";
+    repo = "adapta-kde";
+    rev = version;
+    sha256 = "1lgpkylhzbayk892inql16sjyy9d3v126f9i1v7qgha1203rwcji";
+  };
+
+  makeFlags = ["PREFIX=$(out)" ];
+
+  # Make this a fixed-output derivation
+  outputHashMode = "recursive";
+  outputHashAlgo = "sha256";
+  ouputHash = "0rxhk8sp81vb2mngqr7kn9vlqyliq9aqj2d25igcr01v5axbxbzb";
+
+  meta = {
+    description = "A port of the Adapta theme for Plasma";
+    homepage = https://git.io/adapta-kde;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.tadfisher ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 4cf1748bad44..9486a504ac39 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -7,8 +7,8 @@ let
   # Various changes for 64-bit sunxi boards, (hopefully) destined for 2018.05
   sunxiPatch = fetchpatch {
     name = "sunxi.patch";
-    url = "https://github.com/u-boot/u-boot/compare/v2018.03...dezgeg:2018-03-sunxi.patch";
-    sha256 = "1pqn7c6c06hfygwpcgaraqvqxcjhz99j0rx5psfhj8igy0qvk2dq";
+    url = "https://github.com/u-boot/u-boot/compare/v2018.05...dezgeg:2018-05-sunxi.patch";
+    sha256 = "1dfv4s1f71iv80vjxgyghv4pcwjv4mjphk75a8hfl3jdbpd66d36";
   };
 
   buildUBoot = { filesToInstall
@@ -21,21 +21,21 @@ let
            stdenv.mkDerivation (rec {
 
     name = "uboot-${defconfig}-${version}";
-    version = "2018.03";
+    version = "2018.05";
 
     src = fetchurl {
       url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
-      sha256 = "1z9x635l5164c5hnf7qs19w7j3qghbkgs7rpn673dm898i9pfx3y";
+      sha256 = "0j60p4iskzb4hamxgykc6gd7xchxfka1zwh8hv08r9rrc4m3r8ad";
     };
 
     patches = [
       (fetchpatch {
-        url = https://github.com/dezgeg/u-boot/commit/rpi-2017-11-patch1.patch;
-        sha256 = "067yq55vv1slv4xy346px7h329pi14abdn04chg6s1s6hmf6c1x9";
+        url = https://github.com/dezgeg/u-boot/commit/rpi-2018-05-patch1.patch;
+        sha256 = "0xvw16mp6mm36987rd5yb8bw0n5b3p1gq35wch2gbj15wx55450p";
       })
       (fetchpatch {
-        url = https://github.com/dezgeg/u-boot/commit/rpi-2017-11-patch2.patch;
-        sha256 = "0bbw0q027xvzvdxxvpzjajg4rm30a8mb7z74b6ma9q0l7y7bi0c4";
+        url = https://github.com/dezgeg/u-boot/commit/rpi-2018-05-patch2.patch;
+        sha256 = "0q1a5l5rfgddncxrjk59qr1f5587dwbvcf6z15bsfl2invs19m2b";
       })
       (fetchpatch {
         url = https://github.com/dezgeg/u-boot/commit/pythonpath-2018-03.patch;
@@ -100,8 +100,7 @@ in rec {
     hardeningDisable = [];
     dontStrip = false;
     extraMeta.platforms = stdenv.lib.platforms.linux;
-    # build tools/kwboot
-    extraMakeFlags = [ "CONFIG_KIRKWOOD=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
+    extraMakeFlags = [ "HOST_TOOLS_ALL=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
     postConfigure = ''
       sed -i '/CONFIG_SYS_TEXT_BASE/c\CONFIG_SYS_TEXT_BASE=0x00000000' .config
     '';
@@ -218,6 +217,12 @@ in rec {
     filesToInstall = ["u-boot.bin"];
   };
 
+  ubootRaspberryPiZero = buildUBoot rec {
+    defconfig = "rpi_0_w_defconfig";
+    extraMeta.platforms = ["armv6l-linux"];
+    filesToInstall = ["u-boot.bin"];
+  };
+
   ubootSheevaplug = buildUBoot rec {
     defconfig = "sheevaplug_defconfig";
     extraMeta.platforms = ["armv5tel-linux"];
diff --git a/pkgs/os-specific/bsd/netbsd/compat.patch b/pkgs/os-specific/bsd/netbsd/compat.patch
new file mode 100644
index 000000000000..f67ca2e50791
--- /dev/null
+++ b/pkgs/os-specific/bsd/netbsd/compat.patch
@@ -0,0 +1,18 @@
+diff -u -r1.35.2.1 nbtool_config.h.in
+--- a/nbtool_config.h.in	22 Apr 2015 07:18:58 -0000	1.35.2.1
++++ b/nbtool_config.h.in	31 May 2018 01:46:53 -0000
+@@ -680,5 +680,14 @@
+ /* Define if you have u_int8_t, but not uint8_t. */
+ #undef uint8_t
+ 
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ #include "compat_defs.h"
++
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* !__NETBSD_NBTOOL_CONFIG_H__ */
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix
index 84d6926c50c7..950694d0bfe3 100644
--- a/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/pkgs/os-specific/bsd/netbsd/default.nix
@@ -162,7 +162,7 @@ let
     extraPaths = [ make.src ] ++ make.extraPaths;
   };
 
-  compat = netBSDDerivation {
+  compat = netBSDDerivation rec {
     path = "tools/compat";
     sha256 = "17phkfafybxwhzng44k5bhmag6i55br53ky1nwcmw583kg2fa86z";
     version = "7.1.2";
@@ -182,6 +182,8 @@ let
     installFlags = [];
     RENAME = "-D";
 
+    patches = [ ./compat.patch ];
+
     postInstall = ''
       mv $out/include/compat/* $out/include
       rmdir $out/include/compat
@@ -203,6 +205,12 @@ let
       install -D $NETBSDSRCDIR/include/rpc/types.h $out/include/rpc/types.h
       install -D $NETBSDSRCDIR/include/utmpx.h $out/include/utmpx.h
       install -D $NETBSDSRCDIR/include/tzfile.h $out/include/tzfile.h
+      install -D $NETBSDSRCDIR/sys/sys/tree.h $out/include/sys/tree.h
+
+      mkdir -p $out/lib/pkgconfig
+      substitute ${./libbsd-overlay.pc} $out/lib/pkgconfig/libbsd-overlay.pc \
+        --subst-var-by out $out \
+        --subst-var-by version ${version}
 
       # Remove lingering /usr references
       if [ -d $out/usr ]; then
diff --git a/pkgs/os-specific/bsd/netbsd/libbsd-overlay.pc b/pkgs/os-specific/bsd/netbsd/libbsd-overlay.pc
new file mode 100644
index 000000000000..3aadabe50882
--- /dev/null
+++ b/pkgs/os-specific/bsd/netbsd/libbsd-overlay.pc
@@ -0,0 +1,11 @@
+prefix=@out@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: nbcompat
+Description: NetBSD compatibility framework
+Version: @version@
+URL: https://www.netbsd.org/
+Libs: -L${libdir} -lnbcompat
+Cflags: -I${includedir} -DHAVE_NBTOOL_CONFIG_H -include nbtool_config.h
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
index 7ea9d51b4bf6..bb9e4fa755db 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, appleDerivation, autoreconfHook }:
+{ stdenv, appleDerivation, autoreconfHook, targetPlatform, enableStatic ? targetPlatform.isiOS }:
 
 appleDerivation {
   postUnpack = "sourceRoot=$sourceRoot/libiconv";
@@ -7,7 +7,9 @@ appleDerivation {
     sed -i 's/darwin\*/ios\*/g' configure libcharset/configure
   '';
 
-  postInstall = ''
+  configureFlags = stdenv.lib.optionals enableStatic [ "--enable-static" "--disable-shared" ];
+
+  postInstall = stdenv.lib.optionalString (!enableStatic) ''
     mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib
     ${stdenv.cc.bintools.targetPrefix}install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib
 
diff --git a/pkgs/os-specific/darwin/xcode/default.nix b/pkgs/os-specific/darwin/xcode/default.nix
index 4cfc0874fcd0..46f6f03b90a7 100644
--- a/pkgs/os-specific/darwin/xcode/default.nix
+++ b/pkgs/os-specific/darwin/xcode/default.nix
@@ -17,7 +17,7 @@ let requireXcode = version: sha256:
             '';
     app = requireFile rec {
       name     = "Xcode.app";
-      url      = "https://download.developer.apple.com/Developer_Tools/Xcode_" + version + "/" + xip;
+      url      = "https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_${version}/${xip}";
       hashMode = "recursive";
       inherit sha256;
       message  = ''
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index ab75d38ba716..e8972263f38d 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -33,14 +33,14 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.28.3";
+  name = "busybox-1.28.4";
 
   # Note to whoever is updating busybox: please verify that:
   # nix-build pkgs/stdenv/linux/make-bootstrap-tools.nix -A test
   # still builds after the update.
   src = fetchurl {
     url = "http://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "0via6faqj9xcyi8r39r4n0wxlk8r2292yk0slzwrdri37w1j43dd";
+    sha256 = "0smfn8hlds6nx8war62kyaykg3n7mxbjjfcpsgz84znwk4v4mhg3";
   };
 
   hardeningDisable = [ "format" ] ++ lib.optionals enableStatic [ "fortify" ];
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index d00f1b148374..344d224df948 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "raspberrypi-firmware-${version}";
-  version = "1.20180328";
+  version = "1.20180417";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "firmware";
     rev = version;
-    sha256 = "19h4lv11idy268pyrq21c5gsff77d5xr9xjkpmzfpcq34gjh3x21";
+    sha256 = "17mnnhni0wgdnc3mw60nfhcj9v6p5dwcqkwnbpvzczab3r2hziji";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index cee2197f3c7a..a226061ecbfa 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -214,6 +214,11 @@ with stdenv.lib;
   ${optionalString (versionOlder version "4.3") ''
     DRM_I915_KMS y
   ''}
+  # iGVT-g support
+  ${optionalString (versionAtLeast version "4.16") ''
+    DRM_I915_GVT y
+    DRM_I915_GVT_KVMGT m
+  ''}
   # Allow specifying custom EDID on the kernel command line
   DRM_LOAD_EDID_FIRMWARE y
   VGA_SWITCHEROO y # Hybrid graphics support
diff --git a/pkgs/os-specific/linux/kernel/copperhead-4-16.patch b/pkgs/os-specific/linux/kernel/copperhead-4-16.patch
new file mode 100644
index 000000000000..f0a4bc940347
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/copperhead-4-16.patch
@@ -0,0 +1,2571 @@
+diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
+index 9824d049367e..6ff72316ff0a 100644
+--- a/Documentation/admin-guide/kernel-parameters.txt
++++ b/Documentation/admin-guide/kernel-parameters.txt
+@@ -496,16 +496,6 @@
+			nosocket -- Disable socket memory accounting.
+			nokmem -- Disable kernel memory accounting.
+
+-	checkreqprot	[SELINUX] Set initial checkreqprot flag value.
+-			Format: { "0" | "1" }
+-			See security/selinux/Kconfig help text.
+-			0 -- check protection applied by kernel (includes
+-				any implied execute protection).
+-			1 -- check protection requested by application.
+-			Default value is set via a kernel config option.
+-			Value can be changed at runtime via
+-				/selinux/checkreqprot.
+-
+	cio_ignore=	[S390]
+			See Documentation/s390/CommonIO for details.
+	clk_ignore_unused
+@@ -2946,6 +2936,11 @@
+			the specified number of seconds.  This is to be used if
+			your oopses keep scrolling off the screen.
+
++	extra_latent_entropy
++			Enable a very simple form of latent entropy extraction
++			from the first 4GB of memory as the bootmem allocator
++			passes the memory pages to the buddy allocator.
++
+	pcbit=		[HW,ISDN]
+
+	pcd.		[PARIDE]
+diff --git a/Makefile b/Makefile
+index ded9e8480d74..2e948bb78142 100644
+--- a/Makefile
++++ b/Makefile
+@@ -734,6 +734,9 @@ endif
+ endif
+
+ ifeq ($(cc-name),clang)
++ifdef CONFIG_LOCAL_INIT
++KBUILD_CFLAGS   += -fsanitize=local-init
++endif
+ KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,)
+ KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier)
+ KBUILD_CFLAGS += $(call cc-disable-warning, gnu)
+diff --git a/arch/Kconfig b/arch/Kconfig
+index 76c0b54443b1..63a2d30f807f 100644
+--- a/arch/Kconfig
++++ b/arch/Kconfig
+@@ -454,6 +454,11 @@ config GCC_PLUGIN_LATENT_ENTROPY
+	  is some slowdown of the boot process (about 0.5%) and fork and
+	  irq processing.
+
++	  When extra_latent_entropy is passed on the kernel command line,
++	  entropy will be extracted from up to the first 4GB of RAM while the
++	  runtime memory allocator is being initialized.  This costs even more
++	  slowdown of the boot process.
++
+	  Note that entropy extracted this way is not cryptographically
+	  secure!
+
+@@ -747,7 +752,7 @@ config ARCH_MMAP_RND_BITS
+	int "Number of bits to use for ASLR of mmap base address" if EXPERT
+	range ARCH_MMAP_RND_BITS_MIN ARCH_MMAP_RND_BITS_MAX
+	default ARCH_MMAP_RND_BITS_DEFAULT if ARCH_MMAP_RND_BITS_DEFAULT
+-	default ARCH_MMAP_RND_BITS_MIN
++	default ARCH_MMAP_RND_BITS_MAX
+	depends on HAVE_ARCH_MMAP_RND_BITS
+	help
+	  This value can be used to select the number of bits to use to
+@@ -781,7 +786,7 @@ config ARCH_MMAP_RND_COMPAT_BITS
+	int "Number of bits to use for ASLR of mmap base address for compatible applications" if EXPERT
+	range ARCH_MMAP_RND_COMPAT_BITS_MIN ARCH_MMAP_RND_COMPAT_BITS_MAX
+	default ARCH_MMAP_RND_COMPAT_BITS_DEFAULT if ARCH_MMAP_RND_COMPAT_BITS_DEFAULT
+-	default ARCH_MMAP_RND_COMPAT_BITS_MIN
++	default ARCH_MMAP_RND_COMPAT_BITS_MAX
+	depends on HAVE_ARCH_MMAP_RND_COMPAT_BITS
+	help
+	  This value can be used to select the number of bits to use to
+@@ -968,6 +973,7 @@ config ARCH_HAS_REFCOUNT
+
+ config REFCOUNT_FULL
+	bool "Perform full reference count validation at the expense of speed"
++	default y
+	help
+	  Enabling this switches the refcounting infrastructure from a fast
+	  unchecked atomic_t implementation to a fully state checked
+diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
+index be665760f2bd..5fb9026c9762 100644
+--- a/arch/arm64/Kconfig
++++ b/arch/arm64/Kconfig
+@@ -988,6 +988,7 @@ endif
+
+ config ARM64_SW_TTBR0_PAN
+	bool "Emulate Privileged Access Never using TTBR0_EL1 switching"
++	default y
+	help
+	  Enabling this option prevents the kernel from accessing
+	  user-space memory directly by pointing TTBR0_EL1 to a reserved
+@@ -1141,6 +1142,7 @@ config RANDOMIZE_BASE
+	bool "Randomize the address of the kernel image"
+	select ARM64_MODULE_PLTS if MODULES
+	select RELOCATABLE
++	default y
+	help
+	  Randomizes the virtual address at which the kernel image is
+	  loaded, as a security feature that deters exploit attempts
+diff --git a/arch/arm64/Kconfig.debug b/arch/arm64/Kconfig.debug
+index cc6bd559af85..01d5442d4722 100644
+--- a/arch/arm64/Kconfig.debug
++++ b/arch/arm64/Kconfig.debug
+@@ -45,6 +45,7 @@ config ARM64_RANDOMIZE_TEXT_OFFSET
+ config DEBUG_WX
+	bool "Warn on W+X mappings at boot"
+	select ARM64_PTDUMP_CORE
++	default y
+	---help---
+	  Generate a warning if any W+X mappings are found at boot.
+
+diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
+index 634b373785c4..5b255a6db6a7 100644
+--- a/arch/arm64/configs/defconfig
++++ b/arch/arm64/configs/defconfig
+@@ -1,4 +1,3 @@
+-CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_AUDIT=y
+ CONFIG_NO_HZ_IDLE=y
+diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h
+index fac1c4de7898..34786ca166e4 100644
+--- a/arch/arm64/include/asm/elf.h
++++ b/arch/arm64/include/asm/elf.h
+@@ -114,10 +114,10 @@
+
+ /*
+  * This is the base location for PIE (ET_DYN with INTERP) loads. On
+- * 64-bit, this is above 4GB to leave the entire 32-bit address
++ * 64-bit, this is raised to 4GB to leave the entire 32-bit address
+  * space open for things that want to use the area for 32-bit pointers.
+  */
+-#define ELF_ET_DYN_BASE		(2 * TASK_SIZE_64 / 3)
++#define ELF_ET_DYN_BASE		0x100000000UL
+
+ #ifndef __ASSEMBLY__
+
+@@ -158,10 +158,10 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm,
+ /* 1GB of VA */
+ #ifdef CONFIG_COMPAT
+ #define STACK_RND_MASK			(test_thread_flag(TIF_32BIT) ? \
+-						0x7ff >> (PAGE_SHIFT - 12) : \
+-						0x3ffff >> (PAGE_SHIFT - 12))
++						((1UL << mmap_rnd_compat_bits) - 1) >> (PAGE_SHIFT - 12) : \
++						((1UL << mmap_rnd_bits) - 1) >> (PAGE_SHIFT - 12))
+ #else
+-#define STACK_RND_MASK			(0x3ffff >> (PAGE_SHIFT - 12))
++#define STACK_RND_MASK			(((1UL << mmap_rnd_bits) - 1) >> (PAGE_SHIFT - 12))
+ #endif
+
+ #ifdef __AARCH64EB__
+diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
+index c0da6efe5465..f308b521c114 100644
+--- a/arch/arm64/kernel/process.c
++++ b/arch/arm64/kernel/process.c
+@@ -481,9 +481,9 @@ unsigned long arch_align_stack(unsigned long sp)
+ unsigned long arch_randomize_brk(struct mm_struct *mm)
+ {
+	if (is_compat_task())
+-		return randomize_page(mm->brk, SZ_32M);
++		return mm->brk + get_random_long() % SZ_32M + PAGE_SIZE;
+	else
+-		return randomize_page(mm->brk, SZ_1G);
++		return mm->brk + get_random_long() % SZ_1G + PAGE_SIZE;
+ }
+
+ /*
+diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
+index 0fa71a78ec99..d78d44944374 100644
+--- a/arch/x86/Kconfig
++++ b/arch/x86/Kconfig
+@@ -1208,8 +1208,7 @@ config VM86
+        default X86_LEGACY_VM86
+
+ config X86_16BIT
+-	bool "Enable support for 16-bit segments" if EXPERT
+-	default y
++	bool "Enable support for 16-bit segments"
+	depends on MODIFY_LDT_SYSCALL
+	---help---
+	  This option is required by programs like Wine to run 16-bit
+@@ -2299,7 +2298,7 @@ config COMPAT_VDSO
+ choice
+	prompt "vsyscall table for legacy applications"
+	depends on X86_64
+-	default LEGACY_VSYSCALL_EMULATE
++	default LEGACY_VSYSCALL_NONE
+	help
+	  Legacy user code that does not know how to find the vDSO expects
+	  to be able to issue three syscalls by calling fixed addresses in
+@@ -2380,8 +2379,7 @@ config CMDLINE_OVERRIDE
+	  be set to 'N' under normal conditions.
+
+ config MODIFY_LDT_SYSCALL
+-	bool "Enable the LDT (local descriptor table)" if EXPERT
+-	default y
++	bool "Enable the LDT (local descriptor table)"
+	---help---
+	  Linux can allow user programs to install a per-process x86
+	  Local Descriptor Table (LDT) using the modify_ldt(2) system
+diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
+index 192e4d2f9efc..343c2f1b13da 100644
+--- a/arch/x86/Kconfig.debug
++++ b/arch/x86/Kconfig.debug
+@@ -101,6 +101,7 @@ config EFI_PGT_DUMP
+ config DEBUG_WX
+	bool "Warn on W+X mappings at boot"
+	select X86_PTDUMP_CORE
++	default y
+	---help---
+	  Generate a warning if any W+X mappings are found at boot.
+
+diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
+index e32fc1f274d8..d08acc76502a 100644
+--- a/arch/x86/configs/x86_64_defconfig
++++ b/arch/x86/configs/x86_64_defconfig
+@@ -1,5 +1,4 @@
+ # CONFIG_LOCALVERSION_AUTO is not set
+-CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ CONFIG_TASKSTATS=y
+diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c
+index 5b8b556dbb12..a569f08b4478 100644
+--- a/arch/x86/entry/vdso/vma.c
++++ b/arch/x86/entry/vdso/vma.c
+@@ -204,55 +204,9 @@ static int map_vdso(const struct vdso_image *image, unsigned long addr)
+ }
+
+ #ifdef CONFIG_X86_64
+-/*
+- * Put the vdso above the (randomized) stack with another randomized
+- * offset.  This way there is no hole in the middle of address space.
+- * To save memory make sure it is still in the same PTE as the stack
+- * top.  This doesn't give that many random bits.
+- *
+- * Note that this algorithm is imperfect: the distribution of the vdso
+- * start address within a PMD is biased toward the end.
+- *
+- * Only used for the 64-bit and x32 vdsos.
+- */
+-static unsigned long vdso_addr(unsigned long start, unsigned len)
+-{
+-	unsigned long addr, end;
+-	unsigned offset;
+-
+-	/*
+-	 * Round up the start address.  It can start out unaligned as a result
+-	 * of stack start randomization.
+-	 */
+-	start = PAGE_ALIGN(start);
+-
+-	/* Round the lowest possible end address up to a PMD boundary. */
+-	end = (start + len + PMD_SIZE - 1) & PMD_MASK;
+-	if (end >= TASK_SIZE_MAX)
+-		end = TASK_SIZE_MAX;
+-	end -= len;
+-
+-	if (end > start) {
+-		offset = get_random_int() % (((end - start) >> PAGE_SHIFT) + 1);
+-		addr = start + (offset << PAGE_SHIFT);
+-	} else {
+-		addr = start;
+-	}
+-
+-	/*
+-	 * Forcibly align the final address in case we have a hardware
+-	 * issue that requires alignment for performance reasons.
+-	 */
+-	addr = align_vdso_addr(addr);
+-
+-	return addr;
+-}
+-
+ static int map_vdso_randomized(const struct vdso_image *image)
+ {
+-	unsigned long addr = vdso_addr(current->mm->start_stack, image->size-image->sym_vvar_start);
+-
+-	return map_vdso(image, addr);
++	return map_vdso(image, 0);
+ }
+ #endif
+
+diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h
+index 0d157d2a1e2a..770c8ae97f92 100644
+--- a/arch/x86/include/asm/elf.h
++++ b/arch/x86/include/asm/elf.h
+@@ -249,11 +249,11 @@ extern int force_personality32;
+
+ /*
+  * This is the base location for PIE (ET_DYN with INTERP) loads. On
+- * 64-bit, this is above 4GB to leave the entire 32-bit address
++ * 64-bit, this is raised to 4GB to leave the entire 32-bit address
+  * space open for things that want to use the area for 32-bit pointers.
+  */
+ #define ELF_ET_DYN_BASE		(mmap_is_ia32() ? 0x000400000UL : \
+-						  (DEFAULT_MAP_WINDOW / 3 * 2))
++						  0x100000000UL)
+
+ /* This yields a mask that user programs can use to figure out what
+    instruction set this CPU supports.  This could be done in user space,
+@@ -313,8 +313,8 @@ extern bool mmap_address_hint_valid(unsigned long addr, unsigned long len);
+
+ #ifdef CONFIG_X86_32
+
+-#define __STACK_RND_MASK(is32bit) (0x7ff)
+-#define STACK_RND_MASK (0x7ff)
++#define __STACK_RND_MASK(is32bit) ((1UL << mmap_rnd_bits) - 1)
++#define STACK_RND_MASK ((1UL << mmap_rnd_bits) - 1)
+
+ #define ARCH_DLINFO		ARCH_DLINFO_IA32
+
+@@ -323,7 +323,11 @@ extern bool mmap_address_hint_valid(unsigned long addr, unsigned long len);
+ #else /* CONFIG_X86_32 */
+
+ /* 1GB for 64bit, 8MB for 32bit */
+-#define __STACK_RND_MASK(is32bit) ((is32bit) ? 0x7ff : 0x3fffff)
++#ifdef CONFIG_COMPAT
++#define __STACK_RND_MASK(is32bit) ((is32bit) ? (1UL << mmap_rnd_compat_bits) - 1 : (1UL << mmap_rnd_bits) - 1)
++#else
++#define __STACK_RND_MASK(is32bit) ((1UL << mmap_rnd_bits) - 1)
++#endif
+ #define STACK_RND_MASK __STACK_RND_MASK(mmap_is_ia32())
+
+ #define ARCH_DLINFO							\
+@@ -381,5 +385,4 @@ struct va_alignment {
+ } ____cacheline_aligned;
+
+ extern struct va_alignment va_align;
+-extern unsigned long align_vdso_addr(unsigned long);
+ #endif /* _ASM_X86_ELF_H */
+diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h
+index 84137c22fdfa..4f197404cab9 100644
+--- a/arch/x86/include/asm/tlbflush.h
++++ b/arch/x86/include/asm/tlbflush.h
+@@ -261,6 +261,7 @@ static inline void cr4_set_bits(unsigned long mask)
+
+	local_irq_save(flags);
+	cr4 = this_cpu_read(cpu_tlbstate.cr4);
++	BUG_ON(cr4 != __read_cr4());
+	if ((cr4 | mask) != cr4)
+		__cr4_set(cr4 | mask);
+	local_irq_restore(flags);
+@@ -273,6 +274,7 @@ static inline void cr4_clear_bits(unsigned long mask)
+
+	local_irq_save(flags);
+	cr4 = this_cpu_read(cpu_tlbstate.cr4);
++	BUG_ON(cr4 != __read_cr4());
+	if ((cr4 & ~mask) != cr4)
+		__cr4_set(cr4 & ~mask);
+	local_irq_restore(flags);
+@@ -283,6 +285,7 @@ static inline void cr4_toggle_bits_irqsoff(unsigned long mask)
+	unsigned long cr4;
+
+	cr4 = this_cpu_read(cpu_tlbstate.cr4);
++        BUG_ON(cr4 != __read_cr4());
+	__cr4_set(cr4 ^ mask);
+ }
+
+@@ -389,6 +392,7 @@ static inline void __native_flush_tlb_global(void)
+	raw_local_irq_save(flags);
+
+	cr4 = this_cpu_read(cpu_tlbstate.cr4);
++	BUG_ON(cr4 != __read_cr4());
+	/* toggle PGE */
+	native_write_cr4(cr4 ^ X86_CR4_PGE);
+	/* write old PGE again and flush TLBs */
+diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
+index 5f74f94244e1..9c9fdb5ef52e 100644
+--- a/arch/x86/kernel/cpu/common.c
++++ b/arch/x86/kernel/cpu/common.c
+@@ -1662,7 +1662,6 @@ void cpu_init(void)
+	wrmsrl(MSR_KERNEL_GS_BASE, 0);
+	barrier();
+
+-	x86_configure_nx();
+	x2apic_setup();
+
+	/*
+diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
+index 30ca2d1a9231..bde0a18cd9f9 100644
+--- a/arch/x86/kernel/process.c
++++ b/arch/x86/kernel/process.c
+@@ -39,6 +39,8 @@
+ #include <asm/desc.h>
+ #include <asm/prctl.h>
+ #include <asm/spec-ctrl.h>
++#include <asm/elf.h>
++#include <linux/sizes.h>
+
+ /*
+  * per-CPU TSS segments. Threads are completely 'soft' on Linux,
+@@ -718,7 +720,10 @@ unsigned long arch_align_stack(unsigned long sp)
+
+ unsigned long arch_randomize_brk(struct mm_struct *mm)
+ {
+-	return randomize_page(mm->brk, 0x02000000);
++	if (mmap_is_ia32())
++		return mm->brk + get_random_long() % SZ_32M + PAGE_SIZE;
++	else
++		return mm->brk + get_random_long() % SZ_1G + PAGE_SIZE;
+ }
+
+ /*
+diff --git a/arch/x86/kernel/sys_x86_64.c b/arch/x86/kernel/sys_x86_64.c
+index 676774b9bb8d..5ad7a95382b0 100644
+--- a/arch/x86/kernel/sys_x86_64.c
++++ b/arch/x86/kernel/sys_x86_64.c
+@@ -54,13 +54,6 @@ static unsigned long get_align_bits(void)
+	return va_align.bits & get_align_mask();
+ }
+
+-unsigned long align_vdso_addr(unsigned long addr)
+-{
+-	unsigned long align_mask = get_align_mask();
+-	addr = (addr + align_mask) & ~align_mask;
+-	return addr | get_align_bits();
+-}
+-
+ static int __init control_va_addr_alignment(char *str)
+ {
+	/* guard against enabling this on other CPU families */
+@@ -122,10 +115,7 @@ static void find_start_end(unsigned long addr, unsigned long flags,
+	}
+
+	*begin	= get_mmap_base(1);
+-	if (in_compat_syscall())
+-		*end = task_size_32bit();
+-	else
+-		*end = task_size_64bit(addr > DEFAULT_MAP_WINDOW);
++	*end	= get_mmap_base(0);
+ }
+
+ unsigned long
+@@ -210,7 +200,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+
+	info.flags = VM_UNMAPPED_AREA_TOPDOWN;
+	info.length = len;
+-	info.low_limit = PAGE_SIZE;
++	info.low_limit = get_mmap_base(1);
+	info.high_limit = get_mmap_base(0);
+
+	/*
+diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
+index 396e1f0151ac..6526b19579dc 100644
+--- a/arch/x86/mm/init_32.c
++++ b/arch/x86/mm/init_32.c
+@@ -558,7 +558,7 @@ static void __init pagetable_init(void)
+	permanent_kmaps_init(pgd_base);
+ }
+
+-pteval_t __supported_pte_mask __read_mostly = ~(_PAGE_NX | _PAGE_GLOBAL);
++pteval_t __supported_pte_mask __ro_after_init = ~(_PAGE_NX | _PAGE_GLOBAL);
+ EXPORT_SYMBOL_GPL(__supported_pte_mask);
+
+ /* user-defined highmem size */
+@@ -866,7 +866,7 @@ int arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
+ #endif
+ #endif
+
+-int kernel_set_to_readonly __read_mostly;
++int kernel_set_to_readonly __ro_after_init;
+
+ void set_kernel_text_rw(void)
+ {
+@@ -918,12 +918,11 @@ void mark_rodata_ro(void)
+	unsigned long start = PFN_ALIGN(_text);
+	unsigned long size = PFN_ALIGN(_etext) - start;
+
++	kernel_set_to_readonly = 1;
+	set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT);
+	printk(KERN_INFO "Write protecting the kernel text: %luk\n",
+		size >> 10);
+
+-	kernel_set_to_readonly = 1;
+-
+ #ifdef CONFIG_CPA_DEBUG
+	printk(KERN_INFO "Testing CPA: Reverting %lx-%lx\n",
+		start, start+size);
+diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
+index af11a2890235..b2d28d38c01e 100644
+--- a/arch/x86/mm/init_64.c
++++ b/arch/x86/mm/init_64.c
+@@ -65,7 +65,7 @@
+  * around without checking the pgd every time.
+  */
+
+-pteval_t __supported_pte_mask __read_mostly = ~0;
++pteval_t __supported_pte_mask __ro_after_init = ~0;
+ EXPORT_SYMBOL_GPL(__supported_pte_mask);
+
+ int force_personality32;
+@@ -1195,7 +1195,7 @@ void __init mem_init(void)
+	mem_init_print_info(NULL);
+ }
+
+-int kernel_set_to_readonly;
++int kernel_set_to_readonly __ro_after_init;
+
+ void set_kernel_text_rw(void)
+ {
+@@ -1244,9 +1244,8 @@ void mark_rodata_ro(void)
+
+	printk(KERN_INFO "Write protecting the kernel read-only data: %luk\n",
+	       (end - start) >> 10);
+-	set_memory_ro(start, (end - start) >> PAGE_SHIFT);
+-
+	kernel_set_to_readonly = 1;
++	set_memory_ro(start, (end - start) >> PAGE_SHIFT);
+
+	/*
+	 * The rodata/data/bss/brk section (but not the kernel text!)
+diff --git a/block/blk-softirq.c b/block/blk-softirq.c
+index 01e2b353a2b9..9aeddca4a29f 100644
+--- a/block/blk-softirq.c
++++ b/block/blk-softirq.c
+@@ -20,7 +20,7 @@ static DEFINE_PER_CPU(struct list_head, blk_cpu_done);
+  * Softirq action handler - move entries to local list and loop over them
+  * while passing them to the queue registered handler.
+  */
+-static __latent_entropy void blk_done_softirq(struct softirq_action *h)
++static __latent_entropy void blk_done_softirq(void)
+ {
+	struct list_head *cpu_list, local_list;
+
+diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
+index 0df21f046fc6..6f8d9bf71bba 100644
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -5151,7 +5151,7 @@ void ata_qc_free(struct ata_queued_cmd *qc)
+	struct ata_port *ap;
+	unsigned int tag;
+
+-	WARN_ON_ONCE(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
++	BUG_ON(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
+	ap = qc->ap;
+
+	qc->flags = 0;
+@@ -5168,7 +5168,7 @@ void __ata_qc_complete(struct ata_queued_cmd *qc)
+	struct ata_port *ap;
+	struct ata_link *link;
+
+-	WARN_ON_ONCE(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
++	BUG_ON(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
+	WARN_ON_ONCE(!(qc->flags & ATA_QCFLAG_ACTIVE));
+	ap = qc->ap;
+	link = qc->dev->link;
+diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
+index c28dca0c613d..d4813f0d25ca 100644
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -9,7 +9,6 @@ source "drivers/tty/Kconfig"
+
+ config DEVMEM
+	bool "/dev/mem virtual device support"
+-	default y
+	help
+	  Say Y here if you want to support the /dev/mem device.
+	  The /dev/mem device is used to access areas of physical
+@@ -568,7 +567,6 @@ config TELCLOCK
+ config DEVPORT
+	bool "/dev/port character device"
+	depends on ISA || PCI
+-	default y
+	help
+	  Say Y here if you want to support the /dev/port device. The /dev/port
+	  device is similar to /dev/mem, but for I/O ports.
+diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
+index b811442c5ce6..4f62a63cbcb1 100644
+--- a/drivers/tty/Kconfig
++++ b/drivers/tty/Kconfig
+@@ -122,7 +122,6 @@ config UNIX98_PTYS
+
+ config LEGACY_PTYS
+	bool "Legacy (BSD) PTY support"
+-	default y
+	---help---
+	  A pseudo terminal (PTY) is a software device consisting of two
+	  halves: a master and a slave. The slave device behaves identical to
+diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
+index 83c58a20d16f..32ef2e3a8482 100644
+--- a/drivers/usb/core/hub.c
++++ b/drivers/usb/core/hub.c
+@@ -41,6 +41,8 @@
+ #define USB_TP_TRANSMISSION_DELAY	40	/* ns */
+ #define USB_TP_TRANSMISSION_DELAY_MAX	65535	/* ns */
+
++extern int deny_new_usb;
++
+ /* Protect struct usb_device->state and ->children members
+  * Note: Both are also protected by ->dev.sem, except that ->state can
+  * change to USB_STATE_NOTATTACHED even when the semaphore isn't held. */
+@@ -4847,6 +4849,12 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus,
+			goto done;
+		return;
+	}
++
++	if (deny_new_usb) {
++		dev_err(&port_dev->dev, "denied insert of USB device on port %d\n", port1);
++		goto done;
++	}
++
+	if (hub_is_superspeed(hub->hdev))
+		unit_load = 150;
+	else
+diff --git a/fs/exec.c b/fs/exec.c
+index 7eb8d21bcab9..171f31b3bf05 100644
+--- a/fs/exec.c
++++ b/fs/exec.c
+@@ -62,6 +62,7 @@
+ #include <linux/oom.h>
+ #include <linux/compat.h>
+ #include <linux/vmalloc.h>
++#include <linux/random.h>
+
+ #include <linux/uaccess.h>
+ #include <asm/mmu_context.h>
+@@ -321,6 +322,8 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
+	arch_bprm_mm_init(mm, vma);
+	up_write(&mm->mmap_sem);
+	bprm->p = vma->vm_end - sizeof(void *);
++	if (randomize_va_space)
++		bprm->p ^= get_random_int() & ~PAGE_MASK;
+	return 0;
+ err:
+	up_write(&mm->mmap_sem);
+diff --git a/fs/namei.c b/fs/namei.c
+index b61d6aa9279d..255c2dc36189 100644
+--- a/fs/namei.c
++++ b/fs/namei.c
+@@ -883,8 +883,8 @@ static inline void put_link(struct nameidata *nd)
+		path_put(&last->link);
+ }
+
+-int sysctl_protected_symlinks __read_mostly = 0;
+-int sysctl_protected_hardlinks __read_mostly = 0;
++int sysctl_protected_symlinks __read_mostly = 1;
++int sysctl_protected_hardlinks __read_mostly = 1;
+
+ /**
+  * may_follow_link - Check symlink following for unsafe situations
+diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
+index 5f93cfacb3d1..cea0d7d3b23e 100644
+--- a/fs/nfs/Kconfig
++++ b/fs/nfs/Kconfig
+@@ -195,4 +195,3 @@ config NFS_DEBUG
+	bool
+	depends on NFS_FS && SUNRPC_DEBUG
+	select CRC32
+-	default y
+diff --git a/fs/proc/Kconfig b/fs/proc/Kconfig
+index 1ade1206bb89..60b0f76dec47 100644
+--- a/fs/proc/Kconfig
++++ b/fs/proc/Kconfig
+@@ -39,7 +39,6 @@ config PROC_KCORE
+ config PROC_VMCORE
+	bool "/proc/vmcore support"
+	depends on PROC_FS && CRASH_DUMP
+-	default y
+         help
+         Exports the dump image of crashed kernel in ELF format.
+
+diff --git a/fs/stat.c b/fs/stat.c
+index 873785dae022..d3c2ada8b9c7 100644
+--- a/fs/stat.c
++++ b/fs/stat.c
+@@ -40,8 +40,13 @@ void generic_fillattr(struct inode *inode, struct kstat *stat)
+	stat->gid = inode->i_gid;
+	stat->rdev = inode->i_rdev;
+	stat->size = i_size_read(inode);
+-	stat->atime = inode->i_atime;
+-	stat->mtime = inode->i_mtime;
++	if (is_sidechannel_device(inode) && !capable_noaudit(CAP_MKNOD)) {
++		stat->atime = inode->i_ctime;
++		stat->mtime = inode->i_ctime;
++	} else {
++		stat->atime = inode->i_atime;
++		stat->mtime = inode->i_mtime;
++	}
+	stat->ctime = inode->i_ctime;
+	stat->blksize = i_blocksize(inode);
+	stat->blocks = inode->i_blocks;
+@@ -75,9 +80,14 @@ int vfs_getattr_nosec(const struct path *path, struct kstat *stat,
+	stat->result_mask |= STATX_BASIC_STATS;
+	request_mask &= STATX_ALL;
+	query_flags &= KSTAT_QUERY_FLAGS;
+-	if (inode->i_op->getattr)
+-		return inode->i_op->getattr(path, stat, request_mask,
+-					    query_flags);
++	if (inode->i_op->getattr) {
++		int retval = inode->i_op->getattr(path, stat, request_mask, query_flags);
++		if (!retval && is_sidechannel_device(inode) && !capable_noaudit(CAP_MKNOD)) {
++			stat->atime = stat->ctime;
++			stat->mtime = stat->ctime;
++		}
++		return retval;
++	}
+
+	generic_fillattr(inode, stat);
+	return 0;
+diff --git a/include/linux/cache.h b/include/linux/cache.h
+index 750621e41d1c..e7157c18c62c 100644
+--- a/include/linux/cache.h
++++ b/include/linux/cache.h
+@@ -31,6 +31,8 @@
+ #define __ro_after_init __attribute__((__section__(".data..ro_after_init")))
+ #endif
+
++#define __read_only __ro_after_init
++
+ #ifndef ____cacheline_aligned
+ #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
+ #endif
+diff --git a/include/linux/capability.h b/include/linux/capability.h
+index f640dcbc880c..2b4f5d651f19 100644
+--- a/include/linux/capability.h
++++ b/include/linux/capability.h
+@@ -207,6 +207,7 @@ extern bool has_capability_noaudit(struct task_struct *t, int cap);
+ extern bool has_ns_capability_noaudit(struct task_struct *t,
+				      struct user_namespace *ns, int cap);
+ extern bool capable(int cap);
++extern bool capable_noaudit(int cap);
+ extern bool ns_capable(struct user_namespace *ns, int cap);
+ extern bool ns_capable_noaudit(struct user_namespace *ns, int cap);
+ #else
+@@ -232,6 +233,10 @@ static inline bool capable(int cap)
+ {
+	return true;
+ }
++static inline bool capable_noaudit(int cap)
++{
++	return true;
++}
+ static inline bool ns_capable(struct user_namespace *ns, int cap)
+ {
+	return true;
+diff --git a/include/linux/fs.h b/include/linux/fs.h
+index c6baf767619e..31904f3d38a6 100644
+--- a/include/linux/fs.h
++++ b/include/linux/fs.h
+@@ -3407,4 +3407,15 @@ static inline bool dir_relax_shared(struct inode *inode)
+ extern bool path_noexec(const struct path *path);
+ extern void inode_nohighmem(struct inode *inode);
+
++extern int device_sidechannel_restrict;
++
++static inline bool is_sidechannel_device(const struct inode *inode)
++{
++	umode_t mode;
++	if (!device_sidechannel_restrict)
++		return false;
++	mode = inode->i_mode;
++	return ((S_ISCHR(mode) || S_ISBLK(mode)) && (mode & (S_IROTH | S_IWOTH)));
++}
++
+ #endif /* _LINUX_FS_H */
+diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h
+index bdaf22582f6e..326ff15d4637 100644
+--- a/include/linux/fsnotify.h
++++ b/include/linux/fsnotify.h
+@@ -181,6 +181,9 @@ static inline void fsnotify_access(struct file *file)
+	struct inode *inode = path->dentry->d_inode;
+	__u32 mask = FS_ACCESS;
+
++	if (is_sidechannel_device(inode))
++		return;
++
+	if (S_ISDIR(inode->i_mode))
+		mask |= FS_ISDIR;
+
+@@ -199,6 +202,9 @@ static inline void fsnotify_modify(struct file *file)
+	struct inode *inode = path->dentry->d_inode;
+	__u32 mask = FS_MODIFY;
+
++	if (is_sidechannel_device(inode))
++		return;
++
+	if (S_ISDIR(inode->i_mode))
+		mask |= FS_ISDIR;
+
+diff --git a/include/linux/gfp.h b/include/linux/gfp.h
+index 1a4582b44d32..4d445a8fe7f2 100644
+--- a/include/linux/gfp.h
++++ b/include/linux/gfp.h
+@@ -513,9 +513,9 @@ extern struct page *alloc_pages_vma(gfp_t gfp_mask, int order,
+ extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order);
+ extern unsigned long get_zeroed_page(gfp_t gfp_mask);
+
+-void *alloc_pages_exact(size_t size, gfp_t gfp_mask);
++void *alloc_pages_exact(size_t size, gfp_t gfp_mask) __attribute__((alloc_size(1)));
+ void free_pages_exact(void *virt, size_t size);
+-void * __meminit alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask);
++void * __meminit alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask) __attribute__((alloc_size(1)));
+
+ #define __get_free_page(gfp_mask) \
+		__get_free_pages((gfp_mask), 0)
+diff --git a/include/linux/highmem.h b/include/linux/highmem.h
+index 776f90f3a1cd..3f5c47000059 100644
+--- a/include/linux/highmem.h
++++ b/include/linux/highmem.h
+@@ -191,6 +191,13 @@ static inline void clear_highpage(struct page *page)
+	kunmap_atomic(kaddr);
+ }
+
++static inline void verify_zero_highpage(struct page *page)
++{
++	void *kaddr = kmap_atomic(page);
++	BUG_ON(memchr_inv(kaddr, 0, PAGE_SIZE));
++	kunmap_atomic(kaddr);
++}
++
+ static inline void zero_user_segments(struct page *page,
+	unsigned start1, unsigned end1,
+	unsigned start2, unsigned end2)
+diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
+index 69c238210325..ee487ea4f48f 100644
+--- a/include/linux/interrupt.h
++++ b/include/linux/interrupt.h
+@@ -485,7 +485,7 @@ extern const char * const softirq_to_name[NR_SOFTIRQS];
+
+ struct softirq_action
+ {
+-	void	(*action)(struct softirq_action *);
++	void	(*action)(void);
+ };
+
+ asmlinkage void do_softirq(void);
+@@ -500,7 +500,7 @@ static inline void do_softirq_own_stack(void)
+ }
+ #endif
+
+-extern void open_softirq(int nr, void (*action)(struct softirq_action *));
++extern void __init open_softirq(int nr, void (*action)(void));
+ extern void softirq_init(void);
+ extern void __raise_softirq_irqoff(unsigned int nr);
+
+diff --git a/include/linux/kobject_ns.h b/include/linux/kobject_ns.h
+index 069aa2ebef90..cb9e3637a620 100644
+--- a/include/linux/kobject_ns.h
++++ b/include/linux/kobject_ns.h
+@@ -45,7 +45,7 @@ struct kobj_ns_type_operations {
+	void (*drop_ns)(void *);
+ };
+
+-int kobj_ns_type_register(const struct kobj_ns_type_operations *ops);
++int __init kobj_ns_type_register(const struct kobj_ns_type_operations *ops);
+ int kobj_ns_type_registered(enum kobj_ns_type type);
+ const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent);
+ const struct kobj_ns_type_operations *kobj_ns_ops(struct kobject *kobj);
+diff --git a/include/linux/mm.h b/include/linux/mm.h
+index a4e9bdbec490..0fe7ebd0f462 100644
+--- a/include/linux/mm.h
++++ b/include/linux/mm.h
+@@ -535,7 +535,7 @@ static inline int is_vmalloc_or_module_addr(const void *x)
+ }
+ #endif
+
+-extern void *kvmalloc_node(size_t size, gfp_t flags, int node);
++extern void *kvmalloc_node(size_t size, gfp_t flags, int node) __attribute__((alloc_size(1)));
+ static inline void *kvmalloc(size_t size, gfp_t flags)
+ {
+	return kvmalloc_node(size, flags, NUMA_NO_NODE);
+diff --git a/include/linux/percpu.h b/include/linux/percpu.h
+index 296bbe49d5d1..b26652c9a98d 100644
+--- a/include/linux/percpu.h
++++ b/include/linux/percpu.h
+@@ -129,7 +129,7 @@ extern int __init pcpu_page_first_chunk(size_t reserved_size,
+				pcpu_fc_populate_pte_fn_t populate_pte_fn);
+ #endif
+
+-extern void __percpu *__alloc_reserved_percpu(size_t size, size_t align);
++extern void __percpu *__alloc_reserved_percpu(size_t size, size_t align) __attribute__((alloc_size(1)));
+ extern bool __is_kernel_percpu_address(unsigned long addr, unsigned long *can_addr);
+ extern bool is_kernel_percpu_address(unsigned long addr);
+
+@@ -137,8 +137,8 @@ extern bool is_kernel_percpu_address(unsigned long addr);
+ extern void __init setup_per_cpu_areas(void);
+ #endif
+
+-extern void __percpu *__alloc_percpu_gfp(size_t size, size_t align, gfp_t gfp);
+-extern void __percpu *__alloc_percpu(size_t size, size_t align);
++extern void __percpu *__alloc_percpu_gfp(size_t size, size_t align, gfp_t gfp) __attribute__((alloc_size(1)));
++extern void __percpu *__alloc_percpu(size_t size, size_t align) __attribute__((alloc_size(1)));
+ extern void free_percpu(void __percpu *__pdata);
+ extern phys_addr_t per_cpu_ptr_to_phys(void *addr);
+
+diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
+index 7546822a1d74..320033b310d2 100644
+--- a/include/linux/perf_event.h
++++ b/include/linux/perf_event.h
+@@ -1151,6 +1151,11 @@ extern int perf_cpu_time_max_percent_handler(struct ctl_table *table, int write,
+ int perf_event_max_stack_handler(struct ctl_table *table, int write,
+				 void __user *buffer, size_t *lenp, loff_t *ppos);
+
++static inline bool perf_paranoid_any(void)
++{
++	return sysctl_perf_event_paranoid > 2;
++}
++
+ static inline bool perf_paranoid_tracepoint_raw(void)
+ {
+	return sysctl_perf_event_paranoid > -1;
+diff --git a/include/linux/slab.h b/include/linux/slab.h
+index 231abc8976c5..b0bf5d4a4934 100644
+--- a/include/linux/slab.h
++++ b/include/linux/slab.h
+@@ -177,8 +177,8 @@ void memcg_destroy_kmem_caches(struct mem_cgroup *);
+ /*
+  * Common kmalloc functions provided by all allocators
+  */
+-void * __must_check __krealloc(const void *, size_t, gfp_t);
+-void * __must_check krealloc(const void *, size_t, gfp_t);
++void * __must_check __krealloc(const void *, size_t, gfp_t) __attribute__((alloc_size(2)));
++void * __must_check krealloc(const void *, size_t, gfp_t) __attribute((alloc_size(2)));
+ void kfree(const void *);
+ void kzfree(const void *);
+ size_t ksize(const void *);
+@@ -351,7 +351,7 @@ static __always_inline int kmalloc_index(size_t size)
+ }
+ #endif /* !CONFIG_SLOB */
+
+-void *__kmalloc(size_t size, gfp_t flags) __assume_kmalloc_alignment __malloc;
++void *__kmalloc(size_t size, gfp_t flags) __assume_kmalloc_alignment __malloc __attribute__((alloc_size(1)));
+ void *kmem_cache_alloc(struct kmem_cache *, gfp_t flags) __assume_slab_alignment __malloc;
+ void kmem_cache_free(struct kmem_cache *, void *);
+
+@@ -375,7 +375,7 @@ static __always_inline void kfree_bulk(size_t size, void **p)
+ }
+
+ #ifdef CONFIG_NUMA
+-void *__kmalloc_node(size_t size, gfp_t flags, int node) __assume_kmalloc_alignment __malloc;
++void *__kmalloc_node(size_t size, gfp_t flags, int node) __assume_kmalloc_alignment __malloc __attribute__((alloc_size(1)));
+ void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node) __assume_slab_alignment __malloc;
+ #else
+ static __always_inline void *__kmalloc_node(size_t size, gfp_t flags, int node)
+@@ -497,7 +497,7 @@ static __always_inline void *kmalloc_large(size_t size, gfp_t flags)
+  * for general use, and so are not documented here. For a full list of
+  * potential flags, always refer to linux/gfp.h.
+  */
+-static __always_inline void *kmalloc(size_t size, gfp_t flags)
++static __always_inline __attribute__((alloc_size(1))) void *kmalloc(size_t size, gfp_t flags)
+ {
+	if (__builtin_constant_p(size)) {
+		if (size > KMALLOC_MAX_CACHE_SIZE)
+@@ -537,7 +537,7 @@ static __always_inline int kmalloc_size(int n)
+	return 0;
+ }
+
+-static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
++static __always_inline __attribute__((alloc_size(1))) void *kmalloc_node(size_t size, gfp_t flags, int node)
+ {
+ #ifndef CONFIG_SLOB
+	if (__builtin_constant_p(size) &&
+diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h
+index 8ad99c47b19c..91fea0d0db3b 100644
+--- a/include/linux/slub_def.h
++++ b/include/linux/slub_def.h
+@@ -120,6 +120,11 @@ struct kmem_cache {
+	unsigned long random;
+ #endif
+
++#ifdef CONFIG_SLAB_CANARY
++	unsigned long random_active;
++	unsigned long random_inactive;
++#endif
++
+ #ifdef CONFIG_NUMA
+	/*
+	 * Defragmentation by allocating from a remote node.
+diff --git a/include/linux/string.h b/include/linux/string.h
+index dd39a690c841..00d16d874c0a 100644
+--- a/include/linux/string.h
++++ b/include/linux/string.h
+@@ -235,10 +235,16 @@ void __read_overflow2(void) __compiletime_error("detected read beyond size of ob
+ void __read_overflow3(void) __compiletime_error("detected read beyond size of object passed as 3rd parameter");
+ void __write_overflow(void) __compiletime_error("detected write beyond size of object passed as 1st parameter");
+
++#ifdef CONFIG_FORTIFY_SOURCE_STRICT_STRING
++#define __string_size(p) __builtin_object_size(p, 1)
++#else
++#define __string_size(p) __builtin_object_size(p, 0)
++#endif
++
+ #if !defined(__NO_FORTIFY) && defined(__OPTIMIZE__) && defined(CONFIG_FORTIFY_SOURCE)
+ __FORTIFY_INLINE char *strncpy(char *p, const char *q, __kernel_size_t size)
+ {
+-	size_t p_size = __builtin_object_size(p, 0);
++	size_t p_size = __string_size(p);
+	if (__builtin_constant_p(size) && p_size < size)
+		__write_overflow();
+	if (p_size < size)
+@@ -248,7 +254,7 @@ __FORTIFY_INLINE char *strncpy(char *p, const char *q, __kernel_size_t size)
+
+ __FORTIFY_INLINE char *strcat(char *p, const char *q)
+ {
+-	size_t p_size = __builtin_object_size(p, 0);
++	size_t p_size = __string_size(p);
+	if (p_size == (size_t)-1)
+		return __builtin_strcat(p, q);
+	if (strlcat(p, q, p_size) >= p_size)
+@@ -259,7 +265,7 @@ __FORTIFY_INLINE char *strcat(char *p, const char *q)
+ __FORTIFY_INLINE __kernel_size_t strlen(const char *p)
+ {
+	__kernel_size_t ret;
+-	size_t p_size = __builtin_object_size(p, 0);
++	size_t p_size = __string_size(p);
+
+	/* Work around gcc excess stack consumption issue */
+	if (p_size == (size_t)-1 ||
+@@ -274,7 +280,7 @@ __FORTIFY_INLINE __kernel_size_t strlen(const char *p)
+ extern __kernel_size_t __real_strnlen(const char *, __kernel_size_t) __RENAME(strnlen);
+ __FORTIFY_INLINE __kernel_size_t strnlen(const char *p, __kernel_size_t maxlen)
+ {
+-	size_t p_size = __builtin_object_size(p, 0);
++	size_t p_size = __string_size(p);
+	__kernel_size_t ret = __real_strnlen(p, maxlen < p_size ? maxlen : p_size);
+	if (p_size <= ret && maxlen != ret)
+		fortify_panic(__func__);
+@@ -286,8 +292,8 @@ extern size_t __real_strlcpy(char *, const char *, size_t) __RENAME(strlcpy);
+ __FORTIFY_INLINE size_t strlcpy(char *p, const char *q, size_t size)
+ {
+	size_t ret;
+-	size_t p_size = __builtin_object_size(p, 0);
+-	size_t q_size = __builtin_object_size(q, 0);
++	size_t p_size = __string_size(p);
++	size_t q_size = __string_size(q);
+	if (p_size == (size_t)-1 && q_size == (size_t)-1)
+		return __real_strlcpy(p, q, size);
+	ret = strlen(q);
+@@ -307,8 +313,8 @@ __FORTIFY_INLINE size_t strlcpy(char *p, const char *q, size_t size)
+ __FORTIFY_INLINE char *strncat(char *p, const char *q, __kernel_size_t count)
+ {
+	size_t p_len, copy_len;
+-	size_t p_size = __builtin_object_size(p, 0);
+-	size_t q_size = __builtin_object_size(q, 0);
++	size_t p_size = __string_size(p);
++	size_t q_size = __string_size(q);
+	if (p_size == (size_t)-1 && q_size == (size_t)-1)
+		return __builtin_strncat(p, q, count);
+	p_len = strlen(p);
+@@ -421,8 +427,8 @@ __FORTIFY_INLINE void *kmemdup(const void *p, size_t size, gfp_t gfp)
+ /* defined after fortified strlen and memcpy to reuse them */
+ __FORTIFY_INLINE char *strcpy(char *p, const char *q)
+ {
+-	size_t p_size = __builtin_object_size(p, 0);
+-	size_t q_size = __builtin_object_size(q, 0);
++	size_t p_size = __string_size(p);
++	size_t q_size = __string_size(q);
+	if (p_size == (size_t)-1 && q_size == (size_t)-1)
+		return __builtin_strcpy(p, q);
+	memcpy(p, q, strlen(q) + 1);
+diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h
+index 1e5d8c392f15..66d0e49c9987 100644
+--- a/include/linux/vmalloc.h
++++ b/include/linux/vmalloc.h
+@@ -68,19 +68,19 @@ static inline void vmalloc_init(void)
+ }
+ #endif
+
+-extern void *vmalloc(unsigned long size);
+-extern void *vzalloc(unsigned long size);
+-extern void *vmalloc_user(unsigned long size);
+-extern void *vmalloc_node(unsigned long size, int node);
+-extern void *vzalloc_node(unsigned long size, int node);
+-extern void *vmalloc_exec(unsigned long size);
+-extern void *vmalloc_32(unsigned long size);
+-extern void *vmalloc_32_user(unsigned long size);
+-extern void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot);
++extern void *vmalloc(unsigned long size) __attribute__((alloc_size(1)));
++extern void *vzalloc(unsigned long size) __attribute__((alloc_size(1)));
++extern void *vmalloc_user(unsigned long size) __attribute__((alloc_size(1)));
++extern void *vmalloc_node(unsigned long size, int node) __attribute__((alloc_size(1)));
++extern void *vzalloc_node(unsigned long size, int node) __attribute__((alloc_size(1)));
++extern void *vmalloc_exec(unsigned long size) __attribute__((alloc_size(1)));
++extern void *vmalloc_32(unsigned long size) __attribute__((alloc_size(1)));
++extern void *vmalloc_32_user(unsigned long size) __attribute__((alloc_size(1)));
++extern void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot) __attribute__((alloc_size(1)));
+ extern void *__vmalloc_node_range(unsigned long size, unsigned long align,
+			unsigned long start, unsigned long end, gfp_t gfp_mask,
+			pgprot_t prot, unsigned long vm_flags, int node,
+-			const void *caller);
++			const void *caller) __attribute__((alloc_size(1)));
+ #ifndef CONFIG_MMU
+ extern void *__vmalloc_node_flags(unsigned long size, int node, gfp_t flags);
+ static inline void *__vmalloc_node_flags_caller(unsigned long size, int node,
+diff --git a/init/Kconfig b/init/Kconfig
+index e37f4b2a6445..49c20dea1afd 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -296,6 +296,7 @@ config USELIB
+ config AUDIT
+	bool "Auditing support"
+	depends on NET
++	default y
+	help
+	  Enable auditing infrastructure that can be used with another
+	  kernel subsystem, such as SELinux (which requires this for
+@@ -1039,6 +1040,12 @@ config CC_OPTIMIZE_FOR_SIZE
+
+ endchoice
+
++config LOCAL_INIT
++	bool "Zero uninitialized locals"
++	help
++	  Zero-fill uninitialized local variables, other than variable-length
++	  arrays. Requires compiler support.
++
+ config SYSCTL
+	bool
+
+@@ -1296,8 +1303,7 @@ config SHMEM
+	  which may be appropriate on small systems without swap.
+
+ config AIO
+-	bool "Enable AIO support" if EXPERT
+-	default y
++	bool "Enable AIO support"
+	help
+	  This option enables POSIX asynchronous I/O which may by used
+	  by some high performance threaded applications. Disabling
+@@ -1502,7 +1508,7 @@ config VM_EVENT_COUNTERS
+
+ config SLUB_DEBUG
+	default y
+-	bool "Enable SLUB debugging support" if EXPERT
++	bool "Enable SLUB debugging support"
+	depends on SLUB && SYSFS
+	help
+	  SLUB has extensive debug support features. Disabling these can
+@@ -1526,7 +1532,6 @@ config SLUB_MEMCG_SYSFS_ON
+
+ config COMPAT_BRK
+	bool "Disable heap randomization"
+-	default y
+	help
+	  Randomizing heap placement makes heap exploits harder, but it
+	  also breaks ancient binaries (including anything libc5 based).
+@@ -1573,7 +1578,6 @@ endchoice
+
+ config SLAB_MERGE_DEFAULT
+	bool "Allow slab caches to be merged"
+-	default y
+	help
+	  For reduced kernel memory fragmentation, slab caches can be
+	  merged when they share the same size and other characteristics.
+@@ -1586,9 +1590,9 @@ config SLAB_MERGE_DEFAULT
+	  command line.
+
+ config SLAB_FREELIST_RANDOM
+-	default n
+	depends on SLAB || SLUB
+	bool "SLAB freelist randomization"
++	default y
+	help
+	  Randomizes the freelist order used on creating new pages. This
+	  security feature reduces the predictability of the kernel slab
+@@ -1597,12 +1601,56 @@ config SLAB_FREELIST_RANDOM
+ config SLAB_FREELIST_HARDENED
+	bool "Harden slab freelist metadata"
+	depends on SLUB
++	default y
+	help
+	  Many kernel heap attacks try to target slab cache metadata and
+	  other infrastructure. This options makes minor performance
+	  sacrifies to harden the kernel slab allocator against common
+	  freelist exploit methods.
+
++config SLAB_HARDENED
++	default y
++	depends on SLUB
++	bool "Hardened SLAB infrastructure"
++	help
++          Make minor performance sacrifices to harden the kernel slab
++          allocator.
++
++config SLAB_CANARY
++	depends on SLUB
++	depends on !SLAB_MERGE_DEFAULT
++	bool "SLAB canaries"
++	default y
++	help
++	  Place canaries at the end of kernel slab allocations, sacrificing
++	  some performance and memory usage for security.
++
++	  Canaries can detect some forms of heap corruption when allocations
++	  are freed and as part of the HARDENED_USERCOPY feature. It provides
++	  basic use-after-free detection for HARDENED_USERCOPY.
++
++	  Canaries absorb small overflows (rendering them harmless), mitigate
++	  non-NUL terminated C string overflows on 64-bit via a guaranteed zero
++	  byte and provide basic double-free detection.
++
++config SLAB_SANITIZE
++	bool "Sanitize SLAB allocations"
++	depends on SLUB
++	default y
++	help
++	  Zero fill slab allocations on free, reducing the lifetime of
++	  sensitive data and helping to mitigate use-after-free bugs.
++
++	  For slabs with debug poisoning enabling, this has no impact.
++
++config SLAB_SANITIZE_VERIFY
++	depends on SLAB_SANITIZE && PAGE_SANITIZE
++	default y
++	bool "Verify sanitized SLAB allocations"
++	help
++	  Verify that newly allocated slab allocations are zeroed to detect
++	  write-after-free bugs.
++
+ config SLUB_CPU_PARTIAL
+	default y
+	depends on SLUB && SMP
+diff --git a/kernel/audit.c b/kernel/audit.c
+index 227db99b0f19..aec52b408543 100644
+--- a/kernel/audit.c
++++ b/kernel/audit.c
+@@ -1578,6 +1578,9 @@ static int __init audit_enable(char *str)
+
+	if (audit_default == AUDIT_OFF)
+		audit_initialized = AUDIT_DISABLED;
++	else if (!audit_ever_enabled)
++		audit_initialized = AUDIT_UNINITIALIZED;
++
+	if (audit_set_enabled(audit_default))
+		panic("audit: error setting audit state (%d)\n", audit_default);
+
+diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c
+index ba03ec39efb3..47ed9081b668 100644
+--- a/kernel/bpf/core.c
++++ b/kernel/bpf/core.c
+@@ -302,7 +302,7 @@ struct bpf_prog *bpf_patch_insn_single(struct bpf_prog *prog, u32 off,
+ #ifdef CONFIG_BPF_JIT
+ /* All BPF JIT sysctl knobs here. */
+ int bpf_jit_enable   __read_mostly = IS_BUILTIN(CONFIG_BPF_JIT_ALWAYS_ON);
+-int bpf_jit_harden   __read_mostly;
++int bpf_jit_harden   __read_mostly = 2;
+ int bpf_jit_kallsyms __read_mostly;
+
+ static __always_inline void
+diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
+index 43f95d190eea..8e353f596873 100644
+--- a/kernel/bpf/syscall.c
++++ b/kernel/bpf/syscall.c
+@@ -42,7 +42,7 @@ static DEFINE_SPINLOCK(prog_idr_lock);
+ static DEFINE_IDR(map_idr);
+ static DEFINE_SPINLOCK(map_idr_lock);
+
+-int sysctl_unprivileged_bpf_disabled __read_mostly;
++int sysctl_unprivileged_bpf_disabled __read_mostly = 1;
+
+ static const struct bpf_map_ops * const bpf_map_types[] = {
+ #define BPF_PROG_TYPE(_id, _ops)
+diff --git a/kernel/capability.c b/kernel/capability.c
+index 1e1c0236f55b..452062fe45ce 100644
+--- a/kernel/capability.c
++++ b/kernel/capability.c
+@@ -431,6 +431,12 @@ bool capable(int cap)
+	return ns_capable(&init_user_ns, cap);
+ }
+ EXPORT_SYMBOL(capable);
++
++bool capable_noaudit(int cap)
++{
++	return ns_capable_noaudit(&init_user_ns, cap);
++}
++EXPORT_SYMBOL(capable_noaudit);
+ #endif /* CONFIG_MULTIUSER */
+
+ /**
+diff --git a/kernel/events/core.c b/kernel/events/core.c
+index ca7298760c83..910ac6cc9f07 100644
+--- a/kernel/events/core.c
++++ b/kernel/events/core.c
+@@ -397,8 +397,13 @@ static cpumask_var_t perf_online_mask;
+  *   0 - disallow raw tracepoint access for unpriv
+  *   1 - disallow cpu events for unpriv
+  *   2 - disallow kernel profiling for unpriv
++ *   3 - disallow all unpriv perf event use
+  */
++#ifdef CONFIG_SECURITY_PERF_EVENTS_RESTRICT
++int sysctl_perf_event_paranoid __read_mostly = 3;
++#else
+ int sysctl_perf_event_paranoid __read_mostly = 2;
++#endif
+
+ /* Minimum for 512 kiB + 1 user control page */
+ int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */
+@@ -9921,6 +9926,9 @@ SYSCALL_DEFINE5(perf_event_open,
+	if (flags & ~PERF_FLAG_ALL)
+		return -EINVAL;
+
++	if (perf_paranoid_any() && !capable(CAP_SYS_ADMIN))
++		return -EACCES;
++
+	err = perf_copy_attr(attr_uptr, &attr);
+	if (err)
+		return err;
+diff --git a/kernel/fork.c b/kernel/fork.c
+index e5d9d405ae4e..c4be89c51f25 100644
+--- a/kernel/fork.c
++++ b/kernel/fork.c
+@@ -103,6 +103,11 @@
+
+ #define CREATE_TRACE_POINTS
+ #include <trace/events/task.h>
++#ifdef CONFIG_USER_NS
++extern int unprivileged_userns_clone;
++#else
++#define unprivileged_userns_clone 0
++#endif
+
+ /*
+  * Minimum number of threads to boot the kernel
+@@ -1591,6 +1596,10 @@ static __latent_entropy struct task_struct *copy_process(
+	if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
+		return ERR_PTR(-EINVAL);
+
++	if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone)
++		if (!capable(CAP_SYS_ADMIN))
++			return ERR_PTR(-EPERM);
++
+	/*
+	 * Thread groups must share signals as well, and detached threads
+	 * can only be started up within the thread group.
+@@ -2385,6 +2394,12 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
+	if (unshare_flags & CLONE_NEWNS)
+		unshare_flags |= CLONE_FS;
+
++	if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) {
++		err = -EPERM;
++		if (!capable(CAP_SYS_ADMIN))
++			goto bad_unshare_out;
++	}
++
+	err = check_unshare_flags(unshare_flags);
+	if (err)
+		goto bad_unshare_out;
+diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c
+index 3d37c279c090..0789ca413f09 100644
+--- a/kernel/power/snapshot.c
++++ b/kernel/power/snapshot.c
+@@ -1138,7 +1138,7 @@ void free_basic_memory_bitmaps(void)
+
+ void clear_free_pages(void)
+ {
+-#ifdef CONFIG_PAGE_POISONING_ZERO
++#if defined(CONFIG_PAGE_POISONING_ZERO) || defined(CONFIG_PAGE_SANITIZE)
+	struct memory_bitmap *bm = free_pages_map;
+	unsigned long pfn;
+
+@@ -1155,7 +1155,7 @@ void clear_free_pages(void)
+	}
+	memory_bm_position_reset(bm);
+	pr_info("free pages cleared after restore\n");
+-#endif /* PAGE_POISONING_ZERO */
++#endif /* PAGE_POISONING_ZERO || PAGE_SANITIZE */
+ }
+
+ /**
+diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c
+index a64eee0db39e..4d7de378fe4c 100644
+--- a/kernel/rcu/tiny.c
++++ b/kernel/rcu/tiny.c
+@@ -164,7 +164,7 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp)
+	}
+ }
+
+-static __latent_entropy void rcu_process_callbacks(struct softirq_action *unused)
++static __latent_entropy void rcu_process_callbacks(void)
+ {
+	__rcu_process_callbacks(&rcu_sched_ctrlblk);
+	__rcu_process_callbacks(&rcu_bh_ctrlblk);
+diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
+index 491bdf39f276..28f51c774671 100644
+--- a/kernel/rcu/tree.c
++++ b/kernel/rcu/tree.c
+@@ -2906,7 +2906,7 @@ __rcu_process_callbacks(struct rcu_state *rsp)
+ /*
+  * Do RCU core processing for the current CPU.
+  */
+-static __latent_entropy void rcu_process_callbacks(struct softirq_action *unused)
++static __latent_entropy void rcu_process_callbacks(void)
+ {
+	struct rcu_state *rsp;
+
+diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
+index 5eb3ffc9be84..a60c59cbbaee 100644
+--- a/kernel/sched/fair.c
++++ b/kernel/sched/fair.c
+@@ -9387,7 +9387,7 @@ static void nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle) { }
+  * run_rebalance_domains is triggered when needed from the scheduler tick.
+  * Also triggered for nohz idle balancing (with nohz_balancing_kick set).
+  */
+-static __latent_entropy void run_rebalance_domains(struct softirq_action *h)
++static __latent_entropy void run_rebalance_domains(void)
+ {
+	struct rq *this_rq = this_rq();
+	enum cpu_idle_type idle = this_rq->idle_balance ?
+diff --git a/kernel/softirq.c b/kernel/softirq.c
+index 24d243ef8e71..4ed8a162cd70 100644
+--- a/kernel/softirq.c
++++ b/kernel/softirq.c
+@@ -53,7 +53,7 @@ irq_cpustat_t irq_stat[NR_CPUS] ____cacheline_aligned;
+ EXPORT_SYMBOL(irq_stat);
+ #endif
+
+-static struct softirq_action softirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp;
++static struct softirq_action softirq_vec[NR_SOFTIRQS] __ro_after_init __aligned(PAGE_SIZE);
+
+ DEFINE_PER_CPU(struct task_struct *, ksoftirqd);
+
+@@ -282,7 +282,7 @@ asmlinkage __visible void __softirq_entry __do_softirq(void)
+		kstat_incr_softirqs_this_cpu(vec_nr);
+
+		trace_softirq_entry(vec_nr);
+-		h->action(h);
++		h->action();
+		trace_softirq_exit(vec_nr);
+		if (unlikely(prev_count != preempt_count())) {
+			pr_err("huh, entered softirq %u %s %p with preempt_count %08x, exited with %08x?\n",
+@@ -444,7 +444,7 @@ void __raise_softirq_irqoff(unsigned int nr)
+	or_softirq_pending(1UL << nr);
+ }
+
+-void open_softirq(int nr, void (*action)(struct softirq_action *))
++void __init open_softirq(int nr, void (*action)(void))
+ {
+	softirq_vec[nr].action = action;
+ }
+@@ -486,7 +486,7 @@ void __tasklet_hi_schedule(struct tasklet_struct *t)
+ }
+ EXPORT_SYMBOL(__tasklet_hi_schedule);
+
+-static __latent_entropy void tasklet_action(struct softirq_action *a)
++static __latent_entropy void tasklet_action(void)
+ {
+	struct tasklet_struct *list;
+
+@@ -522,7 +522,7 @@ static __latent_entropy void tasklet_action(struct softirq_action *a)
+	}
+ }
+
+-static __latent_entropy void tasklet_hi_action(struct softirq_action *a)
++static __latent_entropy void tasklet_hi_action(void)
+ {
+	struct tasklet_struct *list;
+
+diff --git a/kernel/sysctl.c b/kernel/sysctl.c
+index f98f28c12020..861e8b721161 100644
+--- a/kernel/sysctl.c
++++ b/kernel/sysctl.c
+@@ -99,12 +99,19 @@
+ #if defined(CONFIG_SYSCTL)
+
+ /* External variables not in a header file. */
++#if IS_ENABLED(CONFIG_USB)
++int deny_new_usb __read_mostly = 0;
++EXPORT_SYMBOL(deny_new_usb);
++#endif
+ extern int suid_dumpable;
+ #ifdef CONFIG_COREDUMP
+ extern int core_uses_pid;
+ extern char core_pattern[];
+ extern unsigned int core_pipe_limit;
+ #endif
++#ifdef CONFIG_USER_NS
++extern int unprivileged_userns_clone;
++#endif
+ extern int pid_max;
+ extern int pid_max_min, pid_max_max;
+ extern int percpu_pagelist_fraction;
+@@ -116,40 +123,43 @@ extern int sysctl_nr_trim_pages;
+
+ /* Constants used for minimum and  maximum */
+ #ifdef CONFIG_LOCKUP_DETECTOR
+-static int sixty = 60;
++static int sixty __read_only = 60;
+ #endif
+
+-static int __maybe_unused neg_one = -1;
++static int __maybe_unused neg_one __read_only = -1;
+
+ static int zero;
+-static int __maybe_unused one = 1;
+-static int __maybe_unused two = 2;
+-static int __maybe_unused four = 4;
+-static unsigned long one_ul = 1;
+-static int one_hundred = 100;
+-static int one_thousand = 1000;
++static int __maybe_unused one __read_only = 1;
++static int __maybe_unused two __read_only = 2;
++static int __maybe_unused four __read_only = 4;
++static unsigned long one_ul __read_only = 1;
++static int one_hundred __read_only = 100;
++static int one_thousand __read_only = 1000;
+ #ifdef CONFIG_PRINTK
+-static int ten_thousand = 10000;
++static int ten_thousand __read_only = 10000;
+ #endif
+ #ifdef CONFIG_PERF_EVENTS
+-static int six_hundred_forty_kb = 640 * 1024;
++static int six_hundred_forty_kb __read_only = 640 * 1024;
+ #endif
+
+ /* this is needed for the proc_doulongvec_minmax of vm_dirty_bytes */
+-static unsigned long dirty_bytes_min = 2 * PAGE_SIZE;
++static unsigned long dirty_bytes_min __read_only = 2 * PAGE_SIZE;
+
+ /* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */
+-static int maxolduid = 65535;
+-static int minolduid;
++static int maxolduid __read_only = 65535;
++static int minolduid __read_only;
+
+-static int ngroups_max = NGROUPS_MAX;
++static int ngroups_max __read_only = NGROUPS_MAX;
+ static const int cap_last_cap = CAP_LAST_CAP;
+
+ /*this is needed for proc_doulongvec_minmax of sysctl_hung_task_timeout_secs */
+ #ifdef CONFIG_DETECT_HUNG_TASK
+-static unsigned long hung_task_timeout_max = (LONG_MAX/HZ);
++static unsigned long hung_task_timeout_max __read_only = (LONG_MAX/HZ);
+ #endif
+
++int device_sidechannel_restrict __read_mostly = 1;
++EXPORT_SYMBOL(device_sidechannel_restrict);
++
+ #ifdef CONFIG_INOTIFY_USER
+ #include <linux/inotify.h>
+ #endif
+@@ -289,19 +299,19 @@ static struct ctl_table sysctl_base_table[] = {
+ };
+
+ #ifdef CONFIG_SCHED_DEBUG
+-static int min_sched_granularity_ns = 100000;		/* 100 usecs */
+-static int max_sched_granularity_ns = NSEC_PER_SEC;	/* 1 second */
+-static int min_wakeup_granularity_ns;			/* 0 usecs */
+-static int max_wakeup_granularity_ns = NSEC_PER_SEC;	/* 1 second */
++static int min_sched_granularity_ns __read_only = 100000;		/* 100 usecs */
++static int max_sched_granularity_ns __read_only = NSEC_PER_SEC;	/* 1 second */
++static int min_wakeup_granularity_ns __read_only;			/* 0 usecs */
++static int max_wakeup_granularity_ns __read_only = NSEC_PER_SEC;	/* 1 second */
+ #ifdef CONFIG_SMP
+-static int min_sched_tunable_scaling = SCHED_TUNABLESCALING_NONE;
+-static int max_sched_tunable_scaling = SCHED_TUNABLESCALING_END-1;
++static int min_sched_tunable_scaling __read_only = SCHED_TUNABLESCALING_NONE;
++static int max_sched_tunable_scaling __read_only = SCHED_TUNABLESCALING_END-1;
+ #endif /* CONFIG_SMP */
+ #endif /* CONFIG_SCHED_DEBUG */
+
+ #ifdef CONFIG_COMPACTION
+-static int min_extfrag_threshold;
+-static int max_extfrag_threshold = 1000;
++static int min_extfrag_threshold __read_only;
++static int max_extfrag_threshold __read_only = 1000;
+ #endif
+
+ static struct ctl_table kern_table[] = {
+@@ -515,6 +525,15 @@ static struct ctl_table kern_table[] = {
+		.proc_handler	= proc_dointvec,
+	},
+ #endif
++#ifdef CONFIG_USER_NS
++	{
++		.procname	= "unprivileged_userns_clone",
++		.data		= &unprivileged_userns_clone,
++		.maxlen		= sizeof(int),
++		.mode		= 0644,
++		.proc_handler	= proc_dointvec,
++	},
++#endif
+ #ifdef CONFIG_PROC_SYSCTL
+	{
+		.procname	= "tainted",
+@@ -856,6 +875,26 @@ static struct ctl_table kern_table[] = {
+		.extra1		= &zero,
+		.extra2		= &two,
+	},
++#endif
++	{
++		.procname	= "device_sidechannel_restrict",
++		.data		= &device_sidechannel_restrict,
++		.maxlen		= sizeof(int),
++		.mode		= 0644,
++		.proc_handler	= proc_dointvec_minmax_sysadmin,
++		.extra1		= &zero,
++		.extra2		= &one,
++	},
++#if IS_ENABLED(CONFIG_USB)
++	{
++		.procname	= "deny_new_usb",
++		.data		= &deny_new_usb,
++		.maxlen		= sizeof(int),
++		.mode		= 0644,
++		.proc_handler	= proc_dointvec_minmax_sysadmin,
++		.extra1		= &zero,
++		.extra2		= &one,
++	},
+ #endif
+	{
+		.procname	= "ngroups_max",
+diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
+index 23788100e214..5577a58d1c7a 100644
+--- a/kernel/time/hrtimer.c
++++ b/kernel/time/hrtimer.c
+@@ -1413,7 +1413,7 @@ static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now,
+	}
+ }
+
+-static __latent_entropy void hrtimer_run_softirq(struct softirq_action *h)
++static __latent_entropy void hrtimer_run_softirq(void)
+ {
+	struct hrtimer_cpu_base *cpu_base = this_cpu_ptr(&hrtimer_bases);
+	unsigned long flags;
+diff --git a/kernel/time/timer.c b/kernel/time/timer.c
+index 4a4fd567fb26..be236ef42690 100644
+--- a/kernel/time/timer.c
++++ b/kernel/time/timer.c
+@@ -1672,7 +1672,7 @@ static inline void __run_timers(struct timer_base *base)
+ /*
+  * This function runs timers and the timer-tq in bottom half context.
+  */
+-static __latent_entropy void run_timer_softirq(struct softirq_action *h)
++static __latent_entropy void run_timer_softirq(void)
+ {
+	struct timer_base *base = this_cpu_ptr(&timer_bases[BASE_STD]);
+
+diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
+index 246d4d4ce5c7..f64432b45cec 100644
+--- a/kernel/user_namespace.c
++++ b/kernel/user_namespace.c
+@@ -26,6 +26,9 @@
+ #include <linux/bsearch.h>
+ #include <linux/sort.h>
+
++/* sysctl */
++int unprivileged_userns_clone;
++
+ static struct kmem_cache *user_ns_cachep __read_mostly;
+ static DEFINE_MUTEX(userns_state_mutex);
+
+diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
+index 64155e310a9f..0c002bbb8f75 100644
+--- a/lib/Kconfig.debug
++++ b/lib/Kconfig.debug
+@@ -945,6 +945,7 @@ endmenu # "Debug lockups and hangs"
+
+ config PANIC_ON_OOPS
+	bool "Panic on Oops"
++	default y
+	help
+	  Say Y here to enable the kernel to panic when it oopses. This
+	  has the same effect as setting oops=panic on the kernel command
+@@ -954,7 +955,7 @@ config PANIC_ON_OOPS
+	  anything erroneous after an oops which could result in data
+	  corruption or other issues.
+
+-	  Say N if unsure.
++	  Say Y if unsure.
+
+ config PANIC_ON_OOPS_VALUE
+	int
+@@ -1309,6 +1310,7 @@ config DEBUG_BUGVERBOSE
+ config DEBUG_LIST
+	bool "Debug linked list manipulation"
+	depends on DEBUG_KERNEL || BUG_ON_DATA_CORRUPTION
++	default y
+	help
+	  Enable this to turn on extended checks in the linked-list
+	  walking routines.
+@@ -1949,6 +1951,7 @@ config MEMTEST
+ config BUG_ON_DATA_CORRUPTION
+	bool "Trigger a BUG when data corruption is detected"
+	select DEBUG_LIST
++	default y
+	help
+	  Select this option if the kernel should BUG when it encounters
+	  data corruption in kernel memory structures when they get checked
+@@ -1988,6 +1991,7 @@ config STRICT_DEVMEM
+ config IO_STRICT_DEVMEM
+	bool "Filter I/O access to /dev/mem"
+	depends on STRICT_DEVMEM
++	default y
+	---help---
+	  If this option is disabled, you allow userspace (root) access to all
+	  io-memory regardless of whether a driver is actively using that
+diff --git a/lib/irq_poll.c b/lib/irq_poll.c
+index 86a709954f5a..6f15787fcb1b 100644
+--- a/lib/irq_poll.c
++++ b/lib/irq_poll.c
+@@ -75,7 +75,7 @@ void irq_poll_complete(struct irq_poll *iop)
+ }
+ EXPORT_SYMBOL(irq_poll_complete);
+
+-static void __latent_entropy irq_poll_softirq(struct softirq_action *h)
++static void __latent_entropy irq_poll_softirq(void)
+ {
+	struct list_head *list = this_cpu_ptr(&blk_cpu_iopoll);
+	int rearm = 0, budget = irq_poll_budget;
+diff --git a/lib/kobject.c b/lib/kobject.c
+index d20a97a7e168..7afe7fcfa6c9 100644
+--- a/lib/kobject.c
++++ b/lib/kobject.c
+@@ -954,9 +954,9 @@ EXPORT_SYMBOL_GPL(kset_create_and_add);
+
+
+ static DEFINE_SPINLOCK(kobj_ns_type_lock);
+-static const struct kobj_ns_type_operations *kobj_ns_ops_tbl[KOBJ_NS_TYPES];
++static const struct kobj_ns_type_operations *kobj_ns_ops_tbl[KOBJ_NS_TYPES] __ro_after_init;
+
+-int kobj_ns_type_register(const struct kobj_ns_type_operations *ops)
++int __init kobj_ns_type_register(const struct kobj_ns_type_operations *ops)
+ {
+	enum kobj_ns_type type = ops->type;
+	int error;
+diff --git a/lib/nlattr.c b/lib/nlattr.c
+index dfa55c873c13..c6b0436f473d 100644
+--- a/lib/nlattr.c
++++ b/lib/nlattr.c
+@@ -364,6 +364,8 @@ int nla_memcpy(void *dest, const struct nlattr *src, int count)
+ {
+	int minlen = min_t(int, count, nla_len(src));
+
++	BUG_ON(minlen < 0);
++
+	memcpy(dest, nla_data(src), minlen);
+	if (count > minlen)
+		memset(dest + minlen, 0, count - minlen);
+diff --git a/lib/vsprintf.c b/lib/vsprintf.c
+index 38b509cc6b46..6b3bf13d57d6 100644
+--- a/lib/vsprintf.c
++++ b/lib/vsprintf.c
+@@ -1344,7 +1344,7 @@ char *uuid_string(char *buf, char *end, const u8 *addr,
+	return string(buf, end, uuid, spec);
+ }
+
+-int kptr_restrict __read_mostly;
++int kptr_restrict __read_mostly = 2;
+
+ static noinline_for_stack
+ char *restricted_pointer(char *buf, char *end, const void *ptr,
+diff --git a/mm/Kconfig b/mm/Kconfig
+index e07608f64d47..18937911b87a 100644
+--- a/mm/Kconfig
++++ b/mm/Kconfig
+@@ -319,7 +319,8 @@ config KSM
+ config DEFAULT_MMAP_MIN_ADDR
+         int "Low address space to protect from user allocation"
+	depends on MMU
+-        default 4096
++	default 32768 if ARM || (ARM64 && COMPAT)
++	default 65536
+         help
+	  This is the portion of low virtual memory which should be protected
+	  from userspace allocation.  Keeping a user from writing to low pages
+diff --git a/mm/mmap.c b/mm/mmap.c
+index 03ca089cce0f..9bf52aa6b042 100644
+--- a/mm/mmap.c
++++ b/mm/mmap.c
+@@ -220,6 +220,13 @@ SYSCALL_DEFINE1(brk, unsigned long, brk)
+
+	newbrk = PAGE_ALIGN(brk);
+	oldbrk = PAGE_ALIGN(mm->brk);
++	/* properly handle unaligned min_brk as an empty heap */
++	if (min_brk & ~PAGE_MASK) {
++		if (brk == min_brk)
++			newbrk -= PAGE_SIZE;
++		if (mm->brk == min_brk)
++			oldbrk -= PAGE_SIZE;
++	}
+	if (oldbrk == newbrk)
+		goto set_brk;
+
+diff --git a/mm/page_alloc.c b/mm/page_alloc.c
+index 1741dd23e7c1..462ce9910e43 100644
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -68,6 +68,7 @@
+ #include <linux/ftrace.h>
+ #include <linux/lockdep.h>
+ #include <linux/nmi.h>
++#include <linux/random.h>
+
+ #include <asm/sections.h>
+ #include <asm/tlbflush.h>
+@@ -101,6 +102,15 @@ int _node_numa_mem_[MAX_NUMNODES];
+ DEFINE_MUTEX(pcpu_drain_mutex);
+ DEFINE_PER_CPU(struct work_struct, pcpu_drain);
+
++bool __meminitdata extra_latent_entropy;
++
++static int __init setup_extra_latent_entropy(char *str)
++{
++	extra_latent_entropy = true;
++	return 0;
++}
++early_param("extra_latent_entropy", setup_extra_latent_entropy);
++
+ #ifdef CONFIG_GCC_PLUGIN_LATENT_ENTROPY
+ volatile unsigned long latent_entropy __latent_entropy;
+ EXPORT_SYMBOL(latent_entropy);
+@@ -1069,6 +1079,13 @@ static __always_inline bool free_pages_prepare(struct page *page,
+		debug_check_no_obj_freed(page_address(page),
+					   PAGE_SIZE << order);
+	}
++
++	if (IS_ENABLED(CONFIG_PAGE_SANITIZE)) {
++		int i;
++		for (i = 0; i < (1 << order); i++)
++			clear_highpage(page + i);
++	}
++
+	arch_free_page(page, order);
+	kernel_poison_pages(page, 1 << order, 0);
+	kernel_map_pages(page, 1 << order, 0);
+@@ -1286,6 +1303,21 @@ static void __init __free_pages_boot_core(struct page *page, unsigned int order)
+	__ClearPageReserved(p);
+	set_page_count(p, 0);
+
++	if (extra_latent_entropy && !PageHighMem(page) && page_to_pfn(page) < 0x100000) {
++		unsigned long hash = 0;
++		size_t index, end = PAGE_SIZE * nr_pages / sizeof hash;
++		const unsigned long *data = lowmem_page_address(page);
++
++		for (index = 0; index < end; index++)
++			hash ^= hash + data[index];
++#ifdef CONFIG_GCC_PLUGIN_LATENT_ENTROPY
++		latent_entropy ^= hash;
++		add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy));
++#else
++		add_device_randomness((const void *)&hash, sizeof(hash));
++#endif
++	}
++
+	page_zone(page)->managed_pages += nr_pages;
+	set_page_refcounted(page);
+	__free_pages(page, order);
+@@ -1754,8 +1786,8 @@ static inline int check_new_page(struct page *page)
+
+ static inline bool free_pages_prezeroed(void)
+ {
+-	return IS_ENABLED(CONFIG_PAGE_POISONING_ZERO) &&
+-		page_poisoning_enabled();
++	return IS_ENABLED(CONFIG_PAGE_SANITIZE) ||
++		(IS_ENABLED(CONFIG_PAGE_POISONING_ZERO) && page_poisoning_enabled());
+ }
+
+ #ifdef CONFIG_DEBUG_VM
+@@ -1812,6 +1844,11 @@ static void prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags
+
+	post_alloc_hook(page, order, gfp_flags);
+
++	if (IS_ENABLED(CONFIG_PAGE_SANITIZE_VERIFY)) {
++		for (i = 0; i < (1 << order); i++)
++			verify_zero_highpage(page + i);
++	}
++
+	if (!free_pages_prezeroed() && (gfp_flags & __GFP_ZERO))
+		for (i = 0; i < (1 << order); i++)
+			clear_highpage(page + i);
+diff --git a/mm/slab.h b/mm/slab.h
+index 51813236e773..e0d1b194a454 100644
+--- a/mm/slab.h
++++ b/mm/slab.h
+@@ -312,7 +312,11 @@ static inline bool is_root_cache(struct kmem_cache *s)
+ static inline bool slab_equal_or_root(struct kmem_cache *s,
+				      struct kmem_cache *p)
+ {
++#ifdef CONFIG_SLAB_HARDENED
++	return p == s;
++#else
+	return true;
++#endif
+ }
+
+ static inline const char *cache_name(struct kmem_cache *s)
+@@ -364,18 +368,26 @@ static inline struct kmem_cache *cache_from_obj(struct kmem_cache *s, void *x)
+	 * to not do even the assignment. In that case, slab_equal_or_root
+	 * will also be a constant.
+	 */
+-	if (!memcg_kmem_enabled() &&
++	if (!IS_ENABLED(CONFIG_SLAB_HARDENED) &&
++	    !memcg_kmem_enabled() &&
+	    !unlikely(s->flags & SLAB_CONSISTENCY_CHECKS))
+		return s;
+
+	page = virt_to_head_page(x);
++#ifdef CONFIG_SLAB_HARDENED
++	BUG_ON(!PageSlab(page));
++#endif
+	cachep = page->slab_cache;
+	if (slab_equal_or_root(cachep, s))
+		return cachep;
+
+	pr_err("%s: Wrong slab cache. %s but object is from %s\n",
+	       __func__, s->name, cachep->name);
++#ifdef CONFIG_BUG_ON_DATA_CORRUPTION
++	BUG_ON(1);
++#else
+	WARN_ON_ONCE(1);
++#endif
+	return s;
+ }
+
+@@ -400,7 +412,7 @@ static inline size_t slab_ksize(const struct kmem_cache *s)
+	 * back there or track user information then we can
+	 * only use the space before that information.
+	 */
+-	if (s->flags & (SLAB_TYPESAFE_BY_RCU | SLAB_STORE_USER))
++	if ((s->flags & (SLAB_TYPESAFE_BY_RCU | SLAB_STORE_USER)) || IS_ENABLED(CONFIG_SLAB_CANARY))
+		return s->inuse;
+	/*
+	 * Else we can use all the padding etc for the allocation
+diff --git a/mm/slab_common.c b/mm/slab_common.c
+index 10f127b2de7c..3637ef72c5b4 100644
+--- a/mm/slab_common.c
++++ b/mm/slab_common.c
+@@ -26,10 +26,10 @@
+
+ #include "slab.h"
+
+-enum slab_state slab_state;
++enum slab_state slab_state __ro_after_init;
+ LIST_HEAD(slab_caches);
+ DEFINE_MUTEX(slab_mutex);
+-struct kmem_cache *kmem_cache;
++struct kmem_cache *kmem_cache __ro_after_init;
+
+ #ifdef CONFIG_HARDENED_USERCOPY
+ bool usercopy_fallback __ro_after_init =
+@@ -57,7 +57,7 @@ static DECLARE_WORK(slab_caches_to_rcu_destroy_work,
+ /*
+  * Merge control. If this is set then no merging of slab caches will occur.
+  */
+-static bool slab_nomerge = !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT);
++static bool slab_nomerge __ro_after_init = !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT);
+
+ static int __init setup_slab_nomerge(char *str)
+ {
+@@ -968,7 +968,7 @@ EXPORT_SYMBOL(kmalloc_dma_caches);
+  * of two cache sizes there. The size of larger slabs can be determined using
+  * fls.
+  */
+-static s8 size_index[24] = {
++static s8 size_index[24] __ro_after_init = {
+	3,	/* 8 */
+	4,	/* 16 */
+	5,	/* 24 */
+diff --git a/mm/slub.c b/mm/slub.c
+index e381728a3751..76dd844d978a 100644
+--- a/mm/slub.c
++++ b/mm/slub.c
+@@ -125,6 +125,16 @@ static inline int kmem_cache_debug(struct kmem_cache *s)
+ #endif
+ }
+
++static inline bool has_sanitize(struct kmem_cache *s)
++{
++	return IS_ENABLED(CONFIG_SLAB_SANITIZE) && !(s->flags & (SLAB_TYPESAFE_BY_RCU | SLAB_POISON));
++}
++
++static inline bool has_sanitize_verify(struct kmem_cache *s)
++{
++	return IS_ENABLED(CONFIG_SLAB_SANITIZE_VERIFY) && has_sanitize(s);
++}
++
+ void *fixup_red_left(struct kmem_cache *s, void *p)
+ {
+	if (kmem_cache_debug(s) && s->flags & SLAB_RED_ZONE)
+@@ -299,6 +309,35 @@ static inline void set_freepointer(struct kmem_cache *s, void *object, void *fp)
+	*(void **)freeptr_addr = freelist_ptr(s, fp, freeptr_addr);
+ }
+
++#ifdef CONFIG_SLAB_CANARY
++static inline unsigned long *get_canary(struct kmem_cache *s, void *object)
++{
++	if (s->offset)
++		return object + s->offset + sizeof(void *);
++	return object + s->inuse;
++}
++
++static inline unsigned long get_canary_value(const void *canary, unsigned long value)
++{
++	return (value ^ (unsigned long)canary) & CANARY_MASK;
++}
++
++static inline void set_canary(struct kmem_cache *s, void *object, unsigned long value)
++{
++	unsigned long *canary = get_canary(s, object);
++	*canary = get_canary_value(canary, value);
++}
++
++static inline void check_canary(struct kmem_cache *s, void *object, unsigned long value)
++{
++	unsigned long *canary = get_canary(s, object);
++	BUG_ON(*canary != get_canary_value(canary, value));
++}
++#else
++#define set_canary(s, object, value)
++#define check_canary(s, object, value)
++#endif
++
+ /* Loop over all objects in a slab */
+ #define for_each_object(__p, __s, __addr, __objects) \
+	for (__p = fixup_red_left(__s, __addr); \
+@@ -486,13 +525,13 @@ static inline void *restore_red_left(struct kmem_cache *s, void *p)
+  * Debug settings:
+  */
+ #if defined(CONFIG_SLUB_DEBUG_ON)
+-static slab_flags_t slub_debug = DEBUG_DEFAULT_FLAGS;
++static slab_flags_t slub_debug __ro_after_init = DEBUG_DEFAULT_FLAGS;
+ #else
+-static slab_flags_t slub_debug;
++static slab_flags_t slub_debug __ro_after_init;
+ #endif
+
+-static char *slub_debug_slabs;
+-static int disable_higher_order_debug;
++static char *slub_debug_slabs __ro_after_init;
++static int disable_higher_order_debug __ro_after_init;
+
+ /*
+  * slub is about to manipulate internal object metadata.  This memory lies
+@@ -552,6 +591,9 @@ static struct track *get_track(struct kmem_cache *s, void *object,
+	else
+		p = object + s->inuse;
+
++	if (IS_ENABLED(CONFIG_SLAB_CANARY))
++		p = (void *)p + sizeof(void *);
++
+	return p + alloc;
+ }
+
+@@ -690,6 +732,9 @@ static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p)
+	else
+		off = s->inuse;
+
++	if (IS_ENABLED(CONFIG_SLAB_CANARY))
++		off += sizeof(void *);
++
+	if (s->flags & SLAB_STORE_USER)
+		off += 2 * sizeof(struct track);
+
+@@ -819,6 +864,9 @@ static int check_pad_bytes(struct kmem_cache *s, struct page *page, u8 *p)
+		/* Freepointer is placed after the object. */
+		off += sizeof(void *);
+
++	if (IS_ENABLED(CONFIG_SLAB_CANARY))
++		off += sizeof(void *);
++
+	if (s->flags & SLAB_STORE_USER)
+		/* We also have user information there */
+		off += 2 * sizeof(struct track);
+@@ -1420,8 +1468,9 @@ static void setup_object(struct kmem_cache *s, struct page *page,
+				void *object)
+ {
+	setup_object_debug(s, page, object);
++	set_canary(s, object, s->random_inactive);
+	kasan_init_slab_obj(s, object);
+-	if (unlikely(s->ctor)) {
++	if (unlikely(s->ctor) && !has_sanitize_verify(s)) {
+		kasan_unpoison_object_data(s, object);
+		s->ctor(object);
+		kasan_poison_object_data(s, object);
+@@ -2719,9 +2768,21 @@ static __always_inline void *slab_alloc_node(struct kmem_cache *s,
+		stat(s, ALLOC_FASTPATH);
+	}
+
+-	if (unlikely(gfpflags & __GFP_ZERO) && object)
++	if (has_sanitize_verify(s) && object) {
++		size_t offset = s->offset ? 0 : sizeof(void *);
++		BUG_ON(memchr_inv(object + offset, 0, s->object_size - offset));
++		if (s->ctor)
++			s->ctor(object);
++		if (unlikely(gfpflags & __GFP_ZERO) && offset)
++			memset(object, 0, sizeof(void *));
++	} else if (unlikely(gfpflags & __GFP_ZERO) && object)
+		memset(object, 0, s->object_size);
+
++	if (object) {
++		check_canary(s, object, s->random_inactive);
++		set_canary(s, object, s->random_active);
++	}
++
+	slab_post_alloc_hook(s, gfpflags, 1, &object);
+
+	return object;
+@@ -2928,6 +2989,27 @@ static __always_inline void do_slab_free(struct kmem_cache *s,
+	void *tail_obj = tail ? : head;
+	struct kmem_cache_cpu *c;
+	unsigned long tid;
++	bool sanitize = has_sanitize(s);
++
++	if (IS_ENABLED(CONFIG_SLAB_CANARY) || sanitize) {
++		__maybe_unused int offset = s->offset ? 0 : sizeof(void *);
++		void *x = head;
++
++		while (1) {
++			check_canary(s, x, s->random_active);
++			set_canary(s, x, s->random_inactive);
++
++			if (sanitize) {
++				memset(x + offset, 0, s->object_size - offset);
++				if (!IS_ENABLED(CONFIG_SLAB_SANITIZE_VERIFY) && s->ctor)
++					s->ctor(x);
++			}
++			if (x == tail_obj)
++				break;
++			x = get_freepointer(s, x);
++		}
++	}
++
+ redo:
+	/*
+	 * Determine the currently cpus per cpu slab.
+@@ -3106,7 +3188,7 @@ int kmem_cache_alloc_bulk(struct kmem_cache *s, gfp_t flags, size_t size,
+			  void **p)
+ {
+	struct kmem_cache_cpu *c;
+-	int i;
++	int i, k;
+
+	/* memcg and kmem_cache debug support */
+	s = slab_pre_alloc_hook(s, flags);
+@@ -3143,13 +3225,29 @@ int kmem_cache_alloc_bulk(struct kmem_cache *s, gfp_t flags, size_t size,
+	local_irq_enable();
+
+	/* Clear memory outside IRQ disabled fastpath loop */
+-	if (unlikely(flags & __GFP_ZERO)) {
++	if (has_sanitize_verify(s)) {
++		int j;
++
++		for (j = 0; j < i; j++) {
++			size_t offset = s->offset ? 0 : sizeof(void *);
++			BUG_ON(memchr_inv(p[j] + offset, 0, s->object_size - offset));
++			if (s->ctor)
++				s->ctor(p[j]);
++			if (unlikely(flags & __GFP_ZERO) && offset)
++				memset(p[j], 0, sizeof(void *));
++		}
++	} else if (unlikely(flags & __GFP_ZERO)) {
+		int j;
+
+		for (j = 0; j < i; j++)
+			memset(p[j], 0, s->object_size);
+	}
+
++	for (k = 0; k < i; k++) {
++		check_canary(s, p[k], s->random_inactive);
++		set_canary(s, p[k], s->random_active);
++	}
++
+	/* memcg and kmem_cache debug support */
+	slab_post_alloc_hook(s, flags, size, p);
+	return i;
+@@ -3181,9 +3279,9 @@ EXPORT_SYMBOL(kmem_cache_alloc_bulk);
+  * and increases the number of allocations possible without having to
+  * take the list_lock.
+  */
+-static int slub_min_order;
+-static int slub_max_order = PAGE_ALLOC_COSTLY_ORDER;
+-static int slub_min_objects;
++static int slub_min_order __ro_after_init;
++static int slub_max_order __ro_after_init = PAGE_ALLOC_COSTLY_ORDER;
++static int slub_min_objects __ro_after_init;
+
+ /*
+  * Calculate the order of allocation given an slab object size.
+@@ -3353,6 +3451,7 @@ static void early_kmem_cache_node_alloc(int node)
+	init_object(kmem_cache_node, n, SLUB_RED_ACTIVE);
+	init_tracking(kmem_cache_node, n);
+ #endif
++	set_canary(kmem_cache_node, n, kmem_cache_node->random_active);
+	kasan_kmalloc(kmem_cache_node, n, sizeof(struct kmem_cache_node),
+		      GFP_KERNEL);
+	init_kmem_cache_node(n);
+@@ -3509,6 +3608,9 @@ static int calculate_sizes(struct kmem_cache *s, int forced_order)
+		size += sizeof(void *);
+	}
+
++	if (IS_ENABLED(CONFIG_SLAB_CANARY))
++		size += sizeof(void *);
++
+ #ifdef CONFIG_SLUB_DEBUG
+	if (flags & SLAB_STORE_USER)
+		/*
+@@ -3579,6 +3681,10 @@ static int kmem_cache_open(struct kmem_cache *s, slab_flags_t flags)
+ #ifdef CONFIG_SLAB_FREELIST_HARDENED
+	s->random = get_random_long();
+ #endif
++#ifdef CONFIG_SLAB_CANARY
++	s->random_active = get_random_long();
++	s->random_inactive = get_random_long();
++#endif
+
+	if (need_reserve_slab_rcu && (s->flags & SLAB_TYPESAFE_BY_RCU))
+		s->reserved = sizeof(struct rcu_head);
+@@ -3846,6 +3952,8 @@ void __check_heap_object(const void *ptr, unsigned long n, struct page *page,
+		offset -= s->red_left_pad;
+	}
+
++	check_canary(s, (void *)ptr - offset, s->random_active);
++
+	/* Allow address range falling entirely within usercopy region. */
+	if (offset >= s->useroffset &&
+	    offset - s->useroffset <= s->usersize &&
+@@ -3879,7 +3987,11 @@ static size_t __ksize(const void *object)
+	page = virt_to_head_page(object);
+
+	if (unlikely(!PageSlab(page))) {
++#ifdef CONFIG_BUG_ON_DATA_CORRUPTION
++		BUG_ON(!PageCompound(page));
++#else
+		WARN_ON(!PageCompound(page));
++#endif
+		return PAGE_SIZE << compound_order(page);
+	}
+
+@@ -4744,7 +4856,7 @@ enum slab_stat_type {
+ #define SO_TOTAL	(1 << SL_TOTAL)
+
+ #ifdef CONFIG_MEMCG
+-static bool memcg_sysfs_enabled = IS_ENABLED(CONFIG_SLUB_MEMCG_SYSFS_ON);
++static bool memcg_sysfs_enabled __ro_after_init = IS_ENABLED(CONFIG_SLUB_MEMCG_SYSFS_ON);
+
+ static int __init setup_slub_memcg_sysfs(char *str)
+ {
+diff --git a/mm/swap.c b/mm/swap.c
+index 0f17330dd0e5..6e52cb476ef5 100644
+--- a/mm/swap.c
++++ b/mm/swap.c
+@@ -92,6 +92,13 @@ static void __put_compound_page(struct page *page)
+	if (!PageHuge(page))
+		__page_cache_release(page);
+	dtor = get_compound_page_dtor(page);
++	if (!PageHuge(page))
++		BUG_ON(dtor != free_compound_page
++#ifdef CONFIG_TRANSPARENT_HUGEPAGE
++			&& dtor != free_transhuge_page
++#endif
++		);
++
+	(*dtor)(page);
+ }
+
+diff --git a/net/core/dev.c b/net/core/dev.c
+index ace13bea3e50..77a1519c52b7 100644
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -4196,7 +4196,7 @@ int netif_rx_ni(struct sk_buff *skb)
+ }
+ EXPORT_SYMBOL(netif_rx_ni);
+
+-static __latent_entropy void net_tx_action(struct softirq_action *h)
++static __latent_entropy void net_tx_action(void)
+ {
+	struct softnet_data *sd = this_cpu_ptr(&softnet_data);
+
+@@ -5745,7 +5745,7 @@ static int napi_poll(struct napi_struct *n, struct list_head *repoll)
+	return work;
+ }
+
+-static __latent_entropy void net_rx_action(struct softirq_action *h)
++static __latent_entropy void net_rx_action(void)
+ {
+	struct softnet_data *sd = this_cpu_ptr(&softnet_data);
+	unsigned long time_limit = jiffies +
+diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
+index f48fe6fc7e8c..d78c52835c08 100644
+--- a/net/ipv4/Kconfig
++++ b/net/ipv4/Kconfig
+@@ -261,6 +261,7 @@ config IP_PIMSM_V2
+
+ config SYN_COOKIES
+	bool "IP: TCP syncookie support"
++	default y
+	---help---
+	  Normal TCP/IP networking is open to an attack known as "SYN
+	  flooding". This denial-of-service attack prevents legitimate remote
+diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
+index 9917f928d0fd..784e0e2fc839 100644
+--- a/scripts/mod/modpost.c
++++ b/scripts/mod/modpost.c
+@@ -37,6 +37,7 @@ static int vmlinux_section_warnings = 1;
+ static int warn_unresolved = 0;
+ /* How a symbol is exported */
+ static int sec_mismatch_count = 0;
++static int writable_fptr_count = 0;
+ static int sec_mismatch_verbose = 1;
+ static int sec_mismatch_fatal = 0;
+ /* ignore missing files */
+@@ -965,6 +966,7 @@ enum mismatch {
+	ANY_EXIT_TO_ANY_INIT,
+	EXPORT_TO_INIT_EXIT,
+	EXTABLE_TO_NON_TEXT,
++	DATA_TO_TEXT
+ };
+
+ /**
+@@ -1091,6 +1093,12 @@ static const struct sectioncheck sectioncheck[] = {
+	.good_tosec = {ALL_TEXT_SECTIONS , NULL},
+	.mismatch = EXTABLE_TO_NON_TEXT,
+	.handler = extable_mismatch_handler,
++},
++/* Do not reference code from writable data */
++{
++	.fromsec = { DATA_SECTIONS, NULL },
++	.bad_tosec = { ALL_TEXT_SECTIONS, NULL },
++	.mismatch = DATA_TO_TEXT
+ }
+ };
+
+@@ -1240,10 +1248,10 @@ static Elf_Sym *find_elf_symbol(struct elf_info *elf, Elf64_Sword addr,
+			continue;
+		if (ELF_ST_TYPE(sym->st_info) == STT_SECTION)
+			continue;
+-		if (sym->st_value == addr)
+-			return sym;
+		/* Find a symbol nearby - addr are maybe negative */
+		d = sym->st_value - addr;
++		if (d == 0)
++			return sym;
+		if (d < 0)
+			d = addr - sym->st_value;
+		if (d < distance) {
+@@ -1402,7 +1410,11 @@ static void report_sec_mismatch(const char *modname,
+	char *prl_from;
+	char *prl_to;
+
+-	sec_mismatch_count++;
++	if (mismatch->mismatch == DATA_TO_TEXT)
++		writable_fptr_count++;
++	else
++		sec_mismatch_count++;
++
+	if (!sec_mismatch_verbose)
+		return;
+
+@@ -1526,6 +1538,14 @@ static void report_sec_mismatch(const char *modname,
+		fatal("There's a special handler for this mismatch type, "
+		      "we should never get here.");
+		break;
++	case DATA_TO_TEXT:
++#if 0
++		fprintf(stderr,
++		"The %s %s:%s references\n"
++		"the %s %s:%s%s\n",
++		from, fromsec, fromsym, to, tosec, tosym, to_p);
++#endif
++		break;
+	}
+	fprintf(stderr, "\n");
+ }
+@@ -2539,6 +2559,14 @@ int main(int argc, char **argv)
+		}
+	}
+	free(buf.p);
++	if (writable_fptr_count) {
++		if (!sec_mismatch_verbose) {
++			warn("modpost: Found %d writable function pointer(s).\n"
++			     "To see full details build your kernel with:\n"
++			     "'make CONFIG_DEBUG_SECTION_MISMATCH=y'\n",
++			     writable_fptr_count);
++		}
++	}
+
+	return err;
+ }
+diff --git a/security/Kconfig b/security/Kconfig
+index c4302067a3ad..1b1e9368cae5 100644
+--- a/security/Kconfig
++++ b/security/Kconfig
+@@ -8,7 +8,7 @@ source security/keys/Kconfig
+
+ config SECURITY_DMESG_RESTRICT
+	bool "Restrict unprivileged access to the kernel syslog"
+-	default n
++	default y
+	help
+	  This enforces restrictions on unprivileged users reading the kernel
+	  syslog via dmesg(8).
+@@ -18,10 +18,21 @@ config SECURITY_DMESG_RESTRICT
+
+	  If you are unsure how to answer this question, answer N.
+
++config SECURITY_PERF_EVENTS_RESTRICT
++	bool "Restrict unprivileged use of performance events"
++	depends on PERF_EVENTS
++	default y
++	help
++	  If you say Y here, the kernel.perf_event_paranoid sysctl
++	  will be set to 3 by default, and no unprivileged use of the
++	  perf_event_open syscall will be permitted unless it is
++	  changed.
++
+ config SECURITY
+	bool "Enable different security models"
+	depends on SYSFS
+	depends on MULTIUSER
++	default y
+	help
+	  This allows you to choose different security modules to be
+	  configured into your kernel.
+@@ -48,6 +59,7 @@ config SECURITYFS
+ config SECURITY_NETWORK
+	bool "Socket and Networking Security Hooks"
+	depends on SECURITY
++	default y
+	help
+	  This enables the socket and networking security hooks.
+	  If enabled, a security module can use these hooks to
+@@ -155,6 +167,7 @@ config HARDENED_USERCOPY
+	depends on HAVE_HARDENED_USERCOPY_ALLOCATOR
+	select BUG
+	imply STRICT_DEVMEM
++	default y
+	help
+	  This option checks for obviously wrong memory regions when
+	  copying memory to/from the kernel (via copy_to_user() and
+@@ -167,7 +180,6 @@ config HARDENED_USERCOPY
+ config HARDENED_USERCOPY_FALLBACK
+	bool "Allow usercopy whitelist violations to fallback to object size"
+	depends on HARDENED_USERCOPY
+-	default y
+	help
+	  This is a temporary option that allows missing usercopy whitelists
+	  to be discovered via a WARN() to the kernel log, instead of
+@@ -192,10 +204,36 @@ config HARDENED_USERCOPY_PAGESPAN
+ config FORTIFY_SOURCE
+	bool "Harden common str/mem functions against buffer overflows"
+	depends on ARCH_HAS_FORTIFY_SOURCE
++	default y
+	help
+	  Detect overflows of buffers in common string and memory functions
+	  where the compiler can determine and validate the buffer sizes.
+
++config FORTIFY_SOURCE_STRICT_STRING
++	bool "Harden common functions against buffer overflows"
++	depends on FORTIFY_SOURCE
++	depends on EXPERT
++	help
++	  Perform stricter overflow checks catching overflows within objects
++	  for common C string functions rather than only between objects.
++
++	  This is not yet intended for production use, only bug finding.
++
++config PAGE_SANITIZE
++	bool "Sanitize pages"
++	default y
++	help
++	  Zero fill page allocations on free, reducing the lifetime of
++	  sensitive data and helping to mitigate use-after-free bugs.
++
++config PAGE_SANITIZE_VERIFY
++	bool "Verify sanitized pages"
++	depends on PAGE_SANITIZE
++	default y
++	help
++	  Verify that newly allocated pages are zeroed to detect
++	  write-after-free bugs.
++
+ config STATIC_USERMODEHELPER
+	bool "Force all usermode helper calls through a single binary"
+	help
+diff --git a/security/selinux/Kconfig b/security/selinux/Kconfig
+index 8af7a690eb40..6539694b0fd3 100644
+--- a/security/selinux/Kconfig
++++ b/security/selinux/Kconfig
+@@ -2,7 +2,7 @@ config SECURITY_SELINUX
+	bool "NSA SELinux Support"
+	depends on SECURITY_NETWORK && AUDIT && NET && INET
+	select NETWORK_SECMARK
+-	default n
++	default y
+	help
+	  This selects NSA Security-Enhanced Linux (SELinux).
+	  You will also need a policy configuration and a labeled filesystem.
+@@ -79,23 +79,3 @@ config SECURITY_SELINUX_AVC_STATS
+	  This option collects access vector cache statistics to
+	  /selinux/avc/cache_stats, which may be monitored via
+	  tools such as avcstat.
+-
+-config SECURITY_SELINUX_CHECKREQPROT_VALUE
+-	int "NSA SELinux checkreqprot default value"
+-	depends on SECURITY_SELINUX
+-	range 0 1
+-	default 0
+-	help
+-	  This option sets the default value for the 'checkreqprot' flag
+-	  that determines whether SELinux checks the protection requested
+-	  by the application or the protection that will be applied by the
+-	  kernel (including any implied execute for read-implies-exec) for
+-	  mmap and mprotect calls.  If this option is set to 0 (zero),
+-	  SELinux will default to checking the protection that will be applied
+-	  by the kernel.  If this option is set to 1 (one), SELinux will
+-	  default to checking the protection requested by the application.
+-	  The checkreqprot flag may be changed from the default via the
+-	  'checkreqprot=' boot parameter.  It may also be changed at runtime
+-	  via /selinux/checkreqprot if authorized by policy.
+-
+-	  If you are unsure how to answer this question, answer 0.
+diff --git a/security/selinux/include/objsec.h b/security/selinux/include/objsec.h
+index 3d54468ce334..ceafb908afde 100644
+--- a/security/selinux/include/objsec.h
++++ b/security/selinux/include/objsec.h
+@@ -154,6 +154,6 @@ struct bpf_security_struct {
+	u32 sid;  /*SID of bpf obj creater*/
+ };
+
+-extern unsigned int selinux_checkreqprot;
++extern const unsigned int selinux_checkreqprot;
+
+ #endif /* _SELINUX_OBJSEC_H_ */
+diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
+index 00eed842c491..8f7b8d7e6f91 100644
+--- a/security/selinux/selinuxfs.c
++++ b/security/selinux/selinuxfs.c
+@@ -41,16 +41,7 @@
+ #include "objsec.h"
+ #include "conditional.h"
+
+-unsigned int selinux_checkreqprot = CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE;
+-
+-static int __init checkreqprot_setup(char *str)
+-{
+-	unsigned long checkreqprot;
+-	if (!kstrtoul(str, 0, &checkreqprot))
+-		selinux_checkreqprot = checkreqprot ? 1 : 0;
+-	return 1;
+-}
+-__setup("checkreqprot=", checkreqprot_setup);
++const unsigned int selinux_checkreqprot;
+
+ static DEFINE_MUTEX(sel_mutex);
+
+@@ -610,10 +601,9 @@ static ssize_t sel_write_checkreqprot(struct file *file, const char __user *buf,
+		return PTR_ERR(page);
+
+	length = -EINVAL;
+-	if (sscanf(page, "%u", &new_value) != 1)
++	if (sscanf(page, "%u", &new_value) != 1 || new_value)
+		goto out;
+
+-	selinux_checkreqprot = new_value ? 1 : 0;
+	length = count;
+ out:
+	kfree(page);
+diff --git a/security/yama/Kconfig b/security/yama/Kconfig
+index 96b27405558a..485c1b85c325 100644
+--- a/security/yama/Kconfig
++++ b/security/yama/Kconfig
+@@ -1,7 +1,7 @@
+ config SECURITY_YAMA
+	bool "Yama support"
+	depends on SECURITY
+-	default n
++	default y
+	help
+	  This selects Yama, which extends DAC support with additional
+	  system-wide security settings beyond regular Linux discretionary
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 2b44ff51ad0a..249a1ea5cefa 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -12,6 +12,9 @@
 , # The kernel version.
   version
 
+, # Allows overriding the default defconfig
+  defconfig ? null
+
 , # Overrides to the kernel config.
   extraConfig ? ""
 
@@ -85,7 +88,7 @@ let
 
     platformName = hostPlatform.platform.name;
     # e.g. "defconfig"
-    kernelBaseConfig = hostPlatform.platform.kernelBaseConfig;
+    kernelBaseConfig = if defconfig != null then defconfig else hostPlatform.platform.kernelBaseConfig;
     # e.g. "bzImage"
     kernelTarget = hostPlatform.platform.kernelTarget;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index d7bcd411764b..786709d53283 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,13 +3,13 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.47";
+  version = "4.14.48";
 
   # branchVersion needs to be x.y
   extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "06c8kl9f0s5qmqh9l16y1q7r44ld56kd0a00722c3aivddm3nav7";
+    sha256 = "1f92pz92mf0x9jfv3qf4w40i78l053f2qh2n8p2sbrqzc67n1840";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.16.nix b/pkgs/os-specific/linux/kernel/linux-4.16.nix
index 4fe2e405698b..0a06c4dd434e 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.16.nix
@@ -1,18 +1,18 @@
-{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args:
 
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.16.13";
+  version = "4.16.14";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
-  modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
+  modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
 
   # branchVersion needs to be x.y
   extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1qzj5mbkxkrpmnwws8vdz292gp863kybrgr9bvgs7v28plx7n2kg";
+    sha256 = "1h6zjnwpdyqk9fp72c35565lhw00kpjl55faakwx7xsxfpyvc25p";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.17.nix b/pkgs/os-specific/linux/kernel/linux-4.17.nix
new file mode 100644
index 000000000000..b360e98f0c09
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-4.17.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args:
+
+with stdenv.lib;
+
+buildLinux (args // rec {
+  version = "4.17";
+
+  # modDirVersion needs to be x.y.z, will automatically add .0 if needed
+  modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
+
+  # branchVersion needs to be x.y
+  extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
+    sha256 = "04yd7hnsdyaq4xmrgg7509qjf09k1dy6k1p8qqfrdspajvc1valz";
+  };
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index e06be4838ee3..ecef71fd604f 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.135";
+  version = "4.4.136";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1p41fz1jhcrzcmvhbl8di1660bv0w2wpcmi4hfgksdjfh84b1k03";
+    sha256 = "0svb6qbhc376jk26r67qssh7lradx63s60qlm1q2kd4xjhxyj5a3";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index d69717b15fe7..bcc4aad7fccb 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.105";
+  version = "4.9.107";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1i3dv7lvh7b08943iw45j0x99878wia83fribbgxn7xcwcld51fh";
+    sha256 = "1lya48grdgjjbzw8x5kvvblanfas23dcmchysnhwv5p0rq7g9rrw";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-copperhead-stable.nix b/pkgs/os-specific/linux/kernel/linux-copperhead-stable.nix
deleted file mode 100644
index 571b49245661..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-copperhead-stable.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
-
-with stdenv.lib;
-
-let
-  version = "4.16.12";
-  revision = "a";
-  sha256 = "0gkgvhh2v5lca67xjmq512mqnfbln6lkk6hgigby2406b9w1b0sd";
-
-  # modVersion needs to be x.y.z, will automatically add .0 if needed
-  modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
-
-  # branchVersion needs to be x.y
-  branchVersion = concatStrings (intersperse "." (take 2 (splitString "." version)));
-
-  modDirVersion = "${modVersion}-hardened";
-in
-buildLinux (args // {
-  inherit modDirVersion;
-
-  version = "${version}-${revision}";
-  extraMeta.branch = "${branchVersion}";
-
-  src = fetchFromGitHub {
-    inherit sha256;
-    owner = "copperhead";
-    repo = "linux-hardened";
-    rev = "${version}.${revision}";
-  };
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index a96a910c68c9..d869ea090360 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -1,8 +1,8 @@
 { stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
 let
-  modDirVersion = "4.9.59";
-  tag = "1.20171029";
+  modDirVersion = "4.14.34";
+  tag = "1.20180417";
 in
 stdenv.lib.overrideDerivation (buildLinux (args // rec {
   version = "${modDirVersion}-${tag}";
@@ -12,9 +12,14 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
     owner = "raspberrypi";
     repo = "linux";
     rev = "raspberrypi-kernel_${tag}-1";
-    sha256 = "19lb1gxz21x1d5zdznzqfq60kxg7iqmyl6l0mb9qg2vrl8fcgnxk";
+    sha256 = "1xgisvmcq50lpnd4rpqhaw52399n0rx2n8mp6k0bf8qm1g3vnza2";
   };
 
+  defconfig = {
+    "armv6l-linux" = "bcmrpi_defconfig";
+    "armv7l-linux" = "bcm2709_defconfig";
+  }.${stdenv.system} or (throw "linux_rpi not supported on '${stdenv.system}'");
+
   features = {
     efiBootStub = false;
   } // (args.features or {});
@@ -27,16 +32,15 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
   '';
 
   postFixup = ''
-    # Make copies of the DTBs so that U-Boot finds them, as it is looking for the upstream names.
-    # This is ugly as heck.
+    # Make copies of the DTBs named after the upstream names so that U-Boot finds them.
+    # This is ugly as heck, but I don't know a better solution so far.
+    rm $out/dtbs/bcm283*.dtb
     copyDTB() {
-      if [ -f "$out/dtbs/$1" ]; then
-        cp -v "$out/dtbs/$1" "$out/dtbs/$2"
-      fi
+      cp -v "$out/dtbs/$1" "$out/dtbs/$2"
     }
 
-    # I am not sure if all of these are correct...
-    copyDTB bcm2708-rpi-0-w.dts bcm2835-rpi-zero.dtb
+    copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb
+    copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
@@ -46,6 +50,7 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
     copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
     copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
     copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
-    # bcm2710-rpi-cm3.dts is yet unknown.
+    copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
+    copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
   '';
 })
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index fb28bba1c32f..c22762bde7c7 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -28,6 +28,11 @@ rec {
     patch = ./tag-hardened.patch;
   };
 
+  copperhead_4_16 = rec {
+    name = "copperhead-4.16";
+    patch = ./copperhead-4-16.patch;
+  };
+
   # https://bugzilla.kernel.org/show_bug.cgi?id=197591#c6
   iwlwifi_mvm_support_version_7_scan_req_umac_fw_command = rec {
     name = "iwlwifi_mvm_support_version_7_scan_req_umac_fw_command";
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index 59d5db52ac68..a172e45e7faa 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pcre, pkgconfig, libsepol
 , enablePython ? true, swig ? null, python ? null
-, musl-fts
+, fts
 }:
 
 assert enablePython -> swig != null && python != null;
@@ -18,9 +18,8 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libsepol pcre ]
-             ++ optionals enablePython [ swig python ]
-             ++ optional stdenv.hostPlatform.isMusl musl-fts;
+  buildInputs = [ libsepol pcre fts ]
+             ++ optionals enablePython [ swig python ];
 
   # drop fortify here since package uses it by default, leading to compile error:
   # command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index 7c2233714d4c..d4b3f374c5bc 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "07rs01zwr4bmjamplix5qz1c6mb6wdawb68vyn0w6wx68ppbpnxq";
   };
 
+  buildInputs = kernel.moduleBuildDependencies;
+
   hardeningDisable = [ "pic" ];
 
   NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-function-declaration" ];
@@ -30,7 +32,7 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
     broken = builtins.compareVersions kernel.version "3.18" == -1
-      || builtins.compareVersions kernel.version "4.11" == 1;
+      || builtins.compareVersions kernel.version "4.16" == 1;
   };
 
 }
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 1b15edcc923c..491f89f3cb44 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -9,11 +9,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "lxc-${version}";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz";
-    sha256 = "12ldpkd17cy6fg7z1icr91cfs86jkkrsj61b6wdj0l7h4x624c32";
+    sha256 = "1nyml98k28sc5sda0260cmby4irkpnhpwgmx4yhqy10wpr4nr625";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix
index 6f7dd2f56ff7..2bdec70b6f9c 100644
--- a/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/pkgs/os-specific/linux/lxcfs/default.nix
@@ -3,13 +3,13 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "lxcfs-3.0.0";
+  name = "lxcfs-3.0.1";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "lxcfs";
     rev = name;
-    sha256 = "0fsy2h7b5dkzvfm6m8vqzhnji42cszdn0b3ndnaxiwv3402ccmvk";
+    sha256 = "0rwk1nbcjnp2d2zbyng8ix9dmww211aiqq8870r9p4j11xv9mgx4";
   };
 
   nativeBuildInputs = [ pkgconfig help2man autoreconfHook ];
diff --git a/pkgs/os-specific/linux/musl/fts-setup-hook.sh b/pkgs/os-specific/linux/musl/fts-setup-hook.sh
deleted file mode 100644
index 5cf8c753aec3..000000000000
--- a/pkgs/os-specific/linux/musl/fts-setup-hook.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-# See pkgs/build-support/setup-hooks/role.bash
-getHostRole
-
-export NIX_${role_pre}LDFLAGS+=" -lfts"
diff --git a/pkgs/os-specific/linux/musl/fts.nix b/pkgs/os-specific/linux/musl/fts.nix
deleted file mode 100644
index 24d25de3a2d9..000000000000
--- a/pkgs/os-specific/linux/musl/fts.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  name = "musl-fts-${version}";
-  version = "2017-01-13";
-  src = fetchFromGitHub {
-    owner = "pullmoll";
-    repo = "musl-fts";
-    rev = "0bde52df588e8969879a2cae51c3a4774ec62472";
-    sha256 = "1q8cpzisziysrs08b89wj0rm4p6dsyl177cclpfa0f7spjm3jg03";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  setupHooks = [
-    ../../../build-support/setup-hooks/role.bash
-    ./fts-setup-hook.sh
-  ];
-}
diff --git a/pkgs/os-specific/linux/musl/getconf.nix b/pkgs/os-specific/linux/musl/getconf.nix
deleted file mode 100644
index dbfaca296bf9..000000000000
--- a/pkgs/os-specific/linux/musl/getconf.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "musl-getconf";
-  src = fetchurl {
-    url = "https://raw.githubusercontent.com/alpinelinux/aports/48b16204aeeda5bc1f87e49c6b8e23d9abb07c73/main/musl/getconf.c";
-    sha256 = "0z14ml5343p5gapxw9fnbn2r72r7v2gk8662iifjrblh6sxhqzfq";
-  };
-
-  unpackPhase = ":";
-
-  buildPhase = ''$CC $src -o getconf'';
-  installPhase = ''
-    mkdir -p $out/bin
-    cp getconf $out/bin/
-  '';
-}
-
-
diff --git a/pkgs/os-specific/linux/musl/getent.nix b/pkgs/os-specific/linux/musl/getent.nix
deleted file mode 100644
index 6eed17a76b02..000000000000
--- a/pkgs/os-specific/linux/musl/getent.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "musl-getent";
-  src = fetchurl {
-    url = "https://raw.githubusercontent.com/alpinelinux/aports/89a718d88ec7466e721f3bbe9ede5ffe58061d78/main/musl/getent.c";
-    sha256 = "0b4jqnsmv1hjgcz7db3vd61k682aphl59c3yhwya2q7mkc6g48xk";
-  };
-
-  unpackPhase = ":";
-
-  buildPhase = ''$CC $src -o getent'';
-  installPhase = ''
-    mkdir -p $out/bin
-    cp getent $out/bin/
-  '';
-}
-
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index be52cbc2029d..63d389fdb1f8 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -2,12 +2,12 @@
 , flex, bison, libmnl, libnftnl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.3";
+  version = "0.8.5";
   name = "nftables-${version}";
 
   src = fetchurl {
     url = "http://netfilter.org/projects/nftables/files/${name}.tar.bz2";
-    sha256 = "0f2yv7as1ybkfvn75f72x0z9y1ydibw4s3hbzhlmvsc8vgsy2syi";
+    sha256 = "08z3xaxdryi0i9gcfifs77c96xs8ljynkr2hbfgf3w67l60az6wf";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/powerstat/default.nix b/pkgs/os-specific/linux/powerstat/default.nix
index 2d4d8f8266f7..5408c4237ec4 100644
--- a/pkgs/os-specific/linux/powerstat/default.nix
+++ b/pkgs/os-specific/linux/powerstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "powerstat-${version}";
-  version = "0.02.16";
+  version = "0.02.17";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/powerstat/powerstat-${version}.tar.gz";
-    sha256 = "14sx37l40038sjygsnp95542fkbhhc911vd9k5rf85czmvndz29m";
+    sha256 = "1lxzrvwlf6h35i0d8v1yj1ka63i9i0yvv3adhy3pa3fl8arpvycs";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix
index 08420e36c65b..bd69145521c1 100644
--- a/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/pkgs/os-specific/linux/procps-ng/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "procps-${version}";
-  version = "3.3.14";
+  version = "3.3.15";
 
   # The project's releases are on SF, but git repo on gitlab.
   src = fetchurl {
     url = "mirror://sourceforge/procps-ng/procps-ng-${version}.tar.xz";
-    sha256 = "0v3j6rkzzscqds37i105cxx3q4dk04rsgpqfd5p7hzcvk59h5njy";
+    sha256 = "0r84kwa5fl0sjdashcn4vh7hgfm7ahdcysig3mcjvpmkzi7p9g8h";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index b0460f21bfaf..7a03bf75802b 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -1,5 +1,9 @@
-{ stdenv, fetchurl, pkgconfig, libtool, curl, python, munge, perl, pam, openssl
+{ stdenv, fetchurl, pkgconfig, libtool, curl
+, python, munge, perl, pam, openssl
 , ncurses, mysql, gtk2, lua, hwloc, numactl
+, readline, freeipmi, libssh2, xorg
+# enable internal X11 support via libssh2
+, enableX11 ? true
 }:
 
 stdenv.mkDerivation rec {
@@ -13,6 +17,11 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
+  prePatch = stdenv.lib.optional enableX11 ''
+    substituteInPlace src/common/x11_util.c \
+        --replace '"/usr/bin/xauth"' '"${xorg.xauth}/bin/xauth"'
+  '';
+
   # nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode'
   # https://groups.google.com/forum/#!topic/slurm-devel/QHOajQ84_Es
   # this doesn't fix tests completely at least makes slurmd to launch
@@ -20,14 +29,20 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig libtool ];
   buildInputs = [
-    curl python munge perl pam openssl mysql.connector-c ncurses gtk2 lua hwloc numactl
-  ];
+    curl python munge perl pam openssl
+      mysql.connector-c ncurses gtk2
+      lua hwloc numactl readline freeipmi
+  ] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ];
 
-  configureFlags =
+  configureFlags = with stdenv.lib;
     [ "--with-munge=${munge}"
       "--with-ssl=${openssl.dev}"
+      "--with-hwloc=${hwloc.dev}"
+      "--with-freeipmi=${freeipmi}"
       "--sysconfdir=/etc/slurm"
-    ] ++ stdenv.lib.optional (gtk2 == null)  "--disable-gtktest";
+    ] ++ (optional (gtk2 == null)  "--disable-gtktest")
+      ++ (optional enableX11 "--with-libssh2=${libssh2.dev}");
+
 
   preConfigure = ''
     patchShebangs ./doc/html/shtml2html.py
@@ -45,6 +60,6 @@ stdenv.mkDerivation rec {
     description = "Simple Linux Utility for Resource Management";
     platforms = platforms.linux;
     license = licenses.gpl2;
-    maintainers = [ maintainers.jagajaga ];
+    maintainers = with maintainers; [ jagajaga markuskowa ];
   };
 }
diff --git a/pkgs/servers/dns/dnsdist/default.nix b/pkgs/servers/dns/dnsdist/default.nix
index 7369713dc86a..772292b0a57e 100644
--- a/pkgs/servers/dns/dnsdist/default.nix
+++ b/pkgs/servers/dns/dnsdist/default.nix
@@ -30,5 +30,6 @@
     description = "DNS Loadbalancer";
     homepage = "https://dnsdist.org";
     license = licenses.gpl2;
+    maintainers = with maintainers; [ das_j ];
   };
 }
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index 76f1bd91e33d..286447352fc0 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/servers/dns/pdns-recursor/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "pdns-recursor-${version}";
-  version = "4.1.2";
+  version = "4.1.3";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "0xpd8k7ahwrwabz05zbjmg54dmd4hm5hkbfn8m1ws6y4f7qm4inv";
+    sha256 = "12x8gm6771wh2xaqad3p5y08p5pimp6k9h830s0487mwg9glacy1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix
index 0ef24a97f888..20c9eecb0d5f 100644
--- a/pkgs/servers/dns/powerdns/default.nix
+++ b/pkgs/servers/dns/powerdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "powerdns-${version}";
-  version = "4.1.2";
+  version = "4.1.3";
 
   src = fetchurl {
     url = "http://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "15anf9x4h3acf7rhvaim4595v2hrz7mn4va9qv18bfnif40vxn46";
+    sha256 = "1bh1qdgw415ax542123b6isri1jh4mbf2i9i1yffkfk0xmyv79cs";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 4d970a7e0d5d..e2acee87d1ab 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -228,7 +228,7 @@
     "comfoconnect" = ps: with ps; [  ];
     "config" = ps: with ps; [ aiohttp-cors ];
     "config.automation" = ps: with ps; [  ];
-    "config.config_entries" = ps: with ps; [  ];
+    "config.config_entries" = ps: with ps; [ voluptuous-serialize ];
     "config.core" = ps: with ps; [  ];
     "config.customize" = ps: with ps; [  ];
     "config.entity_registry" = ps: with ps; [  ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 60b005ed54cc..fbc233398735 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -95,8 +95,8 @@ in with py.pkgs; buildPythonApplication rec {
   propagatedBuildInputs = [
     # From setup.py
     requests pyyaml pytz pip jinja2 voluptuous typing aiohttp async-timeout astral certifi attrs
-    # From http, frontend and recorder components
-    sqlalchemy aiohttp-cors hass-frontend
+    # From http, frontend, recorder and config.config_entries components
+    sqlalchemy aiohttp-cors hass-frontend voluptuous-serialize
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   checkInputs = [
diff --git a/pkgs/servers/http/h2o/default.nix b/pkgs/servers/http/h2o/default.nix
index cd2985960a75..e05624fa46c8 100644
--- a/pkgs/servers/http/h2o/default.nix
+++ b/pkgs/servers/http/h2o/default.nix
@@ -7,13 +7,13 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "h2o-${version}";
-  version = "2.2.4";
+  version = "2.2.5";
 
   src = fetchFromGitHub {
     owner  = "h2o";
     repo   = "h2o";
     rev    = "refs/tags/v${version}";
-    sha256 = "0176x0bzjry19zs074a9i5vhncc842xikmx43wj61jky318nq4w4";
+    sha256 = "0jyvbp6cjiirj44nxqa2fi5y473gnc8awfn8zv82hb1y9rlxqfyv";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/pkgs/servers/http/hiawatha/default.nix b/pkgs/servers/http/hiawatha/default.nix
index 277fa06a7079..39722c6d831f 100644
--- a/pkgs/servers/http/hiawatha/default.nix
+++ b/pkgs/servers/http/hiawatha/default.nix
@@ -1,50 +1,50 @@
-{ stdenv, fetchurl, cmake,
-  libxslt, zlib, libxml2, openssl,
-  enableSSL ? true,
-  enableMonitor ? false,
-  enableRproxy ? true,
-  enableTomahawk ? false,
-  enableXSLT ? true,
-  enableToolkit ? true
-}:
+{ stdenv
+, fetchFromGitLab
+
+, cmake
+, ninja
+
+, libxslt
+, libxml2
 
-assert enableSSL -> openssl !=null;
+, enableSSL ? true
+, enableMonitor ? false
+, enableRproxy ? true
+, enableTomahawk ? false
+, enableXSLT ? true
+, enableToolkit ? true
+}:
 
 stdenv.mkDerivation rec {
   name = "hiawatha-${version}";
   version = "10.8.1";
 
-  src = fetchurl {
-    url = "https://github.com/hsleisink/hiawatha/archive/v${version}.tar.gz";
-    sha256 = "1f2hlw2lp98b4dx87i7pz7h66vsy2g22b5adfrlij3kj0vfv61w8";
+  src = fetchFromGitLab {
+    owner = "hsleisink";
+    repo = "hiawatha";
+    rev = "v${version}";
+    sha256 = "1428byx0xpzzwyc0j157q70sjx18dykvg6fd5vp70kj85ank0xpa";
   };
 
-  buildInputs =  [ cmake libxslt zlib libxml2 ] ++ stdenv.lib.optional enableSSL openssl ;
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ libxslt libxml2 ];
 
   prePatch = ''
     substituteInPlace CMakeLists.txt --replace SETUID ""
   '';
 
   cmakeFlags = [
-    ( if enableSSL then "-DENABLE_TLS=on" else "-DENABLE_TLS=off" )
+    (
+      # FIXME: 2018-06-08: Uses bundled library, with external ("-DUSE_SYSTEM_MBEDTLS=on") asks:
+      # ../src/tls.c:46:2: error: #error "The mbed TLS library must be compiled with MBEDTLS_THREADING_PTHREAD and MBEDTLS_THREADING_C enabled."
+      if enableSSL then "-DENABLE_TLS=on" else "-DENABLE_TLS=off" )
     ( if enableMonitor then "-DENABLE_MONITOR=on" else "-DENABLE_MONITOR=off" )
     ( if enableRproxy then "-DENABLE_RPROXY=on" else "-DENABLE_RPROXY=off" )
     ( if enableTomahawk then "-DENABLE_TOMAHAWK=on" else "-DENABLE_TOMAHAWK=off" )
     ( if enableXSLT then "-DENABLE_XSLT=on" else "-DENABLE_XSLT=off" )
     ( if enableToolkit then "-DENABLE_TOOLKIT=on" else "-DENABLE_TOOLKIT=off" )
-    "-DWEBROOT_DIR=/var/www/hiawatha"
-    "-DPID_DIR=/run"
-    "-DWORK_DIR=/var/lib/hiawatha"
-    "-DLOG_DIR=/var/log/hiawatha"
   ];
 
-  # workaround because cmake tries installs stuff outside of nix store
-  makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
-  postInstall = ''
-    mv $out/$out/* $out
-    rm -rf $out/{var,run}
-  '';
-
   meta = with stdenv.lib; {
     description = "An advanced and secure webserver";
     license = licenses.gpl2;
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index d2667597c627..e562fdc88a6c 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -5,28 +5,27 @@
 # see also https://github.com/OpenSMTPD/OpenSMTPD/issues/678
 , unpriviledged_smtpctl_encrypt ? true
 
-# This enables you to override the '+' character which typically separates the user from the tag in user+tag@domain.tld
+# Deprecated: use the subaddressing-delimiter in the config file going forward
 , tag_char ? null
 }:
 
-stdenv.mkDerivation rec {
+if (tag_char != null)
+then throw "opensmtpd: the tag_char argument is deprecated as it can now be specified at runtime via the 'subaddressing-delimiter' option of the configuration file"
+else stdenv.mkDerivation rec {
   name = "opensmtpd-${version}";
-  version = "6.0.2p1";
+  version = "6.0.3p1";
 
   nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ libasr libevent zlib openssl db pam ];
 
   src = fetchurl {
     url = "https://www.opensmtpd.org/archives/${name}.tar.gz";
-    sha256 = "1b4h64w45hpmfq5721smhg4s0shs64gbcjqjpx3fbiw4hz8bdy9a";
+    sha256 = "291881862888655565e8bbe3cfb743310f5dc0edb6fd28a889a9a547ad767a81";
   };
 
   patches = [ ./proc_path.diff ];
 
   postPatch = with builtins; with lib;
-    optionalString (isString tag_char) ''
-      sed -i -e "s,TAG_CHAR.*'+',TAG_CHAR '${tag_char}'," smtpd/smtpd-defines.h
-    '' +
     optionalString unpriviledged_smtpctl_encrypt ''
       substituteInPlace smtpd/smtpctl.c --replace \
         'if (geteuid())' \
diff --git a/pkgs/servers/mail/opensmtpd/proc_path.diff b/pkgs/servers/mail/opensmtpd/proc_path.diff
index 9306685e365e..5e1cfd004299 100644
--- a/pkgs/servers/mail/opensmtpd/proc_path.diff
+++ b/pkgs/servers/mail/opensmtpd/proc_path.diff
@@ -1,33 +1,8 @@
-diff --git a/smtpd/parse.y b/smtpd/parse.y
-index ab02719..c1c77d9 100644
---- a/smtpd/parse.y
-+++ b/smtpd/parse.y
-@@ -2534,13 +2534,19 @@ create_filter_proc(char *name, char *prog)
- {
- 	struct filter_conf	*f;
- 	char			*path;
-+	const char		*proc_path;
- 
- 	if (dict_get(&conf->sc_filters, name)) {
- 		yyerror("filter \"%s\" already defined", name);
- 		return (NULL);
- 	}
- 
--	if (asprintf(&path, "%s/filter-%s", PATH_LIBEXEC, prog) == -1) {
-+	proc_path = getenv("OPENSMTPD_PROC_PATH");
-+	if (proc_path == NULL) {
-+		proc_path = PATH_LIBEXEC;
-+	}
-+
-+	if (asprintf(&path, "%s/filter-%s", proc_path, prog) == -1) {
- 		yyerror("filter \"%s\" asprintf failed", name);
- 		return (0);
- 	}
 diff --git a/smtpd/smtpd.c b/smtpd/smtpd.c
-index afc8891..9b0a80f 100644
+index e049f07c..a1bd03a0 100644
 --- a/smtpd/smtpd.c
 +++ b/smtpd/smtpd.c
-@@ -795,6 +795,7 @@ fork_proc_backend(const char *key, const char *conf, const char *procname)
+@@ -1157,6 +1157,7 @@ fork_proc_backend(const char *key, const char *conf, const char *procname)
  	char		path[PATH_MAX];
  	char		name[PATH_MAX];
  	char		*arg;
@@ -35,7 +10,7 @@ index afc8891..9b0a80f 100644
  
  	if (strlcpy(name, conf, sizeof(name)) >= sizeof(name)) {
  		log_warnx("warn: %s-proc: conf too long", key);
-@@ -805,7 +806,12 @@ fork_proc_backend(const char *key, const char *conf, const char *procname)
+@@ -1167,7 +1168,12 @@ fork_proc_backend(const char *key, const char *conf, const char *procname)
  	if (arg)
  		*arg++ = '\0';
  
@@ -50,10 +25,10 @@ index afc8891..9b0a80f 100644
  		log_warn("warn: %s-proc: exec path too long", key);
  		return (-1);
 diff --git a/smtpd/table.c b/smtpd/table.c
-index 21ee237..95b5164 100644
+index 9cfdfb99..24dfcca4 100644
 --- a/smtpd/table.c
 +++ b/smtpd/table.c
-@@ -193,6 +193,7 @@ table_create(const char *backend, const char *name, const char *tag,
+@@ -201,6 +201,7 @@ table_create(const char *backend, const char *name, const char *tag,
  	struct table_backend	*tb;
  	char			 buf[LINE_MAX];
  	char			 path[LINE_MAX];
@@ -61,7 +36,7 @@ index 21ee237..95b5164 100644
  	size_t			 n;
  	struct stat		 sb;
  
-@@ -207,11 +208,16 @@ table_create(const char *backend, const char *name, const char *tag,
+@@ -215,11 +216,16 @@ table_create(const char *backend, const char *name, const char *tag,
  	if (name && table_find(name, NULL))
  		fatalx("table_create: table \"%s\" already defined", name);
  
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 423fbf027fb5..3b1b34ac9d57 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -26,13 +26,13 @@ let
   };
 in pythonPackages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.30.0";
+  version = "0.31.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "10ggv7669ngxs8py82k8z24874ga0ldcxvpp7xhjpbr1s0gw8zv8";
+    sha256 = "1lrbjqa9rxn2prbnha9aghnwyi4z1rpfd7bk0bjsjixjl389d6d8";
   };
 
   patches = [
@@ -42,7 +42,7 @@ in pythonPackages.buildPythonApplication rec {
   propagatedBuildInputs = with pythonPackages; [
     blist canonicaljson daemonize dateutil frozendict pillow pyasn1
     pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests
-    signedjson systemd twisted ujson unpaddedbase64 pyyaml
+    signedjson systemd twisted ujson unpaddedbase64 pyyaml prometheus_client
     matrix-angular-sdk bleach netaddr jinja2 psycopg2
     psutil msgpack-python lxml matrix-synapse-ldap3
     phonenumbers jsonschema affinity bcrypt
diff --git a/pkgs/servers/monitoring/plugins/labs_consol_de.nix b/pkgs/servers/monitoring/plugins/labs_consol_de.nix
index 350728d509fb..957aee43691a 100644
--- a/pkgs/servers/monitoring/plugins/labs_consol_de.nix
+++ b/pkgs/servers/monitoring/plugins/labs_consol_de.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchurl, buildPerlPackage, autoreconfHook, makeWrapper
-, perl, NetSNMP, coreutils, gnused, gnugrep }:
+, perl, DBDsybase, NetSNMP, coreutils, gnused, gnugrep }:
 
 let
   glplugin = fetchFromGitHub {
@@ -9,11 +9,10 @@ let
     sha256 = "0wb55a9pmgbilfffx0wkiikg9830qd66j635ypczqp4basslpq5b";
   };
 
-  generic = { pname, version, sha256, description, ... } @ attrs:
+  generic = { pname, version, sha256, description, buildInputs, ... }:
   let
-    attrs' = builtins.removeAttrs attrs [ "pname" "version" "rev" "sha256"];
     name' = "${stdenv.lib.replaceStrings [ "-" ] [ "_" ] "${pname}"}-${version}";
-  in perl.stdenv.mkDerivation rec {
+  in perl.stdenv.mkDerivation {
     name = "${pname}-${version}";
 
     src = fetchurl {
@@ -21,7 +20,7 @@ let
       inherit sha256;
     };
 
-    buildInputs = [ perl NetSNMP ];
+    buildInputs = [ perl ] ++ buildInputs;
 
     nativeBuildInputs = [ autoreconfHook makeWrapper ];
 
@@ -54,11 +53,20 @@ let
   };
 
 in {
+  check-mssql-health = generic {
+    pname       = "check_mssql_health";
+    version     = "2.6.4.14";
+    sha256      = "0w6gybrs7imx169l8740s0ax3adya867fw0abrampx59mnsj5pm1";
+    description = "Check plugin for Microsoft SQL Server.";
+    buildInputs = [ DBDsybase ];
+  };
+
   check-nwc-health = generic {
     pname       = "check_nwc_health";
     version     = "7.0.1.3";
     sha256      = "0rgd6zgd7kplx3z72n8zbzwkh8vnd83361sk9ibh6ng78sds1sl5";
     description = "Check plugin for network equipment.";
+    buildInputs = [ NetSNMP ];
   };
 
   check-ups-health = generic {
@@ -66,5 +74,6 @@ in {
     version     = "2.8.2.2";
     sha256      = "1gc2wjsymay2vk5ywc1jj9cvrbhs0fs851x8l4nc75df2g75v521";
     description = "Check plugin for UPSs.";
+    buildInputs = [ NetSNMP ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix
new file mode 100644
index 000000000000..1acf859e81a6
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix
@@ -0,0 +1,93 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265";
+      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
+    };
+  }
+  {
+    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/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev = "9c76f9827e170bfcd354c2cb02a6fd428faf81a6";
+      sha256 = "0yym4jr15cqwlppnqfsp92i7p1ir12ys695wffb3in7gnnm0d38n";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "82f5ff156b29e276022b1a958f7d385870fb9814";
+      sha256 = "111j329yrlgvh73dm80gawwxsh9dgjkw74254kyj5c2rfmra7znz";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
+      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "d811d2e9bf898806ecfb6ef6296774b13ffc314c";
+      sha256 = "0r4067r4ysmljksqw3awcxx5qplqhykahc5igdzgkky7i4bvaik1";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "8b1c2da0d56deffdbb9e48d4414b4e674bd8083e";
+      sha256 = "0x128p15h35mgwqxkigfkk1lfrcz9g697ahl8v6xp9kwvcqvjrrf";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "640f4622ab692b87c2f3a94265e6f579fe38263d";
+      sha256 = "097m4qhcljhp180171j5fjhq4740iirfkkajfd7yrxqhp4s9hljx";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca";
+      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
new file mode 100644
index 000000000000..bcfc82adf478
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "dnsmasq_exporter-unstable-2018-05-05";
+
+  goPackagePath = "github.com/google/dnsmasq_exporter";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "dnsmasq_exporter";
+    sha256 = "1kzq4h7z28xadx425nbgxadk62yiz6279d300fyiyi83hwq0ay8c";
+    rev = "e1f281b435bbefbb2d17fc57c051ede0ab973c59";
+  };
+
+  goDeps = ./dnsmasq-exporter-deps.nix;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "A dnsmasq exporter for Prometheus";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ willibutz ];
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
index 9fd7ae8591fc..9692354ad8a8 100644
--- a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "snmp_exporter-${version}";
-  version = "0.9.0";
+  version = "0.11.0";
 
   goPackagePath = "github.com/prometheus/snmp_exporter";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "prometheus";
     repo = "snmp_exporter";
     rev = "v${version}";
-    sha256 = "081ah4zyy53plhm6znwrx55phm2ysxzyx7d4hm8zzrv5r967rgl1";
+    sha256 = "027p96jzhq9l7m3s5qxxg3rqp14pai7q66d3ppin19lg7al11c9x";
   };
 
   buildInputs = [ net_snmp ];
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 7513d3c71d2b..fb43643f9038 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name= "nextcloud-${version}";
-  version = "13.0.2";
+  version = "13.0.3";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "0zf4z4cn4wwsybxirvzyk7l6xjw9gkc60lzm8jqz9aak3a5gk5kk";
+    sha256 = "1r4k3vbjxm07mlm430hmp61dx052ikgzw0bqlmg09p8011a6fdhq";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index bc67e7eaf430..022a1a9ba10f 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.3.4";
+  version = "3.4.0";
 
   src = fetchurl {
-    url = "http://dist.neo4j.org/neo4j-community-${version}-unix.tar.gz";
-    sha256 = "072pk0x1iyg6kasjah8qpki2z462qp0rvgn93y6ngi6zvrpdlbyc";
+    url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
+    sha256 = "1pccw3av72qqpyfsdyz72ab1lvc7fqraw14vi3hq67n96rsj017a";
   };
 
   buildInputs = [ makeWrapper jre8 which gawk ];
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index e22e3a64fac1..fea5583ea591 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -15,11 +15,11 @@ mariadb = everything // {
 };
 
 common = rec { # attributes common to both builds
-  version = "10.2.14";
+  version = "10.2.15";
 
   src = fetchurl {
     url    = "https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz";
-    sha256 = "0zizf3q0hdkmsn6rpwdbfm5xkj21cwpnnzq9knjfpwcadqnyqhrl";
+    sha256 = "04ds6vkb7k2lqpcdz663z4ll1jx1zz2hqxz5nj7gs8pwb18j1pik";
     name   = "mariadb-${version}.tar.gz";
   };
 
diff --git a/pkgs/servers/web-apps/morty/default.nix b/pkgs/servers/web-apps/morty/default.nix
new file mode 100644
index 000000000000..eeb19f81c54d
--- /dev/null
+++ b/pkgs/servers/web-apps/morty/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, buildGoPackage, fetchgit }:
+
+buildGoPackage rec {
+  name = "morty-${version}";
+  version = "0.2.0";
+
+  goPackagePath = "github.com/asciimoo/morty";
+
+  src = fetchgit {
+    rev = "v${version}";
+    url = "https://github.com/asciimoo/morty";
+    sha256 = "1wvrdlwbpzizfg7wrcfyf1x6qllp3aw425n88z516wc9jalfqrrm";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/asciimoo/morty";
+    maintainers = with maintainers; [ leenaars ];
+    description = "Privacy aware web content sanitizer proxy as a service";
+    longDescription = ''
+      Morty is a web content sanitizer proxy as a service. It rewrites web
+      pages to exclude malicious HTML tags and attributes. It also replaces
+      external resource references to prevent third party information leaks.
+
+      The main goal of morty is to provide a result proxy for searx, but it
+      can be used as a standalone sanitizer service too.
+
+      Features:
+
+      * HTML sanitization
+      * Rewrites HTML/CSS external references to locals
+      * JavaScript blocking
+      * No Cookies forwarded
+      * No Referrers
+      * No Caching/Etag
+      * Supports GET/POST forms and IFrames
+      * Optional HMAC URL verifier key to prevent service abuse
+'';
+   };
+}
diff --git a/pkgs/servers/web-apps/morty/deps.nix b/pkgs/servers/web-apps/morty/deps.nix
new file mode 100644
index 000000000000..643fc5bb7636
--- /dev/null
+++ b/pkgs/servers/web-apps/morty/deps.nix
@@ -0,0 +1,57 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/klauspost/compress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/compress";
+      rev = "5698df94daded084fa836b7df2ffbf6cbd3dd63a";
+      sha256 = "1jligmzsyv08dysdaih3r95ki0dqnay9wlzganl4r0mamwhq22wz";
+    };
+  }
+  {
+    goPackagePath = "github.com/klauspost/cpuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/cpuid";
+      rev = "ae832f27941af41db13bd6d8efd2493e3b22415a";
+      sha256 = "1h46y0lbzx0zjdnwbh0znf2ghgbvpzk1p269kkn7v8645xk3apk9";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/bytebufferpool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/bytebufferpool";
+      rev = "e746df99fe4a3986f4d4f79e13c1e0117ce9c2f7";
+      sha256 = "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasthttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasthttp";
+      rev = "e5f51c11919d4f66400334047b897ef0a94c6f3c";
+      sha256 = "0g24gys7xk449jd9ja89vr33i3amcb12jnmhsrmd5r2q8byv3l09";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "f5dfe339be1d06f81b22525fe34671ee7d2c8904";
+      sha256 = "01y9j7pjnnld4ipmzjvs0hls0hh698f2sga8cxaw5y6r5j7igaah";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "4e4a3210bb54bb31f6ab2cdca2edcc0b50c420c1";
+      sha256 = "10505r4xw1njnr2ns1s5r62s4pwif0kfaa30xxpgpz6qxrrmw15s";
+    };
+  }
+]
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 6f092dd80cde..40f630999450 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -25,12 +25,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "0.10.1";
+  version = "0.10.2";
   name = "prosody-${version}";
 
   src = fetchurl {
     url = "http://prosody.im/downloads/source/${name}.tar.gz";
-    sha256 = "1kmmpkkgymg1r8r0k8j83pgmiskg1phl8hmpzjrnvlvsfnrnjplr";
+    sha256 = "13knr7izscw0zx648b9582dx11aap4cq9bzfiqh5ykd7wwsz1dbm";
   };
 
   communityModules = fetchhg {
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
new file mode 100644
index 000000000000..937494916112
--- /dev/null
+++ b/pkgs/shells/powershell/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchgit, autoPatchelfHook, fetchzip, libunwind, libuuid, icu, curl, cacert,
+  makeWrapper, less, openssl }:
+
+let platformString = if stdenv.isDarwin then "osx"
+                     else if stdenv.isLinux then "linux"
+                     else throw "unsupported platform";
+    platformSha = if stdenv.isDarwin then "1ga4p8xmrxa54v2s6i0q1q7lx2idcmp1jwm0g4jxr54fyn5ay3lf"
+                     else if stdenv.isLinux then "000mmv5iblnmwydfdvg5izli3vpb6l14xy4qy3smcikpf0h87fhl"
+                     else throw "unsupported platform";
+    platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
+                     else if stdenv.isLinux then "LD_LIBRARY_PATH"
+                     else throw "unsupported platform";
+in
+stdenv.mkDerivation rec {
+  name = "powershell-${version}";
+  version = "6.0.2";
+
+  src = fetchzip {
+    url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-x64.tar.gz";
+    sha256 = platformSha;
+    stripRoot = false;
+  };
+
+  buildInputs = [ autoPatchelfHook makeWrapper ];
+  propagatedBuildInputs = [ libunwind libuuid icu curl cacert less openssl ];
+
+  # TODO: remove PAGER after upgrading to v6.1.0-preview.1 or later as it has been addressed in
+  # https://github.com/PowerShell/PowerShell/pull/6144
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/powershell
+    cp -r * $out/share/powershell
+    rm $out/share/powershell/DELETE_ME_TO_DISABLE_CONSOLEHOST_TELEMETRY
+    makeWrapper $out/share/powershell/pwsh $out/bin/pwsh --prefix ${platformLdLibraryPath} : "${stdenv.lib.makeLibraryPath [ libunwind libuuid icu openssl curl ]}" \
+                                           --set PAGER ${less}/bin/less --set TERM xterm
+  '';
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "Cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework";
+    homepage = https://github.com/PowerShell/PowerShell;
+    maintainers = [ maintainers.yrashk ];
+    platforms = platforms.unix;
+    license = with licenses; [ mit ];
+  };
+
+}
diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix
index da76e2c3027a..0f393c11988f 100644
--- a/pkgs/shells/tcsh/default.nix
+++ b/pkgs/shells/tcsh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, fetchpatch
 , ncurses }:
 
 stdenv.mkDerivation rec {
@@ -16,6 +16,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses ];
 
+  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl
+    (fetchpatch {
+      name = "sysmalloc.patch";
+      url = "https://git.alpinelinux.org/cgit/aports/plain/community/tcsh/001-sysmalloc.patch?id=184585c046cdd56512f1a76e426dd799b368f8cf";
+      sha256 = "1qc6ydxhdfizsbkaxhpn3wib8sfphrw10xnnsxx2prvzg9g2zp67";
+    });
+
   meta = with stdenv.lib;{
     description = "An enhanced version of the Berkeley UNIX C shell (csh)";
     longDescription = ''
@@ -33,7 +40,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.tcsh.org/;
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 
   passthru = {
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
index 93add8a69138..0e4d23ffd5cf 100644
--- a/pkgs/shells/xonsh/default.nix
+++ b/pkgs/shells/xonsh/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "xonsh-${version}";
-  version = "0.6.4";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "scopatz";
     repo = "xonsh";
     rev = version;
-    sha256= "16nfvfa9cklm5qb2lrr12z7k4wjb6pbb0y0ma15riqcda56ygmj7";
+    sha256= "09w7656qhqv3al52cl5lgzawvkbkpwjfnxyg0vyx0gbjs1hwiqjj";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/shells/zsh/grml-zsh-config/default.nix b/pkgs/shells/zsh/grml-zsh-config/default.nix
index e516393a23ca..1c5535ba1c69 100644
--- a/pkgs/shells/zsh/grml-zsh-config/default.nix
+++ b/pkgs/shells/zsh/grml-zsh-config/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "grml-zsh-config-${version}";
-  version = "0.14.3";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "grml";
     repo = "grml-etc-core";
     rev = "v${version}";
-    sha256 = "1akx6lwxnbcccddzw41rci8rb9n5vb6q2vpn5qr07f0grchyiifk";
+    sha256 = "0a39m7rlf30r0ja56mmhidqbalck8f5gkmgngcvkxy3n486xxmkm";
   };
 
   buildInputs = [ zsh coreutils txt2tags procps ]
diff --git a/pkgs/test/cc-wrapper/default.nix b/pkgs/test/cc-wrapper/default.nix
index 00b964940c81..7061adb8e88a 100644
--- a/pkgs/test/cc-wrapper/default.nix
+++ b/pkgs/test/cc-wrapper/default.nix
@@ -1,8 +1,9 @@
 { stdenv }:
 with stdenv.lib;
 let
+  # Sanitizers are not supported on Darwin.
   # Sanitizer headers aren't available in older libc++ stdenvs due to a bug
-  sanitizersBroken = stdenv.cc.isClang && builtins.compareVersions (getVersion stdenv.cc.name) "6.0.0" < 0;
+  sanitizersBroken = stdenv.isDarwin || stdenv.cc.isClang && builtins.compareVersions (getVersion stdenv.cc.name) "6.0.0" < 0;
 in stdenv.mkDerivation {
   name = "cc-wrapper-test";
 
diff --git a/pkgs/tools/X11/xidlehook/default.nix b/pkgs/tools/X11/xidlehook/default.nix
index 733a8eb630dd..e22338dbc718 100644
--- a/pkgs/tools/X11/xidlehook/default.nix
+++ b/pkgs/tools/X11/xidlehook/default.nix
@@ -1,19 +1,21 @@
-{ lib, rustPlatform, fetchFromGitHub, x11, xorg, libpulseaudio, pkgconfig, patchelf
-, stdenv}:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, x11, xorg, libpulseaudio, pkgconfig, patchelf }:
 
 rustPlatform.buildRustPackage rec {
   name = "xidlehook-${version}";
-  version = "0.4.6";
+  version = "0.4.8";
+
+  doCheck = false;
 
   src = fetchFromGitHub {
     owner = "jD91mZM2";
     repo = "xidlehook";
     rev = version;
 
-    sha256 = "0h84ichm1v2wdmm4w1n7jr70yfb9hhi7kykvd99ppg00h1x9lr7w";
+    sha256 = "1125n5szgq7bziz3lkrhb2a2iac93ap63g2xr78ap7b9i3gxs3xh";
   };
 
-  cargoSha256 = "0a1bl6fnfw6xy71q3b5zij52p9skylj1ivqj8my44bfsid2qfn7d";
+  cargoBuildFlags = lib.optionals (!stdenv.isLinux) ["--no-default-features" "--features" "pulse"];
+  cargoSha256 = "1mrg59flmmqg5wwi2l8lw6p1xpgdw597fdfsmpn8b126rgzqmjl8";
 
   buildInputs = [ x11 xorg.libXScrnSaver libpulseaudio ];
   nativeBuildInputs = [ pkgconfig patchelf ];
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index f8174a03cacf..279b2e8321a4 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -12,11 +12,11 @@ let
   inherit (python2Packages) python cython buildPythonApplication;
 in buildPythonApplication rec {
   name = "xpra-${version}";
-  version = "2.3";
+  version = "2.3.1";
 
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.xz";
-    sha256 = "0kq0ambpy8r7m3wxdp79cgxgnl9yfmr19lv88f617gnv0sp0aarp";
+    sha256 = "0wghjmrw77pkh6agc5rz7ynr6s8yyc68qvj9rnp0vlwa3x1fl3ry";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/admin/certbot/default.nix b/pkgs/tools/admin/certbot/default.nix
index 7a26896bbc28..353abe9c8bca 100644
--- a/pkgs/tools/admin/certbot/default.nix
+++ b/pkgs/tools/admin/certbot/default.nix
@@ -42,6 +42,8 @@ pythonPackages.buildPythonApplication rec {
     done
   '';
 
+  doCheck = !stdenv.isDarwin; # On Hydra Darwin tests fail with "Too many open files".
+
   meta = with stdenv.lib; {
     homepage = src.meta.homepage;
     description = "ACME client that can obtain certs and extensibly update server configurations";
diff --git a/pkgs/tools/backup/znapzend/default.nix b/pkgs/tools/backup/znapzend/default.nix
index 796a34c253a9..f78c300afd0a 100644
--- a/pkgs/tools/backup/znapzend/default.nix
+++ b/pkgs/tools/backup/znapzend/default.nix
@@ -1,6 +1,23 @@
-{ stdenv, fetchFromGitHub, zfs, mbuffer, perl, perlPackages, wget, autoconf, automake }:
+{ stdenv, fetchFromGitHub, fetchurl, zfs, mbuffer, perl, perlPackages, wget, autoconf, automake }:
 
 let
+  # when upgrade znapzend, check versions of Perl libs here: https://github.com/oetiker/znapzend/blob/master/PERL_MODULES
+  Mojolicious-6-46 = perlPackages.buildPerlPackage rec {
+    name = "Mojolicious-6.46";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SR/SRI/${name}.tar.gz";
+      sha256 = "0i3axmx4506fx5gms148pj65x6ys7flaz1aqjd8hd9zfkd8pzdfr";
+    };
+  };
+  MojoIOLoopForkCall-0-17 = perlPackages.buildPerlModule rec {
+    name = "Mojo-IOLoop-ForkCall-0.17";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JB/JBERGER/${name}.tar.gz";
+      sha256 = "090qxz1nbah2qxvfg4whl6yp6q03qkx7a42751iai521nk1yavc8";
+    };
+    propagatedBuildInputs = [ perlPackages.IOPipely Mojolicious-6-46 ];
+  };
+
   version = "0.18.0";
   checksum = "1nlvw56viwgafma506slywfg54z6009jmzc9q6wljgr6mqfmmchd";
 in
@@ -14,9 +31,7 @@ stdenv.mkDerivation rec {
     sha256 = checksum;
   };
 
-  buildInputs = [ perl perlPackages.TestHarness perlPackages.Mojolicious
-                  perlPackages.TAPParserSourceHandlerpgTAP perlPackages.MojoIOLoopForkCall
-                  perlPackages.IOPipely wget ];
+  buildInputs = [ wget perl perlPackages.TestHarness MojoIOLoopForkCall-0-17 perlPackages.TAPParserSourceHandlerpgTAP ];
 
   nativeBuildInputs = [ autoconf automake ];
 
@@ -38,25 +53,25 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/bin/znapzend --replace "${perl}/bin/perl" \
       "${perl}/bin/perl \
       -I${perlPackages.TestHarness}/${perl.libPrefix} \
-      -I${perlPackages.Mojolicious}/${perl.libPrefix} \
+      -I${Mojolicious-6-46}/${perl.libPrefix} \
       -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \
-      -I${perlPackages.MojoIOLoopForkCall}/${perl.libPrefix} \
+      -I${MojoIOLoopForkCall-0-17}/${perl.libPrefix} \
       -I${perlPackages.IOPipely}/${perl.libPrefix} \
       "
     substituteInPlace $out/bin/znapzendzetup --replace "${perl}/bin/perl" \
       "${perl}/bin/perl \
       -I${perlPackages.TestHarness}/${perl.libPrefix} \
-      -I${perlPackages.Mojolicious}/${perl.libPrefix} \
+      -I${Mojolicious-6-46}/${perl.libPrefix} \
       -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \
-      -I${perlPackages.MojoIOLoopForkCall}/${perl.libPrefix} \
+      -I${MojoIOLoopForkCall-0-17}/${perl.libPrefix} \
       -I${perlPackages.IOPipely}/${perl.libPrefix} \
       "
     substituteInPlace $out/bin/znapzendztatz --replace "${perl}/bin/perl" \
       "${perl}/bin/perl \
       -I${perlPackages.TestHarness}/${perl.libPrefix} \
-      -I${perlPackages.Mojolicious}/${perl.libPrefix} \
+      -I${Mojolicious-6-46}/${perl.libPrefix} \
       -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \
-      -I${perlPackages.MojoIOLoopForkCall}/${perl.libPrefix} \
+      -I${MojoIOLoopForkCall-0-17}/${perl.libPrefix} \
       -I${perlPackages.IOPipely}/${perl.libPrefix} \
       "
   '';
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index 7deac71f1512..502937dd565b 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "unetbootin-${version}";
-  version = "657";
+  version = "661";
 
   src = fetchFromGitHub {
     owner  = "unetbootin";
     repo   = "unetbootin";
     rev    = version;
-    sha256 = "18bbcrjk6ladr46kl3dvqz5pq2xcv4nnwmajqllb4sl3k1xqsngy";
+    sha256 = "0jwmmym86x9hc6yr619dxdbxdawx8x0zwld0dfrhzwxvwbqbpav5";
   };
 
   setSourceRoot = ''
diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix
index 01d18fe6ad7d..69d4284b795d 100644
--- a/pkgs/tools/compression/xar/default.nix
+++ b/pkgs/tools/compression/xar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2, musl-fts }:
+{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2, fts }:
 
 stdenv.mkDerivation rec {
   version = "1.6.1";
@@ -9,8 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ghmsbs6xwg1092v7pjcibmk5wkyifwxw6ygp08gfz25d2chhipf";
   };
 
-  buildInputs = [ libxml2 openssl zlib bzip2 ]
-    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl musl-fts;
+  buildInputs = [ libxml2 openssl zlib bzip2 fts ];
 
   meta = {
     homepage    = https://mackyle.github.io/xar/;
diff --git a/pkgs/tools/filesystems/genimage/default.nix b/pkgs/tools/filesystems/genimage/default.nix
index 792b2e2c75b4..b39c51a0c881 100644
--- a/pkgs/tools/filesystems/genimage/default.nix
+++ b/pkgs/tools/filesystems/genimage/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libconfuse }:
+{ stdenv, fetchurl, pkgconfig, libconfuse, gettext }:
 
 stdenv.mkDerivation rec {
   name = "genimage-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libconfuse ];
+  buildInputs = [ libconfuse gettext ];
 
   postInstall = ''
     # As there is no manpage or built-in --help, add the README file for
diff --git a/pkgs/tools/filesystems/securefs/default.nix b/pkgs/tools/filesystems/securefs/default.nix
index 6fc7ba6499ea..37eb8b9aa72c 100644
--- a/pkgs/tools/filesystems/securefs/default.nix
+++ b/pkgs/tools/filesystems/securefs/default.nix
@@ -4,10 +4,10 @@
 
 stdenv.mkDerivation rec {
   name = "securefs-${version}";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
-    sha256 = "065n3mskv0b2dlk9w4b3pa70h5ymrnanydbanwyx74mf7n8c80r2";
+    sha256 = "0m3nv748g31b5nzxbwqqqjvygmz41x9vmhrjh655086g26gzrfib";
     rev = version;
     repo = "securefs";
     owner = "netheril96";
diff --git a/pkgs/tools/filesystems/squashfs/darwin.patch b/pkgs/tools/filesystems/squashfs/darwin.patch
new file mode 100644
index 000000000000..6022e65be479
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs/darwin.patch
@@ -0,0 +1,431 @@
+diff --git a/squashfs-tools/action.c b/squashfs-tools/action.c
+index 4b06ccb..26365e7 100644
+--- a/squashfs-tools/action.c
++++ b/squashfs-tools/action.c
+@@ -38,6 +38,10 @@
+ #include <limits.h>
+ #include <errno.h>
+ 
++#ifndef FNM_EXTMATCH /* glibc extension */
++ #define FNM_EXTMATCH 0
++#endif
++
+ #include "squashfs_fs.h"
+ #include "mksquashfs.h"
+ #include "action.h"
+@@ -2284,9 +2288,12 @@ static char *get_start(char *s, int n)
+ 
+ static int subpathname_fn(struct atom *atom, struct action_data *action_data)
+ {
+-	return fnmatch(atom->argv[0], get_start(strdupa(action_data->subpath),
++	char *path = strdup(action_data->subpath);
++	int is_match = fnmatch(atom->argv[0], get_start(path,
+ 		count_components(atom->argv[0])),
+ 		FNM_PATHNAME|FNM_PERIOD|FNM_EXTMATCH) == 0;
++	free(path);
++	return is_match;
+ }
+ 
+ /*
+diff --git a/squashfs-tools/info.c b/squashfs-tools/info.c
+index 7968c77..c8e4c52 100644
+--- a/squashfs-tools/info.c
++++ b/squashfs-tools/info.c
+@@ -134,31 +134,22 @@ void dump_state()
+ void *info_thrd(void *arg)
+ {
+ 	sigset_t sigmask;
+-	struct timespec timespec = { .tv_sec = 1, .tv_nsec = 0 };
+-	int sig, waiting = 0;
++    int sig, err, waiting = 0;
+ 
+ 	sigemptyset(&sigmask);
+ 	sigaddset(&sigmask, SIGQUIT);
+ 	sigaddset(&sigmask, SIGHUP);
++    sigaddset(&sigmask, SIGALRM);
+ 
+ 	while(1) {
+-		if(waiting)
+-			sig = sigtimedwait(&sigmask, NULL, &timespec);
+-		else
+-			sig = sigwaitinfo(&sigmask, NULL);
++		err = sigwait(&sigmask, &sig);
+ 
+-		if(sig == -1) {
++		if(err == -1) {
+ 			switch(errno) {
+-			case EAGAIN:
+-				/* interval timed out */
+-				waiting = 0;
+-				/* FALLTHROUGH */
+ 			case EINTR:
+-				/* if waiting, the wait will be longer, but
+-				   that's OK */
+ 				continue;
+ 			default:
+-				BAD_ERROR("sigtimedwait/sigwaitinfo failed "
++				BAD_ERROR("sigwaitfailed "
+ 					"because %s\n", strerror(errno));
+ 			}
+ 		}
+@@ -169,8 +160,12 @@ void *info_thrd(void *arg)
+ 			/* set one second interval period, if ^\ received
+ 			   within then, dump queue and cache status */
+ 			waiting = 1;
+-		} else
++			alarm(1);
++		} else if (sig == SIGQUIT) {
+ 			dump_state();
++		} else if (sig == SIGALRM) {
++			waiting = 0;
++		}
+ 	}
+ }
+ 
+diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
+index d696a51..c86d1b3 100644
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -50,6 +50,10 @@
+ #include <limits.h>
+ #include <ctype.h>
+ 
++#ifndef FNM_EXTMATCH /* glibc extension */
++    #define FNM_EXTMATCH 0
++#endif
++
+ #ifndef linux
+ #define __BYTE_ORDER BYTE_ORDER
+ #define __BIG_ENDIAN BIG_ENDIAN
+@@ -831,13 +835,13 @@ char *subpathname(struct dir_ent *dir_ent)
+ }
+ 
+ 
+-inline unsigned int get_inode_no(struct inode_info *inode)
++static inline unsigned int get_inode_no(struct inode_info *inode)
+ {
+ 	return inode->inode_number;
+ }
+ 
+ 
+-inline unsigned int get_parent_no(struct dir_info *dir)
++static inline unsigned int get_parent_no(struct dir_info *dir)
+ {
+ 	return dir->depth ? get_inode_no(dir->dir_ent->inode) : inode_no;
+ }
+@@ -2030,7 +2034,7 @@ struct file_info *duplicate(long long file_size, long long bytes,
+ }
+ 
+ 
+-inline int is_fragment(struct inode_info *inode)
++static inline int is_fragment(struct inode_info *inode)
+ {
+ 	off_t file_size = inode->buf.st_size;
+ 
+@@ -2999,13 +3003,13 @@ struct inode_info *lookup_inode2(struct stat *buf, int pseudo, int id)
+ }
+ 
+ 
+-inline struct inode_info *lookup_inode(struct stat *buf)
++static inline struct inode_info *lookup_inode(struct stat *buf)
+ {
+ 	return lookup_inode2(buf, 0, 0);
+ }
+ 
+ 
+-inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
++static inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
+ {
+ 	if (inode->inode_number == 0) {
+ 		inode->inode_number = use_this ? : inode_no ++;
+@@ -3016,7 +3020,7 @@ inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
+ }
+ 
+ 
+-inline struct dir_ent *create_dir_entry(char *name, char *source_name,
++static inline struct dir_ent *create_dir_entry(char *name, char *source_name,
+ 	char *nonstandard_pathname, struct dir_info *dir)
+ {
+ 	struct dir_ent *dir_ent = malloc(sizeof(struct dir_ent));
+@@ -3034,7 +3038,7 @@ inline struct dir_ent *create_dir_entry(char *name, char *source_name,
+ }
+ 
+ 
+-inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
++static inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
+ 	struct inode_info *inode_info)
+ {
+ 	struct dir_info *dir = dir_ent->our_dir;
+@@ -3050,7 +3054,7 @@ inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
+ }
+ 
+ 
+-inline void add_dir_entry2(char *name, char *source_name,
++static inline void add_dir_entry2(char *name, char *source_name,
+ 	char *nonstandard_pathname, struct dir_info *sub_dir,
+ 	struct inode_info *inode_info, struct dir_info *dir)
+ {
+@@ -3062,7 +3066,7 @@ inline void add_dir_entry2(char *name, char *source_name,
+ }
+ 
+ 
+-inline void free_dir_entry(struct dir_ent *dir_ent)
++static inline void free_dir_entry(struct dir_ent *dir_ent)
+ {
+ 	if(dir_ent->name)
+ 		free(dir_ent->name);
+@@ -3083,7 +3087,7 @@ inline void free_dir_entry(struct dir_ent *dir_ent)
+ }
+ 
+ 
+-inline void add_excluded(struct dir_info *dir)
++static inline void add_excluded(struct dir_info *dir)
+ {
+ 	dir->excluded ++;
+ }
+@@ -4200,6 +4204,7 @@ void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq,
+ 	sigemptyset(&sigmask);
+ 	sigaddset(&sigmask, SIGQUIT);
+ 	sigaddset(&sigmask, SIGHUP);
++	sigaddset(&sigmask, SIGALRM);
+ 	if(pthread_sigmask(SIG_BLOCK, &sigmask, NULL) == -1)
+ 		BAD_ERROR("Failed to set signal mask in intialise_threads\n");
+ 
+@@ -4987,6 +4992,36 @@ int parse_num(char *arg, int *res)
+ 
+ int get_physical_memory()
+ {
++	int phys_mem;
++#ifndef linux
++	#ifdef HW_MEMSIZE
++		#define SYSCTL_PHYSMEM HW_MEMSIZE
++	#elif defined(HW_PHYSMEM64)
++		#define SYSCTL_PHYSMEM HW_PHYSMEM64
++	#else
++		#define SYSCTL_PHYSMEM HW_PHYSMEM
++	#endif
++
++	int mib[2];
++	uint64_t sysctl_physmem = 0;
++	size_t sysctl_len = sizeof(sysctl_physmem);
++
++	mib[0] = CTL_HW;
++	mib[1] = SYSCTL_PHYSMEM;
++
++	if(sysctl(mib, 2, &sysctl_physmem, &sysctl_len, NULL, 0) == 0) {
++		/* some systems use 32-bit values, work with what we're given */
++		if (sysctl_len == 4)
++			sysctl_physmem = *(uint32_t*)&sysctl_physmem;
++		phys_mem = sysctl_physmem >> 20;
++	} else {
++		ERROR_START("Failed to get amount of available "
++			"memory.");
++		ERROR_EXIT("  Defaulting to least viable amount\n");
++		phys_mem = SQUASHFS_LOWMEM;
++	}
++	#undef SYSCTL_PHYSMEM
++#else
+ 	/*
+ 	 * Long longs are used here because with PAE, a 32-bit
+ 	 * machine can have more than 4GB of physical memory
+@@ -4996,10 +5031,11 @@ int get_physical_memory()
+ 	 */
+ 	long long num_pages = sysconf(_SC_PHYS_PAGES);
+ 	long long page_size = sysconf(_SC_PAGESIZE);
+-	int phys_mem = num_pages * page_size >> 20;
++	phys_mem = num_pages * page_size >> 20;
+ 
+ 	if(num_pages == -1 || page_size == -1)
+ 		return 0;
++#endif
+ 
+ 	if(phys_mem < SQUASHFS_LOWMEM)
+ 		BAD_ERROR("Mksquashfs requires more physical memory than is "
+diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h
+index 55708a3..d44d1fd 100644
+--- a/squashfs-tools/mksquashfs.h
++++ b/squashfs-tools/mksquashfs.h
+@@ -24,6 +24,7 @@
+  * mksquashfs.h
+  *
+  */
++#include <pthread.h>
+ 
+ struct dir_info {
+ 	char			*pathname;
+diff --git a/squashfs-tools/pseudo.c b/squashfs-tools/pseudo.c
+index cb74cf6..fe2b4bc 100644
+--- a/squashfs-tools/pseudo.c
++++ b/squashfs-tools/pseudo.c
+@@ -30,6 +30,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <sys/stat.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <sys/stat.h>
+diff --git a/squashfs-tools/read_xattrs.c b/squashfs-tools/read_xattrs.c
+index 42106f5..837d3fb 100644
+--- a/squashfs-tools/read_xattrs.c
++++ b/squashfs-tools/read_xattrs.c
+@@ -39,13 +39,13 @@
+ #include <endian.h>
+ #endif
+ 
++#include <stdlib.h>
++
+ #include "squashfs_fs.h"
+ #include "squashfs_swap.h"
+ #include "xattr.h"
+ #include "error.h"
+ 
+-#include <stdlib.h>
+-
+ extern int read_fs_bytes(int, long long, int, void *);
+ extern int read_block(int, long long, long long *, int, void *);
+ 
+diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
+index f190e96..927e441 100644
+--- a/squashfs-tools/unsquashfs.c
++++ b/squashfs-tools/unsquashfs.c
+@@ -32,7 +32,12 @@
+ #include "stdarg.h"
+ #include "fnmatch_compat.h"
+ 
++#ifndef linux
++#include <sys/sysctl.h>
++#else
+ #include <sys/sysinfo.h>
++#endif
++
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/resource.h>
+@@ -2185,6 +2190,7 @@ void initialise_threads(int fragment_buffer_size, int data_buffer_size)
+ 	sigemptyset(&sigmask);
+ 	sigaddset(&sigmask, SIGQUIT);
+ 	sigaddset(&sigmask, SIGHUP);
++	sigaddset(&sigmask, SIGALRM);
+ 	if(pthread_sigmask(SIG_BLOCK, &sigmask, NULL) == -1)
+ 		EXIT_UNSQUASH("Failed to set signal mask in initialise_threads"
+ 			"\n");
+diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
+index 0edbd25..cea9caa 100644
+--- a/squashfs-tools/unsquashfs.h
++++ b/squashfs-tools/unsquashfs.h
+@@ -46,6 +46,10 @@
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+ 
++#ifndef FNM_EXTMATCH /* glibc extension */
++    #define FNM_EXTMATCH 0
++#endif
++
+ #ifndef linux
+ #define __BYTE_ORDER BYTE_ORDER
+ #define __BIG_ENDIAN BIG_ENDIAN
+diff --git a/squashfs-tools/unsquashfs_info.c b/squashfs-tools/unsquashfs_info.c
+index c8e2b9b..7d4f7af 100644
+--- a/squashfs-tools/unsquashfs_info.c
++++ b/squashfs-tools/unsquashfs_info.c
+@@ -97,31 +97,22 @@ void dump_state()
+ void *info_thrd(void *arg)
+ {
+ 	sigset_t sigmask;
+-	struct timespec timespec = { .tv_sec = 1, .tv_nsec = 0 };
+-	int sig, waiting = 0;
++	int sig, err, waiting = 0;
+ 
+ 	sigemptyset(&sigmask);
+ 	sigaddset(&sigmask, SIGQUIT);
+ 	sigaddset(&sigmask, SIGHUP);
++	sigaddset(&sigmask, SIGALRM);
+ 
+ 	while(1) {
+-		if(waiting)
+-			sig = sigtimedwait(&sigmask, NULL, &timespec);
+-		else
+-			sig = sigwaitinfo(&sigmask, NULL);
++		err = sigwait(&sigmask, &sig);
+ 
+-		if(sig == -1) {
++		if(err == -1) {
+ 			switch(errno) {
+-			case EAGAIN:
+-				/* interval timed out */
+-				waiting = 0;
+-				/* FALLTHROUGH */
+ 			case EINTR:
+-				/* if waiting, the wait will be longer, but
+-				   that's OK */
+ 				continue;
+ 			default:
+-				BAD_ERROR("sigtimedwait/sigwaitinfo failed "
++				BAD_ERROR("sigwait failed "
+ 					"because %s\n", strerror(errno));
+ 			}
+ 		}
+@@ -133,8 +124,12 @@ void *info_thrd(void *arg)
+ 			/* set one second interval period, if ^\ received
+ 			   within then, dump queue and cache status */
+ 			waiting = 1;
+-		} else
++			alarm(1);
++		} else if (sig == SIGQUIT) {
+ 			dump_state();
++		} else if (sig == SIGALRM) {
++			waiting = 0;
++		}
+ 	}
+ }
+ 
+diff --git a/squashfs-tools/unsquashfs_xattr.c b/squashfs-tools/unsquashfs_xattr.c
+index 59f4aae..13f0e35 100644
+--- a/squashfs-tools/unsquashfs_xattr.c
++++ b/squashfs-tools/unsquashfs_xattr.c
+@@ -27,6 +27,11 @@
+ 
+ #include <sys/xattr.h>
+ 
++#ifdef XATTR_NOFOLLOW /* Apple's xattrs */
++    #define lsetxattr(path_, name_, val_, sz_, flags_) \
++        setxattr(path_, name_, val_, sz_, 0, flags_ | XATTR_NOFOLLOW)
++#endif
++
+ #define NOSPACE_MAX 10
+ 
+ extern int root_process;
+diff --git a/squashfs-tools/xattr.c b/squashfs-tools/xattr.c
+index b46550c..5b32eca 100644
+--- a/squashfs-tools/xattr.c
++++ b/squashfs-tools/xattr.c
+@@ -22,6 +22,14 @@
+  * xattr.c
+  */
+ 
++#ifndef linux
++#define __BYTE_ORDER BYTE_ORDER
++#define __BIG_ENDIAN BIG_ENDIAN
++#define __LITTLE_ENDIAN LITTLE_ENDIAN
++#else
++#include <endian.h>
++#endif
++
+ #define TRUE 1
+ #define FALSE 0
+ 
+@@ -36,6 +44,13 @@
+ #include <stdlib.h>
+ #include <sys/xattr.h>
+ 
++#ifdef XATTR_NOFOLLOW /* Apple's xattrs */
++    #define llistxattr(path_, buf_, sz_) \
++        listxattr(path_, buf_, sz_, XATTR_NOFOLLOW)
++    #define lgetxattr(path_, name_, val_, sz_) \
++        getxattr(path_, name_, val_, sz_, 0, XATTR_NOFOLLOW)
++#endif
++
+ #include "squashfs_fs.h"
+ #include "squashfs_swap.h"
+ #include "mksquashfs.h"
diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix
index a7f4e85eb34f..d5bcd912c957 100644
--- a/pkgs/tools/filesystems/squashfs/default.nix
+++ b/pkgs/tools/filesystems/squashfs/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     ./0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch
     ./0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch
     ./0003-remove-frag-deflator-thread.patch
-  ];
+  ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch;
 
   buildInputs = [ zlib xz ]
     ++ stdenv.lib.optional lz4Support lz4;
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://squashfs.sourceforge.net/;
     description = "Tool for creating and unpacking squashfs filesystems";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ ruuda ];
   };
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index 0223375a0884..44ad267f9d4e 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libjpeg, lcms2, gettext, jasper }:
 
 stdenv.mkDerivation rec {
-  name = "dcraw-9.27.0";
+  name = "dcraw-9.28.0";
 
   src = fetchurl {
     url = "http://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
-    sha256 = "16bhk3pl5kb9ikv367szl8m92nx85rqypz5im8x3sakm357wrn61";
+    sha256 = "1fdl3xa1fbm71xzc3760rsjkvf0x5jdjrvdzyg2l9ka24vdc7418";
   };
 
   buildInputs = [ libjpeg lcms2 gettext jasper ];
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index b2b8508640bf..0a4ebf495b24 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -20,11 +20,11 @@ let
   withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
 stdenv.mkDerivation rec {
-  name = "gnuplot-5.2.3";
+  name = "gnuplot-5.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${name}.tar.gz";
-    sha256 = "0977vgjszjpqhz2jahq07zmcmi0k9d6v7wq70ph2klfrb29qrdgy";
+    sha256 = "1jvh8xmd2cvrhlsg88kxwh55wkwx31sg50v1n59slfippl0g058m";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig texinfo ] ++ lib.optional withQt qttools;
diff --git a/pkgs/tools/graphics/pdfredacttools/default.nix b/pkgs/tools/graphics/pdfredacttools/default.nix
new file mode 100644
index 000000000000..d66c0b0a9451
--- /dev/null
+++ b/pkgs/tools/graphics/pdfredacttools/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, pythonPackages, imagemagick, exiftool, file, ghostscript }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "pdf-redact-tools";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "firstlookmedia";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "01vs1bc0pfgk6x2m36vwra605fg59yc31d0hl9jmj86n8q6wwvss";
+  };
+
+  patchPhase = ''substituteInPlace pdf-redact-tools      \
+    --replace \'convert\' \'${imagemagick}/bin/convert\' \
+    --replace \'exiftool\' \'${exiftool}/bin/exiftool\'  \
+    --replace \'file\' \'${file}/bin/file\'
+   '';
+
+  propagatedBuildInputs = [ imagemagick exiftool ghostscript ];
+
+  meta = with stdenv.lib; {
+    description = "Redact and strip metadata from documents before publishing";
+    longDescription = ''
+	PDF Redact Tools helps with securely redacting and stripping metadata
+	from documents before publishing. Note that this is not a security tool.
+        It uses ImageMagick to parse PDFs.  While ImageMagick is a versatile tool, it has
+        a history of several security bugs. A malicious PDF could exploit a bug in
+        ImageMagick to take over your computer. If you're working with potentially
+        malicious PDFs, it's safest to run them through PDF Redact Tools in an isolated
+        environment, such as a virtual machine, or by using a tool such as the Qubes
+        PDF Converter instead.
+    '';
+    platforms = platforms.all;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ leenaars ];
+  };
+}
diff --git a/pkgs/tools/graphics/plotutils/default.nix b/pkgs/tools/graphics/plotutils/default.nix
index 85685e0b0482..780e09ee91cf 100644
--- a/pkgs/tools/graphics/plotutils/default.nix
+++ b/pkgs/tools/graphics/plotutils/default.nix
@@ -17,6 +17,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ libpng ];
   patches = map fetchurl (import ./debian-patches.nix);
 
+  preBuild = ''
+    # Fix parallel building.
+    make -C libplot xmi.h
+  '';
+
   configureFlags = "--enable-libplotter"; # required for pstoedit
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/graphics/pstoedit/default.nix b/pkgs/tools/graphics/pstoedit/default.nix
index a31a9848c101..623415a314b5 100644
--- a/pkgs/tools/graphics/pstoedit/default.nix
+++ b/pkgs/tools/graphics/pstoedit/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pstoedit-3.71";
+  name = "pstoedit-3.73";
 
   src = fetchurl {
     url = "mirror://sourceforge/pstoedit/${name}.tar.gz";
-    sha256 = "15dwrwjbixjqph2jmdqzi9fihwpqc1kz5jcv5phxw8wwrlicv285";
+    sha256 = "147jkgvm9n6mbkl6ndqnm9x74x5y9agbxkfwj0jrw6yxyhxx2cdd";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/graphics/qrencode/default.nix b/pkgs/tools/graphics/qrencode/default.nix
index a83e38e577dd..5620f5058a5f 100644
--- a/pkgs/tools/graphics/qrencode/default.nix
+++ b/pkgs/tools/graphics/qrencode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "qrencode-4.0.0";
+  name = "qrencode-4.0.1";
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "02vx69fl52jbcrmnydsaxcmy6nxqm9jyxzd7hr07s491d7hka069";
+    sha256 = "0j7cqhjc0l6i99lzph51gakmcmfs74x483plna93r4ngz328knph";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-extra/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-extra/default.nix
new file mode 100644
index 000000000000..918edf0240a5
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-extra/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, cmake, fcitx, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-table-extra-${version}";
+  version = "0.3.8";
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-table-extra/${name}.tar.xz";
+    sha256 = "c91bb19c1a7b53c5339bf2f75ae83839020d337990f237a8b9bc0f4416c120ef";
+  };
+
+  buildInputs = [ cmake fcitx gettext ];
+
+  preInstall = ''
+   substituteInPlace tables/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+
+  meta = with stdenv.lib; {
+    isFcitxEngine = true;
+    homepage      = "https://github.com/fcitx/fcitx-table-extra";
+    downloadPage  = "http://download.fcitx-im.org/fcitx-table-extra/";
+    description   = "Provides extra table for Fcitx, including Boshiamy, Zhengma, Cangjie, and Quick";
+    license       = licenses.gpl2Plus;
+    platforms     = platforms.linux;
+    maintainers   = with maintainers; [ linc01n ];
+  };
+
+}
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index b869f1e634c5..01fbe67e5f20 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, pkgs, rustPlatform, fetchFromGitHub }:
+{ stdenv, rustPlatform, fetchFromGitHub, cmake, pkgconfig, zlib, libiconv, darwin }:
 
 rustPlatform.buildRustPackage rec {
   name    = "bat-${version}";
-  version = "0.3.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = "bat";
     rev    = "v${version}";
-    sha256 = "15d7i0iy5lks3jg9js6n6fy4xanjk76fpryl2kq88kdkq67hpzfp";
+    sha256 = "0fiif6b8g2hdb05s028dbcpav6ax0qap2hbsr9p2bld4z7j7321m";
   };
 
-  cargoSha256 = "179a7abhzpxjp3cc820jzxg0qk1fiv9rkpazwnzhkjl8yd7b7qi3";
+  cargoSha256 = "0w0y3sfrpk8sn9rls90kjqrqr62pd690ripdfbvb5ipkzizp429l";
 
-  buildInputs = with pkgs; [ pkgconfig cmake zlib file perl curl ];
+  nativeBuildInputs = [ cmake pkgconfig zlib ];
+
+  buildInputs = [ libiconv ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
 
   meta = with stdenv.lib; {
     description = "A cat(1) clone with syntax highlighting and Git integration";
     homepage    = https://github.com/sharkdp/bat;
     license     = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ dywedir ];
-    platforms   = platforms.linux;
+    platforms   = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/misc/bibutils/default.nix b/pkgs/tools/misc/bibutils/default.nix
index b720ac22f27e..90a2211235d7 100644
--- a/pkgs/tools/misc/bibutils/default.nix
+++ b/pkgs/tools/misc/bibutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bibutils-${version}";
-  version = "6.2";
+  version = "6.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/bibutils/bibutils_${version}_src.tgz";
-    sha256 = "07wgzk01kfdrjl6g3qlxg9qbi3kyrxxmxyy49qmcfq24fpmf9mrr";
+    sha256 = "10r5v5xbhsxdh6vq6g2xp6lgmpjdzba83h4m4clfhrzqis8clwqy";
   };
 
   configureFlags = [ "--dynamic" "--install-dir" "$(out)/bin" "--install-lib" "$(out)/lib" ];
diff --git a/pkgs/tools/misc/detox/default.nix b/pkgs/tools/misc/detox/default.nix
index 7d17dee8b53c..874da29da4fa 100644
--- a/pkgs/tools/misc/detox/default.nix
+++ b/pkgs/tools/misc/detox/default.nix
@@ -12,6 +12,10 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
+  postInstall = ''
+    install -m644 safe.tbl $out/share/detox/
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://detox.sourceforge.net/;
     description = "Utility designed to clean up filenames";
diff --git a/pkgs/tools/misc/dylibbundler/default.nix b/pkgs/tools/misc/dylibbundler/default.nix
new file mode 100644
index 000000000000..c88e29bb4553
--- /dev/null
+++ b/pkgs/tools/misc/dylibbundler/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "dylibbundler";
+
+  src  = fetchFromGitHub {
+    owner  = "auriamg";
+    repo   = "/macdylibbundler";
+    rev    = "27923fbf6d1bc4d18c18e118280c4fe51fc41a80";
+    sha256 = "1mpd43hvpfp7pskfrjnd6vcmfii9v3p97q0ws50krkdvshp0bv2h";
+  };
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "Small command-line program that aims to make bundling .dylibs as easy as possible";
+    homepage    = "https://github.com/auriamg/macdylibbundler";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ alexfmpe ];
+    platforms   = with platforms; darwin ++ linux;
+  };
+}
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index f79be961378b..60e7f273a338 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre_headless }:
 
 stdenv.mkDerivation rec {
-  version = "2.4.4";
+  version = "2.4.5";
   name = "graylog-${version}";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "0wiqwwsy306hr7zn57f5hvh8wvcc2q46x0hdlabi0n9m44wk993i";
+    sha256 = "0yb8r7f64s1m83dqw64yakxmlyn7d3kdi2rd9mpw3rnz4kqcarly";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix
index bc097e2a0857..bdae1e0cf848 100644
--- a/pkgs/tools/misc/mc/default.nix
+++ b/pkgs/tools/misc/mc/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "mc-${version}";
-  version = "4.8.20";
+  version = "4.8.21";
 
   src = fetchurl {
     url = "http://www.midnight-commander.org/downloads/${name}.tar.xz";
-    sha256 = "072h7n9b3j79fqn48xaw0xhlcjavpsmfpz6nyh20lhmfz3sffzh1";
+    sha256 = "130lzrcmazinznnnpf00lcizdlmjdhfiqfx00g1cjcbwmi3fadwg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 9bb09d227c4c..75be4efe7d1b 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20180422";
+  name = "parallel-20180522";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0xsfpbxwgd4197gra981iv0nmjfk58c0d88dxx6dh6yrqz523klx";
+    sha256 = "1khcz9pm7rjnq4gw8pn30k1d40x337a204dxj4y4qijpx8m7w0gb";
   };
 
   nativeBuildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/misc/powerline-rs/default.nix b/pkgs/tools/misc/powerline-rs/default.nix
index 138145683cb8..b16be0b5bdca 100644
--- a/pkgs/tools/misc/powerline-rs/default.nix
+++ b/pkgs/tools/misc/powerline-rs/default.nix
@@ -2,14 +2,14 @@
 rustPlatform.buildRustPackage rec {
   pname = "powerline-rs";
   name = "${pname}-${version}";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchFromGitHub {
     owner = "jD91mZM2";
     repo = "powerline-rs";
     rev = version;
 
-    sha256 = "0ry1axia78sp9vmn6p119l69sj3dqx2san1k71a5npf60rf4gfkc";
+    sha256 = "018i9qq98afbgv0nxs1n83zb09lqhqxpdrd95f2maic3rr5ngnj5";
   };
 
   cargoSha256 = "184s432a6damzvl0lv6jar1iml9dq60r190aqjy44lcg938981zc";
diff --git a/pkgs/tools/misc/skim/default.nix b/pkgs/tools/misc/skim/default.nix
index 709cbbe07912..169389928d06 100644
--- a/pkgs/tools/misc/skim/default.nix
+++ b/pkgs/tools/misc/skim/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   name = "skim-${version}";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "lotabout";
     repo = "skim";
     rev = "v${version}";
-    sha256 = "0spkkgjjrch1grb0115rn0wxzsh8pzmm96a7j69zy5pc1il2m5lp";
+    sha256 = "067ds1sdi9ya1yqz9saczj1vml8arwzd46w35gmvdxgmxx4wmihs";
   };
 
   outputs = [ "out" "vim" ];
 
-  cargoSha256 = "0zbjnii8r41ih2m2vqhm3wdiwgi13kipvxx75sg4vm4maf4wpmhv";
+  cargoSha256 = "18lgjh1b1wfm9xsd6y6slfj1i3dwrvzkzszdzk3lmqx1f8515gx7";
 
   patchPhase = ''
     sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/skim.vim
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
     description = "Fuzzy Finder in rust!";
     homepage = https://github.com/lotabout/skim;
     license = licenses.mit;
-    maintainers = [];
+    maintainers = with maintainers; [ dywedir ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 7be2e3fc61d7..77308ecf2ed8 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchFromGitHub, fetchpatch, python3, python3Packages
-, lib, makeWrapper, coreutils }:
+{ stdenv, fetchFromGitHub, fetchpatch, coreutils
+, python3, python3Packages, substituteAll }:
+
+assert stdenv.isLinux;
 
 python3Packages.buildPythonApplication rec {
   name = "trash-cli-${version}";
@@ -14,6 +16,12 @@ python3Packages.buildPythonApplication rec {
   };
 
   patches = [
+    (substituteAll {
+      src = ./nix-paths.patch;
+      df = "${coreutils}/bin/df";
+      libc = "${stdenv.cc.libc.out}/lib/libc.so.6";
+    })
+
     # Fix build on Python 3.6.
     (fetchpatch {
       url = "https://github.com/andreafrancia/trash-cli/commit/a21b80d1e69783bb09376c3f60dd2f2a10578805.patch";
@@ -22,19 +30,10 @@ python3Packages.buildPythonApplication rec {
   ];
 
   buildInputs = with python3Packages; [ nose mock ];
-  nativeBuildInputs = [ makeWrapper ];
-
-  preFixup = ''
-    for bin in $out/bin/*; do
-      wrapProgram $bin \
-        --prefix PATH : ${lib.makeBinPath [ coreutils ]} \
-        --prefix DYLD_LIBRARY_PATH : ${lib.makeSearchPath "lib" (lib.optional (stdenv.hostPlatform.libc == "glibc") (lib.getDev stdenv.cc.libc))}
-    done
-  '';
 
   checkPhase = "nosetests";
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     homepage = https://github.com/andreafrancia/trash-cli;
     description = "Command line tool for the desktop trash can";
     maintainers = [ maintainers.rycee ];
diff --git a/pkgs/tools/misc/trash-cli/nix-paths.patch b/pkgs/tools/misc/trash-cli/nix-paths.patch
new file mode 100644
index 000000000000..d7b485eec158
--- /dev/null
+++ b/pkgs/tools/misc/trash-cli/nix-paths.patch
@@ -0,0 +1,26 @@
+--- a/trashcli/list_mount_points.py	2014-12-23 10:10:43.808470486 +0100
++++ a/trashcli/list_mount_points.py	2014-12-23 10:19:04.954796457 +0100
+@@ -12,7 +12,7 @@ def mount_points_from_getmnt():
+ 
+ def mount_points_from_df():
+     import subprocess
+-    df_output = subprocess.Popen(["df", "-P"], stdout=subprocess.PIPE).stdout
++    df_output = subprocess.Popen(["@df@", "-P"], stdout=subprocess.PIPE).stdout
+     return list(_mount_points_from_df_output(df_output))
+ 
+ def _mount_points_from_df_output(df_output):
+@@ -46,13 +46,7 @@ def _mounted_filesystems_from_getmnt() :
+                     ("mnt_freq", c_int),       # Dump frequency (in days).
+                     ("mnt_passno", c_int)]     # Pass number for `fsck'.
+ 
+-    if sys.platform == "cygwin":
+-        libc_name = "cygwin1.dll"
+-    else:
+-        libc_name = find_library("c")
+-
+-    if libc_name == None :
+-        libc_name="/lib/libc.so.6" # fix for my Gentoo 4.0
++    libc_name = "@libc@"
+ 
+     libc = cdll.LoadLibrary(libc_name)
+     libc.getmntent.restype = POINTER(mntent_struct)
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 29186906d27b..87725f51a7fb 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "aria2-${version}";
-  version = "1.33.1";
+  version = "1.34.0";
 
   src = fetchFromGitHub {
     owner = "aria2";
     repo = "aria2";
     rev = "release-${version}";
-    sha256 = "0ai84ijgsvnixwhxkj8if2mj9hcg2a41w81vy8bdvi89h3bmq9zf";
+    sha256 = "0hwqnjyszasr6049vr5mn48slb48v5kw39cbpbxa68ggmhj9bw6m";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/tools/networking/curl/7_59.nix b/pkgs/tools/networking/curl/7_59.nix
new file mode 100644
index 000000000000..5980392267b0
--- /dev/null
+++ b/pkgs/tools/networking/curl/7_59.nix
@@ -0,0 +1,113 @@
+{ stdenv, lib, fetchurl, pkgconfig, perl
+, http2Support ? true, nghttp2
+, idnSupport ? false, libidn ? null
+, ldapSupport ? false, openldap ? null
+, zlibSupport ? false, zlib ? null
+, sslSupport ? false, openssl ? null
+, gnutlsSupport ? false, gnutls ? null
+, scpSupport ? false, libssh2 ? null
+, gssSupport ? false, kerberos ? null
+, c-aresSupport ? false, c-ares ? null
+, brotliSupport ? false, brotli ? null
+}:
+
+assert http2Support -> nghttp2 != null;
+assert idnSupport -> libidn != null;
+assert ldapSupport -> openldap != null;
+assert zlibSupport -> zlib != null;
+assert sslSupport -> openssl != null;
+assert !(gnutlsSupport && sslSupport);
+assert gnutlsSupport -> gnutls != null;
+assert scpSupport -> libssh2 != null;
+assert c-aresSupport -> c-ares != null;
+assert brotliSupport -> brotli != null;
+assert gssSupport -> kerberos != null;
+
+stdenv.mkDerivation rec {
+  name = "curl-7.59.0";
+
+  src = fetchurl {
+    urls = [
+      "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2"
+      "https://curl.haxx.se/download/${name}.tar.bz2"
+    ];
+    sha256 = "185mazhi4bc5mc6rvhrmnc67j8l3sg7f0w2hp5gmi5ccdbyhz4mm";
+  };
+
+  outputs = [ "bin" "dev" "out" "man" "devdoc" ];
+  separateDebugInfo = stdenv.isLinux;
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkgconfig perl ];
+
+  # Zlib and OpenSSL must be propagated because `libcurl.la' contains
+  # "-lz -lssl", which aren't necessary direct build inputs of
+  # applications that use Curl.
+  propagatedBuildInputs = with stdenv.lib;
+    optional http2Support nghttp2 ++
+    optional idnSupport libidn ++
+    optional ldapSupport openldap ++
+    optional zlibSupport zlib ++
+    optional gssSupport kerberos ++
+    optional c-aresSupport c-ares ++
+    optional sslSupport openssl ++
+    optional gnutlsSupport gnutls ++
+    optional scpSupport libssh2 ++
+    optional brotliSupport brotli;
+
+  # for the second line see https://curl.haxx.se/mail/tracker-2014-03/0087.html
+  preConfigure = ''
+    sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
+    rm src/tool_hugehelp.c
+  '';
+
+  configureFlags = [
+      "--with-ca-fallback"
+      "--disable-manual"
+      ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
+      ( if gnutlsSupport then "--with-gnutls=${gnutls.dev}" else "--without-gnutls" )
+      ( if scpSupport then "--with-libssh2=${libssh2.dev}" else "--without-libssh2" )
+      ( if ldapSupport then "--enable-ldap" else "--disable-ldap" )
+      ( if ldapSupport then "--enable-ldaps" else "--disable-ldaps" )
+      ( if idnSupport then "--with-libidn=${libidn.dev}" else "--without-libidn" )
+      ( if brotliSupport then "--with-brotli" else "--without-brotli" )
+    ]
+    ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
+    ++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}";
+
+  CXX = "${stdenv.cc.targetPrefix}c++";
+  CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
+
+  doCheck = false; # expensive, fails
+
+  postInstall = ''
+    moveToOutput bin/curl-config "$dev"
+    sed '/^dependency_libs/s|${libssh2.dev}|${libssh2.out}|' -i "$out"/lib/*.la
+  '' + stdenv.lib.optionalString gnutlsSupport ''
+    ln $out/lib/libcurl.so $out/lib/libcurl-gnutls.so
+    ln $out/lib/libcurl.so $out/lib/libcurl-gnutls.so.4
+    ln $out/lib/libcurl.so $out/lib/libcurl-gnutls.so.4.4.0
+  '';
+
+  crossAttrs = {
+    # We should refer to the cross built openssl
+    # For the 'urandom', maybe it should be a cross-system option
+    configureFlags = [
+        ( if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl" )
+        ( if gnutlsSupport then "--with-gnutls=${gnutls.crossDrv}" else "--without-gnutls" )
+        "--with-random /dev/urandom"
+      ];
+  };
+
+  passthru = {
+    inherit sslSupport openssl;
+  };
+
+  meta = with stdenv.lib; {
+    description = "A command line tool for transferring files with URL syntax";
+    homepage    = https://curl.haxx.se/;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 598557380e28..1690d3fcc3e3 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -1,6 +1,6 @@
 { useLua ? !stdenv.isDarwin
 , usePcre ? true
-, stdenv, fetchurl
+, stdenv, fetchurl, fetchpatch
 , openssl, zlib, lua5_3 ? null, pcre ? null
 }:
 
@@ -9,14 +9,26 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "1.8.4";
+  version = "1.8.9";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${name}.tar.gz";
-    sha256 = "19l4i0p92ahm3vaw42gz3rmmidfivk36mvqyhir81h6ywyjb01g3";
+    sha256 = "00miblgwll3mycsgmp3gd3cn4lwsagxzgjxk5i6csnyqgj97fss3";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2018-11469.patch";
+      url = "https://git.haproxy.org/?p=haproxy-1.8.git;a=patch;h=17514045e5d934dede62116216c1b016fe23dd06";
+      sha256 = "0hzcvghg8qz45n3mrcgsjgvrvicvbvm52cc4hs5jbk1yb50qvls7";
+    })
+  ] ++ stdenv.lib.optional stdenv.isDarwin (fetchpatch {
+    name = "fix-darwin-no-threads-build.patch";
+    url = "https://git.haproxy.org/?p=haproxy-1.8.git;a=patch;h=fbf09c441a4e72c4a690bc7ef25d3374767fe5c5;hp=3157ef219c493f3b01192f1b809a086a5b119a1e";
+    sha256 = "16ckzb160anf7xih7mmqy59pfz8sdywmyblxnr7lz9xix3jwk55r";
+  });
+
   buildInputs = [ openssl zlib ]
     ++ stdenv.lib.optional useLua lua5_3
     ++ stdenv.lib.optional usePcre pcre;
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index fb94b750e1d8..1a2086810724 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, zlib, protobuf, ncurses, pkgconfig, IOTty
-, makeWrapper, perl, openssl, autoreconfHook, openssh, bash-completion }:
+{ lib, stdenv, fetchurl, zlib, protobuf, ncurses, pkgconfig, IOTty
+, makeWrapper, perl, openssl, autoreconfHook, openssh, bash-completion
+, libutempter ? null, withUtempter ? stdenv.isLinux }:
 
 stdenv.mkDerivation rec {
   name = "mosh-1.3.2";
@@ -10,15 +11,15 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ protobuf ncurses zlib IOTty makeWrapper perl openssl bash-completion ];
+  buildInputs = [ protobuf ncurses zlib IOTty makeWrapper perl openssl bash-completion ] ++ lib.optional withUtempter libutempter;
 
-  patches = [ ./ssh_path.patch ];
+  patches = [ ./ssh_path.patch ./utempter_path.patch ];
   postPatch = ''
     substituteInPlace scripts/mosh.pl \
         --subst-var-by ssh "${openssh}/bin/ssh"
   '';
 
-  configureFlags = [ "--enable-completion" ];
+  configureFlags = [ "--enable-completion" ] ++ lib.optional withUtempter "--with-utempter";
 
   postInstall = ''
       wrapProgram $out/bin/mosh --prefix PERL5LIB : $PERL5LIB
diff --git a/pkgs/tools/networking/mosh/utempter_path.patch b/pkgs/tools/networking/mosh/utempter_path.patch
new file mode 100644
index 000000000000..a981708ffadf
--- /dev/null
+++ b/pkgs/tools/networking/mosh/utempter_path.patch
@@ -0,0 +1,14 @@
+diff -ur mosh-1.3.2/src/frontend/mosh-server.cc mosh-1.3.2.patched/src/frontend/mosh-server.cc
+--- mosh-1.3.2/src/frontend/mosh-server.cc	2017-07-22 23:14:53.000000000 +0200
++++ mosh-1.3.2.patched/src/frontend/mosh-server.cc	2018-06-06 10:45:50.725352804 +0200
+@@ -351,6 +351,10 @@
+     }
+   }
+ 
++#ifdef HAVE_UTEMPTER
++    utempter_set_helper( "utempter" );
++#endif
++
+   try {
+     return run_server( desired_ip, desired_port, command_path, command_argv, colors, verbose, with_motd );
+   } catch ( const Network::NetworkException &e ) {
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index ef65444ae331..20a448b0ded6 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "nzbget-${version}";
-  version = "19.1";
+  version = "20.0";
 
   src = fetchurl {
     url = "http://github.com/nzbget/nzbget/releases/download/v${version}/nzbget-${version}-src.tar.gz";
-    sha256 = "1rjwv555zc2hiagf00k8l1pzav91qglsnqbqkyy3pmn2d8sl5pq6";
+    sha256 = "0vyhmjg3ipjlv41il6kklys3m6rhqifdkv25a7ak772l6ba3dp04";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/phodav/default.nix b/pkgs/tools/networking/phodav/default.nix
new file mode 100644
index 000000000000..e585af81991e
--- /dev/null
+++ b/pkgs/tools/networking/phodav/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl
+, intltool, pkgconfig, glib, libsoup }:
+
+let
+  version = "2.2";
+in stdenv.mkDerivation rec {
+  name = "phodav-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/phodav/${version}/${name}.tar.xz";
+    sha256 = "1hap0lncbcmivnflh0fbx7y58ry78p9wgj7z03r64ic0kvf0a0q8";
+  };
+
+  buildInputs = [ intltool glib libsoup ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "WebDav server implementation and library using libsoup";
+    homepage = https://wiki.gnome.org/phodav;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ gnidorah ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/shadowsocks-libev/default.nix b/pkgs/tools/networking/shadowsocks-libev/default.nix
index 2823917fc31d..d2e8a9a30519 100644
--- a/pkgs/tools/networking/shadowsocks-libev/default.nix
+++ b/pkgs/tools/networking/shadowsocks-libev/default.nix
@@ -24,6 +24,19 @@ stdenv.mkDerivation rec {
     cp lib/* $out/lib
     chmod +x $out/bin/*
     mv $out/pkgconfig $out/lib
+
+    ${stdenv.lib.optionalString stdenv.isDarwin ''
+      install_name_tool -change libcork.dylib $out/lib/libcork.dylib $out/lib/libipset.dylib
+      install_name_tool -change libbloom.dylib $out/lib/libbloom.dylib $out/lib/libipset.dylib
+
+      for exe in $out/bin/*; do
+        install_name_tool -change libmbedtls.dylib ${mbedtls}/lib/libmbedtls.dylib $exe
+        install_name_tool -change libmbedcrypto.dylib ${mbedtls}/lib/libmbedcrypto.dylib $exe
+        install_name_tool -change libcork.dylib $out/lib/libcork.dylib $exe
+        install_name_tool -change libipset.dylib $out/lib/libipset.dylib $exe
+        install_name_tool -change libbloom.dylib $out/lib/libbloom.dylib $exe
+      done
+    ''}
   '';
 
   meta = with stdenv.lib; {
@@ -35,6 +48,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/shadowsocks/shadowsocks-libev;
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.nfjinjing ];
-    platforms = platforms.linux;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 3efc9e6be232..ecaf498da42d 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urlwatch-${version}";
-  version = "2.11";
+  version = "2.13";
 
   src = fetchFromGitHub {
     owner  = "thp";
     repo   = "urlwatch";
     rev    = version;
-    sha256 = "0vp85d62zhca7d841vg82mwlqb8yihshyc8q2cvwm3rpn5vwf0pi";
+    sha256 = "0rspb5j02mmb0r2dnfryx7jaczvb22lsnysgrr1l9iag0djcgdf5";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/networking/wireguard-go/default.nix b/pkgs/tools/networking/wireguard-go/default.nix
index 37220acf8cf8..62ea3d64468a 100644
--- a/pkgs/tools/networking/wireguard-go/default.nix
+++ b/pkgs/tools/networking/wireguard-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "wireguard-go-${version}";
-  version = "0.0.20180519";
+  version = "0.0.20180531";
 
-  goPackagePath = "wireguard-go";
+  goPackagePath = "git.zx2c4.com/wireguard-go";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-${version}.tar.xz";
-    sha256 = "0b3wpc0ccf24567fjafv1sjs3yqq1xjam3gpfp37avxqy9789nb7";
+    sha256 = "1vs11kr5a2s99v0g7079nfrfvmjfh1p2lnkj2icjyn2cb0s1vqiy";
   };
 
   goDeps = ./deps.nix;
@@ -22,7 +22,7 @@ buildGoPackage rec {
     description = "Userspace Go implementation of WireGuard";
     homepage = https://git.zx2c4.com/wireguard-go/about/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ kirelagin zx2c4 ];
+    maintainers = with maintainers; [ kirelagin yegortimoshenko zx2c4 ];
     platforms = platforms.darwin;
   };
 }
diff --git a/pkgs/tools/networking/wireguard-go/deps.nix b/pkgs/tools/networking/wireguard-go/deps.nix
index 88381d5f207a..87e3d73018be 100644
--- a/pkgs/tools/networking/wireguard-go/deps.nix
+++ b/pkgs/tools/networking/wireguard-go/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev =  "1a580b3eff7814fc9b40602fd35256c63b50f491";
-      sha256 = "11adgxc6fzcb3dxr5v2g4nk6ggrz04qnx633hzgmzfh2wv3blgv7";
+      rev =  "8ac0e0d97ce45cd83d1d7243c060cb8461dda5e9";
+      sha256 = "0vg0dfpv1wgj5imlakpma763yfd67aqbiy0fcklq3cw46qmfbzf1";
     };
   }
   {
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev =  "2491c5de3490fced2f6cff376127c667efeed857";
-      sha256 = "1wmijnrxi9p2rv8g6clqkzdihn5ncv29j0s4s1bz9ksncdr36ll3";
+      rev =  "1e491301e022f8f977054da4c2d852decd59571f";
+      sha256 = "1wc18flnz99bip2j1gpnvr3qdp1y7wgyvawlvvc8rmd6ggf5f2yq";
     };
   }
   {
@@ -23,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev =  "7c87d13f8e835d2fb3a70a2912c811ed0c1d241b";
-      sha256 = "03fhkng37rczqwfgah5hd7d373jps3hcfx79dmky2fh62yvpcyn3";
+      rev =  "9527bec2660bd847c050fda93a0f0c6dee0800bb";
+      sha256 = "02kd2lnw7dnyqs0vvcpzwkv5brpgkwagqly2xs7dwmsi1vvf400p";
     };
   }
 ]
\ No newline at end of file
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index 7411aeed6d2e..276d7066c561 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "wireguard-tools-${version}";
-  version = "0.0.20180524";
+  version = "0.0.20180531";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "0h503h9hh1vl3j2daz7lm2fp4wda65iphmx8k21md6yql8f56vmi";
+    sha256 = "0944zxmpx2cs71nxl7rcyhpqlwplkzd7jsf1n66vflngw2sjxm03";
   };
 
   sourceRoot = "source/src/tools";
diff --git a/pkgs/tools/security/ctmg/default.nix b/pkgs/tools/security/ctmg/default.nix
new file mode 100644
index 000000000000..1e0618412210
--- /dev/null
+++ b/pkgs/tools/security/ctmg/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "ctmg-${version}";
+  version = "1.2";
+
+  src = fetchzip {
+    url = "https://git.zx2c4.com/ctmg/snapshot/ctmg-${version}.tar.xz";
+    sha256 = "1i4v8sriwjrmj3yizbl1ysckb711yl9qsn9x45jq0ij1apsydhyc";
+  };
+
+  installPhase = "install -D ctmg.sh $out/bin/ctmg";
+
+  meta = with stdenv.lib; {
+    description = "An encrypted container manager for Linux using cryptsetup";
+    homepage = https://git.zx2c4.com/ctmg/about/;
+    license = licenses.isc;
+    maintainers = with maintainers; [ mrVanDalo ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
index eb8861486747..53ce183d4afb 100644
--- a/pkgs/tools/security/eid-mw/default.nix
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -7,10 +7,10 @@
 
 stdenv.mkDerivation rec {
   name = "eid-mw-${version}";
-  version = "4.4.1";
+  version = "4.4.2";
 
   src = fetchFromGitHub {
-    sha256 = "0an7xgj5rzl75kq6qfrmm886v639hhlh7c9yfs8iihc47wghpma8"; 
+    sha256 = "0jsa1jl51kz8i8dpi3664a7y3bhypr3ipk1srzxfkk6aph4a5cdf"; 
     rev = "v${version}";
     repo = "eid-mw";
     owner = "Fedict";
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 331375273edd..47941a9d7787 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 = "1.0.44";
+  version = "2.0.0";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/keybase" ];
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner  = "keybase";
     repo   = "client";
     rev    = "v${version}";
-    sha256 = "1np8fk15wwqkswzcyygga52r74dp101ny63i3m1wypgfky4hvsbb";
+    sha256 = "0lapcw9csr18n4pc1mlljs1bd8w8imzsic4qgr07s53i80bd8l6n";
   };
 
   buildFlags = [ "-tags production" ];
diff --git a/pkgs/tools/security/pass/extensions/audit.nix b/pkgs/tools/security/pass/extensions/audit.nix
new file mode 100644
index 000000000000..79dd1fadb01c
--- /dev/null
+++ b/pkgs/tools/security/pass/extensions/audit.nix
@@ -0,0 +1,42 @@
+{ stdenv, pass, fetchFromGitHub, pythonPackages, makeWrapper }:
+
+let
+  pythonEnv = pythonPackages.python.withPackages (p: [ p.requests ]);
+
+in stdenv.mkDerivation rec {
+  name = "pass-audit-${version}";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "roddhjav";
+    repo = "pass-audit";
+    rev = "v${version}";
+    sha256 = "0v0db8bzpcaa7zqz17syn3c78mgvw4mpg8qg1gh5rmbjsjfxw6sm";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ pythonEnv ];
+
+  patchPhase = ''
+    sed -i -e "s|/usr/lib|$out/lib|" audit.bash
+    sed -i -e 's|$0|${pass}/bin/pass|' audit.bash
+  '';
+
+  dontBuild = true;
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  postFixup = ''
+    wrapProgram $out/lib/password-store/extensions/audit.bash \
+      --prefix PATH : "${pythonEnv}/bin" \
+      --run "export PREFIX"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pass extension for auditing your password repository.";
+    homepage = https://github.com/roddhjav/pass-audit;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/pass/extensions/default.nix b/pkgs/tools/security/pass/extensions/default.nix
index dfb853c0a0bf..f69687e512b8 100644
--- a/pkgs/tools/security/pass/extensions/default.nix
+++ b/pkgs/tools/security/pass/extensions/default.nix
@@ -3,6 +3,9 @@
 with pkgs;
 
 {
+  pass-audit = callPackage ./audit.nix {
+    pythonPackages = python3Packages;
+  };
   pass-import = callPackage ./import.nix {
     pythonPackages = python3Packages;
   };
diff --git a/pkgs/tools/security/pass/extensions/import.nix b/pkgs/tools/security/pass/extensions/import.nix
index 8ba4abc5e3db..9e69cf376210 100644
--- a/pkgs/tools/security/pass/extensions/import.nix
+++ b/pkgs/tools/security/pass/extensions/import.nix
@@ -18,13 +18,18 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ pythonEnv ];
 
+  patchPhase = ''
+    sed -i -e 's|$0|${pass}/bin/pass|' import.bash
+  '';
+
   dontBuild = true;
 
   installFlags = [ "PREFIX=$(out)" ];
 
   postFixup = ''
     wrapProgram $out/lib/password-store/extensions/import.bash \
-      --prefix PATH : "${pythonEnv}/bin"
+      --prefix PATH : "${pythonEnv}/bin" \
+      --run "export PREFIX"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 07cf15baa224..3a7e1b5a3437 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   patches = lib.optionals (gtk2 != null) [
     (fetchpatch {
-      url = https://anonscm.debian.org/cgit/pkg-gnupg/pinentry.git/plain/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch;
+      url = https://sources.debian.org/data/main/p/pinentry/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch;
       sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd";
     })
   ];
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 6e63f467f600..2a5eea0b2516 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libaio, python, zlib }:
 
 let
-  version = "3.6";
-  sha256 = "1dilsn6r958skq1kpknm13fdzw7whb3bqa3wwnn2j9gba28599pq";
+  version = "3.7";
+  sha256 = "1m2slyxhzyznq283m6ljjgjg38i0hxg537bwhfs12qskv00c4vsk";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index bace31a17bda..f3bd820e3e85 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "3.1.0";
+  version = "3.1.1";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "1vvdydql5gmq103wr0ris2fvr3l5an2a8zgg2mmgdi88pxi11xfx";
+    sha256 = "1w1smjhinddf139yir44y88j5bjw5kzmprk2ljc3k6xz3va7v1k0";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix
index f27a0cbcb999..0f2de9888e44 100644
--- a/pkgs/tools/system/logcheck/default.nix
+++ b/pkgs/tools/system/logcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "logcheck-${version}";
-  version = "1.3.18";
+  version = "1.3.19";
   _name    = "logcheck_${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/l/logcheck/${_name}.tar.xz";
-    sha256 = "1x4skb5nmv2xj8cygj8pq1rd1ws4m2fsibw54yslgdyjri4r2yq7";
+    sha256 = "1a9ccy92lg1lnx86di6i1wpdv4ccf5w7gials2iyq5915c4lqa86";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index a5d6f2f518c8..17e472b8d2be 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -3,11 +3,11 @@
 let useSSL = (openssl != null);
     isCross = ( buildPlatform != hostPlatform ) ; in
 stdenv.mkDerivation rec {
-  name = "monit-5.25.1";
+  name = "monit-5.25.2";
 
   src = fetchurl {
     url = "${meta.homepage}dist/${name}.tar.gz";
-    sha256 = "1g417cf6j0v6z233a3625fw1cxsh45xql7ag83jz2988n772ap2b";
+    sha256 = "0jn6mdsh50zd3jc61hr1y8sd80r01gqcyvd860zf8m8i3lvfc35a";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/pkgs/tools/text/odt2txt/default.nix b/pkgs/tools/text/odt2txt/default.nix
index 3feecdf4f53c..48abee018306 100644
--- a/pkgs/tools/text/odt2txt/default.nix
+++ b/pkgs/tools/text/odt2txt/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, zlib, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "odt2txt-0.4";
+  name = "odt2txt-${version}";
+  version = "0.5";
 
   src = fetchurl {
-    url = "${meta.homepage}/${name}.tar.gz";
-    sha256 = "1y36s7w2ng0r4nismxb3hb3zvsim8aimvvblz9hgnanw3kwbvx55";
+    url = "${meta.homepage}/archive/v${version}.tar.gz";
+    sha256 = "23a889109ca9087a719c638758f14cc3b867a5dcf30a6c90bf6a0985073556dd";
   };
 
   configurePhase="export makeFlags=\"DESTDIR=$out\"";
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Simple .odt to .txt converter";
-    homepage = http://stosberg.net/odt2txt;
+    homepage = https://github.com/dstosberg/odt2txt;
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ ];
diff --git a/pkgs/tools/text/schema2ldif/default.nix b/pkgs/tools/text/schema2ldif/default.nix
new file mode 100644
index 000000000000..699d2d28b82b
--- /dev/null
+++ b/pkgs/tools/text/schema2ldif/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, makeWrapper, perl, perlPackages }: stdenv.mkDerivation rec {
+  name = "schema2ldif-${version}";
+  version = "1.3";
+
+  src = fetchurl {
+    url = "https://repos.fusiondirectory.org/sources/schema2ldif/schema2ldif-${version}.tar.gz";
+    sha256 = "00cd9xx9g0mnnfn5lvay3vg166z84jla0ya1x34ljdc8bflxsr9a";
+  };
+
+  buildInputs = [ perl ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+
+    cp bin/{schema2ldif,ldap-schema-manager} $out/bin
+    gzip -c man/schema2ldif.1 > $out/share/man/man1/schema2ldif.1.gz
+    gzip -c man/ldap-schema-manager.1 > $out/share/man/man1/ldap-schema-manager.1.gz
+
+    wrapProgram $out/bin/schema2ldif \
+       --prefix PERL5PATH : "${stdenv.lib.makePerlPath [ perlPackages.GetoptLong perlPackages.PodUsage ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Utilities to manage schema in .schema and .ldif format";
+    homepage = "https://www.fusiondirectory.org/schema2ldif-project-and-components/";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 458250acce64..f310fd156c33 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -37,6 +37,7 @@ mapAliases (rec {
   QmidiNet = qmidinet;  # added 2016-05-22
   accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
   adobeReader = adobe-reader; # added 2013-11-04
+  adobe_flex_sdk = apache-flex-sdk; # added 2018-06-01
   ag = silver-searcher; # added 2018-04-25
   aircrackng = aircrack-ng; # added 2016-01-14
   ammonite-repl = ammonite; # added 2017-05-02
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4b3110113674..e645b0a2a02c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -738,6 +738,8 @@ with pkgs;
 
   adapta-gtk-theme = callPackage ../misc/themes/adapta { };
 
+  adapta-kde-theme = callPackage ../misc/themes/adapta-kde { };
+
   aria2 = callPackage ../tools/networking/aria2 {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -1174,6 +1176,8 @@ with pkgs;
 
   duperemove = callPackage ../tools/filesystems/duperemove { };
 
+  dylibbundler = callPackage ../tools/misc/dylibbundler { };
+
   dynamic-colors = callPackage ../tools/misc/dynamic-colors { };
 
   dyncall = callPackage ../development/libraries/dyncall { };
@@ -1356,6 +1360,8 @@ with pkgs;
 
   meritous = callPackage ../games/meritous { };
 
+  opendune = callPackage ../games/opendune { };
+
   meson = callPackage ../development/tools/build-managers/meson { };
 
   metabase = callPackage ../servers/metabase { };
@@ -1864,23 +1870,25 @@ with pkgs;
   cron = callPackage ../tools/system/cron { };
 
   inherit (callPackages ../development/compilers/cudatoolkit { })
-    cudatoolkit6
-    cudatoolkit65
-    cudatoolkit7
-    cudatoolkit75
-    cudatoolkit8
-    cudatoolkit9;
+    cudatoolkit_6
+    cudatoolkit_6_5
+    cudatoolkit_7
+    cudatoolkit_7_5
+    cudatoolkit_8
+    cudatoolkit_9_0
+    cudatoolkit_9;
 
-  cudatoolkit = cudatoolkit9;
+  cudatoolkit = cudatoolkit_9;
 
   inherit (callPackages ../development/libraries/science/math/cudnn { })
-    cudnn_cudatoolkit7
-    cudnn_cudatoolkit75
-    cudnn6_cudatoolkit8
-    cudnn_cudatoolkit8
-    cudnn_cudatoolkit9;
+    cudnn_cudatoolkit_7
+    cudnn_cudatoolkit_7_5
+    cudnn6_cudatoolkit_8
+    cudnn_cudatoolkit_8
+    cudnn_cudatoolkit_9
+    cudnn_cudatoolkit_9_0;
 
-  cudnn = cudnn_cudatoolkit9;
+  cudnn = cudnn_cudatoolkit_9;
 
   curlFull = curl.override {
     idnSupport = true;
@@ -1889,6 +1897,15 @@ with pkgs;
     brotliSupport = true;
   };
 
+  curl_7_59 = callPackage ../tools/networking/curl/7_59.nix rec {
+    fetchurl = fetchurlBoot;
+    http2Support = true;
+    zlibSupport = true;
+    sslSupport = zlibSupport;
+    scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
+    gssSupport = true;
+  };
+
   curl = callPackage ../tools/networking/curl rec {
     fetchurl = fetchurlBoot;
     http2Support = true;
@@ -2146,7 +2163,7 @@ with pkgs;
 
   mcrcon = callPackage ../tools/networking/mcrcon {};
 
-  s-tar = callPackages ../tools/archivers/s-tar {};
+  s-tar = callPackage ../tools/archivers/s-tar {};
 
   tealdeer = callPackage ../tools/misc/tealdeer { };
 
@@ -2302,6 +2319,8 @@ with pkgs;
       protobuf = pkgs.protobuf.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
     };
 
+    table-extra = callPackage ../tools/inputmethods/fcitx-engines/fcitx-table-extra { };
+
     table-other = callPackage ../tools/inputmethods/fcitx-engines/fcitx-table-other { };
 
     cloudpinyin = callPackage ../tools/inputmethods/fcitx-engines/fcitx-cloudpinyin { };
@@ -3370,6 +3389,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  medfile = callPackage ../development/libraries/medfile {
+    hdf5 = hdf5_1_8;
+  };
+
   memtester = callPackage ../tools/system/memtester { };
 
   minergate = callPackage ../applications/misc/minergate { };
@@ -3914,10 +3937,10 @@ with pkgs;
   xnbd = callPackage ../tools/networking/xnbd { };
 
   inherit (callPackages ../development/libraries/science/math/nccl { })
-    nccl_cudatoolkit8
-    nccl_cudatoolkit9;
+    nccl_cudatoolkit_8
+    nccl_cudatoolkit_9;
 
-  nccl = nccl_cudatoolkit9;
+  nccl = nccl_cudatoolkit_9;
 
   ndjbdns = callPackage ../tools/networking/ndjbdns { };
 
@@ -4361,6 +4384,8 @@ with pkgs;
 
   pdf2odt = callPackage ../tools/typesetting/pdf2odt { };
 
+  pdf-redact-tools = callPackage ../tools/graphics/pdfredacttools { };
+
   pdf2svg = callPackage ../tools/graphics/pdf2svg { };
 
   fmodex = callPackage ../games/zandronum/fmod.nix { };
@@ -4402,6 +4427,8 @@ with pkgs;
 
   philter = callPackage ../tools/networking/philter { };
 
+  phodav = callPackage ../tools/networking/phodav { };
+
   pinentry = callPackage ../tools/security/pinentry {
     libcap = if stdenv.isDarwin then null else libcap;
   };
@@ -4911,6 +4938,8 @@ with pkgs;
 
   sharutils = callPackage ../tools/archivers/sharutils { };
 
+  schema2ldif = callPackage ../tools/text/schema2ldif { };
+
   shocco = callPackage ../tools/text/shocco { };
 
   shotwell = callPackage ../applications/graphics/shotwell { };
@@ -6121,7 +6150,7 @@ with pkgs;
 
   elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { });
 
-  adobe_flex_sdk = callPackage ../development/compilers/adobe-flex-sdk { };
+  apache-flex-sdk = callPackage ../development/compilers/apache-flex-sdk { };
 
   fpc = callPackage ../development/compilers/fpc { };
 
@@ -6784,6 +6813,8 @@ with pkgs;
 
   microscheme = callPackage ../development/compilers/microscheme { };
 
+  mint = callPackage ../development/compilers/mint { };
+
   mitscheme = callPackage ../development/compilers/mit-scheme {
    texLive = texlive.combine { inherit (texlive) scheme-small; };
    texinfo = texinfo5;
@@ -6875,6 +6906,8 @@ with pkgs;
     ocamlPackages = ocamlPackages_4_02;
   };
 
+  opaline = callPackage ../development/tools/ocaml/opaline { };
+
   opam = callPackage ../development/tools/ocaml/opam { };
 
   picat = callPackage ../development/compilers/picat {
@@ -7006,6 +7039,8 @@ with pkgs;
 
   bupc = callPackage ../development/compilers/bupc { };
 
+  urn = callPackage ../development/compilers/urn { };
+
   urweb = callPackage ../development/compilers/urweb { };
 
   inherit (callPackage ../development/compilers/vala { })
@@ -7136,7 +7171,13 @@ with pkgs;
 
   guile = guile_2_2;
 
-  hadoop = callPackage ../applications/networking/cluster/hadoop { };
+  inherit (callPackage ../applications/networking/cluster/hadoop { })
+    hadoop_2_7
+    hadoop_2_8
+    hadoop_2_9
+    hadoop_3_0
+    hadoop_3_1;
+  hadoop = hadoop_2_7;
 
   io = callPackage ../development/interpreters/io { };
 
@@ -7655,6 +7696,11 @@ with pkgs;
   bazel_0_4 = callPackage ../development/tools/build-managers/bazel/0.4.nix { };
   bazel = callPackage ../development/tools/build-managers/bazel { };
 
+  bazel-buildtools = callPackage ../development/tools/build-managers/bazel/buildtools { };
+  buildifier = bazel-buildtools;
+  buildozer = bazel-buildtools;
+  unused_deps = bazel-buildtools;
+
   buildBazelPackage = callPackage ../build-support/build-bazel-package { };
 
   bear = callPackage ../development/tools/build-managers/bear { };
@@ -7787,6 +7833,8 @@ with pkgs;
 
   ctodo = callPackage ../applications/misc/ctodo { };
 
+  ctmg = callPackage ../tools/security/ctmg { };
+
   cmake_2_8 = callPackage ../development/tools/build-managers/cmake/2.8.nix { };
 
   cmake = libsForQt5.callPackage ../development/tools/build-managers/cmake { };
@@ -8640,6 +8688,8 @@ with pkgs;
 
   buddy = callPackage ../development/libraries/buddy { };
 
+  bulletml = callPackage ../development/libraries/bulletml { };
+
   bwidget = callPackage ../development/libraries/bwidget { };
 
   bzrtp = callPackage ../development/libraries/bzrtp { };
@@ -9761,6 +9811,8 @@ with pkgs;
   libcec = callPackage ../development/libraries/libcec { };
   libcec_platform = callPackage ../development/libraries/libcec/platform.nix { };
 
+  libcef = callPackage ../development/libraries/libcef { inherit (gnome2) GConf; };
+
   libcello = callPackage ../development/libraries/libcello {};
 
   libcerf = callPackage ../development/libraries/libcerf {};
@@ -12597,6 +12649,8 @@ with pkgs;
 
   mlmmj = callPackage ../servers/mail/mlmmj { };
 
+  morty = callPackage ../servers/web-apps/morty { };
+
   myserver = callPackage ../servers/http/myserver { };
 
   nas = callPackage ../servers/nas { };
@@ -12763,7 +12817,8 @@ with pkgs;
 
   monitoring-plugins = callPackage ../servers/monitoring/plugins { };
 
-  inherit (callPackage ../servers/monitoring/plugins/labs_consol_de.nix { inherit (perlPackages) NetSNMP; })
+  inherit (callPackage ../servers/monitoring/plugins/labs_consol_de.nix { inherit (perlPackages) DBDsybase NetSNMP; })
+    check-mssql-health
     check-nwc-health
     check-ups-health;
 
@@ -12840,6 +12895,7 @@ with pkgs;
   prometheus-blackbox-exporter = callPackage ../servers/monitoring/prometheus/blackbox-exporter.nix { };
   prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { };
   prometheus-consul-exporter = callPackage ../servers/monitoring/prometheus/consul-exporter.nix { };
+  prometheus-dnsmasq-exporter = callPackage ../servers/monitoring/prometheus/dnsmasq-exporter.nix { };
   prometheus-dovecot-exporter = callPackage ../servers/monitoring/prometheus/dovecot-exporter.nix { };
   prometheus-fritzbox-exporter = callPackage ../servers/monitoring/prometheus/fritzbox-exporter.nix { };
   prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
@@ -13441,13 +13497,13 @@ with pkgs;
     ];
   };
 
-  linux_copperhead_stable = callPackage ../os-specific/linux/kernel/linux-copperhead-stable.nix {
-    kernelPatches = with kernelPatches; [
-      bridge_stp_helper
-      modinst_arg_list_too_long
-      tag_hardened
-    ];
-  };
+  linux_copperhead_stable = (linux_4_16.override {
+    kernelPatches = linux_4_16.kernelPatches ++ [
+      kernelPatches.copperhead_4_16
+      kernelPatches.tag_hardened
+     ];
+    modDirVersionArg = linux_4_16.modDirVersion + "-hardened";
+  });
 
   # linux mptcp is based on the 4.4 kernel
   linux_mptcp = callPackage ../os-specific/linux/kernel/linux-mptcp.nix {
@@ -13502,6 +13558,17 @@ with pkgs;
       ];
   };
 
+  linux_4_17 = callPackage ../os-specific/linux/kernel/linux-4.17.nix {
+    kernelPatches =
+      [ kernelPatches.bridge_stp_helper
+        # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
+        # when adding a new linux version
+        # kernelPatches.cpu-cgroup-v2."4.11"
+        kernelPatches.modinst_arg_list_too_long
+        kernelPatches.bcm2835_mmal_v4l2_camera_driver # Only needed for 4.16!
+      ];
+  };
+
   linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
@@ -13687,7 +13754,7 @@ with pkgs;
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
-  linuxPackages_latest = linuxPackages_4_16;
+  linuxPackages_latest = linuxPackages_4_17;
   linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
@@ -13698,6 +13765,7 @@ with pkgs;
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
   linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
   linuxPackages_4_16 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_16);
+  linuxPackages_4_17 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_17);
   # Don't forget to update linuxPackages_latest!
 
   # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
@@ -13847,9 +13915,6 @@ with pkgs;
   multipath-tools = callPackage ../os-specific/linux/multipath-tools { };
 
   musl = callPackage ../os-specific/linux/musl { };
-  musl-fts = callPackage ../os-specific/linux/musl/fts.nix { };
-  musl-getconf = callPackage ../os-specific/linux/musl/getconf.nix { };
-  musl-getent = callPackage ../os-specific/linux/musl/getent.nix { };
 
   nettools = if stdenv.isLinux then callPackage ../os-specific/linux/net-tools { }
              else unixtools.nettools;
@@ -13871,6 +13936,8 @@ with pkgs;
 
   dep = callPackage ../development/tools/dep { };
 
+  dep2nix = callPackage ../development/tools/dep2nix { };
+
   easyjson = callPackage ../development/tools/easyjson { };
 
   go-bindata = callPackage ../development/tools/go-bindata { };
@@ -13892,8 +13959,6 @@ with pkgs;
 
   golint = callPackage ../development/tools/golint { };
 
-  godep = callPackage ../development/tools/godep { };
-
   godef = callPackage ../development/tools/godef { };
 
   goimports = callPackage ../development/tools/goimports { };
@@ -14139,6 +14204,7 @@ with pkgs;
     ubootRaspberryPi2
     ubootRaspberryPi3_32bit
     ubootRaspberryPi3_64bit
+    ubootRaspberryPiZero
     ubootSheevaplug
     ubootSopine
     ubootUtilite
@@ -14898,7 +14964,6 @@ with pkgs;
   hevm = self.altcoins.hevm;
 
   parity = self.altcoins.parity;
-  parity-beta = self.altcoins.parity-beta;
   parity-ui = self.altcoins.parity-ui;
 
   stellar-core = self.altcoins.stellar-core;
@@ -14948,6 +15013,8 @@ with pkgs;
     ffmpeg = ffmpeg_1;
   };
 
+  barrier = callPackage ../applications/misc/barrier {};
+
   banshee = callPackage ../applications/audio/banshee {
     gconf = pkgs.gnome2.GConf;
     libgpod = pkgs.libgpod.override { monoSupport = true; };
@@ -15315,6 +15382,7 @@ with pkgs;
 
   docker-machine = callPackage ../applications/networking/cluster/docker-machine { };
   docker-machine-kvm = callPackage ../applications/networking/cluster/docker-machine/kvm.nix { };
+  docker-machine-kvm2 = callPackage ../applications/networking/cluster/docker-machine/kvm2.nix { };
   docker-machine-xhyve = callPackage ../applications/networking/cluster/docker-machine/xhyve.nix {
     inherit (darwin.apple_sdk.frameworks) Hypervisor vmnet;
   };
@@ -15953,7 +16021,7 @@ with pkgs;
 
   fomp = callPackage ../applications/audio/fomp { };
 
-  freecad = callPackage ../applications/graphics/freecad { };
+  freecad = callPackage ../applications/graphics/freecad { mpi = openmpi; };
 
   freemind = callPackage ../applications/misc/freemind { };
 
@@ -16082,6 +16150,8 @@ with pkgs;
 
   linssid = libsForQt5.callPackage ../applications/networking/linssid { };
 
+  m32edit = callPackage ../applications/audio/midas/m32edit.nix {};
+
   manuskript = callPackage ../applications/editors/manuskript { };
 
   manul = callPackage ../development/tools/manul { };
@@ -16229,6 +16299,7 @@ with pkgs;
   };
 
   hello = callPackage ../applications/misc/hello { };
+  hello-unfree = callPackage ../applications/misc/hello-unfree { };
 
   helmholtz = callPackage ../applications/audio/pd-plugins/helmholtz { };
 
@@ -16772,6 +16843,8 @@ with pkgs;
 
   makeself = callPackage ../applications/misc/makeself { };
 
+  mapmap = libsForQt5.callPackage ../applications/video/mapmap { };
+
   marathon = callPackage ../applications/networking/cluster/marathon { };
   marathonctl = callPackage ../tools/virtualization/marathonctl { } ;
 
@@ -17114,6 +17187,8 @@ with pkgs;
     inherit (gnome3) libgee;
   };
 
+  synapse-bt = callPackage ../applications/networking/p2p/synapse-bt { };
+
   synfigstudio = callPackage ../applications/graphics/synfigstudio {
     fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; };
     inherit (gnome3) defaultIconTheme;
@@ -17213,6 +17288,8 @@ with pkgs;
 
   oblogout = callPackage ../tools/X11/oblogout { };
 
+  obs-linuxbrowser = callPackage ../applications/video/obs-studio/linuxbrowser.nix { };
+
   obs-studio = libsForQt5.callPackage ../applications/video/obs-studio {
     alsaSupport = stdenv.isLinux;
     pulseaudioSupport = config.pulseaudio or true;
@@ -17478,6 +17555,8 @@ with pkgs;
 
   ptask = callPackage ../applications/misc/ptask { };
 
+  pulseaudio-ctl = callPackage ../applications/audio/pulseaudio-ctl { };
+
   pulseaudio-dlna = callPackage ../applications/audio/pulseaudio-dlna { };
 
   pulseview = libsForQt5.callPackage ../applications/science/electronics/pulseview { };
@@ -18008,7 +18087,7 @@ with pkgs;
       saslSupport = false;
       sasl = cyrus_sasl;
     })
-    subversion18 subversion19;
+    subversion18 subversion19 subversion_1_10;
 
   subversion = pkgs.subversion19;
 
@@ -18654,6 +18733,8 @@ with pkgs;
 
   x2vnc = callPackage ../tools/X11/x2vnc { };
 
+  x32edit = callPackage ../applications/audio/midas/x32edit.nix {};
+
   x42-plugins = callPackage ../applications/audio/x42-plugins { };
 
   xannotate = callPackage ../tools/X11/xannotate {};
@@ -18919,6 +19000,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  zeronet = callPackage ../applications/networking/p2p/zeronet { };
+
   zexy = callPackage ../applications/audio/pd-plugins/zexy  { };
 
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
@@ -19422,6 +19505,8 @@ with pkgs;
 
   rocksndiamonds = callPackage ../games/rocksndiamonds { };
 
+  rrootage = callPackage ../games/rrootage { };
+
   saga = callPackage ../applications/gis/saga { };
 
   samplv1 = callPackage ../applications/audio/samplv1 { };
@@ -20507,6 +20592,7 @@ with pkgs;
 
   vite = callPackage ../applications/science/misc/vite { };
 
+  xearth = callPackage ../applications/science/astronomy/xearth { };
   xplanet = callPackage ../applications/science/astronomy/xplanet { };
 
   ### SCIENCE / PHYSICS
@@ -20832,6 +20918,7 @@ with pkgs;
   inherit (callPackages ../tools/package-management/nix {
       storeDir = config.nix.storeDir or "/nix/store";
       stateDir = config.nix.stateDir or "/nix/var";
+      curl = curl_7_59;
       })
     nix
     nix1
@@ -21464,9 +21551,13 @@ with pkgs;
                       mount wall hostname more sysctl getconf
                       getent;
 
+  fts = if hostPlatform.isMusl then netbsd.fts else null;
+
   inherit (recurseIntoAttrs (callPackages ../os-specific/bsd { }))
           netbsd;
 
   yrd = callPackage ../tools/networking/yrd { };
 
+  powershell = callPackage ../shells/powershell { };
+
 }
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index ef7e6f4c5888..3bb84e7e3a0c 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -363,6 +363,8 @@ let
       then callPackage ../development/ocaml-modules/lambda-term { }
       else lambdaTerm-1_6;
 
+    linenoise = callPackage ../development/ocaml-modules/linenoise { };
+
     llvm = callPackage ../development/ocaml-modules/llvm {
       llvm = pkgs.llvm_39;
     };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index b89b8403dd22..687237db61ad 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -2905,7 +2905,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz";
       sha256 = "1q4b0fkdn4sh8ym9dig21w96p7kzrhq66lqhn0dy1l3pgx413zlc";
     };
-    doCheck = false;
+    propagatedBuildInputs = [ ArchiveExtract LogMessage ModulePluggable ObjectAccessor PackageConstants TermUI ];
     meta = {
       homepage = https://github.com/jib/cpanplus-devel;
       description = "Ameliorated interface to the CPAN";
@@ -4100,6 +4100,11 @@ let self = _self // overrides; _self = with self; {
     inherit (pkgs) postgresql;
   };
 
+  DBDsybase = import ../development/perl-modules/DBD-sybase {
+    inherit fetchurl buildPerlPackage DBI;
+    inherit (pkgs) freetds;
+  };
+
   DBFile = import ../development/perl-modules/DB_File {
     inherit fetchurl buildPerlPackage;
     inherit (pkgs) db;
@@ -5860,17 +5865,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileDesktopEntry = buildPerlPackage rec {
-    version = "0.04";
+    version = "0.22";
     name = "File-DesktopEntry-${version}";
-    configurePhase = ''
-      preConfigure || true
-      perl Build.PL PREFIX="$out" prefix="$out"
-    '';
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
-      sha256 = "d7f80d8bd303651a43dc1810c73740d38a0d2b158fb33cd3b6ca4d3a566da7cb";
+      url = mirror://cpan/authors/id/M/MI/MICHIELB/File-DesktopEntry-0.22.tar.gz;
+      sha256 = "169c01e3dae2f629767bec1a9f1cdbd6ec6d713d1501e0b2786e4dd1235635b8";
     };
-    propagatedBuildInputs = [ FileBaseDir ];
+    propagatedBuildInputs = [ FileBaseDir URI ];
   };
 
   FileFindIterator = buildPerlPackage {
@@ -6448,24 +6449,17 @@ let self = _self // overrides; _self = with self; {
   };
 
   GD = buildPerlPackage rec {
-    name = "GD-2.53";
+    name = "GD-2.68";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/L/LD/LDS/${name}.tar.gz";
-      sha256 = "1ampz82kf0ixybncfgpvq2bp9nq5sjsmmw4c8srsv0g5jpz02pfh";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/GD-2.68.tar.gz;
+      sha256 = "0p2ya641nl5cvcqgw829xgabh835qijfd6vq2ba12862946xx8va";
     };
 
-    buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm ];
-
-    # Patch needed to get arguments past the first GetOptions call
-    # and to specify libfontconfig search path.
-    # Patch has been sent upstream.
-    patches = [ ../development/perl-modules/gd-options-passthrough-and-fontconfig.patch ];
+    buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm ExtUtilsPkgConfig TestFork ];
 
     # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]"
     hardeningDisable = [ "format" ];
 
-    doCheck = false; # fails 1 out of 13 tests
-
     makeMakerFlags = "--lib_png_path=${pkgs.libpng.out} --lib_jpeg_path=${pkgs.libjpeg.out} --lib_zlib_path=${pkgs.zlib.out} --lib_ft_path=${pkgs.freetype.out} --lib_fontconfig_path=${pkgs.fontconfig.lib} --lib_xpm_path=${pkgs.xorg.libXpm.out}";
   };
 
@@ -6549,6 +6543,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Git = buildPerlPackage rec {
+    name = "Git-0.42";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSOUTH/${name}.tar.gz";
+      sha256 = "9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d";
+    };
+    propagatedBuildInputs = [ Error ];
+    meta = {
+      maintainers = [ maintainers.limeytexan ];
+      description = "This is the Git.pm, plus the other files in the perl/Git directory, from github's git/git";
+      license = stdenv.lib.licenses.free;
+    };
+  };
+
   GitPurePerl = buildPerlPackage rec {
     name = "Git-PurePerl-0.53";
     src = fetchurl {
@@ -8145,25 +8153,16 @@ let self = _self // overrides; _self = with self; {
      };
   };
 
-
   JSON = buildPerlPackage {
-    name = "JSON-2.90";
+    name = "JSON-2.97001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-2.90.tar.gz;
-      sha256 = "127yppvr17qik9pkd1vy901hs4l13kg6rhp76jdgcyask35v7nsd";
+      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-2.97001.tar.gz;
+      sha256 = "0nlgdzy40q26z8qhwngsd461glyai8dpwaccyhiljmrkaqwdjxz2";
     };
-    preConfigure = ''
-      cp lib/JSON/backportPP.pm{,orig}
-      echo "1;" > lib/JSON/backportPP.pm
-    '';
-    postConfigure = ''
-      cp lib/JSON/backportPP.pm{orig,}
-    '';
     meta = {
       description = "JSON (JavaScript Object Notation) encoder/decoder";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
-    doCheck = false;
   };
 
   JSONAny = buildPerlPackage {
@@ -8579,11 +8578,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ListBinarySearch = pkgs.buildPerlPackage {
-    name = "List-BinarySearch-0.20";
+  ListBinarySearch = buildPerlPackage {
+    name = "List-BinarySearch-0.25";
     src = pkgs.fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAVIDO/List-BinarySearch-0.20.tar.gz;
-      sha256 = "1piyl65m38bwqaap13wkgs033wiwb6m5zmr5va86ya4696cir7wd";
+      url = mirror://cpan/authors/id/D/DA/DAVIDO/List-BinarySearch-0.25.tar.gz;
+      sha256 = "0ap8y9rsjxg75887klgij90mf459f8dwy0dbx1g06h30pmqk04f8";
     };
   };
 
@@ -14477,17 +14476,16 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  SysVirt = buildPerlPackage rec {
-    version = "4.1.0";
+  SysVirt = buildPerlModule rec {
+    version = "4.4.0";
     name = "Sys-Virt-${version}";
     src = assert version == pkgs.libvirt.version; pkgs.fetchgit {
       url = git://libvirt.org/libvirt-perl.git;
       rev = "v${version}";
-      sha256 = "0m0snv6gqh97nh1c31qvbm4sdzp49vixn7w3r69h6a5r71sn78x4";
+      sha256 = "1swlbis7mk1dk36badyibi3s467vhrjii0hhvhbsn2n0l6wa49x6";
     };
-    propagatedBuildInputs = [XMLXPath];
     nativeBuildInputs = [ pkgs.pkgconfig ];
-    buildInputs = [TestPodCoverage TimeHiRes TestPod pkgs.libvirt];
+    buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
     meta = {
       platforms = stdenv.lib.platforms.linux;
     };
@@ -15288,6 +15286,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TestFork = buildPerlModule rec {
+    name = "Test-Fork-0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Fork-0.02.tar.gz;
+      sha256 = "0gnh8m81fdrwmzy1fix12grfq7sf7nn0gbf24zlap1gq4kxzpzpw";
+    };
+    meta = {
+      description = "test code which forks";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   TestHarness = buildPerlPackage {
     name = "Test-Harness-3.42";
     src = fetchurl {
@@ -17229,13 +17239,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   UnicodeString = buildPerlPackage rec {
-    name = "Unicode-String-2.09";
-    patches = [
-      ../development/perl-modules/Unicode-String-perl-5-22.patch
-    ];
+    name = "Unicode-String-2.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
-      sha256 = "1bgsaf3dgmlgyvi84r42ysc037mr5280amnypa4d98jfjpdvw5y8";
+      url = mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-2.10.tar.gz;
+      sha256 = "0s4vp8k7ag7z9lsnnkpa9mnch83kxhp9gh7yiapld5a7rq712jl9";
     };
   };
 
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index ebba6a2f5ceb..0aa78e3178d9 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -383,11 +383,11 @@ let
 
   php-cs-fixer = pkgs.stdenv.mkDerivation rec {
     name = "php-cs-fixer-${version}";
-    version = "2.11.1";
+    version = "2.12.0";
 
     src = pkgs.fetchurl {
       url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-      sha256 = "1270s5y7bgcml452lngq4fqn3a1mx15gfgmgcczjiiv0fxir446b";
+      sha256 = "1vz3s0hbqp1rzgrqfnr0jj5qds1jnw7kyhpl4qjlpd4s40x0n4b1";
     };
 
     phases = [ "installPhase" ];
@@ -443,11 +443,11 @@ let
 
   phpcs = pkgs.stdenv.mkDerivation rec {
     name = "phpcs-${version}";
-    version = "3.2.3";
+    version = "3.3.0";
 
     src = pkgs.fetchurl {
       url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar";
-      sha256 = "193axz56j1kyq458q0y38m99bx31jjjldfg6bv71vgm6zh4rvvs1";
+      sha256 = "1zl35vcq8dmspsj7ww338h30ah75dg91j6a1dy8avkzw5zljqi4h";
     };
 
     phases = [ "installPhase" ];
@@ -470,11 +470,11 @@ let
 
   phpcbf = pkgs.stdenv.mkDerivation rec {
     name = "phpcbf-${version}";
-    version = "3.2.3";
+    version = "3.3.0";
 
     src = pkgs.fetchurl {
       url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar";
-      sha256 = "00p0l01shxx1h6g26j2dbfrp9j7im541das4xps4wrsvc4h4da9l";
+      sha256 = "1ah065gzmr11njp1if5bc4b19f4izilqwr06m84yb7af18qr77ls";
     };
 
     phases = [ "installPhase" ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 0a230853087c..1f62f1e7c17f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -195,12 +195,16 @@ in {
     inherit (pkgs) augeas;
   };
 
+  autograd = callPackage ../development/python-modules/autograd { };
+
   automat = callPackage ../development/python-modules/automat { };
 
   aws-xray-sdk = callPackage ../development/python-modules/aws-xray-sdk { };
 
   # packages defined elsewhere
 
+  amazon_kclpy = callPackage ../development/python-modules/amazon_kclpy { };
+
   backports_csv = callPackage ../development/python-modules/backports_csv {};
 
   bap = callPackage ../development/python-modules/bap {
@@ -382,6 +386,10 @@ in {
     callPackage = pkgs.callPackage;
   };
 
+  pykdtree = callPackage ../development/python-modules/pykdtree {
+    inherit (pkgs.llvmPackages) openmp;
+  };
+
   pyparser = callPackage ../development/python-modules/pyparser { };
 
   pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
@@ -1199,8 +1207,8 @@ in {
   cufflinks = callPackage ../development/python-modules/cufflinks { };
 
   cupy = callPackage ../development/python-modules/cupy {
-    cudatoolkit = pkgs.cudatoolkit8;
-    cudnn = pkgs.cudnn6_cudatoolkit8;
+    cudatoolkit = pkgs.cudatoolkit_8;
+    cudnn = pkgs.cudnn6_cudatoolkit_8;
     nccl = pkgs.nccl;
   };
 
@@ -1246,6 +1254,8 @@ in {
 
   pyechonest = callPackage ../development/python-modules/pyechonest { };
 
+  pyezminc = callPackage ../development/python-modules/pyezminc { };
+
   billiard = callPackage ../development/python-modules/billiard { };
 
   binaryornot = callPackage ../development/python-modules/binaryornot { };
@@ -3968,7 +3978,7 @@ in {
   };
 
   pycuda = callPackage ../development/python-modules/pycuda rec {
-    cudatoolkit = pkgs.cudatoolkit75;
+    cudatoolkit = pkgs.cudatoolkit_7_5;
     inherit (pkgs.stdenv) mkDerivation;
   };
 
@@ -5600,14 +5610,14 @@ in {
     # https://github.com/pytorch/pytorch/issues/5831
     # https://devtalk.nvidia.com/default/topic/1028112
     # We should be able to remove this when CUDA 9.2 is released.
-    cudatoolkit9 = pkgs.cudatoolkit9.override {
+    cudatoolkit_9 = pkgs.cudatoolkit_9.override {
       gcc6 = pkgs.gcc5;
     };
   in callPackage ../development/python-modules/pytorch {
     cudaSupport = pkgs.config.cudaSupport or false;
-    cudatoolkit = cudatoolkit9;
-    cudnn = pkgs.cudnn_cudatoolkit9.override {
-      inherit cudatoolkit9;
+    cudatoolkit = cudatoolkit_9;
+    cudnn = pkgs.cudnn_cudatoolkit_9.override {
+      inherit cudatoolkit_9;
     };
   };
 
@@ -9882,6 +9892,8 @@ in {
     name = "${python.libPrefix}-${pkgs.kmsxx.name}";
   });
 
+  pvlib = callPackage ../development/python-modules/pvlib { };
+
   pybase64 = callPackage ../development/python-modules/pybase64 { };
 
   pylibconfig2 = callPackage ../development/python-modules/pylibconfig2 { };
@@ -12433,6 +12445,8 @@ in {
 
   typing = callPackage ../development/python-modules/typing { };
 
+  typing-extensions = callPackage ../development/python-modules/typing-extensions { };
+
   typeguard = callPackage ../development/python-modules/typeguard { };
 
   ruamel_yaml = buildPythonPackage rec {
@@ -17585,11 +17599,11 @@ EOF
   tensorflow =
     if stdenv.isDarwin
     then callPackage ../development/python-modules/tensorflow/bin.nix { }
-    else callPackage ../development/python-modules/tensorflow rec {
+    else callPackage ../development/python-modules/tensorflow/bin.nix rec {
       cudaSupport = pkgs.config.cudaSupport or false;
       inherit (pkgs.linuxPackages) nvidia_x11;
-      cudatoolkit = pkgs.cudatoolkit9;
-      cudnn = pkgs.cudnn_cudatoolkit9;
+      cudatoolkit = pkgs.cudatoolkit_9_0;
+      cudnn = pkgs.cudnn_cudatoolkit_9_0;
     };
 
   tensorflowWithoutCuda = self.tensorflow.override {
@@ -18129,6 +18143,8 @@ EOF
 
   voluptuous = callPackage ../development/python-modules/voluptuous { };
 
+  voluptuous-serialize = callPackage ../development/python-modules/voluptuous-serialize { };
+
   pysigset = callPackage ../development/python-modules/pysigset { };
 
   us = callPackage ../development/python-modules/us { };
diff --git a/pkgs/top-level/unix-tools.nix b/pkgs/top-level/unix-tools.nix
index c057aa45be6f..64979ba3234d 100644
--- a/pkgs/top-level/unix-tools.nix
+++ b/pkgs/top-level/unix-tools.nix
@@ -50,14 +50,14 @@ let
       linux = pkgs.utillinux;
     };
     getconf = {
-      linux = if hostPlatform.isMusl then pkgs.musl-getconf
-              else lib.getBin stdenv.cc.libc;
+      linux = if hostPlatform.libc == "glibc" then lib.getBin pkgs.glibc
+              else pkgs.netbsd.getconf;
       darwin = pkgs.darwin.system_cmds;
     };
     getent = {
-      linux = if hostPlatform.isMusl then pkgs.musl-getent
-              # This may not be right on other platforms, but preserves existing behavior
-              else /* if hostPlatform.libc == "glibc" then */ pkgs.glibc.bin;
+      linux = if hostPlatform.libc == "glibc" then lib.getBin pkgs.glibc
+              else pkgs.netbsd.getent;
+      darwin = pkgs.netbsd.getent;
     };
     getopt = {
       linux = pkgs.utillinux;