summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS8
-rw-r--r--lib/default.nix2
-rw-r--r--lib/systems/default.nix14
-rw-r--r--lib/systems/examples.nix5
-rw-r--r--lib/systems/parse.nix46
-rw-r--r--maintainers/maintainer-list.nix24
-rw-r--r--nixos/modules/installer/cd-dvd/system-tarball.nix2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/security/misc.nix24
-rw-r--r--nixos/modules/services/admin/oxidized.nix2
-rw-r--r--nixos/modules/services/amqp/rabbitmq.nix5
-rw-r--r--nixos/modules/services/audio/liquidsoap.nix7
-rw-r--r--nixos/modules/services/audio/mpd.nix10
-rw-r--r--nixos/modules/services/backup/automysqlbackup.nix115
-rw-r--r--nixos/modules/services/backup/mysql-backup.nix8
-rw-r--r--nixos/modules/services/backup/postgresql-backup.nix11
-rw-r--r--nixos/modules/services/cluster/kubernetes/addon-manager.nix2
-rw-r--r--nixos/modules/services/cluster/kubernetes/controller-manager.nix2
-rw-r--r--nixos/modules/services/cluster/kubernetes/flannel.nix2
-rw-r--r--nixos/modules/services/cluster/kubernetes/pki.nix2
-rw-r--r--nixos/modules/services/cluster/kubernetes/proxy.nix2
-rw-r--r--nixos/modules/services/cluster/kubernetes/scheduler.nix2
-rw-r--r--nixos/modules/services/databases/clickhouse.nix17
-rw-r--r--nixos/modules/services/databases/couchdb.nix21
-rw-r--r--nixos/modules/services/databases/influxdb.nix13
-rw-r--r--nixos/modules/services/databases/memcached.nix8
-rw-r--r--nixos/modules/services/databases/stanchion.nix20
-rw-r--r--nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix2
-rw-r--r--nixos/modules/services/hardware/bluetooth.nix2
-rw-r--r--nixos/modules/services/hardware/vdr.nix4
-rw-r--r--nixos/modules/services/mail/mailcatcher.nix2
-rw-r--r--nixos/modules/services/mail/nullmailer.nix6
-rw-r--r--nixos/modules/services/mail/offlineimap.nix2
-rw-r--r--nixos/modules/services/mail/rss2email.nix10
-rw-r--r--nixos/modules/services/misc/beanstalkd.nix2
-rw-r--r--nixos/modules/services/misc/etcd.nix10
-rw-r--r--nixos/modules/services/misc/jackett.nix13
-rw-r--r--nixos/modules/services/misc/lidarr.nix7
-rw-r--r--nixos/modules/services/misc/matrix-synapse.nix5
-rw-r--r--nixos/modules/services/misc/mesos-master.nix7
-rw-r--r--nixos/modules/services/misc/mesos-slave.nix7
-rw-r--r--nixos/modules/services/misc/radarr.nix13
-rw-r--r--nixos/modules/services/misc/sonarr.nix13
-rw-r--r--nixos/modules/services/misc/sssd.nix2
-rw-r--r--nixos/modules/services/misc/zookeeper.nix7
-rw-r--r--nixos/modules/services/monitoring/collectd.nix11
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix672
-rw-r--r--nixos/modules/services/network-filesystems/ipfs.nix14
-rw-r--r--nixos/modules/services/networking/i2pd.nix4
-rw-r--r--nixos/modules/services/networking/miredo.nix2
-rw-r--r--nixos/modules/services/networking/monero.nix2
-rw-r--r--nixos/modules/services/networking/mosquitto.nix4
-rw-r--r--nixos/modules/services/networking/mxisd.nix1
-rw-r--r--nixos/modules/services/networking/namecoind.nix3
-rw-r--r--nixos/modules/services/networking/nullidentdmod.nix2
-rw-r--r--nixos/modules/services/networking/smokeping.nix3
-rw-r--r--nixos/modules/services/networking/syncthing.nix1
-rw-r--r--nixos/modules/services/networking/toxvpn.nix2
-rw-r--r--nixos/modules/services/search/kibana.nix2
-rw-r--r--nixos/modules/services/search/solr.nix2
-rw-r--r--nixos/modules/services/security/munge.nix13
-rw-r--r--nixos/modules/services/security/vault.nix9
-rw-r--r--nixos/modules/services/torrent/peerflix.nix6
-rw-r--r--nixos/modules/services/web-apps/codimd.nix5
-rw-r--r--nixos/modules/services/web-apps/nexus.nix5
-rw-r--r--nixos/modules/services/web-servers/minio.nix13
-rw-r--r--nixos/modules/services/web-servers/traefik.nix10
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/maxx.nix6
-rw-r--r--nixos/modules/services/x11/display-managers/startx.nix4
-rw-r--r--nixos/modules/services/x11/display-managers/xpra.nix2
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh2
-rw-r--r--nixos/modules/system/boot/stage-1.nix2
-rw-r--r--nixos/modules/tasks/filesystems/btrfs.nix2
-rw-r--r--nixos/modules/virtualisation/ec2-amis.nix19
-rw-r--r--nixos/modules/virtualisation/virtualbox-image.nix5
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/automysqlbackup.nix34
-rw-r--r--pkgs/applications/altcoins/go-ethereum.nix22
-rw-r--r--pkgs/applications/audio/audio-recorder/default.nix4
-rw-r--r--pkgs/applications/audio/spotify/default.nix3
-rw-r--r--pkgs/applications/editors/android-studio/common.nix3
-rw-r--r--pkgs/applications/editors/android-studio/default.nix18
-rw-r--r--pkgs/applications/editors/emacs-modes/hsc3/default.nix4
-rw-r--r--pkgs/applications/editors/manuskript/default.nix4
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/graphics/apitrace/default.nix6
-rw-r--r--pkgs/applications/graphics/djview/default.nix2
-rw-r--r--pkgs/applications/graphics/gimp/default.nix2
-rw-r--r--pkgs/applications/graphics/unigine-valley/default.nix2
-rw-r--r--pkgs/applications/kde/default.nix1
-rw-r--r--pkgs/applications/kde/knotes.nix29
-rw-r--r--pkgs/applications/misc/calibre/default.nix6
-rw-r--r--pkgs/applications/misc/crumbs/default.nix33
-rw-r--r--pkgs/applications/misc/gnome-recipes/default.nix2
-rw-r--r--pkgs/applications/misc/guake/default.nix5
-rw-r--r--pkgs/applications/misc/hugo/default.nix4
-rw-r--r--pkgs/applications/misc/mako/default.nix19
-rw-r--r--pkgs/applications/misc/qtbitcointrader/default.nix4
-rw-r--r--pkgs/applications/misc/rofi/default.nix2
-rw-r--r--pkgs/applications/misc/rxvt_unicode/wrapper.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/data.nix136
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch8
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/bare.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/sky/default.nix86
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix10
-rw-r--r--pkgs/applications/office/gnucash/default.nix4
-rw-r--r--pkgs/applications/science/biology/exonerate/default.nix25
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/biology/prodigal/default.nix26
-rw-r--r--pkgs/applications/science/electronics/verilog/default.nix12
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix8
-rw-r--r--pkgs/applications/science/math/gap/default.nix27
-rw-r--r--pkgs/applications/science/math/sage/env-locations.nix1
-rw-r--r--pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch95
-rw-r--r--pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch26
-rw-r--r--pkgs/applications/science/math/sage/patches/giac-1.5.0.patch14
-rw-r--r--pkgs/applications/science/math/sage/patches/ignore-pip-deprecation.patch22
-rw-r--r--pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch71
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix96
-rw-r--r--pkgs/applications/science/math/sage/sagedoc.nix3
-rw-r--r--pkgs/applications/science/math/sage/sagelib.nix4
-rw-r--r--pkgs/applications/science/programming/groove/default.nix54
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix25
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-ignore/default.nix18
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/video/wf-recorder/default.nix10
-rw-r--r--pkgs/applications/virtualization/firecracker/default.nix6
-rw-r--r--pkgs/applications/window-managers/i3/easyfocus.nix10
-rw-r--r--pkgs/build-support/appimage/default.nix13
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix2
-rw-r--r--pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix2170
-rw-r--r--pkgs/build-support/rust/cargo-vendor/default.nix6
-rw-r--r--pkgs/build-support/rust/crates-io.nix3943
-rw-r--r--pkgs/build-support/rust/default-crate-overrides.nix15
-rw-r--r--pkgs/build-support/trivial-builders.nix4
-rw-r--r--pkgs/build-support/writers/default.nix4
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--pkgs/data/fonts/siji/default.nix8
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/themes/materia-theme/default.nix4
-rw-r--r--pkgs/data/themes/nordic-polar/default.nix10
-rw-r--r--pkgs/data/themes/nordic/default.nix10
-rw-r--r--pkgs/data/themes/plata/default.nix4
-rw-r--r--pkgs/desktops/enlightenment/terminology.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch38
-rw-r--r--pkgs/desktops/gnome-3/core/rygel/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/extensions/icon-hider/default.nix9
-rw-r--r--pkgs/desktops/lxqt/default.nix2
-rw-r--r--pkgs/desktops/lxqt/lxqt-archiver/default.nix40
-rw-r--r--pkgs/desktops/mate/marco/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-applets/default.nix4
-rw-r--r--pkgs/desktops/maxx/default.nix57
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-music/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-photos/default.nix12
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-photos/fix-missing-line.patch21
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix18
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch63
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix8
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix2
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix2
-rwxr-xr-xpkgs/development/beam-modules/mix-bootstrap2
-rw-r--r--pkgs/development/compilers/binaryen/default.nix6
-rw-r--r--pkgs/development/compilers/emscripten/default.nix6
-rw-r--r--pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix10
-rw-r--r--pkgs/development/compilers/fasm/bin.nix4
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix6
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix16
-rw-r--r--pkgs/development/compilers/rust/rustc.nix4
-rw-r--r--pkgs/development/compilers/yosys/default.nix10
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix2
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix2
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/joker/default.nix4
-rw-r--r--pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--pkgs/development/interpreters/python/default.nix10
-rw-r--r--pkgs/development/interpreters/python/pypy/default.nix3
-rw-r--r--pkgs/development/interpreters/ruby/default.nix6
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix2
-rw-r--r--pkgs/development/interpreters/spidermonkey/52.nix8
-rw-r--r--pkgs/development/libraries/SDL2_ttf/default.nix4
-rw-r--r--pkgs/development/libraries/abseil-cpp/default.nix24
-rw-r--r--pkgs/development/libraries/agda/agda-stdlib/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-event-stream/default.nix4
-rw-r--r--pkgs/development/libraries/cairo/default.nix1
-rw-r--r--pkgs/development/libraries/cimg/default.nix4
-rw-r--r--pkgs/development/libraries/curlpp/default.nix23
-rw-r--r--pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--pkgs/development/libraries/glibmm/default.nix4
-rw-r--r--pkgs/development/libraries/graphene-hardened-malloc/default.nix55
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/http-parser/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kservice/qdiriterator-follow-symlinks.patch14
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix632
-rw-r--r--pkgs/development/libraries/lib3mf/default.nix3
-rw-r--r--pkgs/development/libraries/libidn2/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--pkgs/development/libraries/libopus/default.nix4
-rw-r--r--pkgs/development/libraries/libpipeline/default.nix4
-rw-r--r--pkgs/development/libraries/librsvg/default.nix4
-rw-r--r--pkgs/development/libraries/libsecret/default.nix4
-rw-r--r--pkgs/development/libraries/libsodium/default.nix4
-rw-r--r--pkgs/development/libraries/libssh/default.nix4
-rw-r--r--pkgs/development/libraries/libssh2/default.nix4
-rw-r--r--pkgs/development/libraries/liburing/default.nix40
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/ndpi/default.nix4
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/openjpeg/2.x.nix18
-rw-r--r--pkgs/development/libraries/openldap/default.nix4
-rw-r--r--pkgs/development/libraries/pcre/default.nix4
-rw-r--r--pkgs/development/libraries/phonon/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/or-tools/default.nix32
-rw-r--r--pkgs/development/libraries/science/math/or-tools/gflags-include.patch12
-rw-r--r--pkgs/development/libraries/vaapi-intel/default.nix9
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/cohttp/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/cohttp/lwt.nix4
-rw-r--r--pkgs/development/ocaml-modules/uri/default.nix31
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix10
-rw-r--r--pkgs/development/python-modules/canmatrix/default.nix44
-rw-r--r--pkgs/development/python-modules/cysignals/default.nix9
-rw-r--r--pkgs/development/python-modules/docutils/default.nix2
-rw-r--r--pkgs/development/python-modules/execnet/default.nix5
-rw-r--r--pkgs/development/python-modules/gmpy2/default.nix31
-rw-r--r--pkgs/development/python-modules/intake/default.nix9
-rw-r--r--pkgs/development/python-modules/kaptan/default.nix6
-rw-r--r--pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix2
-rw-r--r--pkgs/development/python-modules/mock/default.nix6
-rw-r--r--pkgs/development/python-modules/moviepy/default.nix27
-rw-r--r--pkgs/development/python-modules/mt-940/default.nix27
-rw-r--r--pkgs/development/python-modules/numpy/default.nix3
-rw-r--r--pkgs/development/python-modules/parse/default.nix4
-rw-r--r--pkgs/development/python-modules/pplpy/default.nix64
-rw-r--r--pkgs/development/python-modules/proglog/default.nix19
-rw-r--r--pkgs/development/python-modules/pyasn1-modules/default.nix1
-rw-r--r--pkgs/development/python-modules/pycdio/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptopp/default.nix3
-rw-r--r--pkgs/development/python-modules/pyramid_chameleon/default.nix5
-rw-r--r--pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch11
-rw-r--r--pkgs/development/python-modules/pytest-shutil/default.nix4
-rw-r--r--pkgs/development/python-modules/pytoml/default.nix22
-rw-r--r--pkgs/development/python-modules/pyyaml/default.nix15
-rw-r--r--pkgs/development/python-modules/snscrape/default.nix4
-rw-r--r--pkgs/development/python-modules/typing/default.nix5
-rw-r--r--pkgs/development/python-modules/werkzeug/default.nix7
-rw-r--r--pkgs/development/python-modules/zfec/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix7
-rw-r--r--pkgs/development/tools/glslviewer/default.nix6
-rw-r--r--pkgs/development/tools/icestorm/default.nix6
-rw-r--r--pkgs/development/tools/remarshal/default.nix10
-rw-r--r--pkgs/development/tools/rust/cargo-bloat/default.nix24
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix8
-rw-r--r--pkgs/development/tools/trellis/default.nix6
-rw-r--r--pkgs/games/brogue/default.nix15
-rw-r--r--pkgs/games/factorio/default.nix4
-rw-r--r--pkgs/games/hyperrogue/default.nix29
-rw-r--r--pkgs/games/riko4/default.nix68
-rw-r--r--pkgs/games/steam/runtime-generated.nix974
-rwxr-xr-xpkgs/games/steam/update-runtime.py36
-rw-r--r--pkgs/games/super-tux-kart/default.nix23
-rw-r--r--pkgs/games/teeworlds/default.nix7
-rw-r--r--pkgs/misc/base16-shell-preview/default.nix23
-rw-r--r--pkgs/misc/cups/default.nix4
-rw-r--r--pkgs/misc/cups/filters.nix4
-rw-r--r--pkgs/misc/emulators/dosbox/default.nix8
-rw-r--r--pkgs/misc/emulators/vbam/default.nix4
-rw-r--r--pkgs/misc/screensavers/light-locker/default.nix71
-rw-r--r--pkgs/misc/themes/equilux-theme/default.nix4
-rw-r--r--pkgs/misc/vim-plugins/generated.nix279
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix4
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names7
-rw-r--r--pkgs/os-specific/darwin/osxfuse/default.nix49
-rw-r--r--pkgs/os-specific/linux/audit/default.nix6
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kexectools/default.nix4
-rw-r--r--pkgs/os-specific/linux/pam/default.nix13
-rw-r--r--pkgs/os-specific/linux/pam/musl-fix-pam_exec.patch33
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix8
-rw-r--r--pkgs/os-specific/linux/udisks/1-default.nix2
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix2
-rw-r--r--pkgs/servers/asterisk/runtime-vardirs.patch2
-rw-r--r--pkgs/servers/dict/libmaa.nix2
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/hylafaxplus/default.nix4
-rw-r--r--pkgs/servers/jellyfin/default.nix6
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/servers/mail/rspamd/default.nix2
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/shells/bash/bash-5.0-patches.nix5
-rw-r--r--pkgs/shells/zsh/nix-zsh-completions/default.nix4
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/stdenv/default.nix6
-rw-r--r--pkgs/stdenv/linux/default.nix14
-rw-r--r--pkgs/tools/admin/awscli/default.nix7
-rw-r--r--pkgs/tools/archivers/gnutar/default.nix4
-rw-r--r--pkgs/tools/backup/automysqlbackup/default.nix32
-rw-r--r--pkgs/tools/backup/bareos/default.nix4
-rw-r--r--pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--pkgs/tools/compression/dejsonlz4/default.nix28
-rw-r--r--pkgs/tools/graphics/gifsicle/default.nix8
-rw-r--r--pkgs/tools/graphics/wallutils/default.nix34
-rw-r--r--pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch25
-rw-r--r--pkgs/tools/misc/ffsend/default.nix8
-rw-r--r--pkgs/tools/misc/fontforge/default.nix35
-rw-r--r--pkgs/tools/misc/fontforge/fontforge-20140813-use-system-uthash.patch3
-rw-r--r--pkgs/tools/misc/fontforge/fontforge-fonttools.nix33
-rw-r--r--pkgs/tools/misc/fwup/default.nix4
-rw-r--r--pkgs/tools/misc/lf/default.nix15
-rw-r--r--pkgs/tools/misc/lf/deps.nix20
-rw-r--r--pkgs/tools/misc/mandoc/default.nix4
-rw-r--r--pkgs/tools/misc/mimeo/default.nix4
-rw-r--r--pkgs/tools/misc/pubs/default.nix17
-rw-r--r--pkgs/tools/misc/timidity/timidity.cfg4
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/dhcp/default.nix10
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix5
-rw-r--r--pkgs/tools/networking/network-manager/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager/hardcode-gsettings.patch32
-rw-r--r--pkgs/tools/networking/openfortivpn/default.nix4
-rw-r--r--pkgs/tools/networking/shadowfox/default.nix13
-rw-r--r--pkgs/tools/networking/shadowfox/deps.nix75
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/networking/wicd/wpa2-ttls2
-rw-r--r--pkgs/tools/package-management/appimage-run/default.nix10
-rw-r--r--pkgs/tools/security/aws-okta/default.nix11
-rw-r--r--pkgs/tools/security/aws-okta/deps.nix29
-rw-r--r--pkgs/tools/security/chipsec/default.nix40
-rw-r--r--pkgs/tools/security/pcsclite/default.nix4
-rw-r--r--pkgs/tools/security/pinentry/default.nix6
-rw-r--r--pkgs/tools/security/sops/default.nix8
-rw-r--r--pkgs/tools/system/acpica-tools/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix52
-rw-r--r--pkgs/top-level/impure.nix4
-rw-r--r--pkgs/top-level/ocaml-packages.nix10
-rw-r--r--pkgs/top-level/perl-packages.nix37
-rw-r--r--pkgs/top-level/php-packages.nix47
-rw-r--r--pkgs/top-level/python-packages.nix9
-rw-r--r--pkgs/top-level/release-cross.nix1
381 files changed, 8880 insertions, 4132 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index a6a07deae49..ba6a3501e38 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -122,6 +122,14 @@
 /nixos/modules/services/databases/postgresql.nix @thoughtpolice
 /nixos/tests/postgresql.nix @thoughtpolice
 
+# Hardened profile & related modules
+/nixos/modules/profiles/hardened.nix @joachifm
+/nixos/modules/security/hidepid.nix @joachifm
+/nixos/modules/security/lock-kernel-modules.nix @joachifm
+/nixos/modules/security/misc.nix @joachifm
+/nixos/tests/hardened.nix @joachifm
+/pkgs/os-specific/linux/kernel/hardened-config.nix @joachifm
+
 # Dhall
 /pkgs/development/dhall-modules      @Gabriel439 @Profpatsch
 /pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch
diff --git a/lib/default.nix b/lib/default.nix
index 688c117d52b..8735b647679 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -81,7 +81,7 @@ let
       intersperse concatStringsSep concatMapStringsSep
       concatImapStringsSep makeSearchPath makeSearchPathOutput
       makeLibraryPath makeBinPath optionalString
-      hasPrefix hasSuffix stringToCharacters stringAsChars escape
+      hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
       escapeShellArg escapeShellArgs replaceChars lowerChars
       upperChars toLower toUpper addContextFrom splitString
       removePrefix removeSuffix versionOlder versionAtLeast getVersion
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 52b9bd46e60..b45a5fd8d2b 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -72,16 +72,22 @@ rec {
          release = null;
       };
 
+      kernelArch =
+        if final.isAarch32 then "arm"
+        else if final.isAarch64 then "arm64"
+        else if final.isx86_32 then "x86"
+        else if final.isx86_64 then "ia64"
+        else final.parsed.cpu.name;
+
       qemuArch =
         if final.isArm then "arm"
         else if final.isx86_64 then "x86_64"
         else if final.isx86 then "i386"
         else {
           "powerpc" = "ppc";
+          "powerpcle" = "ppc";
           "powerpc64" = "ppc64";
-          "powerpc64le" = "ppc64";
-          "mips64" = "mips";
-          "mipsel64" = "mipsel";
+          "powerpc64le" = "ppc64le";
         }.${final.parsed.cpu.name} or final.parsed.cpu.name;
 
       emulator = pkgs: let
@@ -103,7 +109,7 @@ rec {
       in
         if final.parsed.kernel.name == pkgs.stdenv.hostPlatform.parsed.kernel.name &&
            pkgs.stdenv.hostPlatform.isCompatible final
-        then "${pkgs.runtimeShell} -c"
+        then "${pkgs.runtimeShell} -c '\"$@\"' --"
         else if final.isWindows
         then "${wine}/bin/${wine-name}"
         else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 3e90c5ec227..1a5b80449bf 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -131,11 +131,6 @@ rec {
     config = "powerpcle-none-eabi";
     libc = "newlib";
   };
-  
-  alpha-embedded = {
-    config = "alpha-elf";
-    libc = "newlib";
-  };
 
   i686-embedded = {
     config = "i686-elf";
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 8cc7d3ae271..3e23a721f0d 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -127,22 +127,42 @@ rec {
     (b == i386 && isCompatible a i486)
     (b == i486 && isCompatible a i586)
     (b == i586 && isCompatible a i686)
-    # NOTE: Not true in some cases. Like in WSL mode.
+
+    # XXX: Not true in some cases. Like in WSL mode.
     (b == i686 && isCompatible a x86_64)
 
-    # ARM
+    # ARMv4
     (b == arm && isCompatible a armv5tel)
-    (b == armv5tel && isCompatible a armv6m)
-    (b == armv6m && isCompatible a armv6l)
-    (b == armv6l && isCompatible a armv7a)
-    (b == armv7a && isCompatible a armv7r)
-    (b == armv7r && isCompatible a armv7m)
-    (b == armv7m && isCompatible a armv7l)
-    (b == armv7l && isCompatible a armv8a)
-    (b == armv8a && isCompatible a armv8r)
-    (b == armv8r && isCompatible a armv8m)
-    # NOTE: not always true! Some arm64 cpus don’t support arm32 mode.
-    (b == armv8m && isCompatible a aarch64)
+
+    # ARMv5
+    (b == armv5tel && isCompatible a armv6l)
+
+    # ARMv6
+    (b == armv6l && isCompatible a armv6m)
+    (b == armv6m && isCompatible a armv7l)
+
+    # ARMv7
+    (b == armv7l && isCompatible a armv7a)
+    (b == armv7l && isCompatible a armv7r)
+    (b == armv7l && isCompatible a armv7m)
+    (b == armv7a && isCompatible a armv8a)
+    (b == armv7r && isCompatible a armv8a)
+    (b == armv7m && isCompatible a armv8a)
+    (b == armv7a && isCompatible a armv8r)
+    (b == armv7r && isCompatible a armv8r)
+    (b == armv7m && isCompatible a armv8r)
+    (b == armv7a && isCompatible a armv8m)
+    (b == armv7r && isCompatible a armv8m)
+    (b == armv7m && isCompatible a armv8m)
+
+    # ARMv8
+    (b == armv8r && isCompatible a armv8a)
+    (b == armv8m && isCompatible a armv8a)
+
+    # XXX: not always true! Some arm64 cpus don’t support arm32 mode.
+    (b == aarch64 && a == armv8a)
+    (b == armv8a && isCompatible a aarch64)
+
     (b == aarch64 && a == aarch64_be)
     (b == aarch64_be && isCompatible a aarch64)
 
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index de8d00f9433..b9c5580ddb2 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -365,6 +365,11 @@
     github = "ankhers";
     name = "Justin Wood";
   };
+  anton-dessiatov = {
+    email = "anton.dessiatov@gmail.com";
+    github = "anton-dessiatov";
+    name = "Anton Desyatov";
+  };
   Anton-Latukha = {
     email = "anton.latuka+nixpkgs@gmail.com";
     github = "Anton-Latukha";
@@ -2172,6 +2177,11 @@
     github = "jbgi";
     name = "Jean-Baptiste Giraudeau";
   };
+  jchw = {
+    email = "johnwchadwick@gmail.com";
+    github = "jchv";
+    name = "John Chadwick";
+  };
   jcumming = {
     email = "jack@mudshark.org";
     name = "Jack Cummings";
@@ -4031,6 +4041,11 @@
     github = "renatoGarcia";
     name = "Renato Garcia";
   };
+  rencire = {
+    email = "546296+rencire@users.noreply.github.com";
+    github = "rencire";
+    name = "Eric Ren";
+  };
   renzo = {
     email = "renzocarbonara@gmail.com";
     github = "k0001";
@@ -4823,6 +4838,15 @@
     github = "the-kenny";
     name = "Moritz Ulrich";
   };
+  thesola10 = {
+    email = "thesola10@bobile.fr";
+    github = "thesola10";
+    keys = [{
+      longkeyid = "rsa4096/0x89245619BEBB95BA";
+      fingerprint = "1D05 13A6 1AC4 0D8D C6D6  5F2C 8924 5619 BEBB 95BA";
+    }];
+    name = "Karim Vergnes";
+  };
   theuni = {
     email = "ct@flyingcircus.io";
     github = "ctheune";
diff --git a/nixos/modules/installer/cd-dvd/system-tarball.nix b/nixos/modules/installer/cd-dvd/system-tarball.nix
index e72d4a5b491..b84096861f5 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball.nix
@@ -68,7 +68,7 @@ in
 
     # Create the tarball
     system.build.tarball = import ../../../lib/make-system-tarball.nix {
-      inherit (pkgs) stdenv perl xz pathsFromGraph;
+      inherit (pkgs) stdenv closureInfo pixz;
 
       inherit (config.tarball) contents storeContents;
     };
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index c97e9f01ad7..ba61ac364b1 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -188,6 +188,7 @@
   ./services/audio/snapserver.nix
   ./services/audio/squeezelite.nix
   ./services/audio/ympd.nix
+  ./services/backup/automysqlbackup.nix
   ./services/backup/bacula.nix
   ./services/backup/borgbackup.nix
   ./services/backup/duplicati.nix
diff --git a/nixos/modules/security/misc.nix b/nixos/modules/security/misc.nix
index 4506a67487d..ecf22bf81c5 100644
--- a/nixos/modules/security/misc.nix
+++ b/nixos/modules/security/misc.nix
@@ -12,14 +12,24 @@ with lib;
       type = types.bool;
       default = true;
       description = ''
-        Whether to allow creation of user namespaces.  A recurring problem
-        with user namespaces is the presence of code paths where the kernel's
-        permission checking logic fails to account for namespacing, instead
-        permitting a namespaced process to act outside the namespace with the
-        same privileges as it would have inside it.  This is particularly
+        Whether to allow creation of user namespaces.
+        </para>
+
+        <para>
+        The motivation for disabling user namespaces is the potential
+        presence of code paths where the kernel's permission checking
+        logic fails to account for namespacing, instead permitting a
+        namespaced process to act outside the namespace with the same
+        privileges as it would have inside it.  This is particularly
         damaging in the common case of running as root within the namespace.
-        When user namespace creation is disallowed, attempting to create
-        a user namespace fails with "no space left on device" (ENOSPC).
+        </para>
+
+        <para>
+        When user namespace creation is disallowed, attempting to create a
+        user namespace fails with "no space left on device" (ENOSPC).
+        root may re-enable user namespace creation at runtime.
+        </para>
+        <para>
       '';
     };
 
diff --git a/nixos/modules/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix
index 70f7dd9e364..687cdfb5ba5 100644
--- a/nixos/modules/services/admin/oxidized.nix
+++ b/nixos/modules/services/admin/oxidized.nix
@@ -7,7 +7,7 @@ let
 in
 {
   options.services.oxidized = {
-    enable = mkEnableOption "the oxidized configuation backup service.";
+    enable = mkEnableOption "the oxidized configuration backup service";
 
     user = mkOption {
       type = types.str;
diff --git a/nixos/modules/services/amqp/rabbitmq.nix b/nixos/modules/services/amqp/rabbitmq.nix
index 7373be2a9b0..302b94de196 100644
--- a/nixos/modules/services/amqp/rabbitmq.nix
+++ b/nixos/modules/services/amqp/rabbitmq.nix
@@ -179,11 +179,11 @@ in {
       } //  optionalAttrs (cfg.config != "") { RABBITMQ_ADVANCED_CONFIG_FILE = advanced_config_file; };
 
       serviceConfig = {
-        PermissionsStartOnly = true; # preStart must be run as root
         ExecStart = "${cfg.package}/sbin/rabbitmq-server";
         ExecStop = "${cfg.package}/sbin/rabbitmqctl shutdown";
         User = "rabbitmq";
         Group = "rabbitmq";
+        LogsDirectory = "rabbitmq";
         WorkingDirectory = cfg.dataDir;
         Type = "notify";
         NotifyAccess = "all";
@@ -197,11 +197,8 @@ in {
       preStart = ''
         ${optionalString (cfg.cookie != "") ''
             echo -n ${cfg.cookie} > ${cfg.dataDir}/.erlang.cookie
-            chown rabbitmq:rabbitmq ${cfg.dataDir}/.erlang.cookie
             chmod 600 ${cfg.dataDir}/.erlang.cookie
         ''}
-        mkdir -p /var/log/rabbitmq
-        chown rabbitmq:rabbitmq /var/log/rabbitmq
       '';
     };
 
diff --git a/nixos/modules/services/audio/liquidsoap.nix b/nixos/modules/services/audio/liquidsoap.nix
index 66f84ef2076..3a047d10a63 100644
--- a/nixos/modules/services/audio/liquidsoap.nix
+++ b/nixos/modules/services/audio/liquidsoap.nix
@@ -14,15 +14,10 @@ let
         description = "${name} liquidsoap stream";
         wantedBy = [ "multi-user.target" ];
         path = [ pkgs.wget ];
-        preStart =
-          ''
-            mkdir -p /var/log/liquidsoap
-            chown liquidsoap -R /var/log/liquidsoap
-          '';
         serviceConfig = {
-          PermissionsStartOnly="true";
           ExecStart = "${pkgs.liquidsoap}/bin/liquidsoap ${stream}";
           User = "liquidsoap";
+          LogsDirectory = "liquidsoap";
         };
       };
     };
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index 5bfe2b6a22a..0df8f9688d2 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -158,18 +158,18 @@ in {
       };
     };
 
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -"
+      "d '${cfg.playlistDirectory}' - ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.mpd = {
       after = [ "network.target" "sound.target" ];
       description = "Music Player Daemon";
       wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target";
 
-      preStart = ''
-        mkdir -p "${cfg.dataDir}" && chown -R ${cfg.user}:${cfg.group} "${cfg.dataDir}"
-        mkdir -p "${cfg.playlistDirectory}" && chown -R ${cfg.user}:${cfg.group} "${cfg.playlistDirectory}"
-      '';
       serviceConfig = {
         User = "${cfg.user}";
-        PermissionsStartOnly = true;
         ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon ${mpdConf}";
         Type = "notify";
         LimitRTPRIO = 50;
diff --git a/nixos/modules/services/backup/automysqlbackup.nix b/nixos/modules/services/backup/automysqlbackup.nix
new file mode 100644
index 00000000000..b845f370fb7
--- /dev/null
+++ b/nixos/modules/services/backup/automysqlbackup.nix
@@ -0,0 +1,115 @@
+{ config, lib, pkgs, ... }:
+
+let
+
+  inherit (lib) concatMapStringsSep concatStringsSep isInt isList literalExample;
+  inherit (lib) mapAttrs mapAttrsToList mkDefault mkEnableOption mkIf mkOption optional types;
+
+  cfg = config.services.automysqlbackup;
+  pkg = pkgs.automysqlbackup;
+  user = "automysqlbackup";
+  group = "automysqlbackup";
+
+  toStr = val:
+    if isList val then "( ${concatMapStringsSep " " (val: "'${val}'") val} )"
+    else if isInt val then toString val
+    else if true == val then "'yes'"
+    else if false == val then "'no'"
+    else "'${toString val}'";
+
+  configFile = pkgs.writeText "automysqlbackup.conf" ''
+    #version=${pkg.version}
+    # DONT'T REMOVE THE PREVIOUS VERSION LINE!
+    #
+    ${concatStringsSep "\n" (mapAttrsToList (name: value: "CONFIG_${name}=${toStr value}") cfg.config)}
+  '';
+
+in
+{
+  # interface
+  options = {
+    services.automysqlbackup = {
+
+      enable = mkEnableOption "AutoMySQLBackup";
+
+      calendar = mkOption {
+        type = types.str;
+        default = "01:15:00";
+        description = ''
+          Configured when to run the backup service systemd unit (DayOfWeek Year-Month-Day Hour:Minute:Second).
+        '';
+      };
+
+      config = mkOption {
+        type = with types; attrsOf (either (either str (either int bool)) (listOf str));
+        default = {};
+        description = ''
+          automysqlbackup configuration. Refer to
+          <filename>''${pkgs.automysqlbackup}/etc/automysqlbackup.conf</filename>
+          for details on supported values.
+        '';
+        example = literalExample ''
+          {
+            db_names = [ "nextcloud" "matomo" ];
+            table_exclude = [ "nextcloud.oc_users" "nextcloud.oc_whats_new" ];
+            mailcontent = "log";
+            mail_address = "admin@example.org";
+          }
+        '';
+      };
+
+    };
+  };
+
+  # implementation
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = !config.services.mysqlBackup.enable;
+        message = "Please choose one of services.mysqlBackup or services.automysqlbackup.";
+      }
+    ];
+
+    services.automysqlbackup.config = mapAttrs (name: mkDefault) {
+      mysql_dump_username = user;
+      mysql_dump_host = "localhost";
+      backup_dir = "/var/backup/mysql";
+      db_exclude = [ "information_schema" "performance_schema" ];
+      mailcontent = "stdout";
+      mysql_dump_single_transaction = true;
+    };
+
+    systemd.timers.automysqlbackup = {
+      description = "automysqlbackup timer";
+      wantedBy = [ "timers.target" ];
+      timerConfig = {
+        OnCalendar = cfg.calendar;
+        AccuracySec = "5m";
+      };
+    };
+
+    systemd.services.automysqlbackup = {
+      description = "automysqlbackup service";
+      serviceConfig = {
+        User = user;
+        Group = group;
+        ExecStart = "${pkg}/bin/automysqlbackup ${configFile}";
+      };
+    };
+
+    environment.systemPackages = [ pkg ];
+
+    users.users.${user}.group = group;
+    users.groups.${group} = { };
+
+    systemd.tmpfiles.rules = [
+      "d '${cfg.config.backup_dir}' 0750 ${user} ${group} - -"
+    ];
+
+    services.mysql.ensureUsers = optional (config.services.mysql.enable && cfg.config.mysql_dump_host == "localhost") {
+      name = user;
+      ensurePermissions = { "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES"; };
+    };
+
+  };
+}
diff --git a/nixos/modules/services/backup/mysql-backup.nix b/nixos/modules/services/backup/mysql-backup.nix
index f0c273ffebf..ba6e154f6b3 100644
--- a/nixos/modules/services/backup/mysql-backup.nix
+++ b/nixos/modules/services/backup/mysql-backup.nix
@@ -117,14 +117,12 @@ in
         enable = true;
         serviceConfig = {
           User = cfg.user;
-          PermissionsStartOnly = true;
         };
-        preStart = ''
-          mkdir -m 0700 -p ${cfg.location}
-          chown -R ${cfg.user} ${cfg.location}
-        '';
         script = backupScript;
       };
+      tmpfiles.rules = [
+        "d ${cfg.location} 0700 ${cfg.user} - - -"
+      ];
     };
   };
 
diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix
index 11efa47ec5b..17b410a97f3 100644
--- a/nixos/modules/services/backup/postgresql-backup.nix
+++ b/nixos/modules/services/backup/postgresql-backup.nix
@@ -14,11 +14,6 @@ let
 
       requires = [ "postgresql.service" ];
 
-      preStart = ''
-        mkdir -m 0700 -p ${cfg.location}
-        chown postgres ${cfg.location}
-      '';
-
       script = ''
         umask 0077 # ensure backup is only readable by postgres user
 
@@ -32,7 +27,6 @@ let
 
       serviceConfig = {
         Type = "oneshot";
-        PermissionsStartOnly = "true";
         User = "postgres";
       };
 
@@ -107,6 +101,11 @@ in {
         message = "config.services.postgresqlBackup.backupAll cannot be used together with config.services.postgresqlBackup.databases";
       }];
     }
+    (mkIf cfg.enable {
+      systemd.tmpfiles.rules = [
+        "d '${cfg.location}' 0700 postgres - - -"
+      ];
+    })
     (mkIf (cfg.enable && cfg.backupAll) {
       systemd.services.postgresqlBackup =
         postgresqlBackupService "all" "${config.services.postgresql.package}/bin/pg_dumpall";
diff --git a/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/nixos/modules/services/cluster/kubernetes/addon-manager.nix
index b9a56811d2b..ad7d17c9c28 100644
--- a/nixos/modules/services/cluster/kubernetes/addon-manager.nix
+++ b/nixos/modules/services/cluster/kubernetes/addon-manager.nix
@@ -62,7 +62,7 @@ in
       '';
     };
 
-    enable = mkEnableOption "Whether to enable Kubernetes addon manager.";
+    enable = mkEnableOption "Kubernetes addon manager";
 
     kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes addon manager";
     bootstrapAddonsKubeconfig = top.lib.mkKubeConfigOptions "Kubernetes addon manager bootstrap";
diff --git a/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixos/modules/services/cluster/kubernetes/controller-manager.nix
index ba56f3fa827..b94e8bd86d4 100644
--- a/nixos/modules/services/cluster/kubernetes/controller-manager.nix
+++ b/nixos/modules/services/cluster/kubernetes/controller-manager.nix
@@ -28,7 +28,7 @@ in
       type = str;
     };
 
-    enable = mkEnableOption "Kubernetes controller manager.";
+    enable = mkEnableOption "Kubernetes controller manager";
 
     extraOpts = mkOption {
       description = "Kubernetes controller manager extra command line options.";
diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix
index e79fbcb6200..d9437427d6d 100644
--- a/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/nixos/modules/services/cluster/kubernetes/flannel.nix
@@ -23,7 +23,7 @@ in
 {
   ###### interface
   options.services.kubernetes.flannel = {
-    enable = mkEnableOption "enable flannel networking";
+    enable = mkEnableOption "flannel networking";
     kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes flannel";
   };
 
diff --git a/nixos/modules/services/cluster/kubernetes/pki.nix b/nixos/modules/services/cluster/kubernetes/pki.nix
index 75a29473cea..32eacad9025 100644
--- a/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -39,7 +39,7 @@ in
   ###### interface
   options.services.kubernetes.pki = with lib.types; {
 
-    enable = mkEnableOption "Whether to enable easyCert issuer service.";
+    enable = mkEnableOption "easyCert issuer service";
 
     certs = mkOption {
       description = "List of certificate specs to feed to cert generator.";
diff --git a/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixos/modules/services/cluster/kubernetes/proxy.nix
index 8a90542fe63..23f4d97b703 100644
--- a/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -17,7 +17,7 @@ in
       type = str;
     };
 
-    enable = mkEnableOption "Whether to enable Kubernetes proxy.";
+    enable = mkEnableOption "Kubernetes proxy";
 
     extraOpts = mkOption {
       description = "Kubernetes proxy extra command line options.";
diff --git a/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixos/modules/services/cluster/kubernetes/scheduler.nix
index d5852825954..a0e48454295 100644
--- a/nixos/modules/services/cluster/kubernetes/scheduler.nix
+++ b/nixos/modules/services/cluster/kubernetes/scheduler.nix
@@ -16,7 +16,7 @@ in
       type = str;
     };
 
-    enable = mkEnableOption "Whether to enable Kubernetes scheduler.";
+    enable = mkEnableOption "Kubernetes scheduler";
 
     extraOpts = mkOption {
       description = "Kubernetes scheduler extra command line options.";
diff --git a/nixos/modules/services/databases/clickhouse.nix b/nixos/modules/services/databases/clickhouse.nix
index 21e0cee3415..dbabcae43ee 100644
--- a/nixos/modules/services/databases/clickhouse.nix
+++ b/nixos/modules/services/databases/clickhouse.nix
@@ -1,8 +1,6 @@
 { config, lib, pkgs, ... }:
 let
   cfg = config.services.clickhouse;
-  confDir = "/etc/clickhouse-server";
-  stateDir = "/var/lib/clickhouse";
 in
 with lib;
 {
@@ -43,20 +41,13 @@ with lib;
 
       after = [ "network.target" ];
 
-      preStart = ''
-        mkdir -p ${stateDir}
-        chown clickhouse:clickhouse ${confDir} ${stateDir}
-      '';
-
-      script = ''
-        cd "${confDir}"
-        exec ${pkgs.clickhouse}/bin/clickhouse-server
-      '';
-
       serviceConfig = {
         User = "clickhouse";
         Group = "clickhouse";
-        PermissionsStartOnly = true;
+        ConfigurationDirectory = "clickhouse-server";
+        StateDirectory = "clickhouse";
+        LogsDirectory = "clickhouse";
+        ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml";
       };
     };
 
diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix
index 84d108d9c74..5ddf8ba4bfb 100644
--- a/nixos/modules/services/databases/couchdb.nix
+++ b/nixos/modules/services/databases/couchdb.nix
@@ -158,27 +158,21 @@ in {
     services.couchdb.configFile = mkDefault
       (if useVersion2 then "/var/lib/couchdb/local.ini" else "/var/lib/couchdb/couchdb.ini");
 
+    systemd.tmpfiles.rules = [
+      "d '${dirOf cfg.uriFile}' - ${cfg.user} ${cfg.group} - -"
+      "d '${dirOf cfg.logFile}' - ${cfg.user} ${cfg.group} - -"
+      "d '${cfg.databaseDir}' -  ${cfg.user} ${cfg.group} - -"
+      "d '${cfg.viewIndexDir}' -  ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.couchdb = {
       description = "CouchDB Server";
       wantedBy = [ "multi-user.target" ];
 
       preStart =
         ''
-        mkdir -p `dirname ${cfg.uriFile}`;
-        mkdir -p `dirname ${cfg.logFile}`;
-        mkdir -p ${cfg.databaseDir};
-        mkdir -p ${cfg.viewIndexDir};
         touch ${cfg.configFile}
         touch -a ${cfg.logFile}
-
-        if [ "$(id -u)" = 0 ]; then
-          chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}`;
-          (test -f ${cfg.uriFile} && chown ${cfg.user}:${cfg.group} ${cfg.uriFile}) || true
-          chown ${cfg.user}:${cfg.group} ${cfg.databaseDir}
-          chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir}
-          chown ${cfg.user}:${cfg.group} ${cfg.configFile}
-          chown ${cfg.user}:${cfg.group} ${cfg.logFile}
-        fi
         '';
 
       environment = mkIf useVersion2 {
@@ -191,7 +185,6 @@ in {
       };
 
       serviceConfig = {
-        PermissionsStartOnly = true;
         User = cfg.user;
         Group = cfg.group;
         ExecStart = executable;
diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix
index 888bf13c3df..6868050c844 100644
--- a/nixos/modules/services/databases/influxdb.nix
+++ b/nixos/modules/services/databases/influxdb.nix
@@ -157,20 +157,19 @@ in
 
   config = mkIf config.services.influxdb.enable {
 
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' 0770 ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.influxdb = {
       description = "InfluxDB Server";
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
       serviceConfig = {
         ExecStart = ''${cfg.package}/bin/influxd -config "${configFile}"'';
-        User = "${cfg.user}";
-        Group = "${cfg.group}";
-        PermissionsStartOnly = true;
+        User = cfg.user;
+        Group = cfg.group;
       };
-      preStart = ''
-        mkdir -m 0770 -p ${cfg.dataDir}
-        if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi
-      '';
       postStart =
         let
           scheme = if configOptions.http.https-enabled then "-k https" else "http";
diff --git a/nixos/modules/services/databases/memcached.nix b/nixos/modules/services/databases/memcached.nix
index 7af452e4dce..052ff1f308e 100644
--- a/nixos/modules/services/databases/memcached.nix
+++ b/nixos/modules/services/databases/memcached.nix
@@ -78,11 +78,6 @@ in
       after = [ "network.target" ];
 
       serviceConfig = {
-        PermissionsStartOnly = true;
-        ExecStartPre = optionals cfg.enableUnixSocket [
-          "${pkgs.coreutils}/bin/install -d -o ${cfg.user} /run/memcached/"
-          "${pkgs.coreutils}/bin/chown -R ${cfg.user} /run/memcached/"
-        ];
         ExecStart =
         let
           networking = if cfg.enableUnixSocket
@@ -91,12 +86,13 @@ in
         in "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${concatStringsSep " " cfg.extraOptions}";
 
         User = cfg.user;
+        RuntimeDirectory = "memcached";
       };
     };
   };
   imports = [
     (mkRemovedOptionModule ["services" "memcached" "socket"] ''
-      This option was replaced by a fixed unix socket path at /run/memcached/memcached.sock enabled using services.memached.enableUnixSocket.
+      This option was replaced by a fixed unix socket path at /run/memcached/memcached.sock enabled using services.memcached.enableUnixSocket.
     '')
   ];
 
diff --git a/nixos/modules/services/databases/stanchion.nix b/nixos/modules/services/databases/stanchion.nix
index 9fe49f51edd..97e55bc70c4 100644
--- a/nixos/modules/services/databases/stanchion.nix
+++ b/nixos/modules/services/databases/stanchion.nix
@@ -98,7 +98,7 @@ in
         type = types.path;
         default = "/var/log/stanchion";
         description = ''
-          Log directory for Stanchino.
+          Log directory for Stanchion.
         '';
       };
 
@@ -152,6 +152,11 @@ in
 
     users.groups.stanchion.gid = config.ids.gids.stanchion;
 
+    systemd.tmpfiles.rules = [
+      "d '${cfg.logDir}' - stanchion stanchion --"
+      "d '${cfg.dataDir}' 0700 stanchion stanchion --"
+    ];
+
     systemd.services.stanchion = {
       description = "Stanchion Server";
 
@@ -168,25 +173,12 @@ in
       environment.STANCHION_LOG_DIR = "${cfg.logDir}";
       environment.STANCHION_ETC_DIR = "/etc/stanchion";
 
-      preStart = ''
-        if ! test -e ${cfg.logDir}; then
-          mkdir -m 0755 -p ${cfg.logDir}
-          chown -R stanchion:stanchion ${cfg.logDir}
-        fi
-
-        if ! test -e ${cfg.dataDir}; then
-          mkdir -m 0700 -p ${cfg.dataDir}
-          chown -R stanchion:stanchion ${cfg.dataDir}
-        fi
-      '';
-
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/stanchion console";
         ExecStop = "${cfg.package}/bin/stanchion stop";
         StandardInput = "tty";
         User = "stanchion";
         Group = "stanchion";
-        PermissionsStartOnly = true;
         # Give Stanchion a decent amount of time to clean up.
         TimeoutStopSec = 120;
         LimitNOFILE = 65536;
diff --git a/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix b/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix
index dbf0f4e9b11..7f7adcf26ac 100644
--- a/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix
+++ b/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix
@@ -18,7 +18,7 @@ in
 
     services.gnome3.gnome-settings-daemon = {
 
-      enable = mkEnableOption "GNOME Settings Daemon.";
+      enable = mkEnableOption "GNOME Settings Daemon";
 
       # There are many forks of gnome-settings-daemon
       package = mkOption {
diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix
index 2a8dfe4a66c..c5f9d1f9b72 100644
--- a/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixos/modules/services/hardware/bluetooth.nix
@@ -13,7 +13,7 @@ in {
   options = {
 
     hardware.bluetooth = {
-      enable = mkEnableOption "support for Bluetooth.";
+      enable = mkEnableOption "support for Bluetooth";
 
       powerOnBoot = mkOption {
         type    = types.bool;
diff --git a/nixos/modules/services/hardware/vdr.nix b/nixos/modules/services/hardware/vdr.nix
index 4822506a899..6e246f70f51 100644
--- a/nixos/modules/services/hardware/vdr.nix
+++ b/nixos/modules/services/hardware/vdr.nix
@@ -12,7 +12,7 @@ in {
   options = {
 
     services.vdr = {
-      enable = mkEnableOption "enable VDR. Please put config into ${libDir}.";
+      enable = mkEnableOption "VDR. Please put config into ${libDir}";
 
       package = mkOption {
         type = types.package;
@@ -34,7 +34,7 @@ in {
         description = "Additional command line arguments to pass to VDR.";
       };
 
-      enableLirc = mkEnableOption "enable LIRC";
+      enableLirc = mkEnableOption "LIRC";
     };
   };
 
diff --git a/nixos/modules/services/mail/mailcatcher.nix b/nixos/modules/services/mail/mailcatcher.nix
index 2c6aadadce9..fa8d41e918d 100644
--- a/nixos/modules/services/mail/mailcatcher.nix
+++ b/nixos/modules/services/mail/mailcatcher.nix
@@ -11,7 +11,7 @@ in
   options = {
 
     services.mailcatcher = {
-      enable = mkEnableOption "Enable MailCatcher.";
+      enable = mkEnableOption "MailCatcher";
 
       http.ip = mkOption {
         type = types.str;
diff --git a/nixos/modules/services/mail/nullmailer.nix b/nixos/modules/services/mail/nullmailer.nix
index 418c02af4b7..9997d287013 100644
--- a/nixos/modules/services/mail/nullmailer.nix
+++ b/nixos/modules/services/mail/nullmailer.nix
@@ -212,6 +212,10 @@ with lib;
       };
     };
 
+    systemd.tmpfiles.rules = [
+      "d /var/spool/nullmailer - ${cfg.user} - - -"
+    ];
+
     systemd.services.nullmailer = {
       description = "nullmailer";
       wantedBy = [ "multi-user.target" ];
@@ -220,13 +224,11 @@ with lib;
       preStart = ''
         mkdir -p /var/spool/nullmailer/{queue,tmp}
         rm -f /var/spool/nullmailer/trigger && mkfifo -m 660 /var/spool/nullmailer/trigger
-        chown ${cfg.user} /var/spool/nullmailer/*
       '';
 
       serviceConfig = {
         User = cfg.user;
         Group = cfg.group;
-        PermissionsStartOnly=true;
         ExecStart = "${pkgs.nullmailer}/bin/nullmailer-send";
         Restart = "always";
       };
diff --git a/nixos/modules/services/mail/offlineimap.nix b/nixos/modules/services/mail/offlineimap.nix
index 4b24bd8d081..294e3806f94 100644
--- a/nixos/modules/services/mail/offlineimap.nix
+++ b/nixos/modules/services/mail/offlineimap.nix
@@ -7,7 +7,7 @@ let
 in {
 
   options.services.offlineimap = {
-    enable = mkEnableOption "Offlineimap, a software to dispose your mailbox(es) as a local Maildir(s).";
+    enable = mkEnableOption "OfflineIMAP, a software to dispose your mailbox(es) as a local Maildir(s)";
 
     install = mkOption {
       type = types.bool;
diff --git a/nixos/modules/services/mail/rss2email.nix b/nixos/modules/services/mail/rss2email.nix
index 5f3b2877008..a123736005a 100644
--- a/nixos/modules/services/mail/rss2email.nix
+++ b/nixos/modules/services/mail/rss2email.nix
@@ -94,6 +94,10 @@ in {
 
     services.rss2email.config.to = cfg.to;
 
+    systemd.tmpfiles.rules = [
+      "d /var/rss2email 0700 rss2email rss2email - -"
+    ];
+
     systemd.services.rss2email = let
       conf = pkgs.writeText "rss2email.cfg" (lib.generators.toINI {} ({
           DEFAULT = cfg.config;
@@ -105,22 +109,16 @@ in {
     in
     {
       preStart = ''
-        mkdir -p /var/rss2email
-        chmod 700 /var/rss2email
-
         cp ${conf} /var/rss2email/conf.cfg
         if [ ! -f /var/rss2email/db.json ]; then
           echo '{"version":2,"feeds":[]}' > /var/rss2email/db.json
         fi
-
-        chown -R rss2email:rss2email /var/rss2email
       '';
       path = [ pkgs.system-sendmail ];
       serviceConfig = {
         ExecStart =
           "${pkgs.rss2email}/bin/r2e -c /var/rss2email/conf.cfg -d /var/rss2email/db.json run";
         User = "rss2email";
-        PermissionsStartOnly = "true";
       };
     };
 
diff --git a/nixos/modules/services/misc/beanstalkd.nix b/nixos/modules/services/misc/beanstalkd.nix
index 8a3e0ab1949..06e881406b5 100644
--- a/nixos/modules/services/misc/beanstalkd.nix
+++ b/nixos/modules/services/misc/beanstalkd.nix
@@ -12,7 +12,7 @@ in
 
   options = {
     services.beanstalkd = {
-      enable = mkEnableOption "Enable the Beanstalk work queue.";
+      enable = mkEnableOption "the Beanstalk work queue";
 
       listen = {
         port = mkOption {
diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix
index 2d1893dae64..e4d5322f9b5 100644
--- a/nixos/modules/services/misc/etcd.nix
+++ b/nixos/modules/services/misc/etcd.nix
@@ -142,6 +142,10 @@ in {
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' 0700 etcd - - -"
+    ];
+
     systemd.services.etcd = {
       description = "etcd key-value store";
       wantedBy = [ "multi-user.target" ];
@@ -176,14 +180,8 @@ in {
         Type = "notify";
         ExecStart = "${pkgs.etcd.bin}/bin/etcd";
         User = "etcd";
-        PermissionsStartOnly = true;
         LimitNOFILE = 40000;
       };
-
-      preStart = ''
-        mkdir -m 0700 -p ${cfg.dataDir}
-        if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi
-      '';
     };
 
     environment.systemPackages = [ pkgs.etcdctl ];
diff --git a/nixos/modules/services/misc/jackett.nix b/nixos/modules/services/misc/jackett.nix
index b18ce2b1f81..a07f20e5c24 100644
--- a/nixos/modules/services/misc/jackett.nix
+++ b/nixos/modules/services/misc/jackett.nix
@@ -38,24 +38,19 @@ in
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.jackett = {
       description = "Jackett";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      preStart = ''
-        test -d ${cfg.dataDir} || {
-          echo "Creating jackett data directory in ${cfg.dataDir}"
-          mkdir -p ${cfg.dataDir}
-        }
-        chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
-        chmod 0700 ${cfg.dataDir}
-      '';
 
       serviceConfig = {
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
-        PermissionsStartOnly = "true";
         ExecStart = "${pkgs.jackett}/bin/Jackett --NoUpdates --DataFolder '${cfg.dataDir}'";
         Restart = "on-failure";
       };
diff --git a/nixos/modules/services/misc/lidarr.nix b/nixos/modules/services/misc/lidarr.nix
index 627f22334fe..f466402abfc 100644
--- a/nixos/modules/services/misc/lidarr.nix
+++ b/nixos/modules/services/misc/lidarr.nix
@@ -17,20 +17,15 @@ in
       description = "Lidarr";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      preStart = ''
-        [ ! -d /var/lib/lidarr ] && mkdir -p /var/lib/lidarr
-        chown -R lidarr:lidarr /var/lib/lidarr
-      '';
 
       serviceConfig = {
         Type = "simple";
         User = "lidarr";
         Group = "lidarr";
-        PermissionsStartOnly = "true";
         ExecStart = "${pkgs.lidarr}/bin/Lidarr";
         Restart = "on-failure";
 
-        StateDirectory = "/var/lib/lidarr/";
+        StateDirectory = "lidarr";
         StateDirectoryMode = "0770";
       };
     };
diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix
index 5e465926b83..00c8e740803 100644
--- a/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixos/modules/services/misc/matrix-synapse.nix
@@ -554,7 +554,10 @@ in {
       };
       trusted_third_party_id_servers = mkOption {
         type = types.listOf types.str;
-        default = ["matrix.org"];
+        default = [
+          "matrix.org"
+          "vector.im"
+        ];
         description = ''
           The list of identity servers trusted to verify third party identifiers by this server.
         '';
diff --git a/nixos/modules/services/misc/mesos-master.nix b/nixos/modules/services/misc/mesos-master.nix
index 0523c6549ed..572a9847e46 100644
--- a/nixos/modules/services/misc/mesos-master.nix
+++ b/nixos/modules/services/misc/mesos-master.nix
@@ -95,6 +95,9 @@ in {
 
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.workDir}' 0700 - - - -"
+    ];
     systemd.services.mesos-master = {
       description = "Mesos Master";
       wantedBy = [ "multi-user.target" ];
@@ -114,11 +117,7 @@ in {
             ${toString cfg.extraCmdLineOptions}
         '';
         Restart = "on-failure";
-        PermissionsStartOnly = true;
       };
-      preStart = ''
-        mkdir -m 0700 -p ${cfg.workDir}
-      '';
     };
   };
 
diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix
index 468c7f36ecc..170065d0065 100644
--- a/nixos/modules/services/misc/mesos-slave.nix
+++ b/nixos/modules/services/misc/mesos-slave.nix
@@ -184,6 +184,9 @@ in {
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.workDir}' 0701 - - - -"
+    ];
     systemd.services.mesos-slave = {
       description = "Mesos Slave";
       wantedBy = [ "multi-user.target" ];
@@ -210,11 +213,7 @@ in {
             --executor_environment_variables=${lib.escapeShellArg (builtins.toJSON cfg.executorEnvironmentVariables)} \
             ${toString cfg.extraCmdLineOptions}
         '';
-        PermissionsStartOnly = true;
       };
-      preStart = ''
-        mkdir -m 0701 -p ${cfg.workDir}
-      '';
     };
   };
 
diff --git a/nixos/modules/services/misc/radarr.nix b/nixos/modules/services/misc/radarr.nix
index 9ab26d84832..74444e24043 100644
--- a/nixos/modules/services/misc/radarr.nix
+++ b/nixos/modules/services/misc/radarr.nix
@@ -38,24 +38,19 @@ in
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.radarr = {
       description = "Radarr";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      preStart = ''
-        test -d ${cfg.dataDir} || {
-          echo "Creating radarr data directory in ${cfg.dataDir}"
-          mkdir -p ${cfg.dataDir}
-        }
-        chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
-        chmod 0700 ${cfg.dataDir}
-      '';
 
       serviceConfig = {
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
-        PermissionsStartOnly = "true";
         ExecStart = "${pkgs.radarr}/bin/Radarr -nobrowser -data='${cfg.dataDir}'";
         Restart = "on-failure";
       };
diff --git a/nixos/modules/services/misc/sonarr.nix b/nixos/modules/services/misc/sonarr.nix
index a99445a268d..77c7f0582d0 100644
--- a/nixos/modules/services/misc/sonarr.nix
+++ b/nixos/modules/services/misc/sonarr.nix
@@ -39,24 +39,19 @@ in
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.sonarr = {
       description = "Sonarr";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      preStart = ''
-        test -d ${cfg.dataDir} || {
-          echo "Creating sonarr data directory in ${cfg.dataDir}"
-          mkdir -p ${cfg.dataDir}
-        }
-        chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
-        chmod 0700 ${cfg.dataDir}
-      '';
 
       serviceConfig = {
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
-        PermissionsStartOnly = "true";
         ExecStart = "${pkgs.sonarr}/bin/NzbDrone -nobrowser -data='${cfg.dataDir}'";
         Restart = "on-failure";
       };
diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix
index fe472a6c68e..6b64045dde8 100644
--- a/nixos/modules/services/misc/sssd.nix
+++ b/nixos/modules/services/misc/sssd.nix
@@ -6,7 +6,7 @@ let
 in {
   options = {
     services.sssd = {
-      enable = mkEnableOption "the System Security Services Daemon.";
+      enable = mkEnableOption "the System Security Services Daemon";
 
       config = mkOption {
         type = types.lines;
diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix
index cb7cc97d5a5..50c84e3c6b8 100644
--- a/nixos/modules/services/misc/zookeeper.nix
+++ b/nixos/modules/services/misc/zookeeper.nix
@@ -119,6 +119,10 @@ in {
   config = mkIf cfg.enable {
     environment.systemPackages = [cfg.package];
 
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' 0700 zookeeper - - -"
+    ];
+
     systemd.services.zookeeper = {
       description = "Zookeeper Daemon";
       wantedBy = [ "multi-user.target" ];
@@ -135,11 +139,8 @@ in {
             ${configDir}/zoo.cfg
         '';
         User = "zookeeper";
-        PermissionsStartOnly = true;
       };
       preStart = ''
-        mkdir -m 0700 -p ${cfg.dataDir}
-        if [ "$(id -u)" = 0 ]; then chown zookeeper ${cfg.dataDir}; fi
         echo "${toString cfg.id}" > ${cfg.dataDir}/myid
       '';
     };
diff --git a/nixos/modules/services/monitoring/collectd.nix b/nixos/modules/services/monitoring/collectd.nix
index 45e3312c0f4..6a4c678eb21 100644
--- a/nixos/modules/services/monitoring/collectd.nix
+++ b/nixos/modules/services/monitoring/collectd.nix
@@ -79,6 +79,10 @@ in {
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' - ${cfg.user} - - -"
+    ];
+
     systemd.services.collectd = {
       description = "Collectd Monitoring Agent";
       after = [ "network.target" ];
@@ -87,16 +91,9 @@ in {
       serviceConfig = {
         ExecStart = "${cfg.package}/sbin/collectd -C ${conf} -f";
         User = cfg.user;
-        PermissionsStartOnly = true;
         Restart = "on-failure";
         RestartSec = 3;
       };
-
-      preStart = ''
-        mkdir -p "${cfg.dataDir}"
-        chmod 755 "${cfg.dataDir}"
-        chown -R ${cfg.user} "${cfg.dataDir}"
-      '';
     };
 
     users.users = optional (cfg.user == "collectd") {
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index e7ac12c07d3..d8384e0d35b 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -22,9 +22,6 @@ let
   workingDir  = stateDirBase + stateDir;
   workingDir2 = stateDirBase + cfg2.stateDir;
 
-  # Get a submodule without any embedded metadata:
-  _filter = x: filterAttrs (k: v: k != "_module") x;
-
   # a wrapper that verifies that the configuration is valid
   promtoolCheck = what: name: file: pkgs.runCommand "${name}-${what}-checked"
     { buildInputs = [ cfg.package ]; } ''
@@ -50,11 +47,11 @@ let
 
   # This becomes the main config file for Prometheus 1
   promConfig = {
-    global = cfg.globalConfig;
+    global = filterValidPrometheus cfg.globalConfig;
     rule_files = map (promtoolCheck "check-rules" "rules") (cfg.ruleFiles ++ [
       (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
     ]);
-    scrape_configs = filterEmpty cfg.scrapeConfigs;
+    scrape_configs = filterValidPrometheus cfg.scrapeConfigs;
   };
 
   generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
@@ -77,11 +74,11 @@ let
 
   # This becomes the main config file for Prometheus 2
   promConfig2 = {
-    global = cfg2.globalConfig;
+    global = filterValidPrometheus cfg2.globalConfig;
     rule_files = map (prom2toolCheck "check rules" "rules") (cfg2.ruleFiles ++ [
       (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg2.rules))
     ]);
-    scrape_configs = filterEmpty cfg2.scrapeConfigs;
+    scrape_configs = filterValidPrometheus cfg2.scrapeConfigs;
     alerting = optionalAttrs (cfg2.alertmanagerURL != []) {
       alertmanagers = [{
         static_configs = [{
@@ -108,7 +105,7 @@ let
   ] ++
   optional (cfg2.webExternalUrl != null) "--web.external-url=${cfg2.webExternalUrl}";
 
-  filterEmpty = filterAttrsListRecursive (_n: v: !(v == null || v == [] || v == {}));
+  filterValidPrometheus = filterAttrsListRecursive (n: v: !(n == "_module" || v == null));
   filterAttrsListRecursive = pred: x:
     if isAttrs x then
       listToAttrs (
@@ -123,41 +120,37 @@ let
       map (filterAttrsListRecursive pred) x
     else x;
 
-  promTypes.globalConfig = types.submodule {
-    options = {
-      scrape_interval = mkOption {
-        type = types.str;
-        default = "1m";
-        description = ''
-          How frequently to scrape targets by default.
-        '';
-      };
+  mkDefOpt = type : defaultStr : description : mkOpt type (description + ''
 
-      scrape_timeout = mkOption {
-        type = types.str;
-        default = "10s";
-        description = ''
-          How long until a scrape request times out.
-        '';
-      };
+    Defaults to <literal>${defaultStr}</literal> in prometheus
+    when set to <literal>null</literal>.
+  '');
 
-      evaluation_interval = mkOption {
-        type = types.str;
-        default = "1m";
-        description = ''
-          How frequently to evaluate rules by default.
-        '';
-      };
+  mkOpt = type : description : mkOption {
+    type = types.nullOr type;
+    default = null;
+    inherit description;
+  };
 
-      external_labels = mkOption {
-        type = types.attrsOf types.str;
-        description = ''
-          The labels to add to any time series or alerts when
-          communicating with external systems (federation, remote
-          storage, Alertmanager).
-        '';
-        default = {};
-      };
+  promTypes.globalConfig = types.submodule {
+    options = {
+      scrape_interval = mkDefOpt types.str "1m" ''
+        How frequently to scrape targets by default.
+      '';
+
+      scrape_timeout = mkDefOpt types.str "10s" ''
+        How long until a scrape request times out.
+      '';
+
+      evaluation_interval = mkDefOpt types.str "1m" ''
+        How frequently to evaluate rules by default.
+      '';
+
+      external_labels = mkOpt (types.attrsOf types.str) ''
+        The labels to add to any time series or alerts when
+        communicating with external systems (federation, remote
+        storage, Alertmanager).
+      '';
     };
   };
 
@@ -169,145 +162,127 @@ let
           The job name assigned to scraped metrics by default.
         '';
       };
-      scrape_interval = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          How frequently to scrape targets from this job. Defaults to the
-          globally configured default.
-        '';
-      };
-      scrape_timeout = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Per-target timeout when scraping this job. Defaults to the
-          globally configured default.
-        '';
-      };
-      metrics_path = mkOption {
-        type = types.str;
-        default = "/metrics";
-        description = ''
-          The HTTP resource path on which to fetch metrics from targets.
-        '';
-      };
-      honor_labels = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Controls how Prometheus handles conflicts between labels
-          that are already present in scraped data and labels that
-          Prometheus would attach server-side ("job" and "instance"
-          labels, manually configured target labels, and labels
-          generated by service discovery implementations).
-
-          If honor_labels is set to "true", label conflicts are
-          resolved by keeping label values from the scraped data and
-          ignoring the conflicting server-side labels.
-
-          If honor_labels is set to "false", label conflicts are
-          resolved by renaming conflicting labels in the scraped data
-          to "exported_&lt;original-label&gt;" (for example
-          "exported_instance", "exported_job") and then attaching
-          server-side labels. This is useful for use cases such as
-          federation, where all labels specified in the target should
-          be preserved.
-        '';
-      };
-      scheme = mkOption {
-        type = types.enum ["http" "https"];
-        default = "http";
-        description = ''
-          The URL scheme with which to fetch metrics from targets.
-        '';
-      };
-      params = mkOption {
-        type = types.attrsOf (types.listOf types.str);
-        default = {};
-        description = ''
-          Optional HTTP URL parameters.
-        '';
-      };
-      basic_auth = mkOption {
-        type = types.nullOr (types.submodule {
-          options = {
-            username = mkOption {
-              type = types.str;
-              description = ''
-                HTTP username
-              '';
-            };
-            password = mkOption {
-              type = types.str;
-              description = ''
-                HTTP password
-              '';
-            };
+      scrape_interval = mkOpt types.str ''
+        How frequently to scrape targets from this job. Defaults to the
+        globally configured default.
+      '';
+
+      scrape_timeout = mkOpt types.str ''
+        Per-target timeout when scraping this job. Defaults to the
+        globally configured default.
+      '';
+
+      metrics_path = mkDefOpt types.str "/metrics" ''
+        The HTTP resource path on which to fetch metrics from targets.
+      '';
+
+      honor_labels = mkDefOpt types.bool "false" ''
+        Controls how Prometheus handles conflicts between labels
+        that are already present in scraped data and labels that
+        Prometheus would attach server-side ("job" and "instance"
+        labels, manually configured target labels, and labels
+        generated by service discovery implementations).
+
+        If honor_labels is set to "true", label conflicts are
+        resolved by keeping label values from the scraped data and
+        ignoring the conflicting server-side labels.
+
+        If honor_labels is set to "false", label conflicts are
+        resolved by renaming conflicting labels in the scraped data
+        to "exported_&lt;original-label&gt;" (for example
+        "exported_instance", "exported_job") and then attaching
+        server-side labels. This is useful for use cases such as
+        federation, where all labels specified in the target should
+        be preserved.
+      '';
+
+      honor_timestamps = mkDefOpt types.bool "true" ''
+        honor_timestamps controls whether Prometheus respects the timestamps present
+        in scraped data.
+
+        If honor_timestamps is set to <literal>true</literal>, the timestamps of the metrics exposed
+        by the target will be used.
+
+        If honor_timestamps is set to <literal>false</literal>, the timestamps of the metrics exposed
+        by the target will be ignored.
+      '';
+
+      scheme = mkDefOpt (types.enum ["http" "https"]) "http" ''
+        The URL scheme with which to fetch metrics from targets.
+      '';
+
+      params = mkOpt (types.attrsOf (types.listOf types.str)) ''
+        Optional HTTP URL parameters.
+      '';
+
+      basic_auth = mkOpt (types.submodule {
+        options = {
+          username = mkOption {
+            type = types.str;
+            description = ''
+              HTTP username
+            '';
           };
-        });
-        default = null;
-        apply = x: mapNullable _filter x;
-        description = ''
-          Optional http login credentials for metrics scraping.
-        '';
-      };
-      tls_config = mkOption {
-        type = types.nullOr promTypes.tls_config;
-        default = null;
-        apply = x: mapNullable _filter x;
-        description = ''
-          Configures the scrape request's TLS settings.
-        '';
-      };
-      dns_sd_configs = mkOption {
-        type = types.listOf promTypes.dns_sd_config;
-        default = [];
-        apply = x: map _filter x;
-        description = ''
-          List of DNS service discovery configurations.
-        '';
-      };
-      consul_sd_configs = mkOption {
-        type = types.listOf promTypes.consul_sd_config;
-        default = [];
-        apply = x: map _filter x;
-        description = ''
-          List of Consul service discovery configurations.
-        '';
-      };
-      file_sd_configs = mkOption {
-        type = types.listOf promTypes.file_sd_config;
-        default = [];
-        apply = x: map _filter x;
-        description = ''
-          List of file service discovery configurations.
-        '';
-      };
-      static_configs = mkOption {
-        type = types.listOf promTypes.static_config;
-        default = [];
-        apply = x: map _filter x;
-        description = ''
-          List of labeled target groups for this job.
-        '';
-      };
-      ec2_sd_configs = mkOption {
-        type = types.listOf promTypes.ec2_sd_config;
-        default = [];
-        apply = x: map _filter x;
-        description = ''
-          List of EC2 service discovery configurations.
-        '';
-      };
-      relabel_configs = mkOption {
-        type = types.listOf promTypes.relabel_config;
-        default = [];
-        apply = x: map _filter x;
-        description = ''
-          List of relabel configurations.
-        '';
-      };
+          password = mkOption {
+            type = types.str;
+            description = ''
+              HTTP password
+            '';
+          };
+        };
+      }) ''
+        Optional http login credentials for metrics scraping.
+      '';
+
+      bearer_token = mkOpt types.str ''
+        Sets the `Authorization` header on every scrape request with
+        the configured bearer token. It is mutually exclusive with
+        <option>bearer_token_file</option>.
+      '';
+
+      bearer_token_file = mkOpt types.str ''
+        Sets the `Authorization` header on every scrape request with
+        the bearer token read from the configured file. It is mutually
+        exclusive with <option>bearer_token</option>.
+      '';
+
+      tls_config = mkOpt promTypes.tls_config ''
+        Configures the scrape request's TLS settings.
+      '';
+
+      proxy_url = mkOpt types.str ''
+        Optional proxy URL.
+      '';
+
+      ec2_sd_configs = mkOpt (types.listOf promTypes.ec2_sd_config) ''
+        List of EC2 service discovery configurations.
+      '';
+
+      dns_sd_configs = mkOpt (types.listOf promTypes.dns_sd_config) ''
+        List of DNS service discovery configurations.
+      '';
+
+      consul_sd_configs = mkOpt (types.listOf promTypes.consul_sd_config) ''
+        List of Consul service discovery configurations.
+      '';
+
+      file_sd_configs = mkOpt (types.listOf promTypes.file_sd_config) ''
+        List of file service discovery configurations.
+      '';
+
+      static_configs = mkOpt (types.listOf promTypes.static_config) ''
+        List of labeled target groups for this job.
+      '';
+
+      relabel_configs = mkOpt (types.listOf promTypes.relabel_config) ''
+        List of relabel configurations.
+      '';
+
+      sample_limit = mkDefOpt types.int "0" ''
+        Per-scrape limit on number of scraped samples that will be accepted.
+        If more than this number of samples are present after metric relabelling
+        the entire scrape will be treated as failed. 0 means no limit.
+      '';
     };
   };
 
@@ -337,66 +312,41 @@ let
           The AWS Region.
         '';
       };
-      endpoint = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Custom endpoint to be used.
-        '';
-      };
-      access_key = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          The AWS API key id. If blank, the environment variable
-          <literal>AWS_ACCESS_KEY_ID</literal> is used.
-        '';
-      };
-      secret_key = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          The AWS API key secret. If blank, the environment variable
-           <literal>AWS_SECRET_ACCESS_KEY</literal> is used.
-        '';
-      };
-      profile = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Named AWS profile used to connect to the API.
-        '';
-      };
-      role_arn = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          AWS Role ARN, an alternative to using AWS API keys.
-        '';
-      };
-      refresh_interval = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Refresh interval to re-read the instance list.
-        '';
-      };
-      port = mkOption {
-        type = types.int;
-        default = 80;
-        description = ''
-          The port to scrape metrics from. If using the public IP
-          address, this must instead be specified in the relabeling
-          rule.
-        '';
-      };
-      filters = mkOption {
-        type = types.nullOr (types.listOf promTypes.filter);
-        default = null;
-        description = ''
-          Filters can be used optionally to filter the instance list by other criteria.
-        '';
-      };
+      endpoint = mkOpt types.str ''
+        Custom endpoint to be used.
+      '';
+
+      access_key = mkOpt types.str ''
+        The AWS API key id. If blank, the environment variable
+        <literal>AWS_ACCESS_KEY_ID</literal> is used.
+      '';
+
+      secret_key = mkOpt types.str ''
+        The AWS API key secret. If blank, the environment variable
+         <literal>AWS_SECRET_ACCESS_KEY</literal> is used.
+      '';
+
+      profile = mkOpt  types.str ''
+        Named AWS profile used to connect to the API.
+      '';
+
+      role_arn = mkOpt types.str ''
+        AWS Role ARN, an alternative to using AWS API keys.
+      '';
+
+      refresh_interval = mkDefOpt types.str "60s" ''
+        Refresh interval to re-read the instance list.
+      '';
+
+      port = mkDefOpt types.int "80" ''
+        The port to scrape metrics from. If using the public IP
+        address, this must instead be specified in the relabeling
+        rule.
+      '';
+
+      filters = mkOpt (types.listOf promTypes.filter) ''
+        Filters can be used optionally to filter the instance list by other criteria.
+      '';
     };
   };
 
@@ -409,6 +359,7 @@ let
           for the available filters.
         '';
       };
+
       value = mkOption {
         type = types.listOf types.str;
         default = [];
@@ -427,56 +378,63 @@ let
           A list of DNS SRV record names to be queried.
         '';
       };
-      refresh_interval = mkOption {
-        type = types.str;
-        default = "30s";
-        description = ''
-          The time after which the provided names are refreshed.
-        '';
-      };
+
+      refresh_interval = mkDefOpt types.str "30s" ''
+        The time after which the provided names are refreshed.
+      '';
     };
   };
 
   promTypes.consul_sd_config = types.submodule {
     options = {
-      server = mkOption {
-        type = types.str;
-        description = "Consul server to query.";
-      };
-      token = mkOption {
-        type = types.nullOr types.str;
-        description = "Consul token";
-      };
-      datacenter = mkOption {
-        type = types.nullOr types.str;
-        description = "Consul datacenter";
-      };
-      scheme = mkOption {
-        type = types.nullOr types.str;
-        description = "Consul scheme";
-      };
-      username = mkOption {
-        type = types.nullOr types.str;
-        description = "Consul username";
-      };
-      password = mkOption {
-        type = types.nullOr types.str;
-        description = "Consul password";
-      };
+      server = mkDefOpt types.str "localhost:8500" ''
+        Consul server to query.
+      '';
 
-      services = mkOption {
-        type = types.listOf types.str;
-        description = ''
-          A list of services for which targets are retrieved.
-        '';
-      };
-      tag_separator = mkOption {
-        type = types.str;
-        default = ",";
-        description = ''
-          The string by which Consul tags are joined into the tag label.
-        '';
-      };
+      token = mkOpt types.str "Consul token";
+
+      datacenter = mkOpt types.str "Consul datacenter";
+
+      scheme = mkDefOpt types.str "http" "Consul scheme";
+
+      username = mkOpt types.str "Consul username";
+
+      password = mkOpt types.str "Consul password";
+
+      tls_config = mkOpt promTypes.tls_config ''
+        Configures the Consul request's TLS settings.
+      '';
+
+      services = mkOpt (types.listOf types.str) ''
+        A list of services for which targets are retrieved.
+      '';
+
+      tags = mkOpt (types.listOf types.str) ''
+        An optional list of tags used to filter nodes for a given
+        service. Services must contain all tags in the list.
+      '';
+
+      node_meta = mkOpt (types.attrsOf types.str) ''
+        Node metadata used to filter nodes for a given service.
+      '';
+
+      tag_separator = mkDefOpt types.str "," ''
+        The string by which Consul tags are joined into the tag label.
+      '';
+
+      allow_stale = mkOpt types.bool ''
+        Allow stale Consul results
+        (see <link xlink:href="https://www.consul.io/api/index.html#consistency-modes"/>).
+
+        Will reduce load on Consul.
+      '';
+
+      refresh_interval = mkDefOpt types.str "30s" ''
+        The time after which the provided names are refreshed.
+
+        On large setup it might be a good idea to increase this value
+        because the catalog will change all the time.
+      '';
     };
   };
 
@@ -488,108 +446,74 @@ let
           Patterns for files from which target groups are extracted. Refer
           to the Prometheus documentation for permitted filename patterns
           and formats.
-
-        '';
-      };
-      refresh_interval = mkOption {
-        type = types.str;
-        default = "30s";
-        description = ''
-          Refresh interval to re-read the files.
         '';
       };
+
+      refresh_interval = mkDefOpt types.str "5m" ''
+        Refresh interval to re-read the files.
+      '';
     };
   };
 
   promTypes.relabel_config = types.submodule {
     options = {
-      source_labels = mkOption {
-        type = with types; nullOr (listOf str);
-        default = null;
-        description = ''
-          The source labels select values from existing labels. Their content
-          is concatenated using the configured separator and matched against
-          the configured regular expression.
-        '';
-      };
-      separator = mkOption {
-        type = types.str;
-        default = ";";
-        description = ''
-          Separator placed between concatenated source label values.
-        '';
-      };
-      target_label = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Label to which the resulting value is written in a replace action.
-          It is mandatory for replace actions.
-        '';
-      };
-      regex = mkOption {
-        type = types.str;
-        default = "(.*)";
-        description = ''
-          Regular expression against which the extracted value is matched.
-        '';
-      };
-      replacement = mkOption {
-        type = types.str;
-        default = "$1";
-        description = ''
-          Replacement value against which a regex replace is performed if the
-          regular expression matches.
-        '';
-      };
-      action = mkOption {
-        type = types.enum ["replace" "keep" "drop"];
-        default = "replace";
-        description = ''
-          Action to perform based on regex matching.
-        '';
-      };
+      source_labels = mkOpt (types.listOf types.str) ''
+        The source labels select values from existing labels. Their content
+        is concatenated using the configured separator and matched against
+        the configured regular expression.
+      '';
+
+      separator = mkDefOpt types.str ";" ''
+        Separator placed between concatenated source label values.
+      '';
+
+      target_label = mkOpt types.str ''
+        Label to which the resulting value is written in a replace action.
+        It is mandatory for replace actions.
+      '';
+
+      regex = mkDefOpt types.str "(.*)" ''
+        Regular expression against which the extracted value is matched.
+      '';
+
+      modulus = mkOpt types.int ''
+        Modulus to take of the hash of the source label values.
+      '';
+
+      replacement = mkDefOpt types.str "$1" ''
+        Replacement value against which a regex replace is performed if the
+        regular expression matches.
+      '';
+
+      action = mkDefOpt (types.enum ["replace" "keep" "drop"]) "replace" ''
+        Action to perform based on regex matching.
+      '';
+
     };
   };
 
   promTypes.tls_config = types.submodule {
     options = {
-      ca_file = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          CA certificate to validate API server certificate with.
-        '';
-      };
-      cert_file = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Certificate file for client cert authentication to the server.
-        '';
-      };
-      key_file = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Key file for client cert authentication to the server.
-        '';
-      };
-      server_name = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          ServerName extension to indicate the name of the server.
-          http://tools.ietf.org/html/rfc4366#section-3.1
-        '';
-      };
-      insecure_skip_verify = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Disable validation of the server certificate.
-        '';
-      };
+      ca_file = mkOpt types.str ''
+        CA certificate to validate API server certificate with.
+      '';
+
+      cert_file = mkOpt types.str ''
+        Certificate file for client cert authentication to the server.
+      '';
+
+      key_file = mkOpt types.str ''
+        Key file for client cert authentication to the server.
+      '';
+
+      server_name = mkOpt types.str ''
+        ServerName extension to indicate the name of the server.
+        http://tools.ietf.org/html/rfc4366#section-3.1
+      '';
+
+      insecure_skip_verify = mkOpt types.bool ''
+        Disable validation of the server certificate.
+      '';
     };
   };
 
@@ -662,7 +586,6 @@ in {
       globalConfig = mkOption {
         type = promTypes.globalConfig;
         default = {};
-        apply = _filter;
         description = ''
           Parameters that are valid in all  configuration contexts. They
           also serve as defaults for other configuration sections
@@ -688,7 +611,6 @@ in {
       scrapeConfigs = mkOption {
         type = types.listOf promTypes.scrape_config;
         default = [];
-        apply = x: map _filter x;
         description = ''
           A list of scrape configurations.
         '';
@@ -786,7 +708,6 @@ in {
       globalConfig = mkOption {
         type = promTypes.globalConfig;
         default = {};
-        apply = _filter;
         description = ''
           Parameters that are valid in all  configuration contexts. They
           also serve as defaults for other configuration sections
@@ -812,7 +733,6 @@ in {
       scrapeConfigs = mkOption {
         type = types.listOf promTypes.scrape_config;
         default = [];
-        apply = x: map _filter x;
         description = ''
           A list of scrape configurations.
         '';
diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix
index d4fa1eccdf3..f19bf9d8139 100644
--- a/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixos/modules/services/network-filesystems/ipfs.nix
@@ -226,18 +226,19 @@ in {
       ipfs.gid = config.ids.gids.ipfs;
     };
 
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -"
+    ] ++ optionals cfg.autoMount [
+      "d '${cfg.ipfsMountDir}' - ${cfg.user} ${cfg.group} - -"
+      "d '${cfg.ipnsMountDir}' - ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.ipfs-init = recursiveUpdate commonEnv {
       description = "IPFS Initializer";
 
       after = [ "local-fs.target" ];
       before = [ "ipfs.service" "ipfs-offline.service" "ipfs-norouting.service" ];
 
-      preStart = ''
-        install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}
-      '' + optionalString cfg.autoMount ''
-        install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipfsMountDir}
-        install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipnsMountDir}
-      '';
       script = ''
         if [[ ! -f ${cfg.dataDir}/config ]]; then
           ipfs init ${optionalString cfg.emptyRepo "-e"} \
@@ -253,7 +254,6 @@ in {
       serviceConfig = {
         Type = "oneshot";
         RemainAfterExit = true;
-        PermissionsStartOnly = true;
       };
     };
 
diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix
index 0e9b354cfca..40478b85b75 100644
--- a/nixos/modules/services/networking/i2pd.nix
+++ b/nixos/modules/services/networking/i2pd.nix
@@ -470,7 +470,7 @@ in
         '';
       };
 
-      trust.hidden = mkEnableOption "Router concealment.";
+      trust.hidden = mkEnableOption "Router concealment";
 
       websocket = mkEndpointOpt "websockets" "127.0.0.1" 7666;
 
@@ -478,7 +478,7 @@ in
       exploratory.outbound = i2cpOpts "exploratory";
 
       ntcp2.enable = mkEnableTrueOption "NTCP2.";
-      ntcp2.published = mkEnableOption "NTCP2 publication.";
+      ntcp2.published = mkEnableOption "NTCP2 publication";
       ntcp2.port = mkOption {
         type = types.int;
         default = 0;
diff --git a/nixos/modules/services/networking/miredo.nix b/nixos/modules/services/networking/miredo.nix
index 8694d08385c..2c8393fb5b4 100644
--- a/nixos/modules/services/networking/miredo.nix
+++ b/nixos/modules/services/networking/miredo.nix
@@ -20,7 +20,7 @@ in
 
     services.miredo = {
 
-      enable = mkEnableOption "the Miredo IPv6 tunneling service.";
+      enable = mkEnableOption "the Miredo IPv6 tunneling service";
 
       package = mkOption {
         type = types.package;
diff --git a/nixos/modules/services/networking/monero.nix b/nixos/modules/services/networking/monero.nix
index 8241c32bad0..831e4d60d8d 100644
--- a/nixos/modules/services/networking/monero.nix
+++ b/nixos/modules/services/networking/monero.nix
@@ -51,7 +51,7 @@ in
 
     services.monero = {
 
-      enable = mkEnableOption "Monero node daemon.";
+      enable = mkEnableOption "Monero node daemon";
 
       mining.enable = mkOption {
         type = types.bool;
diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix
index 9974cbd89d1..1d49c137723 100644
--- a/nixos/modules/services/networking/mosquitto.nix
+++ b/nixos/modules/services/networking/mosquitto.nix
@@ -44,7 +44,7 @@ in
 
   options = {
     services.mosquitto = {
-      enable = mkEnableOption "Enable the MQTT Mosquitto broker.";
+      enable = mkEnableOption "the MQTT Mosquitto broker";
 
       host = mkOption {
         default = "127.0.0.1";
@@ -65,7 +65,7 @@ in
       };
 
       ssl = {
-        enable = mkEnableOption "Enable SSL listener.";
+        enable = mkEnableOption "SSL listener";
 
         cafile = mkOption {
           type = types.nullOr types.path;
diff --git a/nixos/modules/services/networking/mxisd.nix b/nixos/modules/services/networking/mxisd.nix
index 0aa6d0d9ecd..0b9824f29fd 100644
--- a/nixos/modules/services/networking/mxisd.nix
+++ b/nixos/modules/services/networking/mxisd.nix
@@ -116,7 +116,6 @@ in {
         Group = "mxisd";
         ExecStart = "${cfg.package}/bin/mxisd --spring.config.location=${cfg.dataDir}/ --spring.profiles.active=systemd --java.security.egd=file:/dev/./urandom";
         WorkingDirectory = cfg.dataDir;
-        PermissionsStartOnly = true;
         SuccessExitStatus = 143;
         Restart = "on-failure";
       };
diff --git a/nixos/modules/services/networking/namecoind.nix b/nixos/modules/services/networking/namecoind.nix
index 8de23b442f9..a569ca87e26 100644
--- a/nixos/modules/services/networking/namecoind.nix
+++ b/nixos/modules/services/networking/namecoind.nix
@@ -1,3 +1,4 @@
+
 { config, lib, pkgs, ... }:
 
 with lib;
@@ -43,7 +44,7 @@ in
 
     services.namecoind = {
 
-      enable = mkEnableOption "namecoind, Namecoin client.";
+      enable = mkEnableOption "namecoind, Namecoin client";
 
       wallet = mkOption {
         type = types.path;
diff --git a/nixos/modules/services/networking/nullidentdmod.nix b/nixos/modules/services/networking/nullidentdmod.nix
index 786b5227dba..b0d338a2794 100644
--- a/nixos/modules/services/networking/nullidentdmod.nix
+++ b/nixos/modules/services/networking/nullidentdmod.nix
@@ -3,7 +3,7 @@
 
 in {
   options.services.nullidentdmod = with types; {
-    enable = mkEnableOption "Enable the nullidentdmod identd daemon";
+    enable = mkEnableOption "the nullidentdmod identd daemon";
 
     userid = mkOption {
       type = nullOr str;
diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix
index 9ba6e48f417..fab3ed5bb39 100644
--- a/nixos/modules/services/networking/smokeping.nix
+++ b/nixos/modules/services/networking/smokeping.nix
@@ -285,12 +285,12 @@ in
       uid = config.ids.uids.smokeping;
       description = "smokeping daemon user";
       home = smokepingHome;
+      createHome = true;
     };
     systemd.services.smokeping = {
       wantedBy = [ "multi-user.target"];
       serviceConfig = {
         User = cfg.user;
-        PermissionsStartOnly = true;
         Restart = "on-failure";
       };
       preStart = ''
@@ -300,7 +300,6 @@ in
         cp ${cgiHome} ${smokepingHome}/smokeping.fcgi
         ${cfg.package}/bin/smokeping --check --config=${configPath}
         ${cfg.package}/bin/smokeping --static --config=${configPath}
-        chown -R ${cfg.user} ${smokepingHome}
       '';
       script = ''${cfg.package}/bin/smokeping --config=${configPath} --nodaemon'';
     };
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 702481ec517..114a64dfb17 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -151,7 +151,6 @@ in {
           RestartForceExitStatus="3 4";
           User = cfg.user;
           Group = cfg.group;
-          PermissionsStartOnly = true;
           ExecStart = ''
             ${cfg.package}/bin/syncthing \
               -no-browser \
diff --git a/nixos/modules/services/networking/toxvpn.nix b/nixos/modules/services/networking/toxvpn.nix
index b7655f4bec6..7830dfb1834 100644
--- a/nixos/modules/services/networking/toxvpn.nix
+++ b/nixos/modules/services/networking/toxvpn.nix
@@ -5,7 +5,7 @@ with lib;
 {
   options = {
     services.toxvpn = {
-      enable = mkEnableOption "enable toxvpn running on startup";
+      enable = mkEnableOption "toxvpn running on startup";
 
       localip = mkOption {
         type        = types.string;
diff --git a/nixos/modules/services/search/kibana.nix b/nixos/modules/services/search/kibana.nix
index ba58630a467..2a6e8250850 100644
--- a/nixos/modules/services/search/kibana.nix
+++ b/nixos/modules/services/search/kibana.nix
@@ -31,7 +31,7 @@ let
 
 in {
   options.services.kibana = {
-    enable = mkEnableOption "enable kibana service";
+    enable = mkEnableOption "kibana service";
 
     listenAddress = mkOption {
       description = "Kibana listening host";
diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix
index 6659cc8a2d1..5ef7d9893a4 100644
--- a/nixos/modules/services/search/solr.nix
+++ b/nixos/modules/services/search/solr.nix
@@ -11,7 +11,7 @@ in
 {
   options = {
     services.solr = {
-      enable = mkEnableOption "Enables the solr service.";
+      enable = mkEnableOption "Solr";
 
       # default to the 8.x series not forcing major version upgrade of those on the 7.x series
       package = mkOption {
diff --git a/nixos/modules/services/security/munge.nix b/nixos/modules/services/security/munge.nix
index 504bc66c6d1..1c4f8e20552 100644
--- a/nixos/modules/services/security/munge.nix
+++ b/nixos/modules/services/security/munge.nix
@@ -49,21 +49,16 @@ in
 
       path = [ pkgs.munge pkgs.coreutils ];
 
-      preStart = ''
-        chmod 0400 ${cfg.password}
-        mkdir -p /var/lib/munge -m 0711
-        chown -R munge:munge /var/lib/munge
-        mkdir -p /run/munge -m 0755
-        chown -R munge:munge /run/munge
-      '';
-
       serviceConfig = {
+        ExecStartPre = "+${pkgs.coreutils}/bin/chmod 0400 ${cfg.password}";
         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";
+        StateDirectory = "munge";
+        StateDirectoryMode = "0711";
+        RuntimeDirectory = "munge";
       };
 
     };
diff --git a/nixos/modules/services/security/vault.nix b/nixos/modules/services/security/vault.nix
index 0b28bc89445..8176c168ca9 100644
--- a/nixos/modules/services/security/vault.nix
+++ b/nixos/modules/services/security/vault.nix
@@ -119,6 +119,10 @@ in
     };
     users.groups.vault.gid = config.ids.gids.vault;
 
+    systemd.tmpfiles.rules = optional (cfg.storagePath != null) [
+      "d '${cfg.storagePath}' 0700 vault vault - -"
+    ];
+
     systemd.services.vault = {
       description = "Vault server daemon";
 
@@ -128,14 +132,9 @@ in
 
       restartIfChanged = false; # do not restart on "nixos-rebuild switch". It would seal the storage and disrupt the clients.
 
-      preStart = optionalString (cfg.storagePath != null) ''
-        install -d -m0700 -o vault -g vault "${cfg.storagePath}"
-      '';
-
       serviceConfig = {
         User = "vault";
         Group = "vault";
-        PermissionsStartOnly = true;
         ExecStart = "${cfg.package}/bin/vault server -config ${configFile}";
         PrivateDevices = true;
         PrivateTmp = true;
diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix
index bed6661f84d..a74f6598432 100644
--- a/nixos/modules/services/torrent/peerflix.nix
+++ b/nixos/modules/services/torrent/peerflix.nix
@@ -39,6 +39,10 @@ in {
   ###### implementation
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.stateDir}' - peerflix - - -"
+    ];
+
     systemd.services.peerflix = {
       description = "Peerflix Daemon";
       wantedBy = [ "multi-user.target" ];
@@ -47,13 +51,11 @@ in {
 
       preStart = ''
         mkdir -p "${cfg.stateDir}"/{torrents,.config/peerflix-server}
-        if [ "$(id -u)" = 0 ]; then chown -R peerflix "${cfg.stateDir}"; fi
         ln -fs "${configFile}" "${cfg.stateDir}/.config/peerflix-server/config.json"
       '';
 
       serviceConfig = {
         ExecStart = "${pkgs.nodePackages.peerflix-server}/bin/peerflix-server";
-        PermissionsStartOnly = true;
         User = "peerflix";
       };
     };
diff --git a/nixos/modules/services/web-apps/codimd.nix b/nixos/modules/services/web-apps/codimd.nix
index ee2fc2b9d85..7ae7cd9c52d 100644
--- a/nixos/modules/services/web-apps/codimd.nix
+++ b/nixos/modules/services/web-apps/codimd.nix
@@ -899,10 +899,6 @@ in
       description = "CodiMD Service";
       wantedBy = [ "multi-user.target" ];
       after = [ "networking.target" ];
-      preStart = ''
-        mkdir -p ${cfg.workDir}
-        chown -R codimd: ${cfg.workDir}
-      '';
       serviceConfig = {
         WorkingDirectory = cfg.workDir;
         ExecStart = "${pkgs.codimd}/bin/codimd";
@@ -912,7 +908,6 @@ in
         ];
         Restart = "always";
         User = "codimd";
-        PermissionsStartOnly = true;
         PrivateTmp = true;
       };
     };
diff --git a/nixos/modules/services/web-apps/nexus.nix b/nixos/modules/services/web-apps/nexus.nix
index 050f8757fa5..052dbed6d4f 100644
--- a/nixos/modules/services/web-apps/nexus.nix
+++ b/nixos/modules/services/web-apps/nexus.nix
@@ -83,6 +83,8 @@ in
     users.users."${cfg.user}" = {
       isSystemUser = true;
       group = cfg.group;
+      home = cfg.home;
+      createHome = true;
     };
 
     users.groups."${cfg.group}" = {};
@@ -104,8 +106,6 @@ in
       preStart = ''
         mkdir -p ${cfg.home}/nexus3/etc
 
-        chown -R ${cfg.user}:${cfg.group} ${cfg.home}
-
         if [ ! -f ${cfg.home}/nexus3/etc/nexus.properties ]; then
           echo "# Jetty section" > ${cfg.home}/nexus3/etc/nexus.properties
           echo "application-port=${toString cfg.listenPort}" >> ${cfg.home}/nexus3/etc/nexus.properties
@@ -124,7 +124,6 @@ in
         User = cfg.user;
         Group = cfg.group;
         PrivateTmp = true;
-        PermissionsStartOnly = true;
         LimitNOFILE = 102642;
       };
     };
diff --git a/nixos/modules/services/web-servers/minio.nix b/nixos/modules/services/web-servers/minio.nix
index f78a966989b..cd123000f00 100644
--- a/nixos/modules/services/web-servers/minio.nix
+++ b/nixos/modules/services/web-servers/minio.nix
@@ -72,19 +72,16 @@ in
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.configDir}' - minio minio - -"
+      "d '${cfg.dataDir}' - minio minio - -"
+    ];
+
     systemd.services.minio = {
       description = "Minio Object Storage";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      preStart = ''
-        # Make sure directories exist with correct owner
-        mkdir -p ${cfg.configDir}
-        chown -R minio:minio ${cfg.configDir}
-        mkdir -p ${cfg.dataDir}
-        chown minio:minio ${cfg.dataDir}
-      '';
       serviceConfig = {
-        PermissionsStartOnly = true;
         ExecStart = "${cfg.package}/bin/minio server --json --address ${cfg.listenAddress} --config-dir=${cfg.configDir} ${cfg.dataDir}";
         Type = "simple";
         User = "minio";
diff --git a/nixos/modules/services/web-servers/traefik.nix b/nixos/modules/services/web-servers/traefik.nix
index 4674ed0177e..5bac895d43a 100644
--- a/nixos/modules/services/web-servers/traefik.nix
+++ b/nixos/modules/services/web-servers/traefik.nix
@@ -84,18 +84,16 @@ in {
   };
 
   config = mkIf cfg.enable {
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' 0700 traefik traefik - -"
+    ];
+
     systemd.services.traefik = {
       description = "Traefik web server";
       after = [ "network-online.target" ];
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
-        PermissionsStartOnly = true;
         ExecStart = ''${cfg.package.bin}/bin/traefik --configfile=${configFile}'';
-        ExecStartPre = [
-          ''${pkgs.coreutils}/bin/mkdir -p "${cfg.dataDir}"''
-          ''${pkgs.coreutils}/bin/chmod 700 "${cfg.dataDir}"''
-          ''${pkgs.coreutils}/bin/chown -R traefik:traefik "${cfg.dataDir}"''
-        ];
         Type = "simple";
         User = "traefik";
         Group = cfg.group;
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 3d748d4308b..9bf03a49470 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -75,7 +75,7 @@ in {
       debug = mkEnableOption "gnome-session debug messages";
 
       flashback = {
-        enableMetacity = mkEnableOption "Enable the standard GNOME Flashback session with Metacity.";
+        enableMetacity = mkEnableOption "the standard GNOME Flashback session with Metacity";
 
         customSessions = mkOption {
           type = types.listOf (types.submodule {
diff --git a/nixos/modules/services/x11/desktop-managers/maxx.nix b/nixos/modules/services/x11/desktop-managers/maxx.nix
index d7bd2fc5eb0..6a698658bdd 100644
--- a/nixos/modules/services/x11/desktop-managers/maxx.nix
+++ b/nixos/modules/services/x11/desktop-managers/maxx.nix
@@ -13,6 +13,12 @@ in {
   config = mkIf (xcfg.enable && cfg.enable) {
     environment.systemPackages = [ pkgs.maxx ];
 
+    # there is hardcoded path in binaries
+    system.activationScripts.setup-maxx = ''
+      mkdir -p /opt
+      ln -sfn ${pkgs.maxx}/opt/MaXX /opt
+    '';
+
     services.xserver.desktopManager.session = [
     { name = "MaXX";
       start = ''
diff --git a/nixos/modules/services/x11/display-managers/startx.nix b/nixos/modules/services/x11/display-managers/startx.nix
index 15609540a6e..57046984358 100644
--- a/nixos/modules/services/x11/display-managers/startx.nix
+++ b/nixos/modules/services/x11/display-managers/startx.nix
@@ -20,8 +20,8 @@ in
           Whether to enable the dummy "startx" pseudo-display manager,
           which allows users to start X manually via the "startx" command
           from a vt shell. The X server runs under the user's id, not as root.
-          The user must provide a ~/.xinintrc file containing session startup
-          commands, see startx(1). This is not autmatically generated
+          The user must provide a ~/.xinitrc file containing session startup
+          commands, see startx(1). This is not automatically generated
           from the desktopManager and windowManager settings.
         '';
       };
diff --git a/nixos/modules/services/x11/display-managers/xpra.nix b/nixos/modules/services/x11/display-managers/xpra.nix
index 40a1680da53..c23e479140f 100644
--- a/nixos/modules/services/x11/display-managers/xpra.nix
+++ b/nixos/modules/services/x11/display-managers/xpra.nix
@@ -33,7 +33,7 @@ in
         description = "Authentication to use when connecting to xpra";
       };
 
-      pulseaudio = mkEnableOption "pulseaudio audio streaming.";
+      pulseaudio = mkEnableOption "pulseaudio audio streaming";
 
       extraOptions = mkOption {
         description = "Extra xpra options";
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 6dafc6cddde..67cbe720ddc 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -555,7 +555,7 @@ echo /sbin/modprobe > /proc/sys/kernel/modprobe
 # Start stage 2.  `switch_root' deletes all files in the ramfs on the
 # current root.  Note that $stage2Init might be an absolute symlink,
 # in which case "-e" won't work because we're not in the chroot yet.
-if ! test -e "$targetRoot/$stage2Init" -o ! -L "$targetRoot/$stage2Init"; then
+if [ ! -e "$targetRoot/$stage2Init" ] && [ ! -L "$targetRoot/$stage2Init" ] ; then
     echo "stage 2 init script ($targetRoot/$stage2Init) not found"
     fail
 fi
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 8702abd3df8..788e3f4a2ab 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -32,7 +32,7 @@ let
   fileSystems = filter utils.fsNeededForBoot config.system.build.fileSystems;
 
   # A utility for enumerating the shared-library dependencies of a program
-  findLibs = pkgs.writeShellScriptBin "find-libs" ''
+  findLibs = pkgs.buildPackages.writeShellScriptBin "find-libs" ''
     set -euo pipefail
 
     declare -A seen
diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix
index 1384873b663..48be18c7102 100644
--- a/nixos/modules/tasks/filesystems/btrfs.nix
+++ b/nixos/modules/tasks/filesystems/btrfs.nix
@@ -19,7 +19,7 @@ in
     # One could also do regular btrfs balances, but that shouldn't be necessary
     # during normal usage and as long as the filesystems aren't filled near capacity
     services.btrfs.autoScrub = {
-      enable = mkEnableOption "Enable regular btrfs scrub";
+      enable = mkEnableOption "regular btrfs scrub";
 
       fileSystems = mkOption {
         type = types.listOf types.path;
diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix
index aaea06bb9a6..f640bb21b13 100644
--- a/nixos/modules/virtualisation/ec2-amis.nix
+++ b/nixos/modules/virtualisation/ec2-amis.nix
@@ -274,5 +274,22 @@ let self = {
   "18.09".sa-east-1.hvm-ebs = "ami-0e4a8a47fd6db6112";
   "18.09".ap-south-1.hvm-ebs = "ami-0880a678d3f555313";
 
-  latest = self."18.09";
+  # 19.03.172286.8ea36d73256
+  "19.03".eu-west-1.hvm-ebs = "ami-0fe40176548ff0940";
+  "19.03".eu-west-2.hvm-ebs = "ami-03a40fd3a02fe95ba";
+  "19.03".eu-west-3.hvm-ebs = "ami-0436f9da0f20a638e";
+  "19.03".eu-central-1.hvm-ebs = "ami-0022b8ea9efde5de4";
+  "19.03".us-east-1.hvm-ebs = "ami-0efc58fb70ae9a217";
+  "19.03".us-east-2.hvm-ebs = "ami-0abf711b1b34da1af";
+  "19.03".us-west-1.hvm-ebs = "ami-07d126e8838c40ec5";
+  "19.03".us-west-2.hvm-ebs = "ami-03f8a737546e47fb0";
+  "19.03".ca-central-1.hvm-ebs = "ami-03f9fd0ef2e035ede";
+  "19.03".ap-southeast-1.hvm-ebs = "ami-0cff66114c652c262";
+  "19.03".ap-southeast-2.hvm-ebs = "ami-054c73a7f8d773ea9";
+  "19.03".ap-northeast-1.hvm-ebs = "ami-00db62688900456a4";
+  "19.03".ap-northeast-2.hvm-ebs = "ami-0485cdd1a5fdd2117";
+  "19.03".sa-east-1.hvm-ebs = "ami-0c6a43c6e0ad1f4e2";
+  "19.03".ap-south-1.hvm-ebs = "ami-0303deb1b5890f878";
+
+  latest = self."19.03";
 }; in self
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index 903411799d3..ab65523592d 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -100,6 +100,11 @@ in {
     boot.growPartition = true;
     boot.loader.grub.device = "/dev/sda";
 
+    swapDevices = [{
+      device = "/var/swap";
+      size = 2048;
+    }];
+
     virtualisation.virtualbox.guest.enable = true;
 
   };
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 8b27ff808e6..950eb01044f 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -23,6 +23,7 @@ in
 {
   acme = handleTestOn ["x86_64-linux"] ./acme.nix {};
   atd = handleTest ./atd.nix {};
+  automysqlbackup = handleTest ./automysqlbackup.nix {};
   avahi = handleTest ./avahi.nix {};
   bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64
   beanstalkd = handleTest ./beanstalkd.nix {};
diff --git a/nixos/tests/automysqlbackup.nix b/nixos/tests/automysqlbackup.nix
new file mode 100644
index 00000000000..ada104a34de
--- /dev/null
+++ b/nixos/tests/automysqlbackup.nix
@@ -0,0 +1,34 @@
+import ./make-test.nix ({ pkgs, lib, ... }:
+
+{
+  name = "automysqlbackup";
+  meta.maintainers = [ lib.maintainers.aanderse ];
+
+  machine =
+    { pkgs, ... }:
+    {
+      services.mysql.enable = true;
+      services.mysql.package = pkgs.mysql;
+      services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
+
+      services.automysqlbackup.enable = true;
+    };
+
+  testScript = ''
+    startAll;
+
+    # Need to have mysql started so that it can be populated with data.
+    $machine->waitForUnit("mysql.service");
+
+    # Wait for testdb to be fully populated (5 rows).
+    $machine->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
+
+    # Do a backup and wait for it to start
+    $machine->startJob("automysqlbackup.service");
+    $machine->waitForJob("automysqlbackup.service");
+
+    # wait for backup file and check that data appears in backup
+    $machine->waitForFile("/var/backup/mysql/daily/testdb");
+    $machine->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello");
+    '';
+})
diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix
index 22697af2092..1e16eb78cef 100644
--- a/pkgs/applications/altcoins/go-ethereum.nix
+++ b/pkgs/applications/altcoins/go-ethereum.nix
@@ -1,8 +1,9 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }:
+{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit, fetchpatch }:
 
 buildGoPackage rec {
-  name = "go-ethereum-${version}";
-  version = "1.8.26";
+  pname = "go-ethereum";
+  version = "1.8.27";
+
   goPackagePath = "github.com/ethereum/go-ethereum";
 
   # Fix for usb-related segmentation faults on darwin
@@ -12,11 +13,22 @@ buildGoPackage rec {
   # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
   hardeningDisable = [ "fortify" ];
 
+  # Apply ethereum/go-ethereum#19183 to fix the aarch64 build failure.
+  #
+  # TODO Remove this patch when upstream (https://github.com/ethereum/go-ethereum)
+  # fix this problem in the future release.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/ethereum/go-ethereum/commit/39bd2609.patch";
+      sha256 = "1a362hzvcjk505hicv25kziy3c6s5an4j7rk4jibcxwgvygb3mz5";
+    })
+ ];
+
   src = fetchFromGitHub {
     owner = "ethereum";
-    repo = "go-ethereum";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0i7shrwix5j8l5i0ap5pzhninwyk2kvm1pax27pnnjlpam8577i4";
+    sha256 = "1640y7lqy7bvjjgx6wp0cnbw632ls5fj4ixclr819lfz4p5dfhx1";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/audio-recorder/default.nix b/pkgs/applications/audio/audio-recorder/default.nix
index 2ac7e3af7ab..7b84cd02a62 100644
--- a/pkgs/applications/audio/audio-recorder/default.nix
+++ b/pkgs/applications/audio/audio-recorder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, pkgconfig, intltool, gnome3
+, pkgconfig, intltool
 , glib, dbus, gtk3, libappindicator-gtk3, gst_all_1
 , librsvg, wrapGAppsHook
 , pulseaudioSupport ? true, libpulseaudio ? null }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   # https://bugs.launchpad.net/audio-recorder/+bug/1784622
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
 
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 060c1dc5d4d..6e926fe11c3 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
-, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng
+, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng, libnotify
 , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3
 , at-spi2-atk
 }:
@@ -36,6 +36,7 @@ let
     glib
     gtk2
     libgcrypt
+    libnotify
     libpng
     nss
     pango
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index fdba9f7be77..10d06635788 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -39,12 +39,11 @@
 
 let
   drvName = "android-studio-${channel}-${version}";
-  archiveFormat = if builtins.elem channel [ "dev" "canary" ] then "tar.gz" else "zip";
   androidStudio = stdenv.mkDerivation {
     name = drvName;
 
     src = fetchurl {
-      url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.${archiveFormat}";
+      url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.tar.gz";
       sha256 = sha256Hash;
     };
 
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 80d84bcd2fd..a7c2c3da444 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -8,19 +8,15 @@ let
     inherit (gnome2) GConf gnome_vfs;
   };
   stableVersion = {
-    version = "3.3.2.0"; # "Android Studio 3.3.2"
-    build = "182.5314842";
-    sha256Hash = "0smh3d3v8n0isxg7fkls20622gp52f58i2b6wa4a0g8wnvmd6mw2";
-  };
-  betaVersion = {
-    version = "3.4.0.17"; # "Android Studio 3.4 RC 3"
-    build = "183.5400832";
-    sha256Hash = "1v4apc73jdhavhzj8j46mzh15rw08w1hd9y9ykarj3b5q7i2vyq1";
+    version = "3.4.0.18"; # "Android Studio 3.4.0"
+    build = "183.5452501";
+    sha256Hash = "0i8wz9v6nxzr27a07cv2330i84v94pcl13gjwvpglp55hyzd8axd";
   };
+  betaVersion = stableVersion;
   latestVersion = { # canary & dev
-    version = "3.5.0.10"; # "Android Studio 3.5 Canary 11"
-    build = "191.5455988";
-    sha256Hash = "1g24a8fwnrfzdf093wdmqly3mzjddk5ndgi51qj98amn7kclsdpf";
+    version = "3.5.0.11"; # "Android Studio 3.5 Canary 12"
+    build = "191.5471097";
+    sha256Hash = "1dz9iy8f12fzqp8wv9c5v01d33djy97aha8rxxp18vi6myak42ca";
   };
 in rec {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/emacs-modes/hsc3/default.nix b/pkgs/applications/editors/emacs-modes/hsc3/default.nix
index 150bd3593fd..199a5886e1d 100644
--- a/pkgs/applications/editors/emacs-modes/hsc3/default.nix
+++ b/pkgs/applications/editors/emacs-modes/hsc3/default.nix
@@ -8,9 +8,9 @@ let version = "0.15";
 in stdenv.mkDerivation {
   name = "hsc3-mode-${version}";
   src = fetchurl {
-    url = http://hackage.haskell.org/package/hsc3-0.15/hsc3-0.15.tar.gz;
+    url = mirror://hackage/hsc3-0.15/hsc3-0.15.tar.gz;
     sha256 = "2f3b15655419cf8ebe25ab1c6ec22993b2589b4ffca7c3a75ce478ca78a0bde6";
-  }; 
+  };
 
   buildInputs = [ emacs ];
 
diff --git a/pkgs/applications/editors/manuskript/default.nix b/pkgs/applications/editors/manuskript/default.nix
index 4f4be05f79e..ecbe7e8b719 100644
--- a/pkgs/applications/editors/manuskript/default.nix
+++ b/pkgs/applications/editors/manuskript/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "manuskript";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "olivierkes";
     rev = version;
-    sha256 = "0vqz02p3m9n4hk2jplnklr9s6niqdm5iykab6nblqdm4plb04c34";
+    sha256 = "13y1s0kba1ib6g977n7h920kyr7abdw03kpal512m7iwa9g2kdw8";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index e0ac32c54ec..2e3d092225f 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.1.0578";
+  version = "8.1.0675";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "0sawqxp2737y6mga9da36qya47h0idnnaxblzpsx8clw002piyv2";
+    sha256 = "00nlh8f2rf0af3n434s0lp6idxlg4l7mi1lrlbz0xld9dsrzdmas";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix
index 459e07f9838..c98c323fc79 100644
--- a/pkgs/applications/graphics/apitrace/default.nix
+++ b/pkgs/applications/graphics/apitrace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "apitrace-${version}";
-  version = "7.1-363-ge3509be1";
+  version = "7.1-572-g${builtins.substring 0 8 src.rev}";
 
   src = fetchFromGitHub {
-    sha256 = "1xbz6gwl7kqjm7jjy5gxkdxzrg93vj1a3l19ara7rni6dii0q136";
-    rev = "e3509be175eda77749abffe051ed0d3eb5d14e72";
+    sha256 = "11bwb0l8cr1bf9bj1s6cbmi77d5fy4qrphj9cgmcd8jpa862anp5";
+    rev = "26966134f15d28f6b4a9a0a560017b3ba36d60bf";
     repo = "apitrace";
     owner = "apitrace";
   };
diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix
index 2b0dde210c5..d90fb41c03b 100644
--- a/pkgs/applications/graphics/djview/default.nix
+++ b/pkgs/applications/graphics/djview/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AGL ];
 
   passthru = {
-    mozillaPlugin = "/lib/netscape/plugins";
+    mozillaPlugin = "/lib/mozilla/plugins";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
index 9e4aec16db8..657a9dd27e5 100644
--- a/pkgs/applications/graphics/gimp/default.nix
+++ b/pkgs/applications/graphics/gimp/default.nix
@@ -69,7 +69,7 @@ in stdenv.mkDerivation rec {
   configureFlags = [
     "--without-webkit" # old version is required
     "--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
-    "--with-icc-directory=/var/run/current-system/sw/share/color/icc"
+    "--with-icc-directory=/run/current-system/sw/share/color/icc"
   ];
 
   # on Darwin,
diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix
index d29c9cd8259..3a139f3740c 100644
--- a/pkgs/applications/graphics/unigine-valley/default.nix
+++ b/pkgs/applications/graphics/unigine-valley/default.nix
@@ -12,6 +12,7 @@
 , libXinerama
 , libXrandr
 , libXrender
+, libGL
 , openal}:
 
 let
@@ -47,6 +48,7 @@ in
       libXinerama
       libXrandr
       libXrender
+      libGL
       openal
     ];
 
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 818b047af04..239d71fdfaf 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -126,6 +126,7 @@ let
       kmime = callPackage ./kmime.nix {};
       kmix = callPackage ./kmix.nix {};
       kmplot = callPackage ./kmplot.nix {};
+      knotes = callPackage ./knotes.nix {};
       kolourpaint = callPackage ./kolourpaint.nix {};
       kompare = callPackage ./kompare.nix {};
       konsole = callPackage ./konsole.nix {};
diff --git a/pkgs/applications/kde/knotes.nix b/pkgs/applications/kde/knotes.nix
new file mode 100644
index 00000000000..6aa3206acc7
--- /dev/null
+++ b/pkgs/applications/kde/knotes.nix
@@ -0,0 +1,29 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools,
+  kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash,
+  kdbusaddons, kdnssd, kglobalaccel, kiconthemes, kitemmodels,
+  kitemviews, kcmutils, knewstuff, knotifications, knotifyconfig,
+  kparts, ktextwidgets, kwidgetsaddons, kwindowsystem,
+  kdelibs4support,
+  grantlee, grantleetheme, qtx11extras,
+  akonadi, akonadi-notes, akonadi-search, kcalutils,
+  kontactinterface, libkdepim, kmime, pimcommon, kpimtextedit,
+  kcalcore
+}:
+
+mkDerivation {
+  name = "knotes";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    kcompletion kconfig kconfigwidgets kcoreaddons kcrash
+    kdbusaddons kdnssd kglobalaccel kiconthemes kitemmodels kitemviews
+    kcmutils knewstuff knotifications knotifyconfig kparts ktextwidgets
+    kwidgetsaddons kwindowsystem kdelibs4support
+    grantlee grantleetheme qtx11extras
+    akonadi akonadi-notes kcalutils kontactinterface
+    libkdepim kmime pimcommon kpimtextedit
+    akonadi-search
+    kcalcore
+  ];
+}
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 39b4dbe0fe5..b8e9b6b0666 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.40.1";
+  version = "3.41.3";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "1s1kq8axfymr7agg7dqw47kanlrkzzhsy8pcj1fs5644zjp5n0bq";
+    sha256 = "167hhv4wimkjnyfgqkyqmaiixhicbxacy6190gps98jyj4csi8ra";
   };
 
   patches = [
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   ] ++ (with python2Packages; [
     apsw cssselect css-parser dateutil dnspython html5-parser lxml mechanize netifaces pillow
     python pyqt5_with_qtwebkit sip
-    regex msgpack
+    regex msgpack beautifulsoup4
     # the following are distributed with calibre, but we use upstream instead
     odfpy
   ]);
diff --git a/pkgs/applications/misc/crumbs/default.nix b/pkgs/applications/misc/crumbs/default.nix
new file mode 100644
index 00000000000..2d612c16fef
--- /dev/null
+++ b/pkgs/applications/misc/crumbs/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "crumbs";
+  version = "0.0.3";
+
+  src = fetchFromGitHub
+    { owner = "fasseg";
+      repo = "crumbs";
+      rev = version;
+      sha256 = "0jjvydn4i4n9xv8vsal2jxpa95mk2lw6myv0gx9wih242k9vy0l7";
+    };
+
+  prePatch = ''
+    sed -i 's|gfind|find|' crumbs-completion.fish
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/bash-completion/completions
+    mkdir -p $out/share/fish/vendor_completions.d
+
+    cp crumbs-completion.bash $out/share/bash-completion/completions/crumbs
+    cp crumbs-completion.fish $out/share/fish/vendor_completions.d/crumbs.fish
+  '';
+
+  meta = with stdenv.lib;
+    { description = "Bookmarks for the command line";
+      homepage    = https://github.com/fasseg/crumbs;
+      license     = licenses.wtfpl;
+      platforms   = platforms.all;
+      maintainers = with maintainers; [ thesola10 ];
+    };
+}
diff --git a/pkgs/applications/misc/gnome-recipes/default.nix b/pkgs/applications/misc/gnome-recipes/default.nix
index 1cf6f547c30..01f5af339ff 100644
--- a/pkgs/applications/misc/gnome-recipes/default.nix
+++ b/pkgs/applications/misc/gnome-recipes/default.nix
@@ -55,7 +55,7 @@ in stdenv.mkDerivation rec {
 
   # https://github.com/NixOS/nixpkgs/issues/36468
   # https://gitlab.gnome.org/GNOME/recipes/issues/76
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   postPatch = ''
     chmod +x src/list_to_c.py
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix
index 0541468345e..1e2c57a3469 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/misc/guake/default.nix
@@ -14,6 +14,11 @@ in python3.pkgs.buildPythonApplication rec {
     sha256 = "1j38z968ha8ij6wrgbwvr8ad930nvhybm9g7pf4s4zv6d3vln0vm";
   };
 
+  # Strict deps breaks guake
+  # See https://github.com/NixOS/nixpkgs/issues/59930
+  # and https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
   nativeBuildInputs = [ gettext gobject-introspection wrapGAppsHook python3.pkgs.pip glibcLocales ];
 
   buildInputs = [ gtk3 keybinder3 libnotify python3 vte ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index da48f702f73..8f221b087ca 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   name = "hugo-${version}";
-  version = "0.55.0";
+  version = "0.55.2";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner  = "gohugoio";
     repo   = "hugo";
     rev    = "v${version}";
-    sha256 = "063z79m9rganzjzqvy7bg6b29m877asm5haxp0d5cb5ac7cx55rj";
+    sha256 = "0v06hn9wnq9bp4pdh3pzhkp6adpba6pxk9w42p0v2mpgsjdvm5j0";
   };
 
   modSha256 = "0yrwkaaasj9ihjjfbywnzkppix1y2znagg3dkyikk21sl5n0nz23";
diff --git a/pkgs/applications/misc/mako/default.nix b/pkgs/applications/misc/mako/default.nix
index 3d8ed3627f2..f076a2838eb 100644
--- a/pkgs/applications/misc/mako/default.nix
+++ b/pkgs/applications/misc/mako/default.nix
@@ -1,19 +1,24 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, scdoc, systemd, pango, cairo
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, scdoc
+, systemd, pango, cairo, gdk_pixbuf
 , wayland, wayland-protocols }:
 
 stdenv.mkDerivation rec {
-  name = "mako-${version}";
-  version = "1.2";
+  pname = "mako";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "emersion";
-    repo = "mako";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "112b7s5bkvwlgsm2kng2vh8mn6wr3a6c7n1arl9adxlghdym449h";
+    sha256 = "17azdc37xsbmx13fkfp23vg9lznrv9fh6nhagn64wdq3nhsxm3b6";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
-  buildInputs = [ systemd pango cairo wayland wayland-protocols ];
+  nativeBuildInputs = [ meson ninja pkgconfig scdoc wayland-protocols ];
+  buildInputs = [ systemd pango cairo gdk_pixbuf wayland ];
+
+  mesonFlags = [
+    "-Dicons=enabled" "-Dman-pages=enabled" "-Dzsh-completions=true"
+  ];
 
   meta = with stdenv.lib; {
     description = "A lightweight Wayland notification daemon";
diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix
index 9ad9f4fe15a..7586669218d 100644
--- a/pkgs/applications/misc/qtbitcointrader/default.nix
+++ b/pkgs/applications/misc/qtbitcointrader/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchzip, qt5 }:
 
 let
-  version = "1.40.40";
+  version = "1.40.41";
 in
 stdenv.mkDerivation {
   name = "qtbitcointrader-${version}";
 
   src = fetchzip {
     url = "https://github.com/JulyIGHOR/QtBitcoinTrader/archive/v${version}.tar.gz";
-    sha256 = "10gxxkmn7w2hbmznpx6ybbbvlvh640nyzya1yfn162vzbjg14jdi";
+    sha256 = "0v2rqzswqxfhxvkj1i7b48sd6kbj3w9issvn05yhp7bx75gwns4p";
   };
 
   buildInputs = [ qt5.qtbase qt5.qtmultimedia qt5.qtscript ];
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index 0edcde12e34..a8e82998c30 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Window switcher, run dialog and dmenu replacement";
-    homepage = https://davedavenport.github.io/rofi;
+    homepage = https://github.com/davatorium/rofi;
     license = licenses.mit;
     maintainers = with maintainers; [ mbakke garbas ma27 ];
     platforms = with platforms; linux;
diff --git a/pkgs/applications/misc/rxvt_unicode/wrapper.nix b/pkgs/applications/misc/rxvt_unicode/wrapper.nix
index 909c267def8..a7b25e112a9 100644
--- a/pkgs/applications/misc/rxvt_unicode/wrapper.nix
+++ b/pkgs/applications/misc/rxvt_unicode/wrapper.nix
@@ -1,4 +1,4 @@
-{ symlinkJoin, rxvt_unicode, makeWrapper, plugins }:
+{ symlinkJoin, rxvt_unicode, makeWrapper, plugins, perlPackages, perlDeps ? []}:
 
 let
   rxvt_name = builtins.parseDrvName rxvt_unicode.name;
@@ -12,8 +12,10 @@ in symlinkJoin {
 
   postBuild = ''
     wrapProgram $out/bin/urxvt \
+      --set PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
       --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
     wrapProgram $out/bin/urxvtd \
+      --set PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
       --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
   '';
 
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index ef31898dd0c..3c20eb126f0 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -15,13 +15,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "kubernetes-${version}";
-  version = "1.13.5";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "06pf4h76zsqs3dsxr57y9sb9sw48nfyw1x2q1725zww61jfz2a6y";
+    sha256 = "1c04x474m5b7qqs9kddrx2mygwpv40hvylr3cq34qxdxgang3qc6";
   };
 
   buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace "hack/lib/golang.sh" --replace "_cgo" ""
-    substituteInPlace "hack/generate-docs.sh" --replace "make" "make SHELL=${stdenv.shell}"
+    substituteInPlace "hack/update-generated-docs.sh" --replace "make" "make SHELL=${stdenv.shell}"
     # hack/update-munge-docs.sh only performs some tests on the documentation.
     # They broke building k8s; disabled for now.
     echo "true" > "hack/update-munge-docs.sh"
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   WHAT="${concatStringsSep " " components}";
 
   postBuild = ''
-    ./hack/generate-docs.sh
+    ./hack/update-generated-docs.sh
     (cd build/pause && cc pause.c -o pause)
   '';
 
diff --git a/pkgs/applications/networking/cluster/terraform-providers/data.nix b/pkgs/applications/networking/cluster/terraform-providers/data.nix
index ef0da8e6ff5..76178c0cd8b 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/data.nix
@@ -11,22 +11,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      version = "1.36.0";
-      sha256  = "13rmlsnplcmcxjksm1wizgzlx47h5in5gmqhbm2n6k5ayx4x9ha2";
+      version = "1.39.0";
+      sha256  = "0m5fvqrvnb7v5iii67l743j3hq32rljrvnkgc7fcd46zrf38yl2h";
     };
   archive =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-archive";
-      version = "1.2.0";
-      sha256  = "1qargj90nl7r8a1fcsj10fnjirskvbn3gz0dsijqnr432jxs2cvh";
+      version = "1.2.1";
+      sha256  = "1avx3m0dkld0kmsi8ifqcla8254p1izh5wrziffr7r05s152r8qf";
     };
   arukas =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-arukas";
-      version = "1.0.0";
-      sha256  = "1v8jzns8czy8navdrabsvc9zk1s9vs1718ngjlx9vs13r3bkm2fc";
+      version = "1.1.0";
+      sha256  = "1akl9fzgm5qv01vz18xjzyqjnlxw699qq4x8vr96j16l1zf10h99";
     };
   atlas =
     {
@@ -39,8 +39,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "2.3.0";
-      sha256  = "0cim14q56xr7hm06d4sy205p4xp1x3kbddb4pw65ck671i55h7ln";
+      version = "2.6.0";
+      sha256  = "0hpnyid5w33n8ypwcz3a43gazbvk6m60b57qll2qgx6bm1q75b19";
     };
   azuread =
     {
@@ -53,15 +53,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "1.23.0";
-      sha256  = "11v1832sxnigyiyy4i34mxwn7j18i6iwsff8sqabpa7v9a405ngp";
+      version = "1.25.0";
+      sha256  = "1fhcljxz6cb5q1kd7aprxv1bga53x6fg65q5wkp985aaqnl42b8k";
     };
   azurestack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurestack";
-      version = "0.4.0";
-      sha256  = "1c9am0v4aq95k1jblc767vykk76dp0d6z2fvy148ag77cy2jgryc";
+      version = "0.5.0";
+      sha256  = "0pi8hjl6350ibkiz5pi86p58gkj8jf0a27ar04npsrn2wcz90k8z";
     };
   bigip =
     {
@@ -81,8 +81,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-brightbox";
-      version = "1.0.6";
-      sha256  = "02wbx36kdbxxjwsbbwry3drdx5injllglpsb56dw1fvqymmal7wl";
+      version = "1.1.1";
+      sha256  = "03fh287fmbg9jxsiniwj3sn6nsjdm46qv82b5aaqny3qmhjddjvq";
     };
   chef =
     {
@@ -109,15 +109,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudflare";
-      version = "1.12.0";
-      sha256  = "1kq9mbs3if7w9jnsdkj104lvy532lwkd9wr4m0ilh7zql0vm9mpk";
+      version = "1.13.0";
+      sha256  = "01fgcycn5g53cx32xcgrpcpvjxwb8w11hs0f7s2bhg6cq0v9higj";
     };
   cloudscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudscale";
-      version = "1.0.1";
-      sha256  = "0lhzwbm1a2s11s0ahb3vxfvshh385fgy1ficvip4rl31dahhwrav";
+      version = "1.1.0";
+      sha256  = "09b1cq0vyyag8aaiwmhnwrgigmxvxk3qsk31h4hshm7ddk7db9qn";
     };
   cloudstack =
     {
@@ -137,15 +137,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-consul";
-      version = "2.2.0";
-      sha256  = "13jwvf7n7238pzvdq9m6vnl9vqa9hkr1mrcf9sa1q9lxkim9ijfk";
+      version = "2.3.0";
+      sha256  = "06b6yjmaq7sq26kfsqxlxmz5mnr1xsn1vywndh14grqwg6zmsrl6";
     };
   datadog =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-datadog";
-      version = "1.7.0";
-      sha256  = "0a7nvq2nhfv2jg6jc83jjg11yzzkiwyifdj5ni76nri82mbhb14q";
+      version = "1.8.0";
+      sha256  = "1pmz4gxhfynj7mjcl07n2ggz00vccw4bv6cmp7na3ssbpnjiy1wx";
     };
   digitalocean =
     {
@@ -193,8 +193,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-external";
-      version = "1.1.0";
-      sha256  = "18gwwcspj31rid0r603z0688nzdwl2nl8wy6hrzw62bx5gy4bdrp";
+      version = "1.1.1";
+      sha256  = "110kqp4gsag3l8h9hwjdq98s9rz9f5w31mrs50rygdc0yd43hq8z";
     };
   fastly =
     {
@@ -228,15 +228,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "2.3.0";
-      sha256  = "063z08qamy0yx376qh0pxd446kbnp6z1828x6nr7yzh4dw0rzc3s";
+      version = "2.4.0";
+      sha256  = "153pr01m7clvdq9c09xhvlivagn12nlxhykh1x9yya9ixkg0zrrv";
     };
   google-beta =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google-beta";
-      version = "2.3.0";
-      sha256  = "120vq5bd092ykv6cc53w9208wfmf2hd8hflas282l4yg0b47gx83";
+      version = "2.4.0";
+      sha256  = "08vbj9m6x0byf7x77a5b5isg0kmlxvc9gswgilzi6djgwg0j6wwd";
     };
   grafana =
     {
@@ -270,8 +270,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-heroku";
-      version = "1.8.0";
-      sha256  = "0gansylgmc8fx9lskpc4dkjjc3v3jxbmcgscbgc4qfiiybxf5j8n";
+      version = "1.9.0";
+      sha256  = "1qabhf2qm7ba5jw6hclkcp2pw8c39ggrqkhhqg0bh03h220rl22x";
     };
   http =
     {
@@ -326,15 +326,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-linode";
-      version = "1.5.0";
-      sha256  = "1vp20jxxrzm57z6ldni2rbw9plwws17gpzv3z0ffqa9rijqxh3fr";
+      version = "1.6.0";
+      sha256  = "0i2x0jd26qanziihlc38s7rxiab66ld2s5gz18rrmrbwhcl95fwj";
     };
   local =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-local";
-      version = "1.2.0";
-      sha256  = "1w63ar3cr4095kza400chmmdzdadb1d871pbd14pzghl63nyg4ig";
+      version = "1.2.1";
+      sha256  = "1hi2bxa79fbdf2n6z59xdfs7bx8cg7q2l84hrxdh3cqbnb8jvsbr";
     };
   logentries =
     {
@@ -389,8 +389,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ns1";
-      version = "1.2.0";
-      sha256  = "0j9xghm84zjfgsmix1gdslr4pnhcf2xmb7n1851a3pmxd851fd9b";
+      version = "1.3.0";
+      sha256  = "1h21a4z7js2iwg0gj217lq4d7wccxhjmi5k37asfj18ch0x37c7v";
     };
   nsxt =
     {
@@ -403,8 +403,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-null";
-      version = "2.1.0";
-      sha256  = "0hgdg5hl33kx9hzj2y0aqfq32q92b3hbdvx1a391c0miz6rn2k8k";
+      version = "2.1.1";
+      sha256  = "0sw7j2cz9d5207l1v32ahqahmsk1dzzsf83zqivaa5jk3w4bfnjz";
     };
   nutanix =
     {
@@ -417,8 +417,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oci";
-      version = "3.20.0-rc1";
-      sha256  = "07z4bl2fz8wvfjznrci6dxigx8ypi2r4w8xk9fv0bpjm0a6pp813";
+      version = "3.23.0-rc1";
+      sha256  = "11h8na7czj4iqm9z3pd8im06qqp3mng62h8ha5afvz2phv1g096h";
     };
   oneandone =
     {
@@ -431,15 +431,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opc";
-      version = "1.3.2";
-      sha256  = "0fm53xwgpsmfkqavichxb0vq86bqqpsadlyzqz5jafw3aavx91cb";
+      version = "1.3.3";
+      sha256  = "1hwbwyhjrs16cy66przs44znni0x3nwfsx18glxbikb2zx1ph93n";
     };
   openstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-openstack";
-      version = "1.16.0";
-      sha256  = "1s0fclqclq1rrwz6217jw4qh6bz3zlk6zxsaabxvzbsg4b7vwnrh";
+      version = "1.17.0";
+      sha256  = "1a3asmkf3w1ndy5rpyn09msp5l1sm2cdm3ca7cx5v00pjvww9f52";
     };
   opentelekomcloud =
     {
@@ -459,8 +459,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oraclepaas";
-      version = "1.5.0";
-      sha256  = "1vnaqzs7i2kn37sxf1sknxn6j1d24xlckqcvkh9xzi8jrmm4rgvr";
+      version = "1.5.1";
+      sha256  = "0xyyhr2n1aw1qn90535llv72cdgdqpni9l4gn8sj0ligpjhba7qz";
     };
   ovh =
     {
@@ -473,8 +473,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "1.5.0";
-      sha256  = "0c59f2q8ivdn47f4shy674794aijc7byb6273lfcdaal1gb0mw79";
+      version = "1.7.2";
+      sha256  = "103r0k626ham8wh7rwlx1hald4rik17mv2mcfjz9za65v7z139vr";
     };
   pagerduty =
     {
@@ -494,8 +494,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-postgresql";
-      version = "0.2.1";
-      sha256  = "025s3wgj1v6iwaliyics33cb5sx4614658z1vxxrxx7xb9pf328w";
+      version = "0.3.0";
+      sha256  = "0z1xdzl5mn6dxgkgmysq06g3fg9cdlwa59ng42r6kffcbl0mwgfh";
     };
   powerdns =
     {
@@ -508,8 +508,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-profitbricks";
-      version = "1.4.3";
-      sha256  = "19rqqx5ib23nhvz2smh20cii25g09sdi7kg85m4nlbh63gqg86qf";
+      version = "1.4.4";
+      sha256  = "0pzcl3pdhaykihvv1v38zrv607mydchvkzrzhwcakgmdkp3vq54i";
     };
   rabbitmq =
     {
@@ -529,8 +529,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-random";
-      version = "2.1.0";
-      sha256  = "1219128f838szcjgjv6figrmh4r7lhxrr22mf9fpf5a30wi0ssqf";
+      version = "2.1.1";
+      sha256  = "0ivmxacb9pzz7av2rr6jal5vwdv24689a2806nqvvzdy2s8mlzd3";
     };
   rightscale =
     {
@@ -585,8 +585,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-spotinst";
-      version = "1.9.0";
-      sha256  = "0rpkxg50gkm9ji7s4bl1wz7j1z2iw5jq9n1pfmcs9nk0rl17j77j";
+      version = "1.11.0";
+      sha256  = "10q1w66gbx6863797n6n15xx4llflmavrz2qk23pb8qd5pbni9bk";
     };
   statuscake =
     {
@@ -606,15 +606,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-template";
-      version = "2.1.0";
-      sha256  = "1db9gr4f5awryqxq5iahv2xj5p0msd44j3lgklkqw2q3kswlvckr";
+      version = "2.1.1";
+      sha256  = "182kdkbmnihpawvgfpxavg8vbczizw5mlkwp828ap0baqs09ai8i";
     };
   tencentcloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tencentcloud";
-      version = "1.3.0";
-      sha256  = "1pdzzrg4qrsjiv67yr2g6a9l1n9vqi5n4m53kbb1fp04g3s2sw31";
+      version = "1.4.0";
+      sha256  = "1gqxvd5ss2cg49856nj3srirny1298l3fla506r7v8xf9ybkzpb4";
     };
   terraform =
     {
@@ -627,8 +627,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tfe";
-      version = "0.8.1";
-      sha256  = "0an0il8h0ly639z92cc007xjjs3cyk25jkbnkp99kkj0mf760729";
+      version = "0.8.2";
+      sha256  = "0apxf197g4mrxybbx1vrk2i3fnw4cf23aq1wjhks5fkvm4wshgl7";
     };
   tls =
     {
@@ -648,8 +648,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ucloud";
-      version = "1.4.0";
-      sha256  = "1nl6k2313wwdzpm2n29bab9xs3l00vyhrdl14r82kax6hjm748qm";
+      version = "1.6.0";
+      sha256  = "0ijksfjqc91gxf45w9h2r024zgyqpr4s7z6snyzxcdbnf8ahs9q0";
     };
   ultradns =
     {
@@ -662,8 +662,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "1.6.0";
-      sha256  = "06hykz37yhwhj6fjz2zi5c80mzv8i91kpsr5cdqkc8rnfmcbhzqx";
+      version = "1.7.0";
+      sha256  = "133ximk510kchr34zicpnp4da27nxvzab2nd8dqpf4sqg2z83i0y";
     };
   vcd =
     {
@@ -683,8 +683,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-yandex";
-      version = "0.2.0";
-      sha256  = "0y7pnl47dg83i7r95gy8h1ayilaji2k5i048l5pkavp1yxx9i22g";
+      version = "0.4.1";
+      sha256  = "0lvj7xlzqc6wfv1xpc4qc1gnk3wvcvnifbf4mqgjglz35cf697bb";
     };
   matchbox =
     {
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
new file mode 100644
index 00000000000..c4699a87ef6
--- /dev/null
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname   = "tilt";
+  name    = "${pname}-${version}";
+  /* Do not use "dev" as a version. If you do, Tilt will consider itself
+     running in development environment and try to serve assets from the
+     source tree, which is not there once build completes.  */
+  version = "0.7.13";
+  rev = "67cd823b2a07c7bb2bcb919c0963e8f23e22d57e";
+
+  src = fetchFromGitHub {
+    owner  = "windmilleng";
+    repo   = "tilt";
+    rev    = "${rev}";
+    sha256 = "0cfmdd6wsczcmy6fkd418rvancx4qy1c3pzq9jbfsy4innhh51j7";
+  };
+
+  goPackagePath = "github.com/windmilleng/tilt";
+  subPackages = [ "cmd/tilt" ];
+
+  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-04-18");
+
+  meta = with stdenv.lib; {
+    description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
+    homepage = https://tilt.dev/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ anton-dessiatov ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index e131e4c7a3c..1273c7dd3c3 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -20,13 +20,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "profanity-${version}";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "boothj5";
     repo = "profanity";
     rev = "${version}";
-    sha256 = "1ppr02wivhlrqr62r901clnycna8zpn6kr7n5rw8y3zfw21ny17z";
+    sha256 = "0f5kfzy22wzyj7rnd2nbj93q96ga87b53wlg8lfg83qdphx1ymz9";
   };
 
   patches = [ ./patches/packages-osx.patch ./patches/undefined-macros.patch ];
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
       Profanity is a console based XMPP client written in C using ncurses and
       libstrophe, inspired by Irssi.
     '';
-    homepage = http://profanity.im/;
+    homepage = http://www.profanity.im/;
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.devhell ];
diff --git a/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch b/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch
index 77bfc5e78bd..796ec6b0a61 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch
+++ b/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch
@@ -1,11 +1,13 @@
 diff --git a/configure.ac b/configure.ac
-index 1e55b1cc..0832a387 100644
+index 5c00aca..eb78060 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -22,7 +22,6 @@ AC_CANONICAL_HOST
- PLATFORM="unknown"
+@@ -23,7 +23,6 @@ PLATFORM="unknown"
  AS_CASE([$host_os],
      [freebsd*], [PLATFORM="freebsd"],
+     [openbsd*], [PLATFORM="openbsd"],
 -    [darwin*], [PLATFORM="osx"],
      [cygwin], [PLATFORM="cygwin"],
      [PLATFORM="nix"])
+ 
+
diff --git a/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
index 29ed30dd27f..9b9b479d257 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/bare.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "rambox-bare-${version}";
-  version = "0.6.3";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "ramboxapp";
     repo = "community-edition";
     rev = version;
-    sha256 = "1ghk29d0x6i3j8b1b4xxgyf961lp17qsvvhnilnkh1nhmvxpwmw5";
+    sha256 = "15cy8krzl66b6sfazhff41adq4kf2857sj4h0qvzmadv85dy301v";
   };
 
   nativeBuildInputs = [ nodejs-8_x ruby sencha ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     inherit src;
 
     nodejs = nodejs-8_x;
-    sha256 = "03h1kfiaflwbrvcd8v0bsymn7n2dxi3yj4pxkwcigqg4jgcf56k6";
+    sha256 = "0ifk0fzw4zhi4195jlmiq5k57bdmf912372r4bwa4z500wipikq3";
   };
 
   patches = [ ./isDev.patch ];
diff --git a/pkgs/applications/networking/instant-messengers/sky/default.nix b/pkgs/applications/networking/instant-messengers/sky/default.nix
new file mode 100644
index 00000000000..a90acc8eae3
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/sky/default.nix
@@ -0,0 +1,86 @@
+{ stdenv, fetchurl, file, lib, libX11, libXScrnSaver
+, libGL, qt5, SDL, libpulseaudio
+, libXrandr, libXext, libXcursor, libXinerama, libXi
+, curl, sqlite, openssl
+, libuuid, openh264, libv4l, libxkbfile, libXv, zlib, libXmu
+, libXtst, libXdamage, pam, patchelfUnstable, libXfixes, libXrender, libjpeg_original
+, ffmpeg
+}:
+ let
+   # Sky is linked to the libjpeg 8 version and checks for the version number in the code.
+   libjpeg_original_fix = libjpeg_original.overrideAttrs (oldAttrs: {
+    src = fetchurl{
+      url = https://www.ijg.org/files/jpegsrc.v8d.tar.gz;
+      sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0";
+    };
+  });
+in
+stdenv.mkDerivation rec {
+  version_major = "2.1.7369";
+  version_minor = "1";
+  version = version_major + "." + version_minor;
+  name = "sky-${version}";
+  unpackCmd = "ar x $curSrc; tar -xf data.tar.xz";
+  src = fetchurl {
+    url = "https://tel.red/repos/ubuntu/pool/non-free/sky_${version_major + "-" + version_minor}ubuntu+xenial_amd64.deb";
+    sha256 = "0b3j90km3rp5bgaklxw881g0gcy09mqzbhjdfrq4s2np026ql3d9";
+  };
+  buildInputs = [ 
+    file
+    qt5.qtbase
+    SDL
+    ffmpeg
+    sqlite
+    openssl
+    openh264
+    pam
+    curl
+    libX11 libXScrnSaver libGL libpulseaudio libXrandr
+    libXext libXcursor libXinerama libXi libuuid libv4l
+    libxkbfile libXv zlib libXmu libXtst libXdamage
+    libXfixes libXrender
+    libjpeg_original_fix
+  ];
+  dontBuild = true;
+
+  installPhase = ''
+    ls -al ./
+    mkdir -p "$out/bin" "$out/lib" "$out/share"
+    cp -a lib/sky/* $out/bin/
+    cp -aR lib/sky/lib64/* "$out/lib/"
+    cp -a lib/sky/man.sh "$out/bin"
+    chmod +x $out/bin/sky
+    cp -a share/* "$out/share"
+  ''
+  ;
+
+
+  postFixup = ''
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libfreerdp-client.so.2.0.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libfreerdp-server.so.2.0.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libfreerdp-shadow.so.2.0.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libfreerdp.so.2.0.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libopenh264.so.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/librdtk.so.1.1.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libSDL-1.3.so.0.0.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libsipw.so.1.0.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libwinpr.so.1.1.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libxfreerdp-client.so.2.0.0
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/sky
+    patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/sky_sender
+    sed -i "s#/usr/bin/sky#$out/bin/sky#g" $out/share/applications/sky.desktop
+    sed -i "s#/usr/lib/sky#$out/bin/#g" $out/share/applications/sky.desktop
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Skype for business";
+    longDescription = ''
+      Lync & Skype for business on linux
+    '';
+    homepage = https://tel.red/;
+    license = licenses.unfree;
+    maintainers = [ maintainers.Scriptkiddi ];
+    platforms = platforms.unix;
+  };
+}
+
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix
index 95ae71cc70c..17e07f91c03 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "weechat-autosort-${version}";
-  version = "unstable-2018-01-11";
+  pname = "weechat-autosort";
+  version = "3.4";
 
   src = fetchFromGitHub {
     owner = "de-vri-es";
-    repo = "weechat-autosort";
-    rev = "35ccd6335afd78ae8a6e050ed971d54c8524e37e";
-    sha256 = "1rgws960xys65cd1m529csalcgny87h7fkiwjv1yj9rpqp088z26";
+    repo = pname;
+    rev = version;
+    sha256 = "1sbr6ga9krrfgqznvsxjd3hdxzkvslh41ls5xrj7l2p4ws4gwlkn";
   };
 
   passthru.scripts = [ "autosort.py" ];
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index e7aacb9de0f..a9578e6525d 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -25,11 +25,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "gnucash-${version}";
-  version = "3.4";
+  version = "3.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "1ms2wg4sh5gq3rpjmmnp85rh5nc9ahca1imxkvhz4d3yiwy8hm52";
+    sha256 = "0ibp7g6aknvnkwkin97kv04ipksy3l18dsz9qysjb7h2nr8hnvbp";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper cmake gtest ];
diff --git a/pkgs/applications/science/biology/exonerate/default.nix b/pkgs/applications/science/biology/exonerate/default.nix
new file mode 100644
index 00000000000..1dd6b44692a
--- /dev/null
+++ b/pkgs/applications/science/biology/exonerate/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, glib, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "2.4.0";
+  pname = "exonerate";
+
+  src = fetchurl {
+    url = "http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/${pname}-${version}.tar.gz";
+    sha256 = "0hj0m9xygiqsdxvbg79wq579kbrx1mdrabi2bzqz2zn9qwfjcjgq";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ glib ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "Generic tool for sequence alignment";
+    homepage = https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.bzizou ];
+    platforms = platforms.unix ;
+  };
+}
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 5a17b547b87..55b01bd7ec9 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "picard-tools-${version}";
-  version = "2.18.27";
+  version = "2.19.0";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "1pc9mhp35n0dl7j06c1564b797v6iqg6vhmd2xxvysc96hnsbyvc";
+    sha256 = "0l2riidd9p84axj8h7fnrbwgpcpizj74i9mnm3pcqm9vlzvw6zzr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/biology/prodigal/default.nix b/pkgs/applications/science/biology/prodigal/default.nix
new file mode 100644
index 00000000000..653f4390488
--- /dev/null
+++ b/pkgs/applications/science/biology/prodigal/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "prodigal";
+  version = "2.6.3";
+
+  src = fetchFromGitHub {
+    repo = "Prodigal";
+    owner = "hyattpd";
+    rev = "v${version}";
+    sha256 = "1fs1hqk83qjbjhrvhw6ni75zakx5ki1ayy3v6wwkn3xvahc9hi5s";
+  };
+
+  makeFlags = [
+    "CC=cc"
+    "INSTALLDIR=$(out)/bin"
+  ];
+  
+  meta = with stdenv.lib; {
+    description = "Fast, reliable protein-coding gene prediction for prokaryotic genomes";
+    homepage = https://github.com/hyattpd/Prodigal;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ luispedro ];
+  };
+}
diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix
index c4268b54c20..83352df18e6 100644
--- a/pkgs/applications/science/electronics/verilog/default.nix
+++ b/pkgs/applications/science/electronics/verilog/default.nix
@@ -2,15 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "iverilog-${version}";
-  version = "2018.12.15";
+  version = "2019.03.27";
 
   src = fetchFromGitHub {
-    owner = "steveicarus";
-    repo = "iverilog";
-    rev = "7cd078e7ab184069b3b458fe6df7e83962254816";
-    sha256 = "1zc7lsa77dbsxjfz7vdgclmg97r0kw08xss7yfs4vyv5v5gnn98d";
+    owner  = "steveicarus";
+    repo   = "iverilog";
+    rev    = "a9388a895eb85a9d7f2924b89f839f94e1b6d7c4";
+    sha256 = "01d48sy3pzg9x1xpczqrsii2ckrvgnrfj720wiz22jdn90nirhhr";
   };
 
+  enableParallelBuilding = true;
+
   patchPhase = ''
     chmod +x $PWD/autoconf.sh
     $PWD/autoconf.sh
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index 88f888ed04f..f58c820d22b 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "symbiyosys-${version}";
-  version = "2019.03.28";
+  version = "2019.04.18";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "symbiyosys";
-    rev    = "44869656b86993e7ebdc59e7b27191f3ecf119dc";
-    sha256 = "1p18yzcadn91xzmqrg5xkwfl3p9mnlps57simz7dkkxzcqzjybvn";
+    rev    = "b1de59032ef3de35e56fa420a914c2f14d2495e4";
+    sha256 = "0zci1n062csswl5xxjh9fwq09p9clv95ckag3yywxq06hnqzx0r7";
   };
 
   buildInputs = [ python3 yosys ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tooling for Yosys-based verification flows";
     homepage    = https://symbiyosys.readthedocs.io/;
-    license     = stdenv.lib.licenses.mit;
+    license     = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
     platforms   = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix
index e1235387814..6beb87e9f02 100644
--- a/pkgs/applications/science/math/gap/default.nix
+++ b/pkgs/applications/science/math/gap/default.nix
@@ -62,11 +62,11 @@ in
 stdenv.mkDerivation rec {
   pname = "gap";
   # https://www.gap-system.org/Releases/
-  version = "4.10.0";
+  version = "4.10.1";
 
   src = fetchurl {
     url = "https://www.gap-system.org/pub/gap/gap-${lib.versions.major version}.${lib.versions.minor version}/tar.bz2/gap-${version}.tar.bz2";
-    sha256 = "1dmb8v4p7j1nnf7sx8sg54b49yln36bi9acwp7w1d3a1nxj17ird";
+    sha256 = "136s0zvhcw41fshj5zgsrjcy2kd58cdh2m3ddp5rdizi4rx54f10";
   };
 
   # remove all non-essential packages (which take up a lot of space)
@@ -86,25 +86,11 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # bugfix: https://github.com/gap-system/gap/pull/3102
+    # https://github.com/gap-system/gap/pull/3294
     (fetchpatch {
-      name = "fix-infinite-loop-in-writeandcheck.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0001-a-version-of-the-writeandcheck.patch-from-Sage-that-.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098";
-      sha256 = "1zkv8bbiw3jdn54sqqvfkdkfsd7jxzq0bazwsa14g4sh2265d28j";
-    })
-
-    # needed for libgap (sage): https://github.com/gap-system/gap/pull/3043
-    (fetchpatch {
-      name = "add-error-messages-helper.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0002-kernel-add-helper-function-for-writing-error-message.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098";
-      sha256 = "0c4ry5znb6hwwp8ld6k62yw8w6cqldflw3x49bbzizbmipfpidh5";
-    })
-
-    # needed for libgap (sage): https://github.com/gap-system/gap/pull/3096
-    (fetchpatch {
-      name = "gap-enter.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0003-Prototype-for-GAP_Enter-Leave-macros-to-bracket-use-.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098";
-      sha256 = "12fg8mb8rm6khsz1r4k3k26jrkx4q1rv13hcrfnlhn0m7iikvc3q";
+      name = "add-make-install-targets.patch";
+      url = "https://github.com/gap-system/gap/commit/3361c172e6c5ff3bb3f01ba9d6f1dd4ad42cea80.patch";
+      sha256 = "1kwp9qnfvmlbpf1c3rs6j5m2jz22rj7a4hb5x1gj9vkpiyn5pdyj";
     })
   ];
 
@@ -184,6 +170,7 @@ stdenv.mkDerivation rec {
       timokau
     ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
     # keeping all packages increases the package size considerably, wchich
     # is why a local build is preferable in that situation. The timeframe
     # is reasonable and that way the binary cache doesn't get overloaded.
diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix
index 8354629cab5..bda2d23b9e5 100644
--- a/pkgs/applications/science/math/sage/env-locations.nix
+++ b/pkgs/applications/science/math/sage/env-locations.nix
@@ -28,6 +28,7 @@ writeTextFile rec {
     export GPDOCDIR="${pari}/share/pari/doc"
     export SINGULARPATH='${singular}/share/singular'
     export SINGULAR_SO='${singular}/lib/libSingular.so'
+    export GAP_SO='${gap}/lib/libgap.so'
     export SINGULAR_EXECUTABLE='${singular}/bin/Singular'
     export MAXIMA_FAS='${maxima-ecl}/lib/maxima/${maxima-ecl.version}/binary-ecl/maxima.fas'
     export MAXIMA_PREFIX="${maxima-ecl}"
diff --git a/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch b/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
new file mode 100644
index 00000000000..3f844e1b1ef
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
@@ -0,0 +1,95 @@
+diff --git a/src/sage/env.py b/src/sage/env.py
+index 061b94f3f1..67cd091540 100644
+--- a/src/sage/env.py
++++ b/src/sage/env.py
+@@ -189,88 +189,13 @@ var('MAXIMA_FAS')
+ var('SAGE_BANNER', '')
+ var('SAGE_IMPORTALL', 'yes')
+ 
+-
+-def _get_shared_lib_filename(libname, *additional_libnames):
+-    """
+-    Return the full path to a shared library file installed in the standard
+-    location for the system within the ``LIBDIR`` prefix (or
+-    ``$SAGE_LOCAL/lib`` in the case of manual build of Sage).
+-
+-    This can also be passed more than one library name (e.g. for cases where
+-    some library may have multiple names depending on the platform) in which
+-    case the first one found is returned.
+-
+-    This supports most *NIX variants (in which ``lib<libname>.so`` is found
+-    under ``$SAGE_LOCAL/lib``), macOS (same, but with the ``.dylib``
+-    extension), and Cygwin (under ``$SAGE_LOCAL/bin/cyg<libname>.dll``,
+-    or ``$SAGE_LOCAL/bin/cyg<libname>-*.dll`` for versioned DLLs).
+-
+-    For distributions like Debian that use a multiarch layout, we also try the
+-    multiarch lib paths (i.e. ``/usr/lib/<arch>/``).
+-
+-    Returns ``None`` if the file does not exist.
+-
+-    EXAMPLES::
+-
+-        sage: import sys
+-        sage: from fnmatch import fnmatch
+-        sage: from sage.env import _get_shared_lib_filename
+-        sage: lib_filename = _get_shared_lib_filename("Singular",
+-        ....:                                         "singular-Singular")
+-        sage: if sys.platform == 'cygwin':
+-        ....:     pattern = "*/cygSingular-*.dll"
+-        ....: elif sys.platform == 'darwin':
+-        ....:     pattern = "*/libSingular.dylib"
+-        ....: else:
+-        ....:     pattern = "*/lib*Singular.so"
+-        sage: fnmatch(lib_filename, pattern)
+-        True
+-        sage: _get_shared_lib_filename("an_absurd_lib") is None
+-        True
+-    """
+-
+-    for libname in (libname,) + additional_libnames:
+-        if sys.platform == 'cygwin':
+-            bindir = sysconfig.get_config_var('BINDIR')
+-            pats = ['cyg{}.dll'.format(libname), 'cyg{}-*.dll'.format(libname)]
+-            filenames = []
+-            for pat in pats:
+-                filenames += glob.glob(os.path.join(bindir, pat))
+-
+-            # Note: This is not very robust, since if there are multi DLL
+-            # versions for the same library this just selects one more or less
+-            # at arbitrary.  However, practically speaking, on Cygwin, there
+-            # will only ever be one version
+-            if filenames:
+-                return filenames[-1]
+-        else:
+-            if sys.platform == 'darwin':
+-                ext = 'dylib'
+-            else:
+-                ext = 'so'
+-
+-            libdirs = [sysconfig.get_config_var('LIBDIR')]
+-            multilib = sysconfig.get_config_var('MULTILIB')
+-            if multilib:
+-                libdirs.insert(0, os.path.join(libdirs[0], multilib))
+-
+-            for libdir in libdirs:
+-                basename = 'lib{}.{}'.format(libname, ext)
+-                filename = os.path.join(libdir, basename)
+-                if os.path.exists(filename):
+-                    return filename
+-
+-    # Just return None if no files were found
+-    return None
+-
+-
+ # locate singular shared object
+ # On Debian it's libsingular-Singular so try that as well
+-SINGULAR_SO = _get_shared_lib_filename('Singular', 'singular-Singular')
++SINGULAR_SO = '/default'
+ var('SINGULAR_SO', SINGULAR_SO)
+ 
+ # locate libgap shared object
+-GAP_SO= _get_shared_lib_filename('gap','')
++GAP_SO= '/default'
+ var('GAP_SO', GAP_SO)
+ 
+ # post process
diff --git a/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch b/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch
new file mode 100644
index 00000000000..9e3f0f5ae88
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch
@@ -0,0 +1,26 @@
+diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py
+index 3bca15d53b..7cf04ff8d1 100644
+--- a/src/sage/misc/package.py
++++ b/src/sage/misc/package.py
+@@ -478,16 +478,16 @@ def package_manifest(package):
+ 
+     EXAMPLES::
+ 
+-        sage: from sage.misc.package import package_manifest
+-        sage: sagetex_manifest = package_manifest('sagetex')
+-        sage: sagetex_manifest['package_name'] == 'sagetex'
++        sage: from sage.misc.package import package_manifest # optional - buildsystem
++        sage: sagetex_manifest = package_manifest('sagetex') # optional - buildsystem
++        sage: sagetex_manifest['package_name'] == 'sagetex' # optional - buildsystem
+         True
+-        sage: 'files' in sagetex_manifest
++        sage: 'files' in sagetex_manifest # optional - buildsystem
+         True
+ 
+     Test a nonexistent package::
+ 
+-        sage: package_manifest('dummy-package')
++        sage: package_manifest('dummy-package') # optional - buildsystem
+         Traceback (most recent call last):
+         ...
+         KeyError: 'dummy-package'
diff --git a/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch b/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch
deleted file mode 100644
index 58090b241d2..00000000000
--- a/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/src/sage/interfaces/giac.py	2018-12-08 22:11:56.285500644 +0100
-+++ b/src/sage/interfaces/giac.py	2018-12-08 22:11:56.285500644 +0100
-@@ -617,10 +617,7 @@
-             '4\n3'
-             sage: s='g(x):={\nx+1;\nx+2;\n}'
-             sage: giac(s)
--            (x)->{
--            x+1;
--            x+2;
--            }
-+            (x)->[x+1,x+2]
-             sage: giac.g(5)
-             7
-         """
diff --git a/pkgs/applications/science/math/sage/patches/ignore-pip-deprecation.patch b/pkgs/applications/science/math/sage/patches/ignore-pip-deprecation.patch
deleted file mode 100644
index 95b377dc955..00000000000
--- a/pkgs/applications/science/math/sage/patches/ignore-pip-deprecation.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py
-index 689e5a23b9..4e16fe3a8d 100644
---- a/src/sage/misc/package.py
-+++ b/src/sage/misc/package.py
-@@ -142,9 +142,14 @@ def pip_installed_packages():
-         sage: d['beautifulsoup']   # optional - beautifulsoup
-         u'...'
-     """
--    proc = subprocess.Popen(["pip", "list", "--no-index", "--format", "json"], stdout=subprocess.PIPE)
--    stdout = proc.communicate()[0].decode()
--    return {package['name'].lower():package['version'] for package in json.loads(stdout)}
-+    with open(os.devnull, 'w')  as devnull:
-+        proc = subprocess.Popen(
-+            ["pip", "list", "--no-index", "--format", "json"],
-+            stdout=subprocess.PIPE,
-+            stderr=devnull,
-+        )
-+        stdout = proc.communicate()[0].decode()
-+        return {package['name'].lower():package['version'] for package in json.loads(stdout)}
- 
- def list_packages(*pkg_types, **opts):
-     r"""
diff --git a/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch b/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch
deleted file mode 100644
index 64dd6fd9377..00000000000
--- a/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-commit f1c59929c3c180ac283334c2b3c901ac8c82f6b1
-Author: Timo Kaufmann <timokau@zoho.com>
-Date:   Sat Oct 20 20:07:41 2018 +0200
-
-    Revert "Something related to the sphinxbuild seems to be leaking memory"
-    
-    This reverts commit 7d85dc796c58c3de57401bc22d3587b94e205091.
-
-diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py
-index 0b24b1a60b..084c3f89d7 100644
---- a/src/sage_setup/docbuild/__init__.py
-+++ b/src/sage_setup/docbuild/__init__.py
-@@ -265,29 +265,35 @@ class DocBuilder(object):
-     # import the customized builder for object.inv files
-     inventory = builder_helper('inventory')
- 
--def build_many(target, args):
--    # Pool() uses an actual fork() to run each new instance. This is important
--    # for performance reasons, i.e., don't use a forkserver when it becomes
--    # available with Python 3: Here, sage is already initialized which is quite
--    # costly, with a forkserver we would have to reinitialize it for every
--    # document we build. At the same time, don't serialize this by taking the
--    # pool (and thus the call to fork()) out completely: The call to Sphinx
--    # leaks memory, so we need to build each document in its own process to
--    # control the RAM usage.
--    from multiprocessing import Pool
--    pool = Pool(NUM_THREADS, maxtasksperchild=1)
--    # map_async handles KeyboardInterrupt correctly. Plain map and
--    # apply_async does not, so don't use it.
--    x = pool.map_async(target, args, 1)
--    try:
--        ret = x.get(99999)
--        pool.close()
--        pool.join()
--    except Exception:
--        pool.terminate()
--        if ABORT_ON_ERROR:
--            raise
--    return ret
-+if NUM_THREADS > 1:
-+    def build_many(target, args):
-+        from multiprocessing import Pool
-+        pool = Pool(NUM_THREADS, maxtasksperchild=1)
-+        # map_async handles KeyboardInterrupt correctly. Plain map and
-+        # apply_async does not, so don't use it.
-+        x = pool.map_async(target, args, 1)
-+        try:
-+            ret = x.get(99999)
-+            pool.close()
-+            pool.join()
-+        except Exception:
-+            pool.terminate()
-+            if ABORT_ON_ERROR:
-+                raise
-+        return ret
-+else:
-+    def build_many(target, args):
-+        results = []
-+
-+        for arg in args:
-+            try:
-+                results.append(target(arg))
-+            except Exception:
-+                if ABORT_ON_ERROR:
-+                    raise
-+
-+        return results
-+
- 
- ##########################################
- #      Parallel Building Ref Manual      #
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index e14d24cf70e..c729e441c1c 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -10,14 +10,14 @@
 # all get the same sources with the same patches applied.
 
 stdenv.mkDerivation rec {
-  version = "8.6";
-  name = "sage-src-${version}";
+  version = "8.7";
+  pname = "sage-src";
 
   src = fetchFromGitHub {
     owner = "sagemath";
     repo = "sage";
     rev = version;
-    sha256 = "1vs3pbgbqpg0qnwr018bqsdmm7crgjp310cx8zwh7za3mv1cw5j3";
+    sha256 = "05vvrd6syh0hlmrk6kzjrwd0hpmvxp8vr8p3mkjb0jh5p2kjdd27";
   };
 
   # Patches needed because of particularities of nix or the way this is packaged.
@@ -37,12 +37,6 @@ stdenv.mkDerivation rec {
     # https://github.com/python/cpython/pull/7476
     ./patches/python-5755-hotpatch.patch
 
-    # Revert the commit that made the sphinx build fork even in the single thread
-    # case. For some yet unknown reason, that breaks the docbuild on nix and archlinux.
-    # See https://groups.google.com/forum/#!msg/sage-packaging/VU4h8IWGFLA/mrmCMocYBwAJ.
-    # https://trac.sagemath.org/ticket/26608
-    ./patches/revert-sphinx-always-fork.patch
-
     # Make sure py2/py3 tests are only run when their expected context (all "sage"
     # tests) are also run. That is necessary to test dochtml individually. See
     # https://trac.sagemath.org/ticket/26110 for an upstream discussion.
@@ -59,6 +53,21 @@ stdenv.mkDerivation rec {
       sha256 = "07p9i0fwjgapmfvmi436yn6v60p8pvmxqjc93wsssqgh5kd8qw3n";
       stripLen = 1;
     })
+
+    # Part of the build system. Should become unnecessary with sage 8.8.
+    # Upstream discussion here: https://trac.sagemath.org/ticket/27124#comment:33
+    ./patches/do-not-test-package-manifests.patch
+
+    # Not necessary since library location is set explicitly
+    # https://trac.sagemath.org/ticket/27660#ticket
+    ./patches/do-not-test-find-library.patch
+
+    # https://trac.sagemath.org/ticket/27697#ticket
+    (fetchpatch {
+      name = "pplpy-doc-location-configurable.patch";
+      url = "https://git.sagemath.org/sage.git/patch/?h=c4d966e7cb0c7b87c55d52dc6f46518433a2a0a2";
+      sha256 = "0pqbbsx8mriwny422s9mp3z5d095cnam32sm62q4mxk8g8jb9vm9";
+    })
   ];
 
   # Since sage unfortunately does not release bugfix releases, packagers must
@@ -72,12 +81,6 @@ stdenv.mkDerivation rec {
       url = "https://git.sagemath.org/sage.git/patch?id2=10407524b18659e14e184114b61c043fb816f3c2&id=c9b0cc9d0b8748ab85e568f8f57f316c5e8cbe54";
       sha256 = "0wgp7yvn9sm1ynlhcr4l0hzmvr2n28llg4xc01p6k1zz4im64c17";
     })
-    # https://trac.sagemath.org/ticket/27224
-    (fetchpatch {
-      name = "sig_on_in_matrix_misc.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id=85d25bf2eb73f7d3c6de4ee6222b0c399be43b07";
-      sha256 = "1ciwhh57pnb9b4i8m3vb07wfsibsay5sg0jp5giq1pzc5zc79a4p";
-    })
   ];
 
   # Patches needed because of package updates. We could just pin the versions of
@@ -110,52 +113,12 @@ stdenv.mkDerivation rec {
       stripLen = 1;
     })
 
-    # https://trac.sagemath.org/ticket/26315
-    ./patches/giac-1.5.0.patch
-
-    # https://trac.sagemath.org/ticket/26442
-    (fetchSageDiff {
-      name = "cypari2-2.0.3.patch";
-      base = "8.6.rc1";
-      rev = "cd62d45bcef93fb4f7ed62609a46135e6de07051";
-      sha256 = "08l2b9w0rn1zrha6188j72f7737xs126gkgmydjd31baa6367np2";
-    })
-
-    # https://trac.sagemath.org/ticket/26949
-    (fetchpatch {
-      name = "sphinx-1.8.3-dependency.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id=d305eda0fedc73fdbe0447b5d6d2b520b8d112c4";
-      sha256 = "1x3q5j8lq35vlj893gj5gq9fhzs60szm9r9rx6ri79yiy9apabph";
-    })
     # https://trac.sagemath.org/ticket/26451
-    (fetchpatch {
-      name = "sphinx-1.8.3.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id2=0cb494282d7b4cea50aba7f4d100e7932a4c00b1&id=62b989d5ee1d9646db85ea56053cd22e9ffde5ab";
-      sha256 = "1n5c61mvhalcr2wbp66wzsynwwk59aakvx3xqa5zw9nlkx3rd0h1";
-    })
-
-    # https://trac.sagemath.org/ticket/27061
-    (fetchpatch {
-      name = "numpy-1.16-inline-fortran.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id=a05b6b038e1571ab15464e98f76d1927c0c3fd12";
-      sha256 = "05yq97pq84xi60wb1p9skrad5h5x770gq98ll4frr7hvvmlwsf58";
-    })
-
-    # https://trac.sagemath.org/ticket/27405
-    ./patches/ignore-pip-deprecation.patch
-
-    # https://trac.sagemath.org/ticket/27360
-    (fetchpatch {
-      name = "eclib-20190226.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=f570e3a7fc2965764b84c04ce301a88ded2c42df";
-      sha256 = "0l5c4giixkn15v2a06sfzq5mkxila6l67zkjbacirwprrlpcnmmp";
-    })
-
-    # https://trac.sagemath.org/ticket/27420
-    (fetchpatch {
-      name = "cypari-2.1.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=e351bf2f2914e683d5e2028597c45ae8d1b7f855";
-      sha256 = "00faa7fl0vaqcqbw0bidkhl78qa8l34d3a07zirbcl0vm74bdn1p";
+    (fetchSageDiff {
+      name = "sphinx-1.8.patch";
+      base = "8.7";
+      rev = "737afd8f314bd1e16feaec562bb4b5efa2effa8b";
+      sha256 = "0n56ss88ds662bp49j23z5c2i6hsn3jynxw13wv76hyl0h7l1hjh";
     })
 
     # https://trac.sagemath.org/ticket/27653
@@ -164,6 +127,13 @@ stdenv.mkDerivation rec {
       url = "https://git.sagemath.org/sage.git/patch/?h=3277ba76d0ba7174608a31a0c6623e9210c63e3d";
       sha256 = "09avaanwmdgqv14mmllbgw9z2scf4lc0y0kzdhlriiq8ss9j8iir";
     })
+
+    # https://trac.sagemath.org/ticket/27094
+    (fetchpatch {
+      name = "gap-4.10.1.patch";
+      url = "https://git.sagemath.org/sage.git/patch?id=d3483110474591ea6cc8e3210cd884f3e0018b3e";
+      sha256 = "028i6h8l8npwzx5z0ax0rcywl85gc83qw1jf93zf523msdfcsk0n";
+    })
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
@@ -177,6 +147,12 @@ stdenv.mkDerivation rec {
     echo '#!${runtimeShell}
     python "$@"' > build/bin/sage-python23
 
+    # Make sure sage can at least be imported without setting any environment
+    # variables. It won't be close to feature complete though.
+    sed -i \
+      "s|var('SAGE_LOCAL',.*|var('SAGE_LOCAL', '$out/src')|" \
+      src/sage/env.py
+
     # Do not use sage-env-config (generated by ./configure).
     # Instead variables are set manually.
     echo '# do nothing' >  src/bin/sage-env-config
diff --git a/pkgs/applications/science/math/sage/sagedoc.nix b/pkgs/applications/science/math/sage/sagedoc.nix
index cc1a4fc61e0..91c880673a1 100644
--- a/pkgs/applications/science/math/sage/sagedoc.nix
+++ b/pkgs/applications/science/math/sage/sagedoc.nix
@@ -52,6 +52,9 @@ stdenv.mkDerivation rec {
     export HOME="$TMPDIR/sage_home"
     mkdir -p "$HOME"
 
+    # needed to link them in the sage docs using intersphinx
+    export PPLPY_DOCS=${python.pkgs.pplpy.doc}/share/doc/pplpy
+
     ${sage-with-env}/bin/sage -python -m sage_setup.docbuild \
       --mathjax \
       --no-pdf-links \
diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix
index d7f9cb9ee32..d745532d5d7 100644
--- a/pkgs/applications/science/math/sage/sagelib.nix
+++ b/pkgs/applications/science/math/sage/sagelib.nix
@@ -47,6 +47,8 @@
 , jupyter_core
 , libhomfly
 , libbraiding
+, gmpy2
+, pplpy
 }:
 
 # This is the core sage python package. Everything else is just wrappers gluing
@@ -115,6 +117,8 @@ buildPythonPackage rec {
     cysignals
     libhomfly
     libbraiding
+    gmpy2
+    pplpy
   ];
 
   buildPhase = ''
diff --git a/pkgs/applications/science/programming/groove/default.nix b/pkgs/applications/science/programming/groove/default.nix
new file mode 100644
index 00000000000..e854f20d39a
--- /dev/null
+++ b/pkgs/applications/science/programming/groove/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, unzip, makeWrapper, makeDesktopItem, icoutils, jre }:
+
+let
+  desktopItem = makeDesktopItem {
+    name = "groove-simulator";
+    exec = "groove-simulator";
+    icon = "groove";
+    desktopName = "GROOVE Simulator";
+    comment = "GRaphs for Object-Oriented VErification";
+    categories = "Science;ComputerScience;";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "groove";
+  version = "5.7.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/groove/groove/${version}/${pname}-${builtins.replaceStrings ["."] ["_"] version}-bin.zip";
+    sha256 = "1cl3xzl3n8b9a7h5pvnv31bab9j9zaw07ppk8whk8h865dcq1d10";
+  };
+
+  nativeBuildInputs = [ unzip makeWrapper icoutils ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/share/groove
+    cp -r bin lib $out/share/groove/
+
+    mkdir -p $out/share/doc/groove
+    cp CHANGES README *.pdf $out/share/doc/groove/
+
+    mkdir -p $out/bin
+    for bin in Generator Imager ModelChecker PrologChecker Simulator Viewer; do
+      makeWrapper ${jre}/bin/java $out/bin/groove-''${bin,,} \
+        --add-flags "-jar $out/share/groove/bin/$bin.jar"
+    done
+
+    mkdir -p $out/share/applications
+    ln -s ${desktopItem}/share/applications/* $out/share/applications/
+
+    mkdir -p $out/share/icons/hicolor/{16x16,32x32}/apps
+    icotool -x -i 1 -o $out/share/icons/hicolor/32x32/apps/groove.png groove-green-g.ico
+    icotool -x -i 2 -o $out/share/icons/hicolor/16x16/apps/groove.png groove-green-g.ico
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GRaphs for Object-Oriented VErification";
+    homepage = http://groove.cs.utwente.nl/;
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jfrankenau ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 0797d75a837..560e1576efc 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -61,6 +61,15 @@ let
 
   git-annex-remote-b2 = callPackage ./git-annex-remote-b2 { };
 
+  git-annex-remote-dbx = callPackage ./git-annex-remote-dbx {
+    inherit (python3Packages)
+    buildPythonApplication
+    fetchPypi
+    dropbox
+    annexremote
+    humanfriendly;
+  };
+
   git-annex-remote-rclone = callPackage ./git-annex-remote-rclone { };
 
   git-bug = callPackage ./git-bug { };
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix
new file mode 100644
index 00000000000..8dd44287b50
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, dropbox
+, annexremote
+, humanfriendly
+}:
+
+buildPythonApplication rec {
+  pname = "git-annex-remote-dbx";
+  version = "1.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5b6f8025ed1e9877f06882ddbd81f701a8e094647ab97595e2afc09016835a7c";
+  };
+
+  propagatedBuildInputs = [ dropbox annexremote humanfriendly ];
+
+  meta = with lib; {
+    description = "A git-annex special remote for Dropbox";
+    homepage = https://pypi.org/project/git-annex-remote-dbx/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix b/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
index 9edcf4c3ac4..df1f007faa7 100644
--- a/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
@@ -3,24 +3,30 @@
 with rustPlatform;
 
 buildRustPackage rec {
-  name = "git-ignore-${version}";
-  version = "0.2.0";
-
-  cargoSha256 = "1fqfy8lnvpn5sd3l73x2p359zq4303vsrdgw3aphvy6580yjb84d";
+  pname = "git-ignore";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "sondr3";
-    repo = "git-ignore";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1nihh5inh46r8jg9z7d6g9gqfyhrznmkn15nmzpbnzf0653dl629";
+    sha256 = "0krz50pw9bkyzl78bvppk6skbpjp8ga7bd34jya4ha1xfmd8p89c";
   };
 
+  cargoSha256 = "0r6whz8vghhjyc5vrr0n172nghmi61zj96lk26qm0bgxqyzll1kj";
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ]
   ++ stdenv.lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
   ];
 
+  outputs = [ "out" "man" ];
+  preFixup = ''
+    mkdir -p "$man/man/man1"
+    cp target/release/build/git-ignore-*/out/git-ignore.1 "$man/man/man1/"
+  '';
+
   meta = with stdenv.lib; {
     description = "Quickly and easily fetch .gitignore templates from gitignore.io";
     homepage = https://github.com/sondr3/git-ignore;
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 69d8876510e..25d839e1361 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.7.6";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "155lnp98dx80aqds91kw2kf6lss6jzk5nljaqmmzsvn701fh922q";
+    sha256 = "1x5r732rh1g23smgvvk10nlqbv14m7cf3y6zgwwl2bwkvax4z49b";
     # Required to generate the same checksum on MacOS due to unicode encoding differences
     # More information: https://github.com/NixOS/nixpkgs/pull/48128
     extraPostFetch = ''
diff --git a/pkgs/applications/video/wf-recorder/default.nix b/pkgs/applications/video/wf-recorder/default.nix
index cdeade6196e..6a15132fd24 100644
--- a/pkgs/applications/video/wf-recorder/default.nix
+++ b/pkgs/applications/video/wf-recorder/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, wayland, wayland-protocols, ffmpeg, x264 }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, wayland, wayland-protocols, ffmpeg, x264, libpulseaudio }:
 
 stdenv.mkDerivation rec {
   pname = "wf-recorder";
-  version = "unstable-2019-03-12";
+  version = "unstable-2019-04-21";
 
   src = fetchFromGitHub {
     owner = "ammen99";
     repo = pname;
-    rev = "e6ea77a2569c04975cab8655f5ad4dbcf86df1f5";
-    sha256 = "1jhj5syzy8i8f9b3j4g12jmc5fcsiv4df9hgribdvw61v5pfz9g1";
+    rev = "ddb96690556371007e316577ed1b14f0cb62e13c";
+    sha256 = "04amfd1kyklcj6nmmmf21dz333ykglvhxb3cbzak06v2fxlrp2w3";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig ];
-  buildInputs = [ wayland wayland-protocols ffmpeg x264 ];
+  buildInputs = [ wayland wayland-protocols ffmpeg x264 libpulseaudio ];
 
   meta = with stdenv.lib; {
     description = "Utility program for screen recording of wlroots-based compositors";
diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix
index 778006a40f0..45ec7383fc8 100644
--- a/pkgs/applications/virtualization/firecracker/default.nix
+++ b/pkgs/applications/virtualization/firecracker/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv }:
 
 let
-  version = "0.15.0";
+  version = "0.15.2";
   baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download";
 
   fetchbin = name: sha256: fetchurl {
@@ -9,8 +9,8 @@ let
     inherit sha256;
   };
 
-  firecracker-bin = fetchbin "firecracker" "06b9pj9s4i0wqbh24frsza2j28n7qflp623vwvar5k18jq6jixd0";
-  jailer-bin      = fetchbin "jailer"      "17nbsg3yi9rif9qxgp483b2qx0jn2sn1hlvk63gl8m54mnxzmcr3";
+  firecracker-bin = fetchbin "firecracker" "11g0iz1krsm6gzhvf0fb4101c6qyk6bl8j3kjidbb52x9i4aqsxk";
+  jailer-bin      = fetchbin "jailer"      "0j1gc1cdsfsi82fkvvxla25791lcvk6vmp46i82f0ms9xm7xhswz";
 in
 stdenv.mkDerivation {
   name = "firecracker-${version}";
diff --git a/pkgs/applications/window-managers/i3/easyfocus.nix b/pkgs/applications/window-managers/i3/easyfocus.nix
index 7cdc8854951..9ce5486557a 100644
--- a/pkgs/applications/window-managers/i3/easyfocus.nix
+++ b/pkgs/applications/window-managers/i3/easyfocus.nix
@@ -2,15 +2,15 @@
 , xorg , i3ipc-glib , glib
 }:
 
-stdenv.mkDerivation rec {
-  name = "i3easyfocus-${version}";
-  version = "20180622";
+stdenv.mkDerivation {
+  pname = "i3easyfocus";
+  version = "20190411";
 
   src = fetchFromGitHub {
     owner = "cornerman";
     repo = "i3-easyfocus";
-    rev = "3631d5af612d58c3d027f59c86b185590bd78ae1";
-    sha256 = "1wgknmmm7iz0wxsdh29gmx4arizva9101pzhnmac30bmixf3nzhr";
+    rev = "fffb468f7274f9d7c9b92867c8cb9314ec6cf81a";
+    sha256 = "1db23vzzmp0hnfss1fkd80za6d2pajx7hdwikw50pk95jq0w8wfm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index ef7da72fda9..6db626464fb 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -75,6 +75,8 @@ rec {
       krb5
     ];
 
+    # list of libraries expected in an appimage environment:
+    # https://github.com/AppImage/pkg2appimage/blob/master/excludelist
     multiPkgs = pkgs: with pkgs; [
       desktop-file-utils
       xorg.libXcomposite
@@ -171,6 +173,17 @@ rec {
       xorg.libXft
       libvdpau
       alsaLib
+
+      harfbuzz
+      e2fsprogs
+      libgpgerror
+      keyutils.lib
+      libjack2
+      fribidi
+
+      # libraries not on the upstream include list, but nevertheless expected
+      # by at least one appimage
+      libtool.lib # for Synfigstudio
     ];
   };
 }
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 404c744eea2..404cea7532b 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -308,6 +308,8 @@ rec {
   hackage = [
     http://hackage.haskell.org/package/
     http://hdiff.luite.com/packages/archive/package/
+    http://hackage.fpcomplete.com/package/
+    http://objects-us-east-1.dream.io/hackage-mirror/package/
   ];
 
   # Roy marples mirrors
diff --git a/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix b/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
index 0779ac0537f..9af5cbe652c 100644
--- a/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
+++ b/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
@@ -1,1487 +1,693 @@
-# Generated by carnix 0.5.2: carnix Cargo.lock -o cargo-vendor.nix
-{ lib, stdenv, buildRustCrate }:
-let kernel = stdenv.hostPlatform.parsed.kernel.name;
-    abi = stdenv.hostPlatform.parsed.abi.name;
-    hasFeature = feature:
-      lib.lists.any
-        (originName: feature.${originName})
-        (builtins.attrNames feature);
-
-    hasDefault = feature:
-      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
-      (defaultFeatures == [])
-      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
+# Generated by carnix 0.10.0: carnix generate-nix --src .
+{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
+with buildRustCrateHelpers;
+let inherit (lib.lists) fold;
+    inherit (lib.attrsets) recursiveUpdate;
+in
+rec {
+  crates = cratesIO // rec {
+# cargo-vendor-0.1.23
 
-    mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if featureName != "" && hasFeature feat.${featureName} then
-        [ featureName ] ++ features
-      else
-        features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    advapi32_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "advapi32-sys";
-      version = "0.2.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1l6789hkz2whd9gklwz1m379kcvyizaj8nnzj3rn4a5h79yg59v7";
-      libName = "advapi32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "aho-corasick";
-      version = "0.6.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k";
-      libName = "aho_corasick";
-      crateBin = [ {  name = "aho-corasick-dot"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "atty";
-      version = "0.2.3";
-      authors = [ "softprops <d.tangren@gmail.com>" ];
-      sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
-      inherit dependencies buildDependencies features;
-    };
-    backtrace_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "backtrace";
-      version = "0.3.3";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
-      sha256 = "0invfdxkj85v8zyrjs3amfxjdk2a36x8irq7wq7kny6q49hh8y0z";
-      inherit dependencies buildDependencies features;
-    };
-    backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "backtrace-sys";
-      version = "0.1.16";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.7.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.9.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
-      inherit dependencies buildDependencies features;
-    };
-    cargo_0_22_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cargo";
-      version = "0.22.0";
-      authors = [ "Yehuda Katz <wycats@gmail.com>" "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1a47jzkxydsrcyybdqv7wd6a2f258c8bb8rb2jv5n4apxz5qhycl";
-      libPath = "src/cargo/lib.rs";
-      crateBin = [ {  name = "cargo"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    cargo_vendor_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crates.cargo_vendor."0.1.23" = deps: { features?(features_.cargo_vendor."0.1.23" deps {}) }: buildRustCrate {
       crateName = "cargo-vendor";
-      version = "0.1.13";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      src = ./.;
-      inherit dependencies buildDependencies features;
-    };
-    cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cc";
-      version = "1.0.3";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
-      inherit dependencies buildDependencies features;
-    };
-    cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cfg-if";
-      version = "0.1.2";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
-      inherit dependencies buildDependencies features;
-    };
-    cmake_0_1_26_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cmake";
-      version = "0.1.26";
+      version = "0.1.23";
+      description = "A Cargo subcommand to vendor all crates.io dependencies onto the local\nfilesystem.\n";
       authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0qi1vb1fzlngxr4mzklg58jjmvwj08059pjvh0yh1azzj2mcmgx6";
-      inherit dependencies buildDependencies features;
-    };
-    core_foundation_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "core-foundation";
-      version = "0.4.4";
-      authors = [ "The Servo Project Developers" ];
-      sha256 = "1vn9cdbihjnqrlznrbvw0yggz5grb4wqll5xq080w28xxhnayyhx";
-      inherit dependencies buildDependencies features;
-    };
-    core_foundation_sys_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "core-foundation-sys";
-      version = "0.4.4";
-      authors = [ "The Servo Project Developers" ];
-      sha256 = "022i015jzjmv85vr25l9caxz211649d8rnbcsmr0gh9k4ygm7pqk";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    crates_io_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "crates-io";
-      version = "0.11.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1xxhbka89bk1kkhl8nsnlp9ih64fzv904dyb7jyws7lizcvq77wm";
-      libPath = "lib.rs";
-      libName = "crates_io";
-      inherit dependencies buildDependencies features;
-    };
-    crossbeam_0_2_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "crossbeam";
-      version = "0.2.10";
-      authors = [ "Aaron Turon <aturon@mozilla.com>" ];
-      sha256 = "1k1a4q5gy7zakiw39hdzrblnw3kk4nsqmkdp1dpzh8h558140rhq";
-      inherit dependencies buildDependencies features;
-    };
-    curl_0_4_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "curl";
-      version = "0.4.8";
-      authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0pxg1bpplm1bp8b8gzlvs4pmd36m02gjhskvwrd161hh9pslczv5";
-      inherit dependencies buildDependencies features;
-    };
-    curl_sys_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "curl-sys";
-      version = "0.3.15";
-      authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0x2ysxhpwg1a7srf74v4qcy516jzf0kjg87hsl6cfnasxplz5x1g";
-      libPath = "lib.rs";
-      libName = "curl_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbghelp-sys";
-      version = "0.2.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq";
-      libName = "dbghelp";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    docopt_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "docopt";
-      version = "0.8.1";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0kmqy534qgcc2hh81nd248jmnvdjb5y4wclddd7y2jjm27rzibss";
-      crateBin = [ {  name = "docopt-wordlist";  path = "src/wordlist.rs"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dtoa";
-      version = "0.4.2";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
-      inherit dependencies buildDependencies features;
-    };
-    env_logger_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "env_logger";
-      version = "0.4.3";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0nrx04p4xa86d5kc7aq4fwvipbqji9cmgy449h47nc9f1chafhgg";
-      inherit dependencies buildDependencies features;
-    };
-    error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "error-chain";
-      version = "0.11.0";
-      authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
-      sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7";
-      inherit dependencies buildDependencies features;
-    };
-    filetime_0_1_14_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "filetime";
-      version = "0.1.14";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0i6dvc3ba7vl1iccc91k7c9bv9j5md98mbvlmfy0kicikx0ffn08";
-      inherit dependencies buildDependencies features;
-    };
-    flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "flate2";
-      version = "0.2.20";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
-      inherit dependencies buildDependencies features;
-    };
-    fnv_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fnv";
-      version = "1.0.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "164832m16b3hdm3jfrda03ps3ayi5qb855irpm9sqpnw1awpy2a2";
-      libPath = "lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    foreign_types_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "foreign-types";
-      version = "0.2.0";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "1sznwg2py4xi7hyrx0gg1sirlwgh87wsanvjx3zb475g6c4139jh";
-      inherit dependencies buildDependencies features;
-    };
-    fs2_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fs2";
-      version = "0.4.2";
-      authors = [ "Dan Burkert <dan@danburkert.com>" ];
-      sha256 = "034s52pmqvrkafmmlnklysqx6gl08rl63ycngbav9hs0mrq22qvf";
-      inherit dependencies buildDependencies features;
-    };
-    fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fuchsia-zircon";
-      version = "0.2.1";
-      authors = [ "Raph Levien <raph@google.com>" ];
-      sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
-      inherit dependencies buildDependencies features;
-    };
-    fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fuchsia-zircon-sys";
-      version = "0.2.0";
-      authors = [ "Raph Levien <raph@google.com>" ];
-      sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
-      inherit dependencies buildDependencies features;
-    };
-    git2_0_6_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "git2";
-      version = "0.6.8";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1si82zg35a1az91wa2zjwlkmbd4pdia8wf87j6hz4bs8l55y8fd9";
-      inherit dependencies buildDependencies features;
-    };
-    git2_curl_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "git2-curl";
-      version = "0.7.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1k36py61r3g7xz79ms02c1zb9x5c60g4wnjg2ffwz2j7kqzw9cc8";
-      inherit dependencies buildDependencies features;
-    };
-    glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "glob";
-      version = "0.2.11";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
-      inherit dependencies buildDependencies features;
-    };
-    globset_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "globset";
-      version = "0.2.1";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "02dycdz001g33rs2jygiq7yqqswmy1in5rczfl44clq1p118fis0";
-      inherit dependencies buildDependencies features;
-    };
-    hex_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "hex";
-      version = "0.2.0";
-      authors = [ "KokaKiwi <kokakiwi@kokakiwi.net>" ];
-      sha256 = "0yd68d709w1z8133n9hny9dfj2fvil0r6802c3bb63czyis8rfbp";
-      inherit dependencies buildDependencies features;
-    };
-    home_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "home";
-      version = "0.3.0";
-      authors = [ "Brian Anderson <andersrb@gmail.com>" ];
-      sha256 = "1dzc0wd2i82zqq1s8j4mpy2almaq5fcas22s4asn38pm86k40zf2";
-      inherit dependencies buildDependencies features;
-    };
-    idna_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "idna";
-      version = "0.1.4";
-      authors = [ "The rust-url developers" ];
-      sha256 = "15j44qgjx1skwg9i7f4cm36ni4n99b1ayx23yxx7axxcw8vjf336";
-      inherit dependencies buildDependencies features;
-    };
-    ignore_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ignore";
-      version = "0.2.2";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1b9wc8q25jwbipxmrysaps7sykbhyh6hdl8ihqzlwfvg39dy7mjc";
-      inherit dependencies buildDependencies features;
-    };
-    itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "itoa";
-      version = "0.3.4";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
-      inherit dependencies buildDependencies features;
-    };
-    jobserver_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "jobserver";
-      version = "0.1.8";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0rscjndafcrldrlb5nax2jgnc6fk298awqc6yzi9lbnbybm6r004";
-      inherit dependencies buildDependencies features;
-    };
-    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "kernel32-sys";
-      version = "0.2.2";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-      libName = "kernel32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    lazy_static_0_2_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lazy_static";
-      version = "0.2.9";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "08ldzr5292y3hvi6l6v8l4i6v95lm1aysmnfln65h10sqrfh6iw7";
-      inherit dependencies buildDependencies features;
-    };
-    libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.33";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
-      inherit dependencies buildDependencies features;
-    };
-    libgit2_sys_0_6_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libgit2-sys";
-      version = "0.6.16";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "05axjdwkm7z8z6c7s96cakdigjiq9sfah8z48868bhby6v1q30n9";
-      libPath = "lib.rs";
-      libName = "libgit2_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    libssh2_sys_0_2_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libssh2-sys";
-      version = "0.2.6";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0pvdgr3lg9x8xyjmfwifr9dxirvrzjvq7i3clix50rwp7ck21jh7";
-      libPath = "lib.rs";
-      libName = "libssh2_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    libz_sys_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libz-sys";
-      version = "1.0.18";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0lr0rvmmfbfa4g7mhi0l93i8jq86pfcssdv4d40kzfy45ajdcgim";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    log_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "log";
-      version = "0.3.8";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006";
-      inherit dependencies buildDependencies features;
-    };
-    matches_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "matches";
-      version = "0.1.6";
-      authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
-      sha256 = "1zlrqlbvzxdil8z8ial2ihvxjwvlvg3g8dr0lcdpsjclkclasjan";
-      libPath = "lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    memchr_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memchr";
-      version = "1.0.2";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-      sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
-      inherit dependencies buildDependencies features;
-    };
-    memchr_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memchr";
-      version = "2.0.0";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-      sha256 = "182svm4sr8b7l38ss6ph5wkj3p7ypp08jq65fm83mxpylxziih9p";
-      inherit dependencies buildDependencies features;
-    };
-    miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "miniz-sys";
-      version = "0.1.10";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
-      libPath = "lib.rs";
-      libName = "miniz_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    miow_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "miow";
-      version = "0.2.1";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0";
-      inherit dependencies buildDependencies features;
-    };
-    net2_0_2_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "net2";
-      version = "0.2.31";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "13mphllfcbybsdqyi1jb3kyqx65m8ch07drr59a4wb3yl89awm7y";
-      inherit dependencies buildDependencies features;
-    };
-    num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-traits";
-      version = "0.1.40";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
-      inherit dependencies buildDependencies features;
-    };
-    num_cpus_1_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num_cpus";
-      version = "1.7.0";
-      authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-      sha256 = "0231xmd65ma3pqfiw8pkv9dvm9x708z4xlrwp3i0sgiwv408dz3f";
-      inherit dependencies buildDependencies features;
-    };
-    openssl_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "openssl";
-      version = "0.9.20";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0dbj6k6z828c3sqbxidw5zfval29k8dlsr8qn8fizhc1alli18gx";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    openssl_probe_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "openssl-probe";
-      version = "0.1.1";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "19ykmqfnbmq56nadir0kvap4q1rpcjpmrfpnbc1qkj195dnh66na";
-      inherit dependencies buildDependencies features;
-    };
-    openssl_sys_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "openssl-sys";
-      version = "0.9.20";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "05q6qagvy7lim9vkq2v00vpm34j1dq4xy9pchs7fb6yy803vx24m";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    percent_encoding_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "percent-encoding";
-      version = "1.0.0";
-      authors = [ "The rust-url developers" ];
-      sha256 = "0c91wp8inj7z270i2kilxjl00kcagqalxxnnjg7fsdlimdwb7q1z";
-      libPath = "lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "pkg-config";
-      version = "0.3.9";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
-      inherit dependencies buildDependencies features;
-    };
-    psapi_sys_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "psapi-sys";
-      version = "0.1.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "091sbrcwbnhq1mwx6rc5w5kkwzg2ph78rhwjkdy9aqnzj7yj5ppm";
-      libName = "psapi";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "quote";
-      version = "0.3.15";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
-      inherit dependencies buildDependencies features;
-    };
-    rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rand";
-      version = "0.3.18";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
-      inherit dependencies buildDependencies features;
-    };
-    redox_syscall_0_1_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "redox_syscall";
-      version = "0.1.31";
-      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-      sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
-      libName = "syscall";
-      inherit dependencies buildDependencies features;
-    };
-    redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "redox_termios";
-      version = "0.1.1";
-      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-      sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex";
-      version = "0.2.2";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7";
-      inherit dependencies buildDependencies features;
-    };
-    regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex-syntax";
-      version = "0.4.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc-demangle";
-      version = "0.1.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc";
-      inherit dependencies buildDependencies features;
-    };
-    same_file_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "same-file";
-      version = "0.1.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "01hdnxblb1hlysr47nwdv7r8vs7p63ia08v5h4lcffmzqvl5zzn9";
-      inherit dependencies buildDependencies features;
-    };
-    scoped_tls_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "scoped-tls";
-      version = "0.1.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1j8azxa15srljafrg7wc221npvxb3700sbfk6jjav0rw2zclsnf5";
-      inherit dependencies buildDependencies features;
-    };
-    scopeguard_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "scopeguard";
-      version = "0.1.2";
-      authors = [ "bluss" ];
-      sha256 = "00b3jrxlrzqv7qqzdd18m6p5skj1xwb4nw6bhch2ikg0hnfv5zdb";
-      inherit dependencies buildDependencies features;
-    };
-    semver_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "semver";
-      version = "0.7.0";
-      authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
-      sha256 = "079944bh20ldr41i96nk9b31igj555dl2d8mg51m4h0ccwric4l8";
-      inherit dependencies buildDependencies features;
-    };
-    semver_parser_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "semver-parser";
-      version = "0.7.0";
-      authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
-      sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
-      inherit dependencies buildDependencies features;
-    };
-    serde_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde";
-      version = "1.0.18";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "14cczcvmfwgbm8447k93aggi7fbx0ix5f7dz16fxzs9l3riac5vq";
-      inherit dependencies buildDependencies features;
-    };
-    serde_derive_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_derive";
-      version = "1.0.18";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1kx8zjcc9mxib6ipb9ygjjgxdniff93pwazvj4vqb859paqazdsj";
-      procMacro = true;
-      inherit dependencies buildDependencies features;
-    };
-    serde_derive_internals_0_16_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_derive_internals";
-      version = "0.16.0";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1k96ypwlhnvmaksimkx1pd5rwvjaanfcdzpgndhy994hx03xplhs";
-      inherit dependencies buildDependencies features;
-    };
-    serde_ignored_0_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_ignored";
-      version = "0.0.3";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0yz81jz6rqbzbhznmkygl9rdq1xq43jsgv10mmd5m24vh4j00icc";
-      inherit dependencies buildDependencies features;
-    };
-    serde_json_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_json";
-      version = "1.0.5";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1yka3aa2gfi30415jpf0935k54r08jhyw6r7rjz2nv1kqgbw2brs";
-      inherit dependencies buildDependencies features;
-    };
-    shell_escape_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "shell-escape";
-      version = "0.1.3";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0r3pj7kl40iqjbivwh4kd6agjdhbf5avzp7i8v42xvpc1zrzrq77";
-      inherit dependencies buildDependencies features;
-    };
-    socket2_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "socket2";
-      version = "0.2.4";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1pdwqlx4wnabgv549i3pb3whbk8ggcq4kg0lfx9cpcazcjk5p6iz";
-      inherit dependencies buildDependencies features;
-    };
-    strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "strsim";
-      version = "0.6.0";
-      authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-      sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-      inherit dependencies buildDependencies features;
-    };
-    syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "syn";
-      version = "0.11.11";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
-      inherit dependencies buildDependencies features;
-    };
-    synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "synom";
-      version = "0.11.3";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
-      inherit dependencies buildDependencies features;
-    };
-    tar_0_4_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "tar";
-      version = "0.4.13";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1m425d07h0i6h2vbpxnh067zmc16l9yr9bii17zxw4z2inkfyfc4";
-      inherit dependencies buildDependencies features;
-    };
-    tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "tempdir";
-      version = "0.3.5";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz";
-      inherit dependencies buildDependencies features;
-    };
-    termcolor_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "termcolor";
-      version = "0.3.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1rb853jzvkbwm62373dhls4x4r3r5cvfcsxvqh0i75rhx5j8kwsz";
-      inherit dependencies buildDependencies features;
-    };
-    termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "termion";
-      version = "1.5.1";
-      authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
-      sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
-      inherit dependencies buildDependencies features;
-    };
-    thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "thread_local";
-      version = "0.3.4";
-      authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-      sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
-      inherit dependencies buildDependencies features;
-    };
-    toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "toml";
-      version = "0.4.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_bidi_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-bidi";
-      version = "0.3.4";
-      authors = [ "The Servo Project Developers" ];
-      sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q";
-      libName = "unicode_bidi";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_normalization_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-normalization";
-      version = "0.1.5";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "0hg29g86fca7b65mwk4sm5s838js6bqrl0gabadbazvbsgjam0j5";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-xid";
-      version = "0.0.4";
-      authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
-      inherit dependencies buildDependencies features;
-    };
-    unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unreachable";
-      version = "1.0.0";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
-      inherit dependencies buildDependencies features;
-    };
-    url_1_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "url";
-      version = "1.6.0";
-      authors = [ "The rust-url developers" ];
-      sha256 = "1bvzl4dvjj84h46ai3x23wyafa2wwhchj08vr2brf25dxwc7mg18";
-      inherit dependencies buildDependencies features;
-    };
-    userenv_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "userenv-sys";
-      version = "0.2.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "19l85k56y30likj69ri83jspsf4n9q4d03pi4mbs7cimlzn8lvzj";
-      libName = "userenv";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    utf8_ranges_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "utf8-ranges";
-      version = "1.0.0";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
-      inherit dependencies buildDependencies features;
-    };
-    vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vcpkg";
-      version = "0.2.2";
-      authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
-      sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
-      inherit dependencies buildDependencies features;
-    };
-    void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "void";
-      version = "1.0.2";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-      inherit dependencies buildDependencies features;
-    };
-    walkdir_1_0_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "walkdir";
-      version = "1.0.7";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1ygsc59m8mbnlz0psjxdzm1xjndxpywjwalqcd3pwdarzk1gy1vr";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi";
-      version = "0.2.8";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi-build";
-      version = "0.1.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-      libName = "build";
-      inherit dependencies buildDependencies features;
-    };
-    wincolor_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wincolor";
-      version = "0.1.4";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0cxv6hadnj5vffb8a73y7055p59n20bpqd524df85cm29dcjl38a";
-      inherit dependencies buildDependencies features;
-    };
-    ws2_32_sys_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ws2_32-sys";
-      version = "0.2.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc";
-      libName = "ws2_32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
+      edition = "2018";
+      src = exclude [ ".git" "target" ] ./.;
+      dependencies = mapFeatures features ([
+        (cratesIO.crates."cargo"."${deps."cargo_vendor"."0.1.23"."cargo"}" deps)
+        (cratesIO.crates."docopt"."${deps."cargo_vendor"."0.1.23"."docopt"}" deps)
+        (cratesIO.crates."env_logger"."${deps."cargo_vendor"."0.1.23"."env_logger"}" deps)
+        (cratesIO.crates."failure"."${deps."cargo_vendor"."0.1.23"."failure"}" deps)
+        (cratesIO.crates."serde"."${deps."cargo_vendor"."0.1.23"."serde"}" deps)
+        (cratesIO.crates."serde_json"."${deps."cargo_vendor"."0.1.23"."serde_json"}" deps)
+        (cratesIO.crates."toml"."${deps."cargo_vendor"."0.1.23"."toml"}" deps)
+      ]
+        ++ (if features.cargo_vendor."0.1.23".openssl or false then [ (cratesIO.crates.openssl."${deps."cargo_vendor"."0.1.23".openssl}" deps) ] else []));
+      features = mkFeatures (features."cargo_vendor"."0.1.23" or {});
+    };
+    features_.cargo_vendor."0.1.23" = deps: f: updateFeatures f (rec {
+      cargo."${deps.cargo_vendor."0.1.23".cargo}".default = true;
+      cargo_vendor."0.1.23".default = (f.cargo_vendor."0.1.23".default or true);
+      docopt."${deps.cargo_vendor."0.1.23".docopt}".default = true;
+      env_logger."${deps.cargo_vendor."0.1.23".env_logger}".default = true;
+      failure."${deps.cargo_vendor."0.1.23".failure}".default = true;
+      openssl = fold recursiveUpdate {} [
+        { "${deps.cargo_vendor."0.1.23".openssl}"."vendored" =
+          (f.openssl."${deps.cargo_vendor."0.1.23".openssl}"."vendored" or false) ||
+          (cargo_vendor."0.1.23"."vendored-openssl" or false) ||
+          (f."cargo_vendor"."0.1.23"."vendored-openssl" or false); }
+        { "${deps.cargo_vendor."0.1.23".openssl}".default = true; }
+      ];
+      serde = fold recursiveUpdate {} [
+        { "${deps.cargo_vendor."0.1.23".serde}"."derive" = true; }
+        { "${deps.cargo_vendor."0.1.23".serde}".default = true; }
+      ];
+      serde_json."${deps.cargo_vendor."0.1.23".serde_json}".default = true;
+      toml."${deps.cargo_vendor."0.1.23".toml}".default = true;
+    }) [
+      (cratesIO.features_.cargo."${deps."cargo_vendor"."0.1.23"."cargo"}" deps)
+      (cratesIO.features_.docopt."${deps."cargo_vendor"."0.1.23"."docopt"}" deps)
+      (cratesIO.features_.env_logger."${deps."cargo_vendor"."0.1.23"."env_logger"}" deps)
+      (cratesIO.features_.failure."${deps."cargo_vendor"."0.1.23"."failure"}" deps)
+      (cratesIO.features_.openssl."${deps."cargo_vendor"."0.1.23"."openssl"}" deps)
+      (cratesIO.features_.serde."${deps."cargo_vendor"."0.1.23"."serde"}" deps)
+      (cratesIO.features_.serde_json."${deps."cargo_vendor"."0.1.23"."serde_json"}" deps)
+      (cratesIO.features_.toml."${deps."cargo_vendor"."0.1.23"."toml"}" deps)
+    ];
 
-in
-rec {
-  advapi32_sys_0_2_0 = advapi32_sys_0_2_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_advapi32_sys_0_2_0__default_ = true;
-  winapi_build_0_1_1_features."default".from_advapi32_sys_0_2_0__default_ = true;
-  aho_corasick_0_6_3 = aho_corasick_0_6_3_ rec {
-    dependencies = [ memchr_1_0_2 ];
-  };
-  memchr_1_0_2_features."default".from_aho_corasick_0_6_3__default_ = true;
-  atty_0_2_3 = atty_0_2_3_ rec {
-    dependencies = (if kernel == "redox" then [ termion_1_5_1 ] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  kernel32_sys_0_2_2_features."default".from_atty_0_2_3__default_ = true;
-  libc_0_2_33_features."default".from_atty_0_2_3__default_ = false;
-  termion_1_5_1_features."default".from_atty_0_2_3__default_ = true;
-  winapi_0_2_8_features."default".from_atty_0_2_3__default_ = true;
-  backtrace_0_3_3 = backtrace_0_3_3_ rec {
-    dependencies = [ cfg_if_0_1_2 rustc_demangle_0_1_5 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then [ backtrace_sys_0_1_16 ]
-      ++ (if lib.lists.any (x: x == "backtrace-sys") features then [backtrace_sys_0_1_16] else []) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ dbghelp_sys_0_2_0 kernel32_sys_0_2_2 winapi_0_2_8 ]
-      ++ (if lib.lists.any (x: x == "dbghelp-sys") features then [dbghelp_sys_0_2_0] else [])
-      ++ (if lib.lists.any (x: x == "kernel32-sys") features then [kernel32_sys_0_2_2] else [])
-      ++ (if lib.lists.any (x: x == "winapi") features then [winapi_0_2_8] else []) else []);
-    features = mkFeatures backtrace_0_3_3_features;
-  };
-  backtrace_0_3_3_features."".self = true;
-  backtrace_0_3_3_features."kernel32-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
-  backtrace_0_3_3_features."winapi".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
-  backtrace_0_3_3_features."dbghelp-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
-  backtrace_0_3_3_features."libunwind".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."libbacktrace".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."coresymbolication".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."dladdr".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."dbghelp".self_default = hasDefault backtrace_0_3_3_features;
-  backtrace_0_3_3_features."addr2line".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {});
-  backtrace_0_3_3_features."findshlibs".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {});
-  backtrace_0_3_3_features."backtrace-sys".self_libbacktrace = hasFeature (backtrace_0_3_3_features."libbacktrace" or {});
-  backtrace_0_3_3_features."rustc-serialize".self_serialize-rustc = hasFeature (backtrace_0_3_3_features."serialize-rustc" or {});
-  backtrace_0_3_3_features."serde".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {});
-  backtrace_0_3_3_features."serde_derive".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {});
-  addr2line_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  backtrace_sys_0_1_16_features."default".from_backtrace_0_3_3__default_ = true;
-  cfg_if_0_1_2_features."default".from_backtrace_0_3_3__default_ = true;
-  cpp_demangle_0_0_0_features."default".from_backtrace_0_3_3__default_ = false;
-  dbghelp_sys_0_2_0_features."default".from_backtrace_0_3_3__default_ = true;
-  findshlibs_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_backtrace_0_3_3__default_ = true;
-  libc_0_2_33_features."default".from_backtrace_0_3_3__default_ = true;
-  rustc_demangle_0_1_5_features."default".from_backtrace_0_3_3__default_ = true;
-  rustc_serialize_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  serde_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  serde_derive_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
-  winapi_0_2_8_features."default".from_backtrace_0_3_3__default_ = true;
-  backtrace_sys_0_1_16 = backtrace_sys_0_1_16_ rec {
-    dependencies = [ libc_0_2_33 ];
-    buildDependencies = [ cc_1_0_3 ];
-  };
-  cc_1_0_3_features."default".from_backtrace_sys_0_1_16__default_ = true;
-  libc_0_2_33_features."default".from_backtrace_sys_0_1_16__default_ = true;
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_0_9_1 = bitflags_0_9_1_ rec {
-    features = mkFeatures bitflags_0_9_1_features;
-  };
-  bitflags_0_9_1_features."example_generated".self_default = hasDefault bitflags_0_9_1_features;
-  cargo_0_22_0 = cargo_0_22_0_ rec {
-    dependencies = [ atty_0_2_3 crates_io_0_11_0 crossbeam_0_2_10 curl_0_4_8 docopt_0_8_1 env_logger_0_4_3 error_chain_0_11_0 filetime_0_1_14 flate2_0_2_20 fs2_0_4_2 git2_0_6_8 git2_curl_0_7_0 glob_0_2_11 hex_0_2_0 home_0_3_0 ignore_0_2_2 jobserver_0_1_8 libc_0_2_33 libgit2_sys_0_6_16 log_0_3_8 num_cpus_1_7_0 same_file_0_1_3 scoped_tls_0_1_0 semver_0_7_0 serde_1_0_18 serde_derive_1_0_18 serde_ignored_0_0_3 serde_json_1_0_5 shell_escape_0_1_3 tar_0_4_13 tempdir_0_3_5 termcolor_0_3_3 toml_0_4_5 url_1_6_0 ]
-      ++ (if kernel == "darwin" then [ core_foundation_0_4_4 ] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_0_9_20 ] else [])
-      ++ (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 miow_0_2_1 psapi_sys_0_1_0 winapi_0_2_8 ] else []);
-  };
-  semver_0_7_0_features."serde".from_cargo_0_22_0 = true;
-  core_foundation_0_4_4_features."mac_os_10_7_support".from_cargo_0_22_0 = true;
-  advapi32_sys_0_2_0_features."default".from_cargo_0_22_0__default_ = true;
-  atty_0_2_3_features."default".from_cargo_0_22_0__default_ = true;
-  core_foundation_0_4_4_features."default".from_cargo_0_22_0__default_ = true;
-  crates_io_0_11_0_features."default".from_cargo_0_22_0__default_ = true;
-  crossbeam_0_2_10_features."default".from_cargo_0_22_0__default_ = true;
-  curl_0_4_8_features."default".from_cargo_0_22_0__default_ = true;
-  docopt_0_8_1_features."default".from_cargo_0_22_0__default_ = true;
-  env_logger_0_4_3_features."default".from_cargo_0_22_0__default_ = true;
-  error_chain_0_11_0_features."default".from_cargo_0_22_0__default_ = true;
-  filetime_0_1_14_features."default".from_cargo_0_22_0__default_ = true;
-  flate2_0_2_20_features."default".from_cargo_0_22_0__default_ = true;
-  fs2_0_4_2_features."default".from_cargo_0_22_0__default_ = true;
-  git2_0_6_8_features."default".from_cargo_0_22_0__default_ = true;
-  git2_curl_0_7_0_features."default".from_cargo_0_22_0__default_ = true;
-  glob_0_2_11_features."default".from_cargo_0_22_0__default_ = true;
-  hex_0_2_0_features."default".from_cargo_0_22_0__default_ = true;
-  home_0_3_0_features."default".from_cargo_0_22_0__default_ = true;
-  ignore_0_2_2_features."default".from_cargo_0_22_0__default_ = true;
-  jobserver_0_1_8_features."default".from_cargo_0_22_0__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_cargo_0_22_0__default_ = true;
-  libc_0_2_33_features."default".from_cargo_0_22_0__default_ = true;
-  libgit2_sys_0_6_16_features."default".from_cargo_0_22_0__default_ = true;
-  log_0_3_8_features."default".from_cargo_0_22_0__default_ = true;
-  miow_0_2_1_features."default".from_cargo_0_22_0__default_ = true;
-  num_cpus_1_7_0_features."default".from_cargo_0_22_0__default_ = true;
-  openssl_0_9_20_features."default".from_cargo_0_22_0__default_ = true;
-  psapi_sys_0_1_0_features."default".from_cargo_0_22_0__default_ = true;
-  same_file_0_1_3_features."default".from_cargo_0_22_0__default_ = true;
-  scoped_tls_0_1_0_features."default".from_cargo_0_22_0__default_ = true;
-  semver_0_7_0_features."default".from_cargo_0_22_0__default_ = true;
-  serde_1_0_18_features."default".from_cargo_0_22_0__default_ = true;
-  serde_derive_1_0_18_features."default".from_cargo_0_22_0__default_ = true;
-  serde_ignored_0_0_3_features."default".from_cargo_0_22_0__default_ = true;
-  serde_json_1_0_5_features."default".from_cargo_0_22_0__default_ = true;
-  shell_escape_0_1_3_features."default".from_cargo_0_22_0__default_ = true;
-  tar_0_4_13_features."default".from_cargo_0_22_0__default_ = false;
-  tempdir_0_3_5_features."default".from_cargo_0_22_0__default_ = true;
-  termcolor_0_3_3_features."default".from_cargo_0_22_0__default_ = true;
-  toml_0_4_5_features."default".from_cargo_0_22_0__default_ = true;
-  url_1_6_0_features."default".from_cargo_0_22_0__default_ = true;
-  winapi_0_2_8_features."default".from_cargo_0_22_0__default_ = true;
-  cargo_vendor_0_1_13 = cargo_vendor_0_1_13_ rec {
-    dependencies = [ cargo_0_22_0 env_logger_0_4_3 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 toml_0_4_5 ];
-  };
-  cargo_0_22_0_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  env_logger_0_4_3_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  serde_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  serde_derive_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  serde_json_1_0_5_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  toml_0_4_5_features."default".from_cargo_vendor_0_1_13__default_ = true;
-  cc_1_0_3 = cc_1_0_3_ rec {
-    dependencies = [];
-    features = mkFeatures cc_1_0_3_features;
-  };
-  cc_1_0_3_features."rayon".self_parallel = hasFeature (cc_1_0_3_features."parallel" or {});
-  rayon_0_0_0_features."default".from_cc_1_0_3__default_ = true;
-  cfg_if_0_1_2 = cfg_if_0_1_2_ rec {};
-  cmake_0_1_26 = cmake_0_1_26_ rec {
-    dependencies = [ cc_1_0_3 ];
-  };
-  cc_1_0_3_features."default".from_cmake_0_1_26__default_ = true;
-  core_foundation_0_4_4 = core_foundation_0_4_4_ rec {
-    dependencies = [ core_foundation_sys_0_4_4 libc_0_2_33 ];
-    features = mkFeatures core_foundation_0_4_4_features;
-  };
-  core_foundation_0_4_4_features."".self = true;
-  core_foundation_sys_0_4_4_features."mac_os_10_7_support".from_core_foundation_0_4_4__mac_os_10_7_support = hasFeature (core_foundation_0_4_4_features."mac_os_10_7_support" or {});
-  core_foundation_sys_0_4_4_features."mac_os_10_8_features".from_core_foundation_0_4_4__mac_os_10_8_features = hasFeature (core_foundation_0_4_4_features."mac_os_10_8_features" or {});
-  core_foundation_sys_0_4_4_features."default".from_core_foundation_0_4_4__default_ = true;
-  libc_0_2_33_features."default".from_core_foundation_0_4_4__default_ = true;
-  core_foundation_sys_0_4_4 = core_foundation_sys_0_4_4_ rec {
-    dependencies = [ libc_0_2_33 ];
-    features = mkFeatures core_foundation_sys_0_4_4_features;
-  };
-  core_foundation_sys_0_4_4_features."".self = true;
-  libc_0_2_33_features."default".from_core_foundation_sys_0_4_4__default_ = true;
-  crates_io_0_11_0 = crates_io_0_11_0_ rec {
-    dependencies = [ curl_0_4_8 error_chain_0_11_0 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 url_1_6_0 ];
-  };
-  curl_0_4_8_features."default".from_crates_io_0_11_0__default_ = true;
-  error_chain_0_11_0_features."default".from_crates_io_0_11_0__default_ = true;
-  serde_1_0_18_features."default".from_crates_io_0_11_0__default_ = true;
-  serde_derive_1_0_18_features."default".from_crates_io_0_11_0__default_ = true;
-  serde_json_1_0_5_features."default".from_crates_io_0_11_0__default_ = true;
-  url_1_6_0_features."default".from_crates_io_0_11_0__default_ = true;
-  crossbeam_0_2_10 = crossbeam_0_2_10_ rec {
-    features = mkFeatures crossbeam_0_2_10_features;
-  };
-  crossbeam_0_2_10_features."".self = true;
-  curl_0_4_8 = curl_0_4_8_ rec {
-    dependencies = [ curl_sys_0_3_15 libc_0_2_33 socket2_0_2_4 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ] else [])
-      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
-  };
-  curl_sys_0_3_15_features."default".from_curl_0_4_8__default_ = true;
-  libc_0_2_33_features."default".from_curl_0_4_8__default_ = true;
-  openssl_probe_0_1_1_features."default".from_curl_0_4_8__default_ = true;
-  openssl_sys_0_9_20_features."default".from_curl_0_4_8__default_ = true;
-  socket2_0_2_4_features."default".from_curl_0_4_8__default_ = true;
-  winapi_0_2_8_features."default".from_curl_0_4_8__default_ = true;
-  curl_sys_0_3_15 = curl_sys_0_3_15_ rec {
-    dependencies = [ libc_0_2_33 libz_sys_1_0_18 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_sys_0_9_20 ] else [])
-      ++ (if abi == "msvc" then [] else [])
-      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
-    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
-  };
-  cc_1_0_3_features."default".from_curl_sys_0_3_15__default_ = true;
-  libc_0_2_33_features."default".from_curl_sys_0_3_15__default_ = true;
-  libz_sys_1_0_18_features."default".from_curl_sys_0_3_15__default_ = true;
-  openssl_sys_0_9_20_features."default".from_curl_sys_0_3_15__default_ = true;
-  pkg_config_0_3_9_features."default".from_curl_sys_0_3_15__default_ = true;
-  winapi_0_2_8_features."default".from_curl_sys_0_3_15__default_ = true;
-  dbghelp_sys_0_2_0 = dbghelp_sys_0_2_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_dbghelp_sys_0_2_0__default_ = true;
-  winapi_build_0_1_1_features."default".from_dbghelp_sys_0_2_0__default_ = true;
-  docopt_0_8_1 = docopt_0_8_1_ rec {
-    dependencies = [ lazy_static_0_2_9 regex_0_2_2 serde_1_0_18 serde_derive_1_0_18 strsim_0_6_0 ];
-  };
-  lazy_static_0_2_9_features."default".from_docopt_0_8_1__default_ = true;
-  regex_0_2_2_features."default".from_docopt_0_8_1__default_ = true;
-  serde_1_0_18_features."default".from_docopt_0_8_1__default_ = true;
-  serde_derive_1_0_18_features."default".from_docopt_0_8_1__default_ = true;
-  strsim_0_6_0_features."default".from_docopt_0_8_1__default_ = true;
-  dtoa_0_4_2 = dtoa_0_4_2_ rec {};
-  env_logger_0_4_3 = env_logger_0_4_3_ rec {
-    dependencies = [ log_0_3_8 regex_0_2_2 ]
-      ++ (if lib.lists.any (x: x == "regex") features then [regex_0_2_2] else []);
-    features = mkFeatures env_logger_0_4_3_features;
-  };
-  env_logger_0_4_3_features."".self = true;
-  env_logger_0_4_3_features."regex".self_default = hasDefault env_logger_0_4_3_features;
-  log_0_3_8_features."default".from_env_logger_0_4_3__default_ = true;
-  regex_0_2_2_features."default".from_env_logger_0_4_3__default_ = true;
-  error_chain_0_11_0 = error_chain_0_11_0_ rec {
-    dependencies = [ backtrace_0_3_3 ]
-      ++ (if lib.lists.any (x: x == "backtrace") features then [backtrace_0_3_3] else []);
-    features = mkFeatures error_chain_0_11_0_features;
-  };
-  error_chain_0_11_0_features."".self = true;
-  error_chain_0_11_0_features."backtrace".self_default = hasDefault error_chain_0_11_0_features;
-  error_chain_0_11_0_features."example_generated".self_default = hasDefault error_chain_0_11_0_features;
-  backtrace_0_3_3_features."default".from_error_chain_0_11_0__default_ = true;
-  filetime_0_1_14 = filetime_0_1_14_ rec {
-    dependencies = [ cfg_if_0_1_2 ]
-      ++ (if kernel == "redox" then [ redox_syscall_0_1_31 ] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []);
-  };
-  cfg_if_0_1_2_features."default".from_filetime_0_1_14__default_ = true;
-  libc_0_2_33_features."default".from_filetime_0_1_14__default_ = true;
-  redox_syscall_0_1_31_features."default".from_filetime_0_1_14__default_ = true;
-  flate2_0_2_20 = flate2_0_2_20_ rec {
-    dependencies = [ libc_0_2_33 miniz_sys_0_1_10 ]
-      ++ (if lib.lists.any (x: x == "miniz-sys") features then [miniz_sys_0_1_10] else []);
-    features = mkFeatures flate2_0_2_20_features;
-  };
-  flate2_0_2_20_features."".self = true;
-  flate2_0_2_20_features."miniz-sys".self_default = hasDefault flate2_0_2_20_features;
-  flate2_0_2_20_features."tokio-io".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {});
-  flate2_0_2_20_features."futures".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {});
-  flate2_0_2_20_features."libz-sys".self_zlib = hasFeature (flate2_0_2_20_features."zlib" or {});
-  futures_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
-  libc_0_2_33_features."default".from_flate2_0_2_20__default_ = true;
-  libz_sys_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
-  miniz_sys_0_1_10_features."default".from_flate2_0_2_20__default_ = true;
-  tokio_io_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
-  fnv_1_0_5 = fnv_1_0_5_ rec {};
-  foreign_types_0_2_0 = foreign_types_0_2_0_ rec {};
-  fs2_0_4_2 = fs2_0_4_2_ rec {
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  kernel32_sys_0_2_2_features."default".from_fs2_0_4_2__default_ = true;
-  libc_0_2_33_features."default".from_fs2_0_4_2__default_ = true;
-  winapi_0_2_8_features."default".from_fs2_0_4_2__default_ = true;
-  fuchsia_zircon_0_2_1 = fuchsia_zircon_0_2_1_ rec {
-    dependencies = [ fuchsia_zircon_sys_0_2_0 ];
-  };
-  fuchsia_zircon_sys_0_2_0_features."default".from_fuchsia_zircon_0_2_1__default_ = true;
-  fuchsia_zircon_sys_0_2_0 = fuchsia_zircon_sys_0_2_0_ rec {
-    dependencies = [ bitflags_0_7_0 ];
-  };
-  bitflags_0_7_0_features."default".from_fuchsia_zircon_sys_0_2_0__default_ = true;
-  git2_0_6_8 = git2_0_6_8_ rec {
-    dependencies = [ bitflags_0_9_1 libc_0_2_33 libgit2_sys_0_6_16 url_1_6_0 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ]
-      ++ (if lib.lists.any (x: x == "openssl-probe") features then [openssl_probe_0_1_1] else [])
-      ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []);
-    features = mkFeatures git2_0_6_8_features;
-  };
-  git2_0_6_8_features."".self = true;
-  git2_0_6_8_features."ssh".self_default = hasDefault git2_0_6_8_features;
-  git2_0_6_8_features."https".self_default = hasDefault git2_0_6_8_features;
-  git2_0_6_8_features."curl".self_default = hasDefault git2_0_6_8_features;
-  git2_0_6_8_features."openssl-sys".self_https = hasFeature (git2_0_6_8_features."https" or {});
-  git2_0_6_8_features."openssl-probe".self_https = hasFeature (git2_0_6_8_features."https" or {});
-  libgit2_sys_0_6_16_features."curl".from_git2_0_6_8__curl = hasFeature (git2_0_6_8_features."curl" or {});
-  libgit2_sys_0_6_16_features."https".from_git2_0_6_8__https = hasFeature (git2_0_6_8_features."https" or {});
-  libgit2_sys_0_6_16_features."ssh".from_git2_0_6_8__ssh = hasFeature (git2_0_6_8_features."ssh" or {});
-  bitflags_0_9_1_features."default".from_git2_0_6_8__default_ = true;
-  libc_0_2_33_features."default".from_git2_0_6_8__default_ = true;
-  libgit2_sys_0_6_16_features."default".from_git2_0_6_8__default_ = true;
-  openssl_probe_0_1_1_features."default".from_git2_0_6_8__default_ = true;
-  openssl_sys_0_9_20_features."default".from_git2_0_6_8__default_ = true;
-  url_1_6_0_features."default".from_git2_0_6_8__default_ = true;
-  git2_curl_0_7_0 = git2_curl_0_7_0_ rec {
-    dependencies = [ curl_0_4_8 git2_0_6_8 log_0_3_8 url_1_6_0 ];
-  };
-  curl_0_4_8_features."default".from_git2_curl_0_7_0__default_ = true;
-  git2_0_6_8_features."default".from_git2_curl_0_7_0__default_ = false;
-  log_0_3_8_features."default".from_git2_curl_0_7_0__default_ = true;
-  url_1_6_0_features."default".from_git2_curl_0_7_0__default_ = true;
-  glob_0_2_11 = glob_0_2_11_ rec {};
-  globset_0_2_1 = globset_0_2_1_ rec {
-    dependencies = [ aho_corasick_0_6_3 fnv_1_0_5 log_0_3_8 memchr_2_0_0 regex_0_2_2 ];
-    features = mkFeatures globset_0_2_1_features;
-  };
-  globset_0_2_1_features."".self = true;
-  regex_0_2_2_features."simd-accel".from_globset_0_2_1__simd-accel = hasFeature (globset_0_2_1_features."simd-accel" or {});
-  aho_corasick_0_6_3_features."default".from_globset_0_2_1__default_ = true;
-  fnv_1_0_5_features."default".from_globset_0_2_1__default_ = true;
-  log_0_3_8_features."default".from_globset_0_2_1__default_ = true;
-  memchr_2_0_0_features."default".from_globset_0_2_1__default_ = true;
-  regex_0_2_2_features."default".from_globset_0_2_1__default_ = true;
-  hex_0_2_0 = hex_0_2_0_ rec {};
-  home_0_3_0 = home_0_3_0_ rec {
-    dependencies = (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 scopeguard_0_1_2 userenv_sys_0_2_0 winapi_0_2_8 ] else []);
-  };
-  advapi32_sys_0_2_0_features."default".from_home_0_3_0__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_home_0_3_0__default_ = true;
-  scopeguard_0_1_2_features."default".from_home_0_3_0__default_ = true;
-  userenv_sys_0_2_0_features."default".from_home_0_3_0__default_ = true;
-  winapi_0_2_8_features."default".from_home_0_3_0__default_ = true;
-  idna_0_1_4 = idna_0_1_4_ rec {
-    dependencies = [ matches_0_1_6 unicode_bidi_0_3_4 unicode_normalization_0_1_5 ];
-  };
-  matches_0_1_6_features."default".from_idna_0_1_4__default_ = true;
-  unicode_bidi_0_3_4_features."default".from_idna_0_1_4__default_ = true;
-  unicode_normalization_0_1_5_features."default".from_idna_0_1_4__default_ = true;
-  ignore_0_2_2 = ignore_0_2_2_ rec {
-    dependencies = [ crossbeam_0_2_10 globset_0_2_1 lazy_static_0_2_9 log_0_3_8 memchr_1_0_2 regex_0_2_2 thread_local_0_3_4 walkdir_1_0_7 ];
-    features = mkFeatures ignore_0_2_2_features;
-  };
-  ignore_0_2_2_features."".self = true;
-  globset_0_2_1_features."simd-accel".from_ignore_0_2_2__simd-accel = hasFeature (ignore_0_2_2_features."simd-accel" or {});
-  crossbeam_0_2_10_features."default".from_ignore_0_2_2__default_ = true;
-  globset_0_2_1_features."default".from_ignore_0_2_2__default_ = true;
-  lazy_static_0_2_9_features."default".from_ignore_0_2_2__default_ = true;
-  log_0_3_8_features."default".from_ignore_0_2_2__default_ = true;
-  memchr_1_0_2_features."default".from_ignore_0_2_2__default_ = true;
-  regex_0_2_2_features."default".from_ignore_0_2_2__default_ = true;
-  thread_local_0_3_4_features."default".from_ignore_0_2_2__default_ = true;
-  walkdir_1_0_7_features."default".from_ignore_0_2_2__default_ = true;
-  itoa_0_3_4 = itoa_0_3_4_ rec {
-    features = mkFeatures itoa_0_3_4_features;
-  };
-  itoa_0_3_4_features."".self = true;
-  jobserver_0_1_8 = jobserver_0_1_8_ rec {
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ rand_0_3_18 ] else []);
-  };
-  libc_0_2_33_features."default".from_jobserver_0_1_8__default_ = true;
-  rand_0_3_18_features."default".from_jobserver_0_1_8__default_ = true;
-  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default_ = true;
-  winapi_build_0_1_1_features."default".from_kernel32_sys_0_2_2__default_ = true;
-  lazy_static_0_2_9 = lazy_static_0_2_9_ rec {
-    dependencies = [];
-    features = mkFeatures lazy_static_0_2_9_features;
-  };
-  lazy_static_0_2_9_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {});
-  lazy_static_0_2_9_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {});
-  spin_0_0_0_features."default".from_lazy_static_0_2_9__default_ = true;
-  libc_0_2_33 = libc_0_2_33_ rec {
-    features = mkFeatures libc_0_2_33_features;
-  };
-  libc_0_2_33_features."use_std".self_default = hasDefault libc_0_2_33_features;
-  libgit2_sys_0_6_16 = libgit2_sys_0_6_16_ rec {
-    dependencies = [ curl_sys_0_3_15 libc_0_2_33 libssh2_sys_0_2_6 libz_sys_1_0_18 ]
-      ++ (if lib.lists.any (x: x == "curl-sys") features then [curl_sys_0_3_15] else [])
-      ++ (if lib.lists.any (x: x == "libssh2-sys") features then [libssh2_sys_0_2_6] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ]
-      ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []);
-    buildDependencies = [ cc_1_0_3 cmake_0_1_26 pkg_config_0_3_9 ];
-    features = mkFeatures libgit2_sys_0_6_16_features;
-  };
-  libgit2_sys_0_6_16_features."".self = true;
-  libgit2_sys_0_6_16_features."curl-sys".self_curl = hasFeature (libgit2_sys_0_6_16_features."curl" or {});
-  libgit2_sys_0_6_16_features."openssl-sys".self_https = hasFeature (libgit2_sys_0_6_16_features."https" or {});
-  libgit2_sys_0_6_16_features."libssh2-sys".self_ssh = hasFeature (libgit2_sys_0_6_16_features."ssh" or {});
-  cc_1_0_3_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  cmake_0_1_26_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  curl_sys_0_3_15_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  libc_0_2_33_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  libssh2_sys_0_2_6_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  libz_sys_1_0_18_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  openssl_sys_0_9_20_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  pkg_config_0_3_9_features."default".from_libgit2_sys_0_6_16__default_ = true;
-  libssh2_sys_0_2_6 = libssh2_sys_0_2_6_ rec {
-    dependencies = [ libc_0_2_33 libz_sys_1_0_18 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ] else []);
-    buildDependencies = [ cmake_0_1_26 pkg_config_0_3_9 ];
-  };
-  cmake_0_1_26_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  libc_0_2_33_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  libz_sys_1_0_18_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  openssl_sys_0_9_20_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  pkg_config_0_3_9_features."default".from_libssh2_sys_0_2_6__default_ = true;
-  libz_sys_1_0_18 = libz_sys_1_0_18_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if abi == "msvc" then [] else []);
-    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
-  };
-  cc_1_0_3_features."default".from_libz_sys_1_0_18__default_ = true;
-  libc_0_2_33_features."default".from_libz_sys_1_0_18__default_ = true;
-  pkg_config_0_3_9_features."default".from_libz_sys_1_0_18__default_ = true;
-  log_0_3_8 = log_0_3_8_ rec {
-    features = mkFeatures log_0_3_8_features;
-  };
-  log_0_3_8_features."use_std".self_default = hasDefault log_0_3_8_features;
-  matches_0_1_6 = matches_0_1_6_ rec {};
-  memchr_1_0_2 = memchr_1_0_2_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
-    features = mkFeatures memchr_1_0_2_features;
-  };
-  memchr_1_0_2_features."".self = true;
-  memchr_1_0_2_features."use_std".self_default = hasDefault memchr_1_0_2_features;
-  memchr_1_0_2_features."libc".self_default = hasDefault memchr_1_0_2_features;
-  memchr_1_0_2_features."libc".self_use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
-  libc_0_2_33_features."use_std".from_memchr_1_0_2__use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
-  libc_0_2_33_features."default".from_memchr_1_0_2__default_ = false;
-  memchr_2_0_0 = memchr_2_0_0_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
-    features = mkFeatures memchr_2_0_0_features;
-  };
-  memchr_2_0_0_features."".self = true;
-  memchr_2_0_0_features."use_std".self_default = hasDefault memchr_2_0_0_features;
-  memchr_2_0_0_features."libc".self_default = hasDefault memchr_2_0_0_features;
-  memchr_2_0_0_features."libc".self_use_std = hasFeature (memchr_2_0_0_features."use_std" or {});
-  libc_0_2_33_features."use_std".from_memchr_2_0_0__use_std = hasFeature (memchr_2_0_0_features."use_std" or {});
-  libc_0_2_33_features."default".from_memchr_2_0_0__default_ = false;
-  miniz_sys_0_1_10 = miniz_sys_0_1_10_ rec {
-    dependencies = [ libc_0_2_33 ];
-    buildDependencies = [ cc_1_0_3 ];
-  };
-  cc_1_0_3_features."default".from_miniz_sys_0_1_10__default_ = true;
-  libc_0_2_33_features."default".from_miniz_sys_0_1_10__default_ = true;
-  miow_0_2_1 = miow_0_2_1_ rec {
-    dependencies = [ kernel32_sys_0_2_2 net2_0_2_31 winapi_0_2_8 ws2_32_sys_0_2_1 ];
-  };
-  kernel32_sys_0_2_2_features."default".from_miow_0_2_1__default_ = true;
-  net2_0_2_31_features."default".from_miow_0_2_1__default_ = false;
-  winapi_0_2_8_features."default".from_miow_0_2_1__default_ = true;
-  ws2_32_sys_0_2_1_features."default".from_miow_0_2_1__default_ = true;
-  net2_0_2_31 = net2_0_2_31_ rec {
-    dependencies = [ cfg_if_0_1_2 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else [])
-      ++ (if kernel == "i686-apple-darwin" then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "i686-unknown-linux-gnu" then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "x86_64-apple-darwin" then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "x86_64-unknown-linux-gnu" then [ libc_0_2_33 ] else []);
-    features = mkFeatures net2_0_2_31_features;
-  };
-  net2_0_2_31_features."duration".self_default = hasDefault net2_0_2_31_features;
-  cfg_if_0_1_2_features."default".from_net2_0_2_31__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_net2_0_2_31__default_ = true;
-  libc_0_2_33_features."default".from_net2_0_2_31__default_ = true;
-  winapi_0_2_8_features."default".from_net2_0_2_31__default_ = true;
-  ws2_32_sys_0_2_1_features."default".from_net2_0_2_31__default_ = true;
-  num_traits_0_1_40 = num_traits_0_1_40_ rec {};
-  num_cpus_1_7_0 = num_cpus_1_7_0_ rec {
-    dependencies = [ libc_0_2_33 ];
-  };
-  libc_0_2_33_features."default".from_num_cpus_1_7_0__default_ = true;
-  openssl_0_9_20 = openssl_0_9_20_ rec {
-    dependencies = [ bitflags_0_9_1 foreign_types_0_2_0 lazy_static_0_2_9 libc_0_2_33 openssl_sys_0_9_20 ];
-    features = mkFeatures openssl_0_9_20_features;
-  };
-  openssl_0_9_20_features."".self = true;
-  bitflags_0_9_1_features."default".from_openssl_0_9_20__default_ = true;
-  foreign_types_0_2_0_features."default".from_openssl_0_9_20__default_ = true;
-  lazy_static_0_2_9_features."default".from_openssl_0_9_20__default_ = true;
-  libc_0_2_33_features."default".from_openssl_0_9_20__default_ = true;
-  openssl_sys_0_9_20_features."default".from_openssl_0_9_20__default_ = true;
-  openssl_probe_0_1_1 = openssl_probe_0_1_1_ rec {};
-  openssl_sys_0_9_20 = openssl_sys_0_9_20_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if abi == "msvc" then [] else []);
-    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
-  };
-  cc_1_0_3_features."default".from_openssl_sys_0_9_20__default_ = true;
-  libc_0_2_33_features."default".from_openssl_sys_0_9_20__default_ = true;
-  pkg_config_0_3_9_features."default".from_openssl_sys_0_9_20__default_ = true;
-  percent_encoding_1_0_0 = percent_encoding_1_0_0_ rec {};
-  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
-  psapi_sys_0_1_0 = psapi_sys_0_1_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_psapi_sys_0_1_0__default_ = true;
-  winapi_build_0_1_1_features."default".from_psapi_sys_0_1_0__default_ = true;
-  quote_0_3_15 = quote_0_3_15_ rec {};
-  rand_0_3_18 = rand_0_3_18_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if kernel == "fuchsia" then [ fuchsia_zircon_0_2_1 ] else []);
-    features = mkFeatures rand_0_3_18_features;
-  };
-  rand_0_3_18_features."i128_support".self_nightly = hasFeature (rand_0_3_18_features."nightly" or {});
-  fuchsia_zircon_0_2_1_features."default".from_rand_0_3_18__default_ = true;
-  libc_0_2_33_features."default".from_rand_0_3_18__default_ = true;
-  redox_syscall_0_1_31 = redox_syscall_0_1_31_ rec {};
-  redox_termios_0_1_1 = redox_termios_0_1_1_ rec {
-    dependencies = [ redox_syscall_0_1_31 ];
-  };
-  redox_syscall_0_1_31_features."default".from_redox_termios_0_1_1__default_ = true;
-  regex_0_2_2 = regex_0_2_2_ rec {
-    dependencies = [ aho_corasick_0_6_3 memchr_1_0_2 regex_syntax_0_4_1 thread_local_0_3_4 utf8_ranges_1_0_0 ];
-    features = mkFeatures regex_0_2_2_features;
-  };
-  regex_0_2_2_features."simd".self_simd-accel = hasFeature (regex_0_2_2_features."simd-accel" or {});
-  aho_corasick_0_6_3_features."default".from_regex_0_2_2__default_ = true;
-  memchr_1_0_2_features."default".from_regex_0_2_2__default_ = true;
-  regex_syntax_0_4_1_features."default".from_regex_0_2_2__default_ = true;
-  simd_0_0_0_features."default".from_regex_0_2_2__default_ = true;
-  thread_local_0_3_4_features."default".from_regex_0_2_2__default_ = true;
-  utf8_ranges_1_0_0_features."default".from_regex_0_2_2__default_ = true;
-  regex_syntax_0_4_1 = regex_syntax_0_4_1_ rec {};
-  rustc_demangle_0_1_5 = rustc_demangle_0_1_5_ rec {};
-  same_file_0_1_3 = same_file_0_1_3_ rec {
-    dependencies = (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  kernel32_sys_0_2_2_features."default".from_same_file_0_1_3__default_ = true;
-  winapi_0_2_8_features."default".from_same_file_0_1_3__default_ = true;
-  scoped_tls_0_1_0 = scoped_tls_0_1_0_ rec {};
-  scopeguard_0_1_2 = scopeguard_0_1_2_ rec {};
-  semver_0_7_0 = semver_0_7_0_ rec {
-    dependencies = [ semver_parser_0_7_0 serde_1_0_18 ]
-      ++ (if lib.lists.any (x: x == "serde") features then [serde_1_0_18] else []);
-    features = mkFeatures semver_0_7_0_features;
-  };
-  semver_0_7_0_features."".self = true;
-  semver_0_7_0_features."serde".self_ci = hasFeature (semver_0_7_0_features."ci" or {});
-  semver_parser_0_7_0_features."default".from_semver_0_7_0__default_ = true;
-  serde_1_0_18_features."default".from_semver_0_7_0__default_ = true;
-  semver_parser_0_7_0 = semver_parser_0_7_0_ rec {};
-  serde_1_0_18 = serde_1_0_18_ rec {
-    dependencies = [];
-    features = mkFeatures serde_1_0_18_features;
-  };
-  serde_1_0_18_features."unstable".self_alloc = hasFeature (serde_1_0_18_features."alloc" or {});
-  serde_1_0_18_features."std".self_default = hasDefault serde_1_0_18_features;
-  serde_1_0_18_features."serde_derive".self_derive = hasFeature (serde_1_0_18_features."derive" or {});
-  serde_1_0_18_features."serde_derive".self_playground = hasFeature (serde_1_0_18_features."playground" or {});
-  serde_derive_0_0_0_features."default".from_serde_1_0_18__default_ = true;
-  serde_derive_1_0_18 = serde_derive_1_0_18_ rec {
-    dependencies = [ quote_0_3_15 serde_derive_internals_0_16_0 syn_0_11_11 ];
-  };
-  syn_0_11_11_features."visit".from_serde_derive_1_0_18 = true;
-  quote_0_3_15_features."default".from_serde_derive_1_0_18__default_ = true;
-  serde_derive_internals_0_16_0_features."default".from_serde_derive_1_0_18__default_ = false;
-  syn_0_11_11_features."default".from_serde_derive_1_0_18__default_ = true;
-  serde_derive_internals_0_16_0 = serde_derive_internals_0_16_0_ rec {
-    dependencies = [ syn_0_11_11 synom_0_11_3 ];
-  };
-  syn_0_11_11_features."parsing".from_serde_derive_internals_0_16_0 = true;
-  syn_0_11_11_features."default".from_serde_derive_internals_0_16_0__default_ = false;
-  synom_0_11_3_features."default".from_serde_derive_internals_0_16_0__default_ = true;
-  serde_ignored_0_0_3 = serde_ignored_0_0_3_ rec {
-    dependencies = [ serde_1_0_18 ];
-  };
-  serde_1_0_18_features."default".from_serde_ignored_0_0_3__default_ = true;
-  serde_json_1_0_5 = serde_json_1_0_5_ rec {
-    dependencies = [ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_18 ];
-    features = mkFeatures serde_json_1_0_5_features;
-  };
-  serde_json_1_0_5_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_1_0_5_features."preserve_order" or {});
-  dtoa_0_4_2_features."default".from_serde_json_1_0_5__default_ = true;
-  itoa_0_3_4_features."default".from_serde_json_1_0_5__default_ = true;
-  linked_hash_map_0_0_0_features."default".from_serde_json_1_0_5__default_ = true;
-  num_traits_0_1_40_features."default".from_serde_json_1_0_5__default_ = true;
-  serde_1_0_18_features."default".from_serde_json_1_0_5__default_ = true;
-  shell_escape_0_1_3 = shell_escape_0_1_3_ rec {};
-  socket2_0_2_4 = socket2_0_2_4_ rec {
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ cfg_if_0_1_2 libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else []);
-    features = mkFeatures socket2_0_2_4_features;
-  };
-  socket2_0_2_4_features."".self = true;
-  cfg_if_0_1_2_features."default".from_socket2_0_2_4__default_ = true;
-  kernel32_sys_0_2_2_features."default".from_socket2_0_2_4__default_ = true;
-  libc_0_2_33_features."default".from_socket2_0_2_4__default_ = true;
-  winapi_0_2_8_features."default".from_socket2_0_2_4__default_ = true;
-  ws2_32_sys_0_2_1_features."default".from_socket2_0_2_4__default_ = true;
-  strsim_0_6_0 = strsim_0_6_0_ rec {};
-  syn_0_11_11 = syn_0_11_11_ rec {
-    dependencies = [ quote_0_3_15 synom_0_11_3 unicode_xid_0_0_4 ]
-      ++ (if lib.lists.any (x: x == "quote") features then [quote_0_3_15] else [])
-      ++ (if lib.lists.any (x: x == "synom") features then [synom_0_11_3] else [])
-      ++ (if lib.lists.any (x: x == "unicode-xid") features then [unicode_xid_0_0_4] else []);
-    features = mkFeatures syn_0_11_11_features;
-  };
-  syn_0_11_11_features."".self = true;
-  syn_0_11_11_features."parsing".self_default = hasDefault syn_0_11_11_features;
-  syn_0_11_11_features."printing".self_default = hasDefault syn_0_11_11_features;
-  syn_0_11_11_features."unicode-xid".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
-  syn_0_11_11_features."synom".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
-  syn_0_11_11_features."quote".self_printing = hasFeature (syn_0_11_11_features."printing" or {});
-  quote_0_3_15_features."default".from_syn_0_11_11__default_ = true;
-  synom_0_11_3_features."default".from_syn_0_11_11__default_ = true;
-  unicode_xid_0_0_4_features."default".from_syn_0_11_11__default_ = true;
-  synom_0_11_3 = synom_0_11_3_ rec {
-    dependencies = [ unicode_xid_0_0_4 ];
-  };
-  unicode_xid_0_0_4_features."default".from_synom_0_11_3__default_ = true;
-  tar_0_4_13 = tar_0_4_13_ rec {
-    dependencies = [ filetime_0_1_14 libc_0_2_33 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") then [] else []);
-  };
-  tar_0_4_13_features."xattr".self_default = hasDefault tar_0_4_13_features;
-  filetime_0_1_14_features."default".from_tar_0_4_13__default_ = true;
-  libc_0_2_33_features."default".from_tar_0_4_13__default_ = true;
-  xattr_0_0_0_features."default".from_tar_0_4_13__default_ = true;
-  tempdir_0_3_5 = tempdir_0_3_5_ rec {
-    dependencies = [ rand_0_3_18 ];
-  };
-  rand_0_3_18_features."default".from_tempdir_0_3_5__default_ = true;
-  termcolor_0_3_3 = termcolor_0_3_3_ rec {
-    dependencies = (if kernel == "windows" then [ wincolor_0_1_4 ] else []);
-  };
-  wincolor_0_1_4_features."default".from_termcolor_0_3_3__default_ = true;
-  termion_1_5_1 = termion_1_5_1_ rec {
-    dependencies = (if !(kernel == "redox") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "redox" then [ redox_syscall_0_1_31 redox_termios_0_1_1 ] else []);
-  };
-  libc_0_2_33_features."default".from_termion_1_5_1__default_ = true;
-  redox_syscall_0_1_31_features."default".from_termion_1_5_1__default_ = true;
-  redox_termios_0_1_1_features."default".from_termion_1_5_1__default_ = true;
-  thread_local_0_3_4 = thread_local_0_3_4_ rec {
-    dependencies = [ lazy_static_0_2_9 unreachable_1_0_0 ];
-  };
-  lazy_static_0_2_9_features."default".from_thread_local_0_3_4__default_ = true;
-  unreachable_1_0_0_features."default".from_thread_local_0_3_4__default_ = true;
-  toml_0_4_5 = toml_0_4_5_ rec {
-    dependencies = [ serde_1_0_18 ];
-  };
-  serde_1_0_18_features."default".from_toml_0_4_5__default_ = true;
-  unicode_bidi_0_3_4 = unicode_bidi_0_3_4_ rec {
-    dependencies = [ matches_0_1_6 ];
-    features = mkFeatures unicode_bidi_0_3_4_features;
-  };
-  unicode_bidi_0_3_4_features."flame".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {});
-  unicode_bidi_0_3_4_features."flamer".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {});
-  unicode_bidi_0_3_4_features."serde".self_with_serde = hasFeature (unicode_bidi_0_3_4_features."with_serde" or {});
-  serde_0_0_0_features."derive".from_unicode_bidi_0_3_4 = true;
-  flame_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
-  flamer_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
-  matches_0_1_6_features."default".from_unicode_bidi_0_3_4__default_ = true;
-  serde_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
-  unicode_normalization_0_1_5 = unicode_normalization_0_1_5_ rec {};
-  unicode_xid_0_0_4 = unicode_xid_0_0_4_ rec {
-    features = mkFeatures unicode_xid_0_0_4_features;
-  };
-  unicode_xid_0_0_4_features."".self = true;
-  unreachable_1_0_0 = unreachable_1_0_0_ rec {
-    dependencies = [ void_1_0_2 ];
-  };
-  void_1_0_2_features."default".from_unreachable_1_0_0__default_ = false;
-  url_1_6_0 = url_1_6_0_ rec {
-    dependencies = [ idna_0_1_4 matches_0_1_6 percent_encoding_1_0_0 ];
-    features = mkFeatures url_1_6_0_features;
-  };
-  url_1_6_0_features."heapsize".self_heap_size = hasFeature (url_1_6_0_features."heap_size" or {});
-  url_1_6_0_features."encoding".self_query_encoding = hasFeature (url_1_6_0_features."query_encoding" or {});
-  encoding_0_0_0_features."default".from_url_1_6_0__default_ = true;
-  heapsize_0_0_0_features."default".from_url_1_6_0__default_ = true;
-  idna_0_1_4_features."default".from_url_1_6_0__default_ = true;
-  matches_0_1_6_features."default".from_url_1_6_0__default_ = true;
-  percent_encoding_1_0_0_features."default".from_url_1_6_0__default_ = true;
-  rustc_serialize_0_0_0_features."default".from_url_1_6_0__default_ = true;
-  serde_0_0_0_features."default".from_url_1_6_0__default_ = true;
-  userenv_sys_0_2_0 = userenv_sys_0_2_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_userenv_sys_0_2_0__default_ = true;
-  winapi_build_0_1_1_features."default".from_userenv_sys_0_2_0__default_ = true;
-  utf8_ranges_1_0_0 = utf8_ranges_1_0_0_ rec {};
-  vcpkg_0_2_2 = vcpkg_0_2_2_ rec {};
-  void_1_0_2 = void_1_0_2_ rec {
-    features = mkFeatures void_1_0_2_features;
-  };
-  void_1_0_2_features."std".self_default = hasDefault void_1_0_2_features;
-  walkdir_1_0_7 = walkdir_1_0_7_ rec {
-    dependencies = [ same_file_0_1_3 ]
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  kernel32_sys_0_2_2_features."default".from_walkdir_1_0_7__default_ = true;
-  same_file_0_1_3_features."default".from_walkdir_1_0_7__default_ = true;
-  winapi_0_2_8_features."default".from_walkdir_1_0_7__default_ = true;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
-  wincolor_0_1_4 = wincolor_0_1_4_ rec {
-    dependencies = [ kernel32_sys_0_2_2 winapi_0_2_8 ];
-  };
-  kernel32_sys_0_2_2_features."default".from_wincolor_0_1_4__default_ = true;
-  winapi_0_2_8_features."default".from_wincolor_0_1_4__default_ = true;
-  ws2_32_sys_0_2_1 = ws2_32_sys_0_2_1_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_ws2_32_sys_0_2_1__default_ = true;
-  winapi_build_0_1_1_features."default".from_ws2_32_sys_0_2_1__default_ = true;
+
+# end
+
+  };
+
+  cargo_vendor = crates.crates.cargo_vendor."0.1.23" deps;
+  __all = [ (cargo_vendor {}) ];
+  deps.adler32."1.0.3" = {};
+  deps.aho_corasick."0.7.3" = {
+    memchr = "2.2.0";
+  };
+  deps.ansi_term."0.11.0" = {
+    winapi = "0.3.7";
+  };
+  deps.atty."0.2.11" = {
+    termion = "1.5.1";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.autocfg."0.1.2" = {};
+  deps.backtrace."0.3.15" = {
+    cfg_if = "0.1.7";
+    rustc_demangle = "0.1.14";
+    autocfg = "0.1.2";
+    backtrace_sys = "0.1.28";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.backtrace_sys."0.1.28" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+  };
+  deps.bitflags."1.0.4" = {};
+  deps.bstr."0.1.2" = {
+    memchr = "2.2.0";
+  };
+  deps.build_const."0.2.1" = {};
+  deps.byteorder."1.3.1" = {};
+  deps.bytes."0.4.12" = {
+    byteorder = "1.3.1";
+    iovec = "0.1.2";
+  };
+  deps.bytesize."1.0.0" = {};
+  deps.cargo."0.35.0" = {
+    atty = "0.2.11";
+    byteorder = "1.3.1";
+    bytesize = "1.0.0";
+    clap = "2.33.0";
+    crates_io = "0.23.0";
+    crossbeam_utils = "0.6.5";
+    crypto_hash = "0.3.3";
+    curl = "0.4.21";
+    curl_sys = "0.4.18";
+    env_logger = "0.6.1";
+    failure = "0.1.5";
+    filetime = "0.2.4";
+    flate2 = "1.0.7";
+    fs2 = "0.4.3";
+    git2 = "0.8.0";
+    git2_curl = "0.9.0";
+    glob = "0.2.11";
+    hex = "0.3.2";
+    home = "0.3.4";
+    ignore = "0.4.7";
+    im_rc = "12.3.4";
+    jobserver = "0.1.13";
+    lazy_static = "1.3.0";
+    lazycell = "1.2.1";
+    libc = "0.2.51";
+    libgit2_sys = "0.7.11";
+    log = "0.4.6";
+    num_cpus = "1.10.0";
+    opener = "0.3.2";
+    rustc_workspace_hack = "1.0.0";
+    rustfix = "0.4.5";
+    same_file = "1.0.4";
+    semver = "0.9.0";
+    serde = "1.0.90";
+    serde_ignored = "0.0.4";
+    serde_json = "1.0.39";
+    shell_escape = "0.1.4";
+    tar = "0.4.22";
+    tempfile = "3.0.7";
+    termcolor = "1.0.4";
+    toml = "0.4.10";
+    unicode_width = "0.1.5";
+    url = "1.7.2";
+    url_serde = "0.2.0";
+    core_foundation = "0.6.4";
+    fwdansi = "1.0.1";
+    miow = "0.3.3";
+    winapi = "0.3.7";
+  };
+  deps.cargo_vendor."0.1.23" = {
+    cargo = "0.35.0";
+    docopt = "1.1.0";
+    env_logger = "0.6.1";
+    failure = "0.1.5";
+    openssl = "0.10.20";
+    serde = "1.0.90";
+    serde_json = "1.0.39";
+    toml = "0.5.0";
+  };
+  deps.cc."1.0.35" = {};
+  deps.cfg_if."0.1.7" = {};
+  deps.clap."2.33.0" = {
+    atty = "0.2.11";
+    bitflags = "1.0.4";
+    strsim = "0.8.0";
+    textwrap = "0.11.0";
+    unicode_width = "0.1.5";
+    vec_map = "0.8.1";
+    ansi_term = "0.11.0";
+  };
+  deps.cloudabi."0.0.3" = {
+    bitflags = "1.0.4";
+  };
+  deps.commoncrypto."0.2.0" = {
+    commoncrypto_sys = "0.2.0";
+  };
+  deps.commoncrypto_sys."0.2.0" = {
+    libc = "0.2.51";
+  };
+  deps.core_foundation."0.6.4" = {
+    core_foundation_sys = "0.6.2";
+    libc = "0.2.51";
+  };
+  deps.core_foundation_sys."0.6.2" = {};
+  deps.crates_io."0.23.0" = {
+    curl = "0.4.21";
+    failure = "0.1.5";
+    http = "0.1.17";
+    serde = "1.0.90";
+    serde_derive = "1.0.90";
+    serde_json = "1.0.39";
+    url = "1.7.2";
+  };
+  deps.crc."1.8.1" = {
+    build_const = "0.2.1";
+  };
+  deps.crc32fast."1.2.0" = {
+    cfg_if = "0.1.7";
+  };
+  deps.crossbeam_channel."0.3.8" = {
+    crossbeam_utils = "0.6.5";
+    smallvec = "0.6.9";
+  };
+  deps.crossbeam_utils."0.6.5" = {
+    cfg_if = "0.1.7";
+    lazy_static = "1.3.0";
+  };
+  deps.crypto_hash."0.3.3" = {
+    hex = "0.3.2";
+    commoncrypto = "0.2.0";
+    openssl = "0.10.20";
+    winapi = "0.3.7";
+  };
+  deps.curl."0.4.21" = {
+    curl_sys = "0.4.18";
+    libc = "0.2.51";
+    socket2 = "0.3.8";
+    openssl_probe = "0.1.2";
+    openssl_sys = "0.9.43";
+    kernel32_sys = "0.2.2";
+    schannel = "0.1.15";
+    winapi = "0.2.8";
+  };
+  deps.curl_sys."0.4.18" = {
+    libc = "0.2.51";
+    libnghttp2_sys = "0.1.1";
+    libz_sys = "1.0.25";
+    cc = "1.0.35";
+    pkg_config = "0.3.14";
+    openssl_sys = "0.9.43";
+    winapi = "0.3.7";
+  };
+  deps.docopt."1.1.0" = {
+    lazy_static = "1.3.0";
+    regex = "1.1.6";
+    serde = "1.0.90";
+    strsim = "0.9.1";
+  };
+  deps.either."1.5.2" = {};
+  deps.env_logger."0.6.1" = {
+    atty = "0.2.11";
+    humantime = "1.2.0";
+    log = "0.4.6";
+    regex = "1.1.6";
+    termcolor = "1.0.4";
+  };
+  deps.failure."0.1.5" = {
+    backtrace = "0.3.15";
+    failure_derive = "0.1.5";
+  };
+  deps.failure_derive."0.1.5" = {
+    proc_macro2 = "0.4.27";
+    quote = "0.6.12";
+    syn = "0.15.32";
+    synstructure = "0.10.1";
+  };
+  deps.filetime."0.2.4" = {
+    cfg_if = "0.1.7";
+    redox_syscall = "0.1.54";
+    libc = "0.2.51";
+  };
+  deps.flate2."1.0.7" = {
+    crc32fast = "1.2.0";
+    libc = "0.2.51";
+    libz_sys = "1.0.25";
+    miniz_sys = "0.1.11";
+    miniz_oxide_c_api = "0.2.1";
+  };
+  deps.fnv."1.0.6" = {};
+  deps.foreign_types."0.3.2" = {
+    foreign_types_shared = "0.1.1";
+  };
+  deps.foreign_types_shared."0.1.1" = {};
+  deps.fs2."0.4.3" = {
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.fuchsia_cprng."0.1.1" = {};
+  deps.fwdansi."1.0.1" = {
+    memchr = "2.2.0";
+    termcolor = "1.0.4";
+  };
+  deps.git2."0.8.0" = {
+    bitflags = "1.0.4";
+    libc = "0.2.51";
+    libgit2_sys = "0.7.11";
+    log = "0.4.6";
+    url = "1.7.2";
+    openssl_probe = "0.1.2";
+    openssl_sys = "0.9.43";
+  };
+  deps.git2_curl."0.9.0" = {
+    curl = "0.4.21";
+    git2 = "0.8.0";
+    log = "0.4.6";
+    url = "1.7.2";
+  };
+  deps.glob."0.2.11" = {};
+  deps.globset."0.4.3" = {
+    aho_corasick = "0.7.3";
+    bstr = "0.1.2";
+    fnv = "1.0.6";
+    log = "0.4.6";
+    regex = "1.1.6";
+  };
+  deps.hashbrown."0.1.8" = {
+    byteorder = "1.3.1";
+    scopeguard = "0.3.3";
+  };
+  deps.hex."0.3.2" = {};
+  deps.home."0.3.4" = {
+    scopeguard = "0.3.3";
+    winapi = "0.3.7";
+  };
+  deps.http."0.1.17" = {
+    bytes = "0.4.12";
+    fnv = "1.0.6";
+    itoa = "0.4.3";
+  };
+  deps.humantime."1.2.0" = {
+    quick_error = "1.2.2";
+  };
+  deps.idna."0.1.5" = {
+    matches = "0.1.8";
+    unicode_bidi = "0.3.4";
+    unicode_normalization = "0.1.8";
+  };
+  deps.ignore."0.4.7" = {
+    crossbeam_channel = "0.3.8";
+    globset = "0.4.3";
+    lazy_static = "1.3.0";
+    log = "0.4.6";
+    memchr = "2.2.0";
+    regex = "1.1.6";
+    same_file = "1.0.4";
+    thread_local = "0.3.6";
+    walkdir = "2.2.7";
+    winapi_util = "0.1.2";
+  };
+  deps.im_rc."12.3.4" = {
+    sized_chunks = "0.1.3";
+    typenum = "1.10.0";
+    rustc_version = "0.2.3";
+  };
+  deps.iovec."0.1.2" = {
+    libc = "0.2.51";
+    winapi = "0.2.8";
+  };
+  deps.itertools."0.7.11" = {
+    either = "1.5.2";
+  };
+  deps.itoa."0.4.3" = {};
+  deps.jobserver."0.1.13" = {
+    log = "0.4.6";
+    libc = "0.2.51";
+    rand = "0.6.5";
+  };
+  deps.kernel32_sys."0.2.2" = {
+    winapi = "0.2.8";
+    winapi_build = "0.1.1";
+  };
+  deps.lazy_static."1.3.0" = {};
+  deps.lazycell."1.2.1" = {};
+  deps.libc."0.2.51" = {};
+  deps.libgit2_sys."0.7.11" = {
+    curl_sys = "0.4.18";
+    libc = "0.2.51";
+    libssh2_sys = "0.2.11";
+    libz_sys = "1.0.25";
+    cc = "1.0.35";
+    pkg_config = "0.3.14";
+    openssl_sys = "0.9.43";
+  };
+  deps.libnghttp2_sys."0.1.1" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+  };
+  deps.libssh2_sys."0.2.11" = {
+    libc = "0.2.51";
+    libz_sys = "1.0.25";
+    cc = "1.0.35";
+    pkg_config = "0.3.14";
+    openssl_sys = "0.9.43";
+  };
+  deps.libz_sys."1.0.25" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+    pkg_config = "0.3.14";
+  };
+  deps.lock_api."0.1.5" = {
+    scopeguard = "0.3.3";
+  };
+  deps.log."0.4.6" = {
+    cfg_if = "0.1.7";
+  };
+  deps.matches."0.1.8" = {};
+  deps.matrixmultiply."0.1.15" = {
+    rawpointer = "0.1.0";
+  };
+  deps.memchr."2.2.0" = {};
+  deps.miniz_sys."0.1.11" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+  };
+  deps.miniz_oxide."0.2.1" = {
+    adler32 = "1.0.3";
+  };
+  deps.miniz_oxide_c_api."0.2.1" = {
+    crc = "1.8.1";
+    libc = "0.2.51";
+    miniz_oxide = "0.2.1";
+    cc = "1.0.35";
+  };
+  deps.miow."0.3.3" = {
+    socket2 = "0.3.8";
+    winapi = "0.3.7";
+  };
+  deps.ndarray."0.12.1" = {
+    itertools = "0.7.11";
+    matrixmultiply = "0.1.15";
+    num_complex = "0.2.1";
+    num_traits = "0.2.6";
+  };
+  deps.num_complex."0.2.1" = {
+    num_traits = "0.2.6";
+  };
+  deps.num_traits."0.2.6" = {};
+  deps.num_cpus."1.10.0" = {
+    libc = "0.2.51";
+  };
+  deps.once_cell."0.1.8" = {
+    parking_lot = "0.7.1";
+  };
+  deps.opener."0.3.2" = {
+    failure = "0.1.5";
+    failure_derive = "0.1.5";
+    winapi = "0.3.7";
+  };
+  deps.openssl."0.10.20" = {
+    bitflags = "1.0.4";
+    cfg_if = "0.1.7";
+    foreign_types = "0.3.2";
+    lazy_static = "1.3.0";
+    libc = "0.2.51";
+    openssl_sys = "0.9.43";
+  };
+  deps.openssl_probe."0.1.2" = {};
+  deps.openssl_src."111.2.1+1.1.1b" = {
+    cc = "1.0.35";
+  };
+  deps.openssl_sys."0.9.43" = {
+    libc = "0.2.51";
+    cc = "1.0.35";
+    openssl_src = "111.2.1+1.1.1b";
+    pkg_config = "0.3.14";
+    rustc_version = "0.2.3";
+  };
+  deps.parking_lot."0.7.1" = {
+    lock_api = "0.1.5";
+    parking_lot_core = "0.4.0";
+  };
+  deps.parking_lot_core."0.4.0" = {
+    rand = "0.6.5";
+    smallvec = "0.6.9";
+    rustc_version = "0.2.3";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.percent_encoding."1.0.1" = {};
+  deps.pkg_config."0.3.14" = {};
+  deps.proc_macro2."0.4.27" = {
+    unicode_xid = "0.1.0";
+  };
+  deps.quick_error."1.2.2" = {};
+  deps.quote."0.6.12" = {
+    proc_macro2 = "0.4.27";
+  };
+  deps.rand."0.6.5" = {
+    rand_chacha = "0.1.1";
+    rand_core = "0.4.0";
+    rand_hc = "0.1.0";
+    rand_isaac = "0.1.1";
+    rand_jitter = "0.1.3";
+    rand_os = "0.1.3";
+    rand_pcg = "0.1.2";
+    rand_xorshift = "0.1.1";
+    autocfg = "0.1.2";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.rand_chacha."0.1.1" = {
+    rand_core = "0.3.1";
+    autocfg = "0.1.2";
+  };
+  deps.rand_core."0.3.1" = {
+    rand_core = "0.4.0";
+  };
+  deps.rand_core."0.4.0" = {};
+  deps.rand_hc."0.1.0" = {
+    rand_core = "0.3.1";
+  };
+  deps.rand_isaac."0.1.1" = {
+    rand_core = "0.3.1";
+  };
+  deps.rand_jitter."0.1.3" = {
+    rand_core = "0.4.0";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.rand_os."0.1.3" = {
+    rand_core = "0.4.0";
+    rdrand = "0.4.0";
+    cloudabi = "0.0.3";
+    fuchsia_cprng = "0.1.1";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.rand_pcg."0.1.2" = {
+    rand_core = "0.4.0";
+    autocfg = "0.1.2";
+  };
+  deps.rand_xorshift."0.1.1" = {
+    rand_core = "0.3.1";
+  };
+  deps.rawpointer."0.1.0" = {};
+  deps.rdrand."0.4.0" = {
+    rand_core = "0.3.1";
+  };
+  deps.redox_syscall."0.1.54" = {};
+  deps.redox_termios."0.1.1" = {
+    redox_syscall = "0.1.54";
+  };
+  deps.regex."1.1.6" = {
+    aho_corasick = "0.7.3";
+    memchr = "2.2.0";
+    regex_syntax = "0.6.6";
+    thread_local = "0.3.6";
+    utf8_ranges = "1.0.2";
+  };
+  deps.regex_syntax."0.6.6" = {
+    ucd_util = "0.1.3";
+  };
+  deps.remove_dir_all."0.5.1" = {
+    winapi = "0.3.7";
+  };
+  deps.rustc_demangle."0.1.14" = {};
+  deps.rustc_workspace_hack."1.0.0" = {};
+  deps.rustc_version."0.2.3" = {
+    semver = "0.9.0";
+  };
+  deps.rustfix."0.4.5" = {
+    failure = "0.1.5";
+    log = "0.4.6";
+    serde = "1.0.90";
+    serde_derive = "1.0.90";
+    serde_json = "1.0.39";
+  };
+  deps.ryu."0.2.7" = {};
+  deps.same_file."1.0.4" = {
+    winapi_util = "0.1.2";
+  };
+  deps.schannel."0.1.15" = {
+    lazy_static = "1.3.0";
+    winapi = "0.3.7";
+  };
+  deps.scopeguard."0.3.3" = {};
+  deps.semver."0.9.0" = {
+    semver_parser = "0.7.0";
+    serde = "1.0.90";
+  };
+  deps.semver_parser."0.7.0" = {};
+  deps.serde."1.0.90" = {
+    serde_derive = "1.0.90";
+  };
+  deps.serde_derive."1.0.90" = {
+    proc_macro2 = "0.4.27";
+    quote = "0.6.12";
+    syn = "0.15.32";
+  };
+  deps.serde_ignored."0.0.4" = {
+    serde = "1.0.90";
+  };
+  deps.serde_json."1.0.39" = {
+    itoa = "0.4.3";
+    ryu = "0.2.7";
+    serde = "1.0.90";
+  };
+  deps.shell_escape."0.1.4" = {};
+  deps.sized_chunks."0.1.3" = {
+    typenum = "1.10.0";
+  };
+  deps.smallvec."0.6.9" = {};
+  deps.socket2."0.3.8" = {
+    cfg_if = "0.1.7";
+    libc = "0.2.51";
+    redox_syscall = "0.1.54";
+    winapi = "0.3.7";
+  };
+  deps.strsim."0.8.0" = {};
+  deps.strsim."0.9.1" = {
+    hashbrown = "0.1.8";
+    ndarray = "0.12.1";
+  };
+  deps.syn."0.15.32" = {
+    proc_macro2 = "0.4.27";
+    quote = "0.6.12";
+    unicode_xid = "0.1.0";
+  };
+  deps.synstructure."0.10.1" = {
+    proc_macro2 = "0.4.27";
+    quote = "0.6.12";
+    syn = "0.15.32";
+    unicode_xid = "0.1.0";
+  };
+  deps.tar."0.4.22" = {
+    filetime = "0.2.4";
+    redox_syscall = "0.1.54";
+    libc = "0.2.51";
+  };
+  deps.tempfile."3.0.7" = {
+    cfg_if = "0.1.7";
+    rand = "0.6.5";
+    remove_dir_all = "0.5.1";
+    redox_syscall = "0.1.54";
+    libc = "0.2.51";
+    winapi = "0.3.7";
+  };
+  deps.termcolor."1.0.4" = {
+    wincolor = "1.0.1";
+  };
+  deps.termion."1.5.1" = {
+    libc = "0.2.51";
+    redox_syscall = "0.1.54";
+    redox_termios = "0.1.1";
+  };
+  deps.textwrap."0.11.0" = {
+    unicode_width = "0.1.5";
+  };
+  deps.thread_local."0.3.6" = {
+    lazy_static = "1.3.0";
+  };
+  deps.toml."0.4.10" = {
+    serde = "1.0.90";
+  };
+  deps.toml."0.5.0" = {
+    serde = "1.0.90";
+  };
+  deps.typenum."1.10.0" = {};
+  deps.ucd_util."0.1.3" = {};
+  deps.unicode_bidi."0.3.4" = {
+    matches = "0.1.8";
+  };
+  deps.unicode_normalization."0.1.8" = {
+    smallvec = "0.6.9";
+  };
+  deps.unicode_width."0.1.5" = {};
+  deps.unicode_xid."0.1.0" = {};
+  deps.url."1.7.2" = {
+    idna = "0.1.5";
+    matches = "0.1.8";
+    percent_encoding = "1.0.1";
+  };
+  deps.url_serde."0.2.0" = {
+    serde = "1.0.90";
+    url = "1.7.2";
+  };
+  deps.utf8_ranges."1.0.2" = {};
+  deps.vcpkg."0.2.6" = {};
+  deps.vec_map."0.8.1" = {};
+  deps.walkdir."2.2.7" = {
+    same_file = "1.0.4";
+    winapi = "0.3.7";
+    winapi_util = "0.1.2";
+  };
+  deps.winapi."0.2.8" = {};
+  deps.winapi."0.3.7" = {
+    winapi_i686_pc_windows_gnu = "0.4.0";
+    winapi_x86_64_pc_windows_gnu = "0.4.0";
+  };
+  deps.winapi_build."0.1.1" = {};
+  deps.winapi_i686_pc_windows_gnu."0.4.0" = {};
+  deps.winapi_util."0.1.2" = {
+    winapi = "0.3.7";
+  };
+  deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {};
+  deps.wincolor."1.0.1" = {
+    winapi = "0.3.7";
+    winapi_util = "0.1.2";
+  };
 }
diff --git a/pkgs/build-support/rust/cargo-vendor/default.nix b/pkgs/build-support/rust/cargo-vendor/default.nix
index faeb6e03743..f252c6a6cb1 100644
--- a/pkgs/build-support/rust/cargo-vendor/default.nix
+++ b/pkgs/build-support/rust/cargo-vendor/default.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchFromGitHub }:
 
-(callPackage ./cargo-vendor.nix {}).cargo_vendor_0_1_13.overrideAttrs (attrs: {
+((callPackage ./cargo-vendor.nix {}).cargo_vendor {}).overrideAttrs (attrs: {
   src = fetchFromGitHub {
     owner = "alexcrichton";
     repo = "cargo-vendor";
-    rev = "0.1.13";
-    sha256 = "0ljh2d65zpxp26a95b3czy5ai2z2dm87x7ndfdc1s0v1fsy69kn4";
+    rev = "9355661303ce2870d68a69d99953fce22581e31e";
+    sha256 = "0d4j3r09am3ynwhczimzv39264f5xz37jxa9js123y46w5by3wd2";
   };
 })
diff --git a/pkgs/build-support/rust/crates-io.nix b/pkgs/build-support/rust/crates-io.nix
index 2475a62a3cd..9dd2da28ad5 100644
--- a/pkgs/build-support/rust/crates-io.nix
+++ b/pkgs/build-support/rust/crates-io.nix
@@ -3810,4 +3810,3947 @@ rec {
 
 
 # end
+# aho-corasick-0.7.3
+
+  crates.aho_corasick."0.7.3" = deps: { features?(features_.aho_corasick."0.7.3" deps {}) }: buildRustCrate {
+    crateName = "aho-corasick";
+    version = "0.7.3";
+    description = "Fast multiple substring searching.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0dn42fbdms4brigqphxrvzbjd1s4knyjlzky30kgvpnrcl4sqqdv";
+    libName = "aho_corasick";
+    dependencies = mapFeatures features ([
+      (crates."memchr"."${deps."aho_corasick"."0.7.3"."memchr"}" deps)
+    ]);
+    features = mkFeatures (features."aho_corasick"."0.7.3" or {});
+  };
+  features_.aho_corasick."0.7.3" = deps: f: updateFeatures f (rec {
+    aho_corasick = fold recursiveUpdate {} [
+      { "0.7.3"."std" =
+        (f.aho_corasick."0.7.3"."std" or false) ||
+        (f.aho_corasick."0.7.3".default or false) ||
+        (aho_corasick."0.7.3"."default" or false); }
+      { "0.7.3".default = (f.aho_corasick."0.7.3".default or true); }
+    ];
+    memchr = fold recursiveUpdate {} [
+      { "${deps.aho_corasick."0.7.3".memchr}"."use_std" =
+        (f.memchr."${deps.aho_corasick."0.7.3".memchr}"."use_std" or false) ||
+        (aho_corasick."0.7.3"."std" or false) ||
+        (f."aho_corasick"."0.7.3"."std" or false); }
+      { "${deps.aho_corasick."0.7.3".memchr}".default = (f.memchr."${deps.aho_corasick."0.7.3".memchr}".default or false); }
+    ];
+  }) [
+    (features_.memchr."${deps."aho_corasick"."0.7.3"."memchr"}" deps)
+  ];
+
+
+# end
+# backtrace-0.3.15
+
+  crates.backtrace."0.3.15" = deps: { features?(features_.backtrace."0.3.15" deps {}) }: buildRustCrate {
+    crateName = "backtrace";
+    version = "0.3.15";
+    description = "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
+    sha256 = "0qgbc07aq9kfixv29s60xx666lmdpgmf27a78fwjlhnfzhqvkn0p";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."backtrace"."0.3.15"."cfg_if"}" deps)
+      (crates."rustc_demangle"."${deps."backtrace"."0.3.15"."rustc_demangle"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then mapFeatures features ([
+    ]
+      ++ (if features.backtrace."0.3.15".backtrace-sys or false then [ (crates.backtrace_sys."${deps."backtrace"."0.3.15".backtrace_sys}" deps) ] else [])) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") || abi == "sgx" then mapFeatures features ([
+      (crates."libc"."${deps."backtrace"."0.3.15"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."backtrace"."0.3.15"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."autocfg"."${deps."backtrace"."0.3.15"."autocfg"}" deps)
+    ]);
+    features = mkFeatures (features."backtrace"."0.3.15" or {});
+  };
+  features_.backtrace."0.3.15" = deps: f: updateFeatures f (rec {
+    autocfg."${deps.backtrace."0.3.15".autocfg}".default = true;
+    backtrace = fold recursiveUpdate {} [
+      { "0.3.15"."addr2line" =
+        (f.backtrace."0.3.15"."addr2line" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."backtrace-sys" =
+        (f.backtrace."0.3.15"."backtrace-sys" or false) ||
+        (f.backtrace."0.3.15".libbacktrace or false) ||
+        (backtrace."0.3.15"."libbacktrace" or false); }
+      { "0.3.15"."coresymbolication" =
+        (f.backtrace."0.3.15"."coresymbolication" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."dbghelp" =
+        (f.backtrace."0.3.15"."dbghelp" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."dladdr" =
+        (f.backtrace."0.3.15"."dladdr" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."findshlibs" =
+        (f.backtrace."0.3.15"."findshlibs" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."gimli" =
+        (f.backtrace."0.3.15"."gimli" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."libbacktrace" =
+        (f.backtrace."0.3.15"."libbacktrace" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."libunwind" =
+        (f.backtrace."0.3.15"."libunwind" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false); }
+      { "0.3.15"."memmap" =
+        (f.backtrace."0.3.15"."memmap" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."object" =
+        (f.backtrace."0.3.15"."object" or false) ||
+        (f.backtrace."0.3.15".gimli-symbolize or false) ||
+        (backtrace."0.3.15"."gimli-symbolize" or false); }
+      { "0.3.15"."rustc-serialize" =
+        (f.backtrace."0.3.15"."rustc-serialize" or false) ||
+        (f.backtrace."0.3.15".serialize-rustc or false) ||
+        (backtrace."0.3.15"."serialize-rustc" or false); }
+      { "0.3.15"."serde" =
+        (f.backtrace."0.3.15"."serde" or false) ||
+        (f.backtrace."0.3.15".serialize-serde or false) ||
+        (backtrace."0.3.15"."serialize-serde" or false); }
+      { "0.3.15"."serde_derive" =
+        (f.backtrace."0.3.15"."serde_derive" or false) ||
+        (f.backtrace."0.3.15".serialize-serde or false) ||
+        (backtrace."0.3.15"."serialize-serde" or false); }
+      { "0.3.15"."std" =
+        (f.backtrace."0.3.15"."std" or false) ||
+        (f.backtrace."0.3.15".default or false) ||
+        (backtrace."0.3.15"."default" or false) ||
+        (f.backtrace."0.3.15".libbacktrace or false) ||
+        (backtrace."0.3.15"."libbacktrace" or false); }
+      { "0.3.15".default = (f.backtrace."0.3.15".default or true); }
+    ];
+    backtrace_sys."${deps.backtrace."0.3.15".backtrace_sys}".default = true;
+    cfg_if."${deps.backtrace."0.3.15".cfg_if}".default = true;
+    libc."${deps.backtrace."0.3.15".libc}".default = (f.libc."${deps.backtrace."0.3.15".libc}".default or false);
+    rustc_demangle."${deps.backtrace."0.3.15".rustc_demangle}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.backtrace."0.3.15".winapi}"."dbghelp" = true; }
+      { "${deps.backtrace."0.3.15".winapi}"."minwindef" = true; }
+      { "${deps.backtrace."0.3.15".winapi}"."processthreadsapi" = true; }
+      { "${deps.backtrace."0.3.15".winapi}"."winnt" = true; }
+      { "${deps.backtrace."0.3.15".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."backtrace"."0.3.15"."cfg_if"}" deps)
+    (features_.rustc_demangle."${deps."backtrace"."0.3.15"."rustc_demangle"}" deps)
+    (features_.autocfg."${deps."backtrace"."0.3.15"."autocfg"}" deps)
+    (features_.backtrace_sys."${deps."backtrace"."0.3.15"."backtrace_sys"}" deps)
+    (features_.libc."${deps."backtrace"."0.3.15"."libc"}" deps)
+    (features_.winapi."${deps."backtrace"."0.3.15"."winapi"}" deps)
+  ];
+
+
+# end
+# bstr-0.1.2
+
+  crates.bstr."0.1.2" = deps: { features?(features_.bstr."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "bstr";
+    version = "0.1.2";
+    description = "A string type that is not required to be valid UTF-8.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1m30sssr8qghgf5fg17vvlrcr5mbbnv8fixzzfvzk3nan4bxyckf";
+    dependencies = mapFeatures features ([
+      (crates."memchr"."${deps."bstr"."0.1.2"."memchr"}" deps)
+    ]);
+    features = mkFeatures (features."bstr"."0.1.2" or {});
+  };
+  features_.bstr."0.1.2" = deps: f: updateFeatures f (rec {
+    bstr = fold recursiveUpdate {} [
+      { "0.1.2"."lazy_static" =
+        (f.bstr."0.1.2"."lazy_static" or false) ||
+        (f.bstr."0.1.2".unicode or false) ||
+        (bstr."0.1.2"."unicode" or false); }
+      { "0.1.2"."regex-automata" =
+        (f.bstr."0.1.2"."regex-automata" or false) ||
+        (f.bstr."0.1.2".unicode or false) ||
+        (bstr."0.1.2"."unicode" or false); }
+      { "0.1.2"."serde" =
+        (f.bstr."0.1.2"."serde" or false) ||
+        (f.bstr."0.1.2".serde1-nostd or false) ||
+        (bstr."0.1.2"."serde1-nostd" or false); }
+      { "0.1.2"."serde1-nostd" =
+        (f.bstr."0.1.2"."serde1-nostd" or false) ||
+        (f.bstr."0.1.2".serde1 or false) ||
+        (bstr."0.1.2"."serde1" or false); }
+      { "0.1.2"."std" =
+        (f.bstr."0.1.2"."std" or false) ||
+        (f.bstr."0.1.2".default or false) ||
+        (bstr."0.1.2"."default" or false) ||
+        (f.bstr."0.1.2".serde1 or false) ||
+        (bstr."0.1.2"."serde1" or false); }
+      { "0.1.2"."unicode" =
+        (f.bstr."0.1.2"."unicode" or false) ||
+        (f.bstr."0.1.2".default or false) ||
+        (bstr."0.1.2"."default" or false); }
+      { "0.1.2".default = (f.bstr."0.1.2".default or true); }
+    ];
+    memchr = fold recursiveUpdate {} [
+      { "${deps.bstr."0.1.2".memchr}"."use_std" =
+        (f.memchr."${deps.bstr."0.1.2".memchr}"."use_std" or false) ||
+        (bstr."0.1.2"."std" or false) ||
+        (f."bstr"."0.1.2"."std" or false); }
+      { "${deps.bstr."0.1.2".memchr}".default = (f.memchr."${deps.bstr."0.1.2".memchr}".default or false); }
+    ];
+  }) [
+    (features_.memchr."${deps."bstr"."0.1.2"."memchr"}" deps)
+  ];
+
+
+# end
+# build_const-0.2.1
+
+  crates.build_const."0.2.1" = deps: { features?(features_.build_const."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "build_const";
+    version = "0.2.1";
+    description = "library for creating importable constants from build.rs or a script";
+    authors = [ "Garrett Berg <vitiral@gmail.com>" ];
+    sha256 = "15249xzi3qlm72p4glxgavwyq70fx2sp4df6ii0sdlrixrrp77pl";
+    features = mkFeatures (features."build_const"."0.2.1" or {});
+  };
+  features_.build_const."0.2.1" = deps: f: updateFeatures f (rec {
+    build_const = fold recursiveUpdate {} [
+      { "0.2.1"."std" =
+        (f.build_const."0.2.1"."std" or false) ||
+        (f.build_const."0.2.1".default or false) ||
+        (build_const."0.2.1"."default" or false); }
+      { "0.2.1".default = (f.build_const."0.2.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# byteorder-1.3.1
+
+  crates.byteorder."1.3.1" = deps: { features?(features_.byteorder."1.3.1" deps {}) }: buildRustCrate {
+    crateName = "byteorder";
+    version = "1.3.1";
+    description = "Library for reading/writing numbers in big-endian and little-endian.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1dd46l7fvmxfq90kh6ip1ghsxzzcdybac8f0mh2jivsdv9vy8k4w";
+    build = "build.rs";
+    features = mkFeatures (features."byteorder"."1.3.1" or {});
+  };
+  features_.byteorder."1.3.1" = deps: f: updateFeatures f (rec {
+    byteorder = fold recursiveUpdate {} [
+      { "1.3.1"."std" =
+        (f.byteorder."1.3.1"."std" or false) ||
+        (f.byteorder."1.3.1".default or false) ||
+        (byteorder."1.3.1"."default" or false); }
+      { "1.3.1".default = (f.byteorder."1.3.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# bytes-0.4.12
+
+  crates.bytes."0.4.12" = deps: { features?(features_.bytes."0.4.12" deps {}) }: buildRustCrate {
+    crateName = "bytes";
+    version = "0.4.12";
+    description = "Types and traits for working with bytes";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0cw577vll9qp0h3l1sy24anr5mcnd5j26q9q7nw4f0mddssvfphf";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."bytes"."0.4.12"."byteorder"}" deps)
+      (crates."iovec"."${deps."bytes"."0.4.12"."iovec"}" deps)
+    ]);
+    features = mkFeatures (features."bytes"."0.4.12" or {});
+  };
+  features_.bytes."0.4.12" = deps: f: updateFeatures f (rec {
+    byteorder = fold recursiveUpdate {} [
+      { "${deps.bytes."0.4.12".byteorder}"."i128" =
+        (f.byteorder."${deps.bytes."0.4.12".byteorder}"."i128" or false) ||
+        (bytes."0.4.12"."i128" or false) ||
+        (f."bytes"."0.4.12"."i128" or false); }
+      { "${deps.bytes."0.4.12".byteorder}".default = true; }
+    ];
+    bytes."0.4.12".default = (f.bytes."0.4.12".default or true);
+    iovec."${deps.bytes."0.4.12".iovec}".default = true;
+  }) [
+    (features_.byteorder."${deps."bytes"."0.4.12"."byteorder"}" deps)
+    (features_.iovec."${deps."bytes"."0.4.12"."iovec"}" deps)
+  ];
+
+
+# end
+# bytesize-1.0.0
+
+  crates.bytesize."1.0.0" = deps: { features?(features_.bytesize."1.0.0" deps {}) }: buildRustCrate {
+    crateName = "bytesize";
+    version = "1.0.0";
+    description = "an utility for human-readable bytes representations";
+    authors = [ "Hyunsik Choi <hyunsik.choi@gmail.com>" ];
+    sha256 = "04j5hibh1sskjbifrm5d10vmd1fycfgm10cdfa9hpyir7lbkhbg9";
+    dependencies = mapFeatures features ([
+]);
+  };
+  features_.bytesize."1.0.0" = deps: f: updateFeatures f (rec {
+    bytesize."1.0.0".default = (f.bytesize."1.0.0".default or true);
+  }) [];
+
+
+# end
+# cargo-0.35.0
+
+  crates.cargo."0.35.0" = deps: { features?(features_.cargo."0.35.0" deps {}) }: buildRustCrate {
+    crateName = "cargo";
+    version = "0.35.0";
+    description = "Cargo, a package manager for Rust.\n";
+    authors = [ "Yehuda Katz <wycats@gmail.com>" "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
+    edition = "2018";
+    sha256 = "17nqb1cr70igaaahk1lr859jaa57p05i1q4smqhqpq1jswwpdsnn";
+    libPath = "src/cargo/lib.rs";
+    crateBin =
+      [{  name = "cargo"; }];
+    dependencies = mapFeatures features ([
+      (crates."atty"."${deps."cargo"."0.35.0"."atty"}" deps)
+      (crates."byteorder"."${deps."cargo"."0.35.0"."byteorder"}" deps)
+      (crates."bytesize"."${deps."cargo"."0.35.0"."bytesize"}" deps)
+      (crates."clap"."${deps."cargo"."0.35.0"."clap"}" deps)
+      (crates."crates_io"."${deps."cargo"."0.35.0"."crates_io"}" deps)
+      (crates."crossbeam_utils"."${deps."cargo"."0.35.0"."crossbeam_utils"}" deps)
+      (crates."crypto_hash"."${deps."cargo"."0.35.0"."crypto_hash"}" deps)
+      (crates."curl"."${deps."cargo"."0.35.0"."curl"}" deps)
+      (crates."curl_sys"."${deps."cargo"."0.35.0"."curl_sys"}" deps)
+      (crates."env_logger"."${deps."cargo"."0.35.0"."env_logger"}" deps)
+      (crates."failure"."${deps."cargo"."0.35.0"."failure"}" deps)
+      (crates."filetime"."${deps."cargo"."0.35.0"."filetime"}" deps)
+      (crates."flate2"."${deps."cargo"."0.35.0"."flate2"}" deps)
+      (crates."fs2"."${deps."cargo"."0.35.0"."fs2"}" deps)
+      (crates."git2"."${deps."cargo"."0.35.0"."git2"}" deps)
+      (crates."git2_curl"."${deps."cargo"."0.35.0"."git2_curl"}" deps)
+      (crates."glob"."${deps."cargo"."0.35.0"."glob"}" deps)
+      (crates."hex"."${deps."cargo"."0.35.0"."hex"}" deps)
+      (crates."home"."${deps."cargo"."0.35.0"."home"}" deps)
+      (crates."ignore"."${deps."cargo"."0.35.0"."ignore"}" deps)
+      (crates."im_rc"."${deps."cargo"."0.35.0"."im_rc"}" deps)
+      (crates."jobserver"."${deps."cargo"."0.35.0"."jobserver"}" deps)
+      (crates."lazy_static"."${deps."cargo"."0.35.0"."lazy_static"}" deps)
+      (crates."lazycell"."${deps."cargo"."0.35.0"."lazycell"}" deps)
+      (crates."libc"."${deps."cargo"."0.35.0"."libc"}" deps)
+      (crates."libgit2_sys"."${deps."cargo"."0.35.0"."libgit2_sys"}" deps)
+      (crates."log"."${deps."cargo"."0.35.0"."log"}" deps)
+      (crates."num_cpus"."${deps."cargo"."0.35.0"."num_cpus"}" deps)
+      (crates."opener"."${deps."cargo"."0.35.0"."opener"}" deps)
+      (crates."rustc_workspace_hack"."${deps."cargo"."0.35.0"."rustc_workspace_hack"}" deps)
+      (crates."rustfix"."${deps."cargo"."0.35.0"."rustfix"}" deps)
+      (crates."same_file"."${deps."cargo"."0.35.0"."same_file"}" deps)
+      (crates."semver"."${deps."cargo"."0.35.0"."semver"}" deps)
+      (crates."serde"."${deps."cargo"."0.35.0"."serde"}" deps)
+      (crates."serde_ignored"."${deps."cargo"."0.35.0"."serde_ignored"}" deps)
+      (crates."serde_json"."${deps."cargo"."0.35.0"."serde_json"}" deps)
+      (crates."shell_escape"."${deps."cargo"."0.35.0"."shell_escape"}" deps)
+      (crates."tar"."${deps."cargo"."0.35.0"."tar"}" deps)
+      (crates."tempfile"."${deps."cargo"."0.35.0"."tempfile"}" deps)
+      (crates."termcolor"."${deps."cargo"."0.35.0"."termcolor"}" deps)
+      (crates."toml"."${deps."cargo"."0.35.0"."toml"}" deps)
+      (crates."unicode_width"."${deps."cargo"."0.35.0"."unicode_width"}" deps)
+      (crates."url"."${deps."cargo"."0.35.0"."url"}" deps)
+      (crates."url_serde"."${deps."cargo"."0.35.0"."url_serde"}" deps)
+    ])
+      ++ (if kernel == "darwin" then mapFeatures features ([
+      (crates."core_foundation"."${deps."cargo"."0.35.0"."core_foundation"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."fwdansi"."${deps."cargo"."0.35.0"."fwdansi"}" deps)
+      (crates."miow"."${deps."cargo"."0.35.0"."miow"}" deps)
+      (crates."winapi"."${deps."cargo"."0.35.0"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."cargo"."0.35.0" or {});
+  };
+  features_.cargo."0.35.0" = deps: f: updateFeatures f (rec {
+    atty."${deps.cargo."0.35.0".atty}".default = true;
+    byteorder."${deps.cargo."0.35.0".byteorder}".default = true;
+    bytesize."${deps.cargo."0.35.0".bytesize}".default = true;
+    cargo = fold recursiveUpdate {} [
+      { "0.35.0"."pretty_env_logger" =
+        (f.cargo."0.35.0"."pretty_env_logger" or false) ||
+        (f.cargo."0.35.0".pretty-env-logger or false) ||
+        (cargo."0.35.0"."pretty-env-logger" or false); }
+      { "0.35.0".default = (f.cargo."0.35.0".default or true); }
+    ];
+    clap."${deps.cargo."0.35.0".clap}".default = true;
+    core_foundation = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".core_foundation}"."mac_os_10_7_support" = true; }
+      { "${deps.cargo."0.35.0".core_foundation}".default = true; }
+    ];
+    crates_io."${deps.cargo."0.35.0".crates_io}".default = true;
+    crossbeam_utils."${deps.cargo."0.35.0".crossbeam_utils}".default = true;
+    crypto_hash."${deps.cargo."0.35.0".crypto_hash}".default = true;
+    curl = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".curl}"."http2" = true; }
+      { "${deps.cargo."0.35.0".curl}".default = true; }
+    ];
+    curl_sys."${deps.cargo."0.35.0".curl_sys}".default = true;
+    env_logger."${deps.cargo."0.35.0".env_logger}".default = true;
+    failure."${deps.cargo."0.35.0".failure}".default = true;
+    filetime."${deps.cargo."0.35.0".filetime}".default = true;
+    flate2 = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".flate2}"."zlib" = true; }
+      { "${deps.cargo."0.35.0".flate2}".default = true; }
+    ];
+    fs2."${deps.cargo."0.35.0".fs2}".default = true;
+    fwdansi."${deps.cargo."0.35.0".fwdansi}".default = true;
+    git2."${deps.cargo."0.35.0".git2}".default = true;
+    git2_curl."${deps.cargo."0.35.0".git2_curl}".default = true;
+    glob."${deps.cargo."0.35.0".glob}".default = true;
+    hex."${deps.cargo."0.35.0".hex}".default = true;
+    home."${deps.cargo."0.35.0".home}".default = true;
+    ignore."${deps.cargo."0.35.0".ignore}".default = true;
+    im_rc."${deps.cargo."0.35.0".im_rc}".default = true;
+    jobserver."${deps.cargo."0.35.0".jobserver}".default = true;
+    lazy_static."${deps.cargo."0.35.0".lazy_static}".default = true;
+    lazycell."${deps.cargo."0.35.0".lazycell}".default = true;
+    libc."${deps.cargo."0.35.0".libc}".default = true;
+    libgit2_sys."${deps.cargo."0.35.0".libgit2_sys}".default = true;
+    log."${deps.cargo."0.35.0".log}".default = true;
+    miow."${deps.cargo."0.35.0".miow}".default = true;
+    num_cpus."${deps.cargo."0.35.0".num_cpus}".default = true;
+    opener."${deps.cargo."0.35.0".opener}".default = true;
+    rustc_workspace_hack."${deps.cargo."0.35.0".rustc_workspace_hack}".default = true;
+    rustfix."${deps.cargo."0.35.0".rustfix}".default = true;
+    same_file."${deps.cargo."0.35.0".same_file}".default = true;
+    semver = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".semver}"."serde" = true; }
+      { "${deps.cargo."0.35.0".semver}".default = true; }
+    ];
+    serde = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".serde}"."derive" = true; }
+      { "${deps.cargo."0.35.0".serde}".default = true; }
+    ];
+    serde_ignored."${deps.cargo."0.35.0".serde_ignored}".default = true;
+    serde_json = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".serde_json}"."raw_value" = true; }
+      { "${deps.cargo."0.35.0".serde_json}".default = true; }
+    ];
+    shell_escape."${deps.cargo."0.35.0".shell_escape}".default = true;
+    tar."${deps.cargo."0.35.0".tar}".default = (f.tar."${deps.cargo."0.35.0".tar}".default or false);
+    tempfile."${deps.cargo."0.35.0".tempfile}".default = true;
+    termcolor."${deps.cargo."0.35.0".termcolor}".default = true;
+    toml."${deps.cargo."0.35.0".toml}".default = true;
+    unicode_width."${deps.cargo."0.35.0".unicode_width}".default = true;
+    url."${deps.cargo."0.35.0".url}".default = true;
+    url_serde."${deps.cargo."0.35.0".url_serde}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.cargo."0.35.0".winapi}"."basetsd" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."handleapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."jobapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."jobapi2" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."memoryapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."minwindef" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."ntdef" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."ntstatus" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."processenv" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."processthreadsapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."psapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."synchapi" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."winbase" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."wincon" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."winerror" = true; }
+      { "${deps.cargo."0.35.0".winapi}"."winnt" = true; }
+      { "${deps.cargo."0.35.0".winapi}".default = true; }
+    ];
+  }) [
+    (features_.atty."${deps."cargo"."0.35.0"."atty"}" deps)
+    (features_.byteorder."${deps."cargo"."0.35.0"."byteorder"}" deps)
+    (features_.bytesize."${deps."cargo"."0.35.0"."bytesize"}" deps)
+    (features_.clap."${deps."cargo"."0.35.0"."clap"}" deps)
+    (features_.crates_io."${deps."cargo"."0.35.0"."crates_io"}" deps)
+    (features_.crossbeam_utils."${deps."cargo"."0.35.0"."crossbeam_utils"}" deps)
+    (features_.crypto_hash."${deps."cargo"."0.35.0"."crypto_hash"}" deps)
+    (features_.curl."${deps."cargo"."0.35.0"."curl"}" deps)
+    (features_.curl_sys."${deps."cargo"."0.35.0"."curl_sys"}" deps)
+    (features_.env_logger."${deps."cargo"."0.35.0"."env_logger"}" deps)
+    (features_.failure."${deps."cargo"."0.35.0"."failure"}" deps)
+    (features_.filetime."${deps."cargo"."0.35.0"."filetime"}" deps)
+    (features_.flate2."${deps."cargo"."0.35.0"."flate2"}" deps)
+    (features_.fs2."${deps."cargo"."0.35.0"."fs2"}" deps)
+    (features_.git2."${deps."cargo"."0.35.0"."git2"}" deps)
+    (features_.git2_curl."${deps."cargo"."0.35.0"."git2_curl"}" deps)
+    (features_.glob."${deps."cargo"."0.35.0"."glob"}" deps)
+    (features_.hex."${deps."cargo"."0.35.0"."hex"}" deps)
+    (features_.home."${deps."cargo"."0.35.0"."home"}" deps)
+    (features_.ignore."${deps."cargo"."0.35.0"."ignore"}" deps)
+    (features_.im_rc."${deps."cargo"."0.35.0"."im_rc"}" deps)
+    (features_.jobserver."${deps."cargo"."0.35.0"."jobserver"}" deps)
+    (features_.lazy_static."${deps."cargo"."0.35.0"."lazy_static"}" deps)
+    (features_.lazycell."${deps."cargo"."0.35.0"."lazycell"}" deps)
+    (features_.libc."${deps."cargo"."0.35.0"."libc"}" deps)
+    (features_.libgit2_sys."${deps."cargo"."0.35.0"."libgit2_sys"}" deps)
+    (features_.log."${deps."cargo"."0.35.0"."log"}" deps)
+    (features_.num_cpus."${deps."cargo"."0.35.0"."num_cpus"}" deps)
+    (features_.opener."${deps."cargo"."0.35.0"."opener"}" deps)
+    (features_.rustc_workspace_hack."${deps."cargo"."0.35.0"."rustc_workspace_hack"}" deps)
+    (features_.rustfix."${deps."cargo"."0.35.0"."rustfix"}" deps)
+    (features_.same_file."${deps."cargo"."0.35.0"."same_file"}" deps)
+    (features_.semver."${deps."cargo"."0.35.0"."semver"}" deps)
+    (features_.serde."${deps."cargo"."0.35.0"."serde"}" deps)
+    (features_.serde_ignored."${deps."cargo"."0.35.0"."serde_ignored"}" deps)
+    (features_.serde_json."${deps."cargo"."0.35.0"."serde_json"}" deps)
+    (features_.shell_escape."${deps."cargo"."0.35.0"."shell_escape"}" deps)
+    (features_.tar."${deps."cargo"."0.35.0"."tar"}" deps)
+    (features_.tempfile."${deps."cargo"."0.35.0"."tempfile"}" deps)
+    (features_.termcolor."${deps."cargo"."0.35.0"."termcolor"}" deps)
+    (features_.toml."${deps."cargo"."0.35.0"."toml"}" deps)
+    (features_.unicode_width."${deps."cargo"."0.35.0"."unicode_width"}" deps)
+    (features_.url."${deps."cargo"."0.35.0"."url"}" deps)
+    (features_.url_serde."${deps."cargo"."0.35.0"."url_serde"}" deps)
+    (features_.core_foundation."${deps."cargo"."0.35.0"."core_foundation"}" deps)
+    (features_.fwdansi."${deps."cargo"."0.35.0"."fwdansi"}" deps)
+    (features_.miow."${deps."cargo"."0.35.0"."miow"}" deps)
+    (features_.winapi."${deps."cargo"."0.35.0"."winapi"}" deps)
+  ];
+
+
+# end
+# cc-1.0.35
+
+  crates.cc."1.0.35" = deps: { features?(features_.cc."1.0.35" deps {}) }: buildRustCrate {
+    crateName = "cc";
+    version = "1.0.35";
+    description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0dq3d2hgc5r14lk97ajj4mw30fibznjzrl9w745fqhwnq51jp7dj";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."cc"."1.0.35" or {});
+  };
+  features_.cc."1.0.35" = deps: f: updateFeatures f (rec {
+    cc = fold recursiveUpdate {} [
+      { "1.0.35"."rayon" =
+        (f.cc."1.0.35"."rayon" or false) ||
+        (f.cc."1.0.35".parallel or false) ||
+        (cc."1.0.35"."parallel" or false); }
+      { "1.0.35".default = (f.cc."1.0.35".default or true); }
+    ];
+  }) [];
+
+
+# end
+# clap-2.33.0
+
+  crates.clap."2.33.0" = deps: { features?(features_.clap."2.33.0" deps {}) }: buildRustCrate {
+    crateName = "clap";
+    version = "2.33.0";
+    description = "A simple to use, efficient, and full-featured Command Line Argument Parser\n";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "054n9ngh6pkknpmd4acgdsp40iw6f5jzq8a4h2b76gnbvk6p5xjh";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."clap"."2.33.0"."bitflags"}" deps)
+      (crates."textwrap"."${deps."clap"."2.33.0"."textwrap"}" deps)
+      (crates."unicode_width"."${deps."clap"."2.33.0"."unicode_width"}" deps)
+    ]
+      ++ (if features.clap."2.33.0".atty or false then [ (crates.atty."${deps."clap"."2.33.0".atty}" deps) ] else [])
+      ++ (if features.clap."2.33.0".strsim or false then [ (crates.strsim."${deps."clap"."2.33.0".strsim}" deps) ] else [])
+      ++ (if features.clap."2.33.0".vec_map or false then [ (crates.vec_map."${deps."clap"."2.33.0".vec_map}" deps) ] else []))
+      ++ (if !(kernel == "windows") then mapFeatures features ([
+    ]
+      ++ (if features.clap."2.33.0".ansi_term or false then [ (crates.ansi_term."${deps."clap"."2.33.0".ansi_term}" deps) ] else [])) else []);
+    features = mkFeatures (features."clap"."2.33.0" or {});
+  };
+  features_.clap."2.33.0" = deps: f: updateFeatures f (rec {
+    ansi_term."${deps.clap."2.33.0".ansi_term}".default = true;
+    atty."${deps.clap."2.33.0".atty}".default = true;
+    bitflags."${deps.clap."2.33.0".bitflags}".default = true;
+    clap = fold recursiveUpdate {} [
+      { "2.33.0"."ansi_term" =
+        (f.clap."2.33.0"."ansi_term" or false) ||
+        (f.clap."2.33.0".color or false) ||
+        (clap."2.33.0"."color" or false); }
+      { "2.33.0"."atty" =
+        (f.clap."2.33.0"."atty" or false) ||
+        (f.clap."2.33.0".color or false) ||
+        (clap."2.33.0"."color" or false); }
+      { "2.33.0"."clippy" =
+        (f.clap."2.33.0"."clippy" or false) ||
+        (f.clap."2.33.0".lints or false) ||
+        (clap."2.33.0"."lints" or false); }
+      { "2.33.0"."color" =
+        (f.clap."2.33.0"."color" or false) ||
+        (f.clap."2.33.0".default or false) ||
+        (clap."2.33.0"."default" or false); }
+      { "2.33.0"."strsim" =
+        (f.clap."2.33.0"."strsim" or false) ||
+        (f.clap."2.33.0".suggestions or false) ||
+        (clap."2.33.0"."suggestions" or false); }
+      { "2.33.0"."suggestions" =
+        (f.clap."2.33.0"."suggestions" or false) ||
+        (f.clap."2.33.0".default or false) ||
+        (clap."2.33.0"."default" or false); }
+      { "2.33.0"."term_size" =
+        (f.clap."2.33.0"."term_size" or false) ||
+        (f.clap."2.33.0".wrap_help or false) ||
+        (clap."2.33.0"."wrap_help" or false); }
+      { "2.33.0"."vec_map" =
+        (f.clap."2.33.0"."vec_map" or false) ||
+        (f.clap."2.33.0".default or false) ||
+        (clap."2.33.0"."default" or false); }
+      { "2.33.0"."yaml" =
+        (f.clap."2.33.0"."yaml" or false) ||
+        (f.clap."2.33.0".doc or false) ||
+        (clap."2.33.0"."doc" or false); }
+      { "2.33.0"."yaml-rust" =
+        (f.clap."2.33.0"."yaml-rust" or false) ||
+        (f.clap."2.33.0".yaml or false) ||
+        (clap."2.33.0"."yaml" or false); }
+      { "2.33.0".default = (f.clap."2.33.0".default or true); }
+    ];
+    strsim."${deps.clap."2.33.0".strsim}".default = true;
+    textwrap = fold recursiveUpdate {} [
+      { "${deps.clap."2.33.0".textwrap}"."term_size" =
+        (f.textwrap."${deps.clap."2.33.0".textwrap}"."term_size" or false) ||
+        (clap."2.33.0"."wrap_help" or false) ||
+        (f."clap"."2.33.0"."wrap_help" or false); }
+      { "${deps.clap."2.33.0".textwrap}".default = true; }
+    ];
+    unicode_width."${deps.clap."2.33.0".unicode_width}".default = true;
+    vec_map."${deps.clap."2.33.0".vec_map}".default = true;
+  }) [
+    (features_.atty."${deps."clap"."2.33.0"."atty"}" deps)
+    (features_.bitflags."${deps."clap"."2.33.0"."bitflags"}" deps)
+    (features_.strsim."${deps."clap"."2.33.0"."strsim"}" deps)
+    (features_.textwrap."${deps."clap"."2.33.0"."textwrap"}" deps)
+    (features_.unicode_width."${deps."clap"."2.33.0"."unicode_width"}" deps)
+    (features_.vec_map."${deps."clap"."2.33.0"."vec_map"}" deps)
+    (features_.ansi_term."${deps."clap"."2.33.0"."ansi_term"}" deps)
+  ];
+
+
+# end
+# commoncrypto-0.2.0
+
+  crates.commoncrypto."0.2.0" = deps: { features?(features_.commoncrypto."0.2.0" deps {}) }: buildRustCrate {
+    crateName = "commoncrypto";
+    version = "0.2.0";
+    description = "Idiomatic Rust wrappers for Mac OS X's CommonCrypto library";
+    authors = [ "Mark Lee" ];
+    sha256 = "1ywgmv5ai4f6yskr3wv3j1wzfsdm9km8j8lm4x4j5ccln5362xdf";
+    dependencies = mapFeatures features ([
+      (crates."commoncrypto_sys"."${deps."commoncrypto"."0.2.0"."commoncrypto_sys"}" deps)
+    ]);
+    features = mkFeatures (features."commoncrypto"."0.2.0" or {});
+  };
+  features_.commoncrypto."0.2.0" = deps: f: updateFeatures f (rec {
+    commoncrypto = fold recursiveUpdate {} [
+      { "0.2.0"."clippy" =
+        (f.commoncrypto."0.2.0"."clippy" or false) ||
+        (f.commoncrypto."0.2.0".lint or false) ||
+        (commoncrypto."0.2.0"."lint" or false); }
+      { "0.2.0".default = (f.commoncrypto."0.2.0".default or true); }
+    ];
+    commoncrypto_sys."${deps.commoncrypto."0.2.0".commoncrypto_sys}".default = true;
+  }) [
+    (features_.commoncrypto_sys."${deps."commoncrypto"."0.2.0"."commoncrypto_sys"}" deps)
+  ];
+
+
+# end
+# commoncrypto-sys-0.2.0
+
+  crates.commoncrypto_sys."0.2.0" = deps: { features?(features_.commoncrypto_sys."0.2.0" deps {}) }: buildRustCrate {
+    crateName = "commoncrypto-sys";
+    version = "0.2.0";
+    description = "FFI bindings to Mac OS X's CommonCrypto library";
+    authors = [ "Mark Lee" ];
+    sha256 = "001i2g7xbfi48r2xjgxwrgjjjf00x9c24vfrs3g6p2q2djhwww4i";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."commoncrypto_sys"."0.2.0"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."commoncrypto_sys"."0.2.0" or {});
+  };
+  features_.commoncrypto_sys."0.2.0" = deps: f: updateFeatures f (rec {
+    commoncrypto_sys = fold recursiveUpdate {} [
+      { "0.2.0"."clippy" =
+        (f.commoncrypto_sys."0.2.0"."clippy" or false) ||
+        (f.commoncrypto_sys."0.2.0".lint or false) ||
+        (commoncrypto_sys."0.2.0"."lint" or false); }
+      { "0.2.0".default = (f.commoncrypto_sys."0.2.0".default or true); }
+    ];
+    libc."${deps.commoncrypto_sys."0.2.0".libc}".default = true;
+  }) [
+    (features_.libc."${deps."commoncrypto_sys"."0.2.0"."libc"}" deps)
+  ];
+
+
+# end
+# core-foundation-0.6.4
+
+  crates.core_foundation."0.6.4" = deps: { features?(features_.core_foundation."0.6.4" deps {}) }: buildRustCrate {
+    crateName = "core-foundation";
+    version = "0.6.4";
+    description = "Bindings to Core Foundation for macOS";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "1kabsqxh01m6l2b1gz8wgn0d1k6fyczww9kaks0sbmsz5g78ngzx";
+    dependencies = mapFeatures features ([
+      (crates."core_foundation_sys"."${deps."core_foundation"."0.6.4"."core_foundation_sys"}" deps)
+      (crates."libc"."${deps."core_foundation"."0.6.4"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."core_foundation"."0.6.4" or {});
+  };
+  features_.core_foundation."0.6.4" = deps: f: updateFeatures f (rec {
+    core_foundation = fold recursiveUpdate {} [
+      { "0.6.4"."chrono" =
+        (f.core_foundation."0.6.4"."chrono" or false) ||
+        (f.core_foundation."0.6.4".with-chrono or false) ||
+        (core_foundation."0.6.4"."with-chrono" or false); }
+      { "0.6.4"."uuid" =
+        (f.core_foundation."0.6.4"."uuid" or false) ||
+        (f.core_foundation."0.6.4".with-uuid or false) ||
+        (core_foundation."0.6.4"."with-uuid" or false); }
+      { "0.6.4".default = (f.core_foundation."0.6.4".default or true); }
+    ];
+    core_foundation_sys = fold recursiveUpdate {} [
+      { "${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_7_support" =
+        (f.core_foundation_sys."${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_7_support" or false) ||
+        (core_foundation."0.6.4"."mac_os_10_7_support" or false) ||
+        (f."core_foundation"."0.6.4"."mac_os_10_7_support" or false); }
+      { "${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_8_features" =
+        (f.core_foundation_sys."${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_8_features" or false) ||
+        (core_foundation."0.6.4"."mac_os_10_8_features" or false) ||
+        (f."core_foundation"."0.6.4"."mac_os_10_8_features" or false); }
+      { "${deps.core_foundation."0.6.4".core_foundation_sys}".default = true; }
+    ];
+    libc."${deps.core_foundation."0.6.4".libc}".default = true;
+  }) [
+    (features_.core_foundation_sys."${deps."core_foundation"."0.6.4"."core_foundation_sys"}" deps)
+    (features_.libc."${deps."core_foundation"."0.6.4"."libc"}" deps)
+  ];
+
+
+# end
+# core-foundation-sys-0.6.2
+
+  crates.core_foundation_sys."0.6.2" = deps: { features?(features_.core_foundation_sys."0.6.2" deps {}) }: buildRustCrate {
+    crateName = "core-foundation-sys";
+    version = "0.6.2";
+    description = "Bindings to Core Foundation for OS X";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "1n2v6wlqkmqwhl7k6y50irx51p37xb0fcm3njbman82gnyq8di2c";
+    build = "build.rs";
+    features = mkFeatures (features."core_foundation_sys"."0.6.2" or {});
+  };
+  features_.core_foundation_sys."0.6.2" = deps: f: updateFeatures f (rec {
+    core_foundation_sys."0.6.2".default = (f.core_foundation_sys."0.6.2".default or true);
+  }) [];
+
+
+# end
+# crates-io-0.23.0
+
+  crates.crates_io."0.23.0" = deps: { features?(features_.crates_io."0.23.0" deps {}) }: buildRustCrate {
+    crateName = "crates-io";
+    version = "0.23.0";
+    description = "Helpers for interacting with crates.io\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    edition = "2018";
+    sha256 = "0yf7zhlqnyci12rl9x6xrwlcp8slf8ldfn3d72ad6j2hyp2cb59y";
+    libPath = "lib.rs";
+    libName = "crates_io";
+    dependencies = mapFeatures features ([
+      (crates."curl"."${deps."crates_io"."0.23.0"."curl"}" deps)
+      (crates."failure"."${deps."crates_io"."0.23.0"."failure"}" deps)
+      (crates."http"."${deps."crates_io"."0.23.0"."http"}" deps)
+      (crates."serde"."${deps."crates_io"."0.23.0"."serde"}" deps)
+      (crates."serde_derive"."${deps."crates_io"."0.23.0"."serde_derive"}" deps)
+      (crates."serde_json"."${deps."crates_io"."0.23.0"."serde_json"}" deps)
+      (crates."url"."${deps."crates_io"."0.23.0"."url"}" deps)
+    ]);
+  };
+  features_.crates_io."0.23.0" = deps: f: updateFeatures f (rec {
+    crates_io."0.23.0".default = (f.crates_io."0.23.0".default or true);
+    curl."${deps.crates_io."0.23.0".curl}".default = true;
+    failure."${deps.crates_io."0.23.0".failure}".default = true;
+    http."${deps.crates_io."0.23.0".http}".default = true;
+    serde = fold recursiveUpdate {} [
+      { "${deps.crates_io."0.23.0".serde}"."derive" = true; }
+      { "${deps.crates_io."0.23.0".serde}".default = true; }
+    ];
+    serde_derive."${deps.crates_io."0.23.0".serde_derive}".default = true;
+    serde_json."${deps.crates_io."0.23.0".serde_json}".default = true;
+    url."${deps.crates_io."0.23.0".url}".default = true;
+  }) [
+    (features_.curl."${deps."crates_io"."0.23.0"."curl"}" deps)
+    (features_.failure."${deps."crates_io"."0.23.0"."failure"}" deps)
+    (features_.http."${deps."crates_io"."0.23.0"."http"}" deps)
+    (features_.serde."${deps."crates_io"."0.23.0"."serde"}" deps)
+    (features_.serde_derive."${deps."crates_io"."0.23.0"."serde_derive"}" deps)
+    (features_.serde_json."${deps."crates_io"."0.23.0"."serde_json"}" deps)
+    (features_.url."${deps."crates_io"."0.23.0"."url"}" deps)
+  ];
+
+
+# end
+# crc-1.8.1
+
+  crates.crc."1.8.1" = deps: { features?(features_.crc."1.8.1" deps {}) }: buildRustCrate {
+    crateName = "crc";
+    version = "1.8.1";
+    description = "Rust implementation of CRC(16, 32, 64) with support of various standards";
+    authors = [ "Rui Hu <code@mrhooray.com>" ];
+    sha256 = "00m9jjqrddp3bqyanvyxv0hf6s56bx1wy51vcdcxg4n2jdhg109s";
+
+    buildDependencies = mapFeatures features ([
+      (crates."build_const"."${deps."crc"."1.8.1"."build_const"}" deps)
+    ]);
+    features = mkFeatures (features."crc"."1.8.1" or {});
+  };
+  features_.crc."1.8.1" = deps: f: updateFeatures f (rec {
+    build_const."${deps.crc."1.8.1".build_const}".default = true;
+    crc = fold recursiveUpdate {} [
+      { "1.8.1"."std" =
+        (f.crc."1.8.1"."std" or false) ||
+        (f.crc."1.8.1".default or false) ||
+        (crc."1.8.1"."default" or false); }
+      { "1.8.1".default = (f.crc."1.8.1".default or true); }
+    ];
+  }) [
+    (features_.build_const."${deps."crc"."1.8.1"."build_const"}" deps)
+  ];
+
+
+# end
+# crc32fast-1.2.0
+
+  crates.crc32fast."1.2.0" = deps: { features?(features_.crc32fast."1.2.0" deps {}) }: buildRustCrate {
+    crateName = "crc32fast";
+    version = "1.2.0";
+    description = "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation";
+    authors = [ "Sam Rijs <srijs@airpost.net>" "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1mx88ndqln6vzg7hjhjp8b7g0qggpqggsjrlsdqrfsrbpdzffcn8";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."crc32fast"."1.2.0"."cfg_if"}" deps)
+    ]);
+    features = mkFeatures (features."crc32fast"."1.2.0" or {});
+  };
+  features_.crc32fast."1.2.0" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.crc32fast."1.2.0".cfg_if}".default = true;
+    crc32fast = fold recursiveUpdate {} [
+      { "1.2.0"."std" =
+        (f.crc32fast."1.2.0"."std" or false) ||
+        (f.crc32fast."1.2.0".default or false) ||
+        (crc32fast."1.2.0"."default" or false); }
+      { "1.2.0".default = (f.crc32fast."1.2.0".default or true); }
+    ];
+  }) [
+    (features_.cfg_if."${deps."crc32fast"."1.2.0"."cfg_if"}" deps)
+  ];
+
+
+# end
+# crossbeam-channel-0.3.8
+
+  crates.crossbeam_channel."0.3.8" = deps: { features?(features_.crossbeam_channel."0.3.8" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-channel";
+    version = "0.3.8";
+    description = "Multi-producer multi-consumer channels for message passing";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "0apm8why2qsgr8ykh9x677kc9ml7qp71mvirfkdzdn4c1jyqyyzm";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_utils"."${deps."crossbeam_channel"."0.3.8"."crossbeam_utils"}" deps)
+      (crates."smallvec"."${deps."crossbeam_channel"."0.3.8"."smallvec"}" deps)
+    ]);
+  };
+  features_.crossbeam_channel."0.3.8" = deps: f: updateFeatures f (rec {
+    crossbeam_channel."0.3.8".default = (f.crossbeam_channel."0.3.8".default or true);
+    crossbeam_utils."${deps.crossbeam_channel."0.3.8".crossbeam_utils}".default = true;
+    smallvec."${deps.crossbeam_channel."0.3.8".smallvec}".default = true;
+  }) [
+    (features_.crossbeam_utils."${deps."crossbeam_channel"."0.3.8"."crossbeam_utils"}" deps)
+    (features_.smallvec."${deps."crossbeam_channel"."0.3.8"."smallvec"}" deps)
+  ];
+
+
+# end
+# crossbeam-utils-0.6.5
+
+  crates.crossbeam_utils."0.6.5" = deps: { features?(features_.crossbeam_utils."0.6.5" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-utils";
+    version = "0.6.5";
+    description = "Utilities for concurrent programming";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "1z7wgcl9d22r2x6769r5945rnwf3jqfrrmb16q7kzk292r1d4rdg";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."crossbeam_utils"."0.6.5"."cfg_if"}" deps)
+    ]
+      ++ (if features.crossbeam_utils."0.6.5".lazy_static or false then [ (crates.lazy_static."${deps."crossbeam_utils"."0.6.5".lazy_static}" deps) ] else []));
+    features = mkFeatures (features."crossbeam_utils"."0.6.5" or {});
+  };
+  features_.crossbeam_utils."0.6.5" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.crossbeam_utils."0.6.5".cfg_if}".default = true;
+    crossbeam_utils = fold recursiveUpdate {} [
+      { "0.6.5"."lazy_static" =
+        (f.crossbeam_utils."0.6.5"."lazy_static" or false) ||
+        (f.crossbeam_utils."0.6.5".std or false) ||
+        (crossbeam_utils."0.6.5"."std" or false); }
+      { "0.6.5"."std" =
+        (f.crossbeam_utils."0.6.5"."std" or false) ||
+        (f.crossbeam_utils."0.6.5".default or false) ||
+        (crossbeam_utils."0.6.5"."default" or false); }
+      { "0.6.5".default = (f.crossbeam_utils."0.6.5".default or true); }
+    ];
+    lazy_static."${deps.crossbeam_utils."0.6.5".lazy_static}".default = true;
+  }) [
+    (features_.cfg_if."${deps."crossbeam_utils"."0.6.5"."cfg_if"}" deps)
+    (features_.lazy_static."${deps."crossbeam_utils"."0.6.5"."lazy_static"}" deps)
+  ];
+
+
+# end
+# crypto-hash-0.3.3
+
+  crates.crypto_hash."0.3.3" = deps: { features?(features_.crypto_hash."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "crypto-hash";
+    version = "0.3.3";
+    description = "A wrapper for OS-level cryptographic hash functions";
+    authors = [ "Mark Lee" ];
+    sha256 = "0ybl3q06snf0p0w5c743yipf1gyhim2z0yqczgdhclfmzgj4gxqy";
+    dependencies = mapFeatures features ([
+      (crates."hex"."${deps."crypto_hash"."0.3.3"."hex"}" deps)
+    ])
+      ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([
+      (crates."commoncrypto"."${deps."crypto_hash"."0.3.3"."commoncrypto"}" deps)
+    ]) else [])
+      ++ (if !(kernel == "windows" || kernel == "darwin" || kernel == "ios") then mapFeatures features ([
+      (crates."openssl"."${deps."crypto_hash"."0.3.3"."openssl"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."crypto_hash"."0.3.3"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.crypto_hash."0.3.3" = deps: f: updateFeatures f (rec {
+    commoncrypto."${deps.crypto_hash."0.3.3".commoncrypto}".default = true;
+    crypto_hash."0.3.3".default = (f.crypto_hash."0.3.3".default or true);
+    hex."${deps.crypto_hash."0.3.3".hex}".default = true;
+    openssl."${deps.crypto_hash."0.3.3".openssl}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.crypto_hash."0.3.3".winapi}"."minwindef" = true; }
+      { "${deps.crypto_hash."0.3.3".winapi}"."wincrypt" = true; }
+      { "${deps.crypto_hash."0.3.3".winapi}".default = true; }
+    ];
+  }) [
+    (features_.hex."${deps."crypto_hash"."0.3.3"."hex"}" deps)
+    (features_.commoncrypto."${deps."crypto_hash"."0.3.3"."commoncrypto"}" deps)
+    (features_.openssl."${deps."crypto_hash"."0.3.3"."openssl"}" deps)
+    (features_.winapi."${deps."crypto_hash"."0.3.3"."winapi"}" deps)
+  ];
+
+
+# end
+# curl-0.4.21
+
+  crates.curl."0.4.21" = deps: { features?(features_.curl."0.4.21" deps {}) }: buildRustCrate {
+    crateName = "curl";
+    version = "0.4.21";
+    description = "Rust bindings to libcurl for making HTTP requests";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1n13h0scc4s77ryf3w19n3myh4k1ls4bfxrx6y6ffvayjfnh13qy";
+    dependencies = mapFeatures features ([
+      (crates."curl_sys"."${deps."curl"."0.4.21"."curl_sys"}" deps)
+      (crates."libc"."${deps."curl"."0.4.21"."libc"}" deps)
+      (crates."socket2"."${deps."curl"."0.4.21"."socket2"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.curl."0.4.21".openssl-probe or false then [ (crates.openssl_probe."${deps."curl"."0.4.21".openssl_probe}" deps) ] else [])
+      ++ (if features.curl."0.4.21".openssl-sys or false then [ (crates.openssl_sys."${deps."curl"."0.4.21".openssl_sys}" deps) ] else [])) else [])
+      ++ (if abi == "msvc" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."curl"."0.4.21"."kernel32_sys"}" deps)
+      (crates."schannel"."${deps."curl"."0.4.21"."schannel"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."curl"."0.4.21"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."curl"."0.4.21" or {});
+  };
+  features_.curl."0.4.21" = deps: f: updateFeatures f (rec {
+    curl = fold recursiveUpdate {} [
+      { "0.4.21"."openssl-probe" =
+        (f.curl."0.4.21"."openssl-probe" or false) ||
+        (f.curl."0.4.21".ssl or false) ||
+        (curl."0.4.21"."ssl" or false); }
+      { "0.4.21"."openssl-sys" =
+        (f.curl."0.4.21"."openssl-sys" or false) ||
+        (f.curl."0.4.21".ssl or false) ||
+        (curl."0.4.21"."ssl" or false); }
+      { "0.4.21"."ssl" =
+        (f.curl."0.4.21"."ssl" or false) ||
+        (f.curl."0.4.21".default or false) ||
+        (curl."0.4.21"."default" or false); }
+      { "0.4.21".default = (f.curl."0.4.21".default or true); }
+    ];
+    curl_sys = fold recursiveUpdate {} [
+      { "${deps.curl."0.4.21".curl_sys}"."force-system-lib-on-osx" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."force-system-lib-on-osx" or false) ||
+        (curl."0.4.21"."force-system-lib-on-osx" or false) ||
+        (f."curl"."0.4.21"."force-system-lib-on-osx" or false); }
+      { "${deps.curl."0.4.21".curl_sys}"."http2" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."http2" or false) ||
+        (curl."0.4.21"."http2" or false) ||
+        (f."curl"."0.4.21"."http2" or false); }
+      { "${deps.curl."0.4.21".curl_sys}"."ssl" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."ssl" or false) ||
+        (curl."0.4.21"."ssl" or false) ||
+        (f."curl"."0.4.21"."ssl" or false); }
+      { "${deps.curl."0.4.21".curl_sys}"."static-curl" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."static-curl" or false) ||
+        (curl."0.4.21"."static-curl" or false) ||
+        (f."curl"."0.4.21"."static-curl" or false); }
+      { "${deps.curl."0.4.21".curl_sys}"."static-ssl" =
+        (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."static-ssl" or false) ||
+        (curl."0.4.21"."static-ssl" or false) ||
+        (f."curl"."0.4.21"."static-ssl" or false); }
+      { "${deps.curl."0.4.21".curl_sys}".default = (f.curl_sys."${deps.curl."0.4.21".curl_sys}".default or false); }
+    ];
+    kernel32_sys."${deps.curl."0.4.21".kernel32_sys}".default = true;
+    libc."${deps.curl."0.4.21".libc}".default = true;
+    openssl_probe."${deps.curl."0.4.21".openssl_probe}".default = true;
+    openssl_sys."${deps.curl."0.4.21".openssl_sys}".default = true;
+    schannel."${deps.curl."0.4.21".schannel}".default = true;
+    socket2."${deps.curl."0.4.21".socket2}".default = true;
+    winapi."${deps.curl."0.4.21".winapi}".default = true;
+  }) [
+    (features_.curl_sys."${deps."curl"."0.4.21"."curl_sys"}" deps)
+    (features_.libc."${deps."curl"."0.4.21"."libc"}" deps)
+    (features_.socket2."${deps."curl"."0.4.21"."socket2"}" deps)
+    (features_.openssl_probe."${deps."curl"."0.4.21"."openssl_probe"}" deps)
+    (features_.openssl_sys."${deps."curl"."0.4.21"."openssl_sys"}" deps)
+    (features_.kernel32_sys."${deps."curl"."0.4.21"."kernel32_sys"}" deps)
+    (features_.schannel."${deps."curl"."0.4.21"."schannel"}" deps)
+    (features_.winapi."${deps."curl"."0.4.21"."winapi"}" deps)
+  ];
+
+
+# end
+# curl-sys-0.4.18
+
+  crates.curl_sys."0.4.18" = deps: { features?(features_.curl_sys."0.4.18" deps {}) }: buildRustCrate {
+    crateName = "curl-sys";
+    version = "0.4.18";
+    description = "Native bindings to the libcurl library";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1y9qglyirlxhp62gh5vlzpq67jw7cyccvsajvmj30dv1sn7cn3vk";
+    libPath = "lib.rs";
+    libName = "curl_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."curl_sys"."0.4.18"."libc"}" deps)
+      (crates."libz_sys"."${deps."curl_sys"."0.4.18"."libz_sys"}" deps)
+    ]
+      ++ (if features.curl_sys."0.4.18".libnghttp2-sys or false then [ (crates.libnghttp2_sys."${deps."curl_sys"."0.4.18".libnghttp2_sys}" deps) ] else []))
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.curl_sys."0.4.18".openssl-sys or false then [ (crates.openssl_sys."${deps."curl_sys"."0.4.18".openssl_sys}" deps) ] else [])) else [])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."curl_sys"."0.4.18"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."curl_sys"."0.4.18"."cc"}" deps)
+      (crates."pkg_config"."${deps."curl_sys"."0.4.18"."pkg_config"}" deps)
+    ]);
+    features = mkFeatures (features."curl_sys"."0.4.18" or {});
+  };
+  features_.curl_sys."0.4.18" = deps: f: updateFeatures f (rec {
+    cc."${deps.curl_sys."0.4.18".cc}".default = true;
+    curl_sys = fold recursiveUpdate {} [
+      { "0.4.18"."libnghttp2-sys" =
+        (f.curl_sys."0.4.18"."libnghttp2-sys" or false) ||
+        (f.curl_sys."0.4.18".http2 or false) ||
+        (curl_sys."0.4.18"."http2" or false); }
+      { "0.4.18"."openssl-sys" =
+        (f.curl_sys."0.4.18"."openssl-sys" or false) ||
+        (f.curl_sys."0.4.18".ssl or false) ||
+        (curl_sys."0.4.18"."ssl" or false); }
+      { "0.4.18"."ssl" =
+        (f.curl_sys."0.4.18"."ssl" or false) ||
+        (f.curl_sys."0.4.18".default or false) ||
+        (curl_sys."0.4.18"."default" or false); }
+      { "0.4.18".default = (f.curl_sys."0.4.18".default or true); }
+    ];
+    libc."${deps.curl_sys."0.4.18".libc}".default = true;
+    libnghttp2_sys."${deps.curl_sys."0.4.18".libnghttp2_sys}".default = true;
+    libz_sys."${deps.curl_sys."0.4.18".libz_sys}".default = true;
+    openssl_sys."${deps.curl_sys."0.4.18".openssl_sys}".default = true;
+    pkg_config."${deps.curl_sys."0.4.18".pkg_config}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.curl_sys."0.4.18".winapi}"."winsock2" = true; }
+      { "${deps.curl_sys."0.4.18".winapi}"."ws2def" = true; }
+      { "${deps.curl_sys."0.4.18".winapi}".default = true; }
+    ];
+  }) [
+    (features_.libc."${deps."curl_sys"."0.4.18"."libc"}" deps)
+    (features_.libnghttp2_sys."${deps."curl_sys"."0.4.18"."libnghttp2_sys"}" deps)
+    (features_.libz_sys."${deps."curl_sys"."0.4.18"."libz_sys"}" deps)
+    (features_.cc."${deps."curl_sys"."0.4.18"."cc"}" deps)
+    (features_.pkg_config."${deps."curl_sys"."0.4.18"."pkg_config"}" deps)
+    (features_.openssl_sys."${deps."curl_sys"."0.4.18"."openssl_sys"}" deps)
+    (features_.winapi."${deps."curl_sys"."0.4.18"."winapi"}" deps)
+  ];
+
+
+# end
+# docopt-1.1.0
+
+  crates.docopt."1.1.0" = deps: { features?(features_.docopt."1.1.0" deps {}) }: buildRustCrate {
+    crateName = "docopt";
+    version = "1.1.0";
+    description = "Command line argument parsing.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    edition = "2018";
+    sha256 = "1xjvfw8398qcxwhdmak1bw2j6zn125ch24dmrmghv50vnlbb997x";
+    crateBin =
+      [{  name = "docopt-wordlist";  path = "src/wordlist.rs"; }];
+    dependencies = mapFeatures features ([
+      (crates."lazy_static"."${deps."docopt"."1.1.0"."lazy_static"}" deps)
+      (crates."regex"."${deps."docopt"."1.1.0"."regex"}" deps)
+      (crates."serde"."${deps."docopt"."1.1.0"."serde"}" deps)
+      (crates."strsim"."${deps."docopt"."1.1.0"."strsim"}" deps)
+    ]);
+  };
+  features_.docopt."1.1.0" = deps: f: updateFeatures f (rec {
+    docopt."1.1.0".default = (f.docopt."1.1.0".default or true);
+    lazy_static."${deps.docopt."1.1.0".lazy_static}".default = true;
+    regex."${deps.docopt."1.1.0".regex}".default = true;
+    serde = fold recursiveUpdate {} [
+      { "${deps.docopt."1.1.0".serde}"."derive" = true; }
+      { "${deps.docopt."1.1.0".serde}".default = true; }
+    ];
+    strsim."${deps.docopt."1.1.0".strsim}".default = true;
+  }) [
+    (features_.lazy_static."${deps."docopt"."1.1.0"."lazy_static"}" deps)
+    (features_.regex."${deps."docopt"."1.1.0"."regex"}" deps)
+    (features_.serde."${deps."docopt"."1.1.0"."serde"}" deps)
+    (features_.strsim."${deps."docopt"."1.1.0"."strsim"}" deps)
+  ];
+
+
+# end
+# either-1.5.2
+
+  crates.either."1.5.2" = deps: { features?(features_.either."1.5.2" deps {}) }: buildRustCrate {
+    crateName = "either";
+    version = "1.5.2";
+    description = "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.\n";
+    authors = [ "bluss" ];
+    sha256 = "1zqq1057c51f53ga4p9l4dd8ax6md27h1xjrjp2plkvml5iymks5";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."either"."1.5.2" or {});
+  };
+  features_.either."1.5.2" = deps: f: updateFeatures f (rec {
+    either = fold recursiveUpdate {} [
+      { "1.5.2"."use_std" =
+        (f.either."1.5.2"."use_std" or false) ||
+        (f.either."1.5.2".default or false) ||
+        (either."1.5.2"."default" or false); }
+      { "1.5.2".default = (f.either."1.5.2".default or true); }
+    ];
+  }) [];
+
+
+# end
+# filetime-0.2.4
+
+  crates.filetime."0.2.4" = deps: { features?(features_.filetime."0.2.4" deps {}) }: buildRustCrate {
+    crateName = "filetime";
+    version = "0.2.4";
+    description = "Platform-agnostic accessors of timestamps in File metadata\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1lsc0qjihr8y56rlzdcldzr0nbljm8qqi691msgwhy6wrkawwx5d";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."filetime"."0.2.4"."cfg_if"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."filetime"."0.2.4"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."filetime"."0.2.4"."libc"}" deps)
+    ]) else []);
+  };
+  features_.filetime."0.2.4" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.filetime."0.2.4".cfg_if}".default = true;
+    filetime."0.2.4".default = (f.filetime."0.2.4".default or true);
+    libc."${deps.filetime."0.2.4".libc}".default = true;
+    redox_syscall."${deps.filetime."0.2.4".redox_syscall}".default = true;
+  }) [
+    (features_.cfg_if."${deps."filetime"."0.2.4"."cfg_if"}" deps)
+    (features_.redox_syscall."${deps."filetime"."0.2.4"."redox_syscall"}" deps)
+    (features_.libc."${deps."filetime"."0.2.4"."libc"}" deps)
+  ];
+
+
+# end
+# flate2-1.0.7
+
+  crates.flate2."1.0.7" = deps: { features?(features_.flate2."1.0.7" deps {}) }: buildRustCrate {
+    crateName = "flate2";
+    version = "1.0.7";
+    description = "Bindings to miniz.c for DEFLATE compression and decompression exposed as\nReader/Writer streams. Contains bindings for zlib, deflate, and gzip-based\nstreams.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "012vi948sap09hm1nmd228fqn7i5kp6wfb9zlz0m8ysq5if1s9mc";
+    dependencies = mapFeatures features ([
+      (crates."crc32fast"."${deps."flate2"."1.0.7"."crc32fast"}" deps)
+      (crates."libc"."${deps."flate2"."1.0.7"."libc"}" deps)
+    ]
+      ++ (if features.flate2."1.0.7".libz-sys or false then [ (crates.libz_sys."${deps."flate2"."1.0.7".libz_sys}" deps) ] else [])
+      ++ (if features.flate2."1.0.7".miniz-sys or false then [ (crates.miniz_sys."${deps."flate2"."1.0.7".miniz_sys}" deps) ] else [])
+      ++ (if features.flate2."1.0.7".miniz_oxide_c_api or false then [ (crates.miniz_oxide_c_api."${deps."flate2"."1.0.7".miniz_oxide_c_api}" deps) ] else []))
+      ++ (if cpu == "wasm32" && !(kernel == "emscripten") then mapFeatures features ([
+      (crates."miniz_oxide_c_api"."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps)
+    ]) else []);
+    features = mkFeatures (features."flate2"."1.0.7" or {});
+  };
+  features_.flate2."1.0.7" = deps: f: updateFeatures f (rec {
+    crc32fast."${deps.flate2."1.0.7".crc32fast}".default = true;
+    flate2 = fold recursiveUpdate {} [
+      { "1.0.7"."futures" =
+        (f.flate2."1.0.7"."futures" or false) ||
+        (f.flate2."1.0.7".tokio or false) ||
+        (flate2."1.0.7"."tokio" or false); }
+      { "1.0.7"."libz-sys" =
+        (f.flate2."1.0.7"."libz-sys" or false) ||
+        (f.flate2."1.0.7".zlib or false) ||
+        (flate2."1.0.7"."zlib" or false); }
+      { "1.0.7"."miniz-sys" =
+        (f.flate2."1.0.7"."miniz-sys" or false) ||
+        (f.flate2."1.0.7".default or false) ||
+        (flate2."1.0.7"."default" or false); }
+      { "1.0.7"."miniz_oxide_c_api" =
+        (f.flate2."1.0.7"."miniz_oxide_c_api" or false) ||
+        (f.flate2."1.0.7".rust_backend or false) ||
+        (flate2."1.0.7"."rust_backend" or false); }
+      { "1.0.7"."tokio-io" =
+        (f.flate2."1.0.7"."tokio-io" or false) ||
+        (f.flate2."1.0.7".tokio or false) ||
+        (flate2."1.0.7"."tokio" or false); }
+      { "1.0.7".default = (f.flate2."1.0.7".default or true); }
+    ];
+    libc."${deps.flate2."1.0.7".libc}".default = true;
+    libz_sys."${deps.flate2."1.0.7".libz_sys}".default = true;
+    miniz_oxide_c_api = fold recursiveUpdate {} [
+      { "${deps.flate2."1.0.7".miniz_oxide_c_api}"."no_c_export" =
+        (f.miniz_oxide_c_api."${deps.flate2."1.0.7".miniz_oxide_c_api}"."no_c_export" or false) ||
+        true ||
+        true; }
+      { "${deps.flate2."1.0.7".miniz_oxide_c_api}".default = true; }
+    ];
+    miniz_sys."${deps.flate2."1.0.7".miniz_sys}".default = true;
+  }) [
+    (features_.crc32fast."${deps."flate2"."1.0.7"."crc32fast"}" deps)
+    (features_.libc."${deps."flate2"."1.0.7"."libc"}" deps)
+    (features_.libz_sys."${deps."flate2"."1.0.7"."libz_sys"}" deps)
+    (features_.miniz_sys."${deps."flate2"."1.0.7"."miniz_sys"}" deps)
+    (features_.miniz_oxide_c_api."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps)
+    (features_.miniz_oxide_c_api."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps)
+  ];
+
+
+# end
+# fnv-1.0.6
+
+  crates.fnv."1.0.6" = deps: { features?(features_.fnv."1.0.6" deps {}) }: buildRustCrate {
+    crateName = "fnv";
+    version = "1.0.6";
+    description = "Fowler–Noll–Vo hash function";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "128mlh23y3gg6ag5h8iiqlcbl59smisdzraqy88ldrf75kbw27ip";
+    libPath = "lib.rs";
+  };
+  features_.fnv."1.0.6" = deps: f: updateFeatures f (rec {
+    fnv."1.0.6".default = (f.fnv."1.0.6".default or true);
+  }) [];
+
+
+# end
+# foreign-types-0.3.2
+
+  crates.foreign_types."0.3.2" = deps: { features?(features_.foreign_types."0.3.2" deps {}) }: buildRustCrate {
+    crateName = "foreign-types";
+    version = "0.3.2";
+    description = "A framework for Rust wrappers over C APIs";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "105n8sp2djb1s5lzrw04p7ss3dchr5qa3canmynx396nh3vwm2p8";
+    dependencies = mapFeatures features ([
+      (crates."foreign_types_shared"."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
+    ]);
+  };
+  features_.foreign_types."0.3.2" = deps: f: updateFeatures f (rec {
+    foreign_types."0.3.2".default = (f.foreign_types."0.3.2".default or true);
+    foreign_types_shared."${deps.foreign_types."0.3.2".foreign_types_shared}".default = true;
+  }) [
+    (features_.foreign_types_shared."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
+  ];
+
+
+# end
+# foreign-types-shared-0.1.1
+
+  crates.foreign_types_shared."0.1.1" = deps: { features?(features_.foreign_types_shared."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "foreign-types-shared";
+    version = "0.1.1";
+    description = "An internal crate used by foreign-types";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0b6cnvqbflws8dxywk4589vgbz80049lz4x1g9dfy4s1ppd3g4z5";
+  };
+  features_.foreign_types_shared."0.1.1" = deps: f: updateFeatures f (rec {
+    foreign_types_shared."0.1.1".default = (f.foreign_types_shared."0.1.1".default or true);
+  }) [];
+
+
+# end
+# fs2-0.4.3
+
+  crates.fs2."0.4.3" = deps: { features?(features_.fs2."0.4.3" deps {}) }: buildRustCrate {
+    crateName = "fs2";
+    version = "0.4.3";
+    description = "Cross-platform file locks and file duplication.";
+    authors = [ "Dan Burkert <dan@danburkert.com>" ];
+    sha256 = "1crj36rhhpk3qby9yj7r77w7sld0mzab2yicmphbdkfymbmp3ldp";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."fs2"."0.4.3"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."fs2"."0.4.3"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.fs2."0.4.3" = deps: f: updateFeatures f (rec {
+    fs2."0.4.3".default = (f.fs2."0.4.3".default or true);
+    libc."${deps.fs2."0.4.3".libc}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.fs2."0.4.3".winapi}"."fileapi" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."handleapi" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."processthreadsapi" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."std" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."winbase" = true; }
+      { "${deps.fs2."0.4.3".winapi}"."winerror" = true; }
+      { "${deps.fs2."0.4.3".winapi}".default = true; }
+    ];
+  }) [
+    (features_.libc."${deps."fs2"."0.4.3"."libc"}" deps)
+    (features_.winapi."${deps."fs2"."0.4.3"."winapi"}" deps)
+  ];
+
+
+# end
+# fwdansi-1.0.1
+
+  crates.fwdansi."1.0.1" = deps: { features?(features_.fwdansi."1.0.1" deps {}) }: buildRustCrate {
+    crateName = "fwdansi";
+    version = "1.0.1";
+    description = "Forwards a byte string with ANSI escape code to a termcolor terminal";
+    authors = [ "kennytm <kennytm@gmail.com>" ];
+    sha256 = "00mzclq1wx55p6x5xx4yhpj70vsrivk2w1wbzq8bnf6xnl2km0xn";
+    dependencies = mapFeatures features ([
+      (crates."memchr"."${deps."fwdansi"."1.0.1"."memchr"}" deps)
+      (crates."termcolor"."${deps."fwdansi"."1.0.1"."termcolor"}" deps)
+    ]);
+  };
+  features_.fwdansi."1.0.1" = deps: f: updateFeatures f (rec {
+    fwdansi."1.0.1".default = (f.fwdansi."1.0.1".default or true);
+    memchr."${deps.fwdansi."1.0.1".memchr}".default = true;
+    termcolor."${deps.fwdansi."1.0.1".termcolor}".default = true;
+  }) [
+    (features_.memchr."${deps."fwdansi"."1.0.1"."memchr"}" deps)
+    (features_.termcolor."${deps."fwdansi"."1.0.1"."termcolor"}" deps)
+  ];
+
+
+# end
+# git2-0.8.0
+
+  crates.git2."0.8.0" = deps: { features?(features_.git2."0.8.0" deps {}) }: buildRustCrate {
+    crateName = "git2";
+    version = "0.8.0";
+    description = "Bindings to libgit2 for interoperating with git repositories. This library is\nboth threadsafe and memory safe and allows both reading and writing git\nrepositories.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0nkzglhq7lrdzv23jakygv6h5kks2mdr7xh73chnr7bqdc36mi43";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."git2"."0.8.0"."bitflags"}" deps)
+      (crates."libc"."${deps."git2"."0.8.0"."libc"}" deps)
+      (crates."libgit2_sys"."${deps."git2"."0.8.0"."libgit2_sys"}" deps)
+      (crates."log"."${deps."git2"."0.8.0"."log"}" deps)
+      (crates."url"."${deps."git2"."0.8.0"."url"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.git2."0.8.0".openssl-probe or false then [ (crates.openssl_probe."${deps."git2"."0.8.0".openssl_probe}" deps) ] else [])
+      ++ (if features.git2."0.8.0".openssl-sys or false then [ (crates.openssl_sys."${deps."git2"."0.8.0".openssl_sys}" deps) ] else [])) else []);
+    features = mkFeatures (features."git2"."0.8.0" or {});
+  };
+  features_.git2."0.8.0" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.git2."0.8.0".bitflags}".default = true;
+    git2 = fold recursiveUpdate {} [
+      { "0.8.0"."curl" =
+        (f.git2."0.8.0"."curl" or false) ||
+        (f.git2."0.8.0".default or false) ||
+        (git2."0.8.0"."default" or false); }
+      { "0.8.0"."https" =
+        (f.git2."0.8.0"."https" or false) ||
+        (f.git2."0.8.0".default or false) ||
+        (git2."0.8.0"."default" or false); }
+      { "0.8.0"."openssl-probe" =
+        (f.git2."0.8.0"."openssl-probe" or false) ||
+        (f.git2."0.8.0".https or false) ||
+        (git2."0.8.0"."https" or false); }
+      { "0.8.0"."openssl-sys" =
+        (f.git2."0.8.0"."openssl-sys" or false) ||
+        (f.git2."0.8.0".https or false) ||
+        (git2."0.8.0"."https" or false); }
+      { "0.8.0"."ssh" =
+        (f.git2."0.8.0"."ssh" or false) ||
+        (f.git2."0.8.0".default or false) ||
+        (git2."0.8.0"."default" or false); }
+      { "0.8.0"."ssh_key_from_memory" =
+        (f.git2."0.8.0"."ssh_key_from_memory" or false) ||
+        (f.git2."0.8.0".default or false) ||
+        (git2."0.8.0"."default" or false); }
+      { "0.8.0".default = (f.git2."0.8.0".default or true); }
+    ];
+    libc."${deps.git2."0.8.0".libc}".default = true;
+    libgit2_sys = fold recursiveUpdate {} [
+      { "${deps.git2."0.8.0".libgit2_sys}"."curl" =
+        (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."curl" or false) ||
+        (git2."0.8.0"."curl" or false) ||
+        (f."git2"."0.8.0"."curl" or false); }
+      { "${deps.git2."0.8.0".libgit2_sys}"."https" =
+        (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."https" or false) ||
+        (git2."0.8.0"."https" or false) ||
+        (f."git2"."0.8.0"."https" or false); }
+      { "${deps.git2."0.8.0".libgit2_sys}"."ssh" =
+        (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."ssh" or false) ||
+        (git2."0.8.0"."ssh" or false) ||
+        (f."git2"."0.8.0"."ssh" or false); }
+      { "${deps.git2."0.8.0".libgit2_sys}"."ssh_key_from_memory" =
+        (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."ssh_key_from_memory" or false) ||
+        (git2."0.8.0"."ssh_key_from_memory" or false) ||
+        (f."git2"."0.8.0"."ssh_key_from_memory" or false); }
+      { "${deps.git2."0.8.0".libgit2_sys}".default = true; }
+    ];
+    log."${deps.git2."0.8.0".log}".default = true;
+    openssl_probe."${deps.git2."0.8.0".openssl_probe}".default = true;
+    openssl_sys."${deps.git2."0.8.0".openssl_sys}".default = true;
+    url."${deps.git2."0.8.0".url}".default = true;
+  }) [
+    (features_.bitflags."${deps."git2"."0.8.0"."bitflags"}" deps)
+    (features_.libc."${deps."git2"."0.8.0"."libc"}" deps)
+    (features_.libgit2_sys."${deps."git2"."0.8.0"."libgit2_sys"}" deps)
+    (features_.log."${deps."git2"."0.8.0"."log"}" deps)
+    (features_.url."${deps."git2"."0.8.0"."url"}" deps)
+    (features_.openssl_probe."${deps."git2"."0.8.0"."openssl_probe"}" deps)
+    (features_.openssl_sys."${deps."git2"."0.8.0"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# git2-curl-0.9.0
+
+  crates.git2_curl."0.9.0" = deps: { features?(features_.git2_curl."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "git2-curl";
+    version = "0.9.0";
+    description = "Backend for an HTTP transport in libgit2 powered by libcurl.\n\nIntended to be used with the git2 crate.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0m7bjx7pbrd7hiwwbazgigv9anici9jfwgzhp3q47smbwszdv2hh";
+    dependencies = mapFeatures features ([
+      (crates."curl"."${deps."git2_curl"."0.9.0"."curl"}" deps)
+      (crates."git2"."${deps."git2_curl"."0.9.0"."git2"}" deps)
+      (crates."log"."${deps."git2_curl"."0.9.0"."log"}" deps)
+      (crates."url"."${deps."git2_curl"."0.9.0"."url"}" deps)
+    ]);
+  };
+  features_.git2_curl."0.9.0" = deps: f: updateFeatures f (rec {
+    curl."${deps.git2_curl."0.9.0".curl}".default = true;
+    git2."${deps.git2_curl."0.9.0".git2}".default = (f.git2."${deps.git2_curl."0.9.0".git2}".default or false);
+    git2_curl."0.9.0".default = (f.git2_curl."0.9.0".default or true);
+    log."${deps.git2_curl."0.9.0".log}".default = true;
+    url."${deps.git2_curl."0.9.0".url}".default = true;
+  }) [
+    (features_.curl."${deps."git2_curl"."0.9.0"."curl"}" deps)
+    (features_.git2."${deps."git2_curl"."0.9.0"."git2"}" deps)
+    (features_.log."${deps."git2_curl"."0.9.0"."log"}" deps)
+    (features_.url."${deps."git2_curl"."0.9.0"."url"}" deps)
+  ];
+
+
+# end
+# glob-0.2.11
+
+  crates.glob."0.2.11" = deps: { features?(features_.glob."0.2.11" deps {}) }: buildRustCrate {
+    crateName = "glob";
+    version = "0.2.11";
+    description = "Support for matching file paths against Unix shell style patterns.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
+  };
+  features_.glob."0.2.11" = deps: f: updateFeatures f (rec {
+    glob."0.2.11".default = (f.glob."0.2.11".default or true);
+  }) [];
+
+
+# end
+# globset-0.4.3
+
+  crates.globset."0.4.3" = deps: { features?(features_.globset."0.4.3" deps {}) }: buildRustCrate {
+    crateName = "globset";
+    version = "0.4.3";
+    description = "Cross platform single glob and glob set matching. Glob set matching is the\nprocess of matching one or more glob patterns against a single candidate path\nsimultaneously, and returning all of the globs that matched.\n";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0vj99vw55mp7w44p1157f9c44q5lms6sn0mllhavwrwdn3iyfrij";
+    dependencies = mapFeatures features ([
+      (crates."aho_corasick"."${deps."globset"."0.4.3"."aho_corasick"}" deps)
+      (crates."bstr"."${deps."globset"."0.4.3"."bstr"}" deps)
+      (crates."fnv"."${deps."globset"."0.4.3"."fnv"}" deps)
+      (crates."log"."${deps."globset"."0.4.3"."log"}" deps)
+      (crates."regex"."${deps."globset"."0.4.3"."regex"}" deps)
+    ]);
+    features = mkFeatures (features."globset"."0.4.3" or {});
+  };
+  features_.globset."0.4.3" = deps: f: updateFeatures f (rec {
+    aho_corasick."${deps.globset."0.4.3".aho_corasick}".default = true;
+    bstr = fold recursiveUpdate {} [
+      { "${deps.globset."0.4.3".bstr}"."std" = true; }
+      { "${deps.globset."0.4.3".bstr}".default = (f.bstr."${deps.globset."0.4.3".bstr}".default or false); }
+    ];
+    fnv."${deps.globset."0.4.3".fnv}".default = true;
+    globset."0.4.3".default = (f.globset."0.4.3".default or true);
+    log."${deps.globset."0.4.3".log}".default = true;
+    regex."${deps.globset."0.4.3".regex}".default = true;
+  }) [
+    (features_.aho_corasick."${deps."globset"."0.4.3"."aho_corasick"}" deps)
+    (features_.bstr."${deps."globset"."0.4.3"."bstr"}" deps)
+    (features_.fnv."${deps."globset"."0.4.3"."fnv"}" deps)
+    (features_.log."${deps."globset"."0.4.3"."log"}" deps)
+    (features_.regex."${deps."globset"."0.4.3"."regex"}" deps)
+  ];
+
+
+# end
+# hashbrown-0.1.8
+
+  crates.hashbrown."0.1.8" = deps: { features?(features_.hashbrown."0.1.8" deps {}) }: buildRustCrate {
+    crateName = "hashbrown";
+    version = "0.1.8";
+    description = "A Rust port of Google's SwissTable hash map";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "047fk80pg59cdn5lz4h2a514fmgmya896dvy3dqqviia52a27fzh";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."hashbrown"."0.1.8"."byteorder"}" deps)
+      (crates."scopeguard"."${deps."hashbrown"."0.1.8"."scopeguard"}" deps)
+    ]);
+    features = mkFeatures (features."hashbrown"."0.1.8" or {});
+  };
+  features_.hashbrown."0.1.8" = deps: f: updateFeatures f (rec {
+    byteorder."${deps.hashbrown."0.1.8".byteorder}".default = (f.byteorder."${deps.hashbrown."0.1.8".byteorder}".default or false);
+    hashbrown."0.1.8".default = (f.hashbrown."0.1.8".default or true);
+    scopeguard."${deps.hashbrown."0.1.8".scopeguard}".default = (f.scopeguard."${deps.hashbrown."0.1.8".scopeguard}".default or false);
+  }) [
+    (features_.byteorder."${deps."hashbrown"."0.1.8"."byteorder"}" deps)
+    (features_.scopeguard."${deps."hashbrown"."0.1.8"."scopeguard"}" deps)
+  ];
+
+
+# end
+# hex-0.3.2
+
+  crates.hex."0.3.2" = deps: { features?(features_.hex."0.3.2" deps {}) }: buildRustCrate {
+    crateName = "hex";
+    version = "0.3.2";
+    description = "Encoding and decoding data into/from hexadecimal representation.";
+    authors = [ "KokaKiwi <kokakiwi@kokakiwi.net>" ];
+    sha256 = "0hs0xfb4x67y4ss9mmbjmibkwakbn3xf23i21m409bw2zqk9b6kz";
+    features = mkFeatures (features."hex"."0.3.2" or {});
+  };
+  features_.hex."0.3.2" = deps: f: updateFeatures f (rec {
+    hex."0.3.2".default = (f.hex."0.3.2".default or true);
+  }) [];
+
+
+# end
+# home-0.3.4
+
+  crates.home."0.3.4" = deps: { features?(features_.home."0.3.4" deps {}) }: buildRustCrate {
+    crateName = "home";
+    version = "0.3.4";
+    description = "Shared definitions of home directories";
+    authors = [ "Brian Anderson <andersrb@gmail.com>" ];
+    sha256 = "19fbzvv74wqxqpdlz6ri1p270i8hp17h8njjj68k98sgrabkcr0n";
+    dependencies = (if kernel == "windows" then mapFeatures features ([
+      (crates."scopeguard"."${deps."home"."0.3.4"."scopeguard"}" deps)
+      (crates."winapi"."${deps."home"."0.3.4"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.home."0.3.4" = deps: f: updateFeatures f (rec {
+    home."0.3.4".default = (f.home."0.3.4".default or true);
+    scopeguard."${deps.home."0.3.4".scopeguard}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.home."0.3.4".winapi}"."errhandlingapi" = true; }
+      { "${deps.home."0.3.4".winapi}"."handleapi" = true; }
+      { "${deps.home."0.3.4".winapi}"."processthreadsapi" = true; }
+      { "${deps.home."0.3.4".winapi}"."std" = true; }
+      { "${deps.home."0.3.4".winapi}"."userenv" = true; }
+      { "${deps.home."0.3.4".winapi}"."winerror" = true; }
+      { "${deps.home."0.3.4".winapi}"."winnt" = true; }
+      { "${deps.home."0.3.4".winapi}".default = true; }
+    ];
+  }) [
+    (features_.scopeguard."${deps."home"."0.3.4"."scopeguard"}" deps)
+    (features_.winapi."${deps."home"."0.3.4"."winapi"}" deps)
+  ];
+
+
+# end
+# http-0.1.17
+
+  crates.http."0.1.17" = deps: { features?(features_.http."0.1.17" deps {}) }: buildRustCrate {
+    crateName = "http";
+    version = "0.1.17";
+    description = "A set of types for representing HTTP requests and responses.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Carl Lerche <me@carllerche.com>" "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "0q71wgggg1h5kjyg1gb4m70g3ian9qwrkx2b9wwvfyafrkmjpg9c";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."http"."0.1.17"."bytes"}" deps)
+      (crates."fnv"."${deps."http"."0.1.17"."fnv"}" deps)
+      (crates."itoa"."${deps."http"."0.1.17"."itoa"}" deps)
+    ]);
+  };
+  features_.http."0.1.17" = deps: f: updateFeatures f (rec {
+    bytes."${deps.http."0.1.17".bytes}".default = true;
+    fnv."${deps.http."0.1.17".fnv}".default = true;
+    http."0.1.17".default = (f.http."0.1.17".default or true);
+    itoa."${deps.http."0.1.17".itoa}".default = true;
+  }) [
+    (features_.bytes."${deps."http"."0.1.17"."bytes"}" deps)
+    (features_.fnv."${deps."http"."0.1.17"."fnv"}" deps)
+    (features_.itoa."${deps."http"."0.1.17"."itoa"}" deps)
+  ];
+
+
+# end
+# ignore-0.4.7
+
+  crates.ignore."0.4.7" = deps: { features?(features_.ignore."0.4.7" deps {}) }: buildRustCrate {
+    crateName = "ignore";
+    version = "0.4.7";
+    description = "A fast library for efficiently matching ignore files such as `.gitignore`\nagainst file paths.\n";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "10ky0pnkzk6spa416sxvhcpc1nxq56n6mxkmhzy3ws57x9v75nkj";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_channel"."${deps."ignore"."0.4.7"."crossbeam_channel"}" deps)
+      (crates."globset"."${deps."ignore"."0.4.7"."globset"}" deps)
+      (crates."lazy_static"."${deps."ignore"."0.4.7"."lazy_static"}" deps)
+      (crates."log"."${deps."ignore"."0.4.7"."log"}" deps)
+      (crates."memchr"."${deps."ignore"."0.4.7"."memchr"}" deps)
+      (crates."regex"."${deps."ignore"."0.4.7"."regex"}" deps)
+      (crates."same_file"."${deps."ignore"."0.4.7"."same_file"}" deps)
+      (crates."thread_local"."${deps."ignore"."0.4.7"."thread_local"}" deps)
+      (crates."walkdir"."${deps."ignore"."0.4.7"."walkdir"}" deps)
+    ])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi_util"."${deps."ignore"."0.4.7"."winapi_util"}" deps)
+    ]) else []);
+    features = mkFeatures (features."ignore"."0.4.7" or {});
+  };
+  features_.ignore."0.4.7" = deps: f: updateFeatures f (rec {
+    crossbeam_channel."${deps.ignore."0.4.7".crossbeam_channel}".default = true;
+    globset = fold recursiveUpdate {} [
+      { "${deps.ignore."0.4.7".globset}"."simd-accel" =
+        (f.globset."${deps.ignore."0.4.7".globset}"."simd-accel" or false) ||
+        (ignore."0.4.7"."simd-accel" or false) ||
+        (f."ignore"."0.4.7"."simd-accel" or false); }
+      { "${deps.ignore."0.4.7".globset}".default = true; }
+    ];
+    ignore."0.4.7".default = (f.ignore."0.4.7".default or true);
+    lazy_static."${deps.ignore."0.4.7".lazy_static}".default = true;
+    log."${deps.ignore."0.4.7".log}".default = true;
+    memchr."${deps.ignore."0.4.7".memchr}".default = true;
+    regex."${deps.ignore."0.4.7".regex}".default = true;
+    same_file."${deps.ignore."0.4.7".same_file}".default = true;
+    thread_local."${deps.ignore."0.4.7".thread_local}".default = true;
+    walkdir."${deps.ignore."0.4.7".walkdir}".default = true;
+    winapi_util."${deps.ignore."0.4.7".winapi_util}".default = true;
+  }) [
+    (features_.crossbeam_channel."${deps."ignore"."0.4.7"."crossbeam_channel"}" deps)
+    (features_.globset."${deps."ignore"."0.4.7"."globset"}" deps)
+    (features_.lazy_static."${deps."ignore"."0.4.7"."lazy_static"}" deps)
+    (features_.log."${deps."ignore"."0.4.7"."log"}" deps)
+    (features_.memchr."${deps."ignore"."0.4.7"."memchr"}" deps)
+    (features_.regex."${deps."ignore"."0.4.7"."regex"}" deps)
+    (features_.same_file."${deps."ignore"."0.4.7"."same_file"}" deps)
+    (features_.thread_local."${deps."ignore"."0.4.7"."thread_local"}" deps)
+    (features_.walkdir."${deps."ignore"."0.4.7"."walkdir"}" deps)
+    (features_.winapi_util."${deps."ignore"."0.4.7"."winapi_util"}" deps)
+  ];
+
+
+# end
+# im-rc-12.3.4
+
+  crates.im_rc."12.3.4" = deps: { features?(features_.im_rc."12.3.4" deps {}) }: buildRustCrate {
+    crateName = "im-rc";
+    version = "12.3.4";
+    description = "Immutable collection datatypes (the fast but not thread safe version)";
+    authors = [ "Bodil Stokke <bodil@bodil.org>" ];
+    edition = "2018";
+    sha256 = "0l53vjm7ycccb0lxj1zpgvlik5rpngnf9gggvgb3jbdv2jxjkdhz";
+    libPath = "./src/lib.rs";
+    build = "./build.rs";
+    dependencies = mapFeatures features ([
+      (crates."sized_chunks"."${deps."im_rc"."12.3.4"."sized_chunks"}" deps)
+      (crates."typenum"."${deps."im_rc"."12.3.4"."typenum"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."im_rc"."12.3.4"."rustc_version"}" deps)
+    ]);
+  };
+  features_.im_rc."12.3.4" = deps: f: updateFeatures f (rec {
+    im_rc."12.3.4".default = (f.im_rc."12.3.4".default or true);
+    rustc_version."${deps.im_rc."12.3.4".rustc_version}".default = true;
+    sized_chunks."${deps.im_rc."12.3.4".sized_chunks}".default = true;
+    typenum."${deps.im_rc."12.3.4".typenum}".default = true;
+  }) [
+    (features_.sized_chunks."${deps."im_rc"."12.3.4"."sized_chunks"}" deps)
+    (features_.typenum."${deps."im_rc"."12.3.4"."typenum"}" deps)
+    (features_.rustc_version."${deps."im_rc"."12.3.4"."rustc_version"}" deps)
+  ];
+
+
+# end
+# iovec-0.1.2
+
+  crates.iovec."0.1.2" = deps: { features?(features_.iovec."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "iovec";
+    version = "0.1.2";
+    description = "Portable buffer type for scatter/gather I/O operations\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0vjymmb7wj4v4kza5jjn48fcdb85j3k37y7msjl3ifz0p9yiyp2r";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."iovec"."0.1.2"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."iovec"."0.1.2"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.iovec."0.1.2" = deps: f: updateFeatures f (rec {
+    iovec."0.1.2".default = (f.iovec."0.1.2".default or true);
+    libc."${deps.iovec."0.1.2".libc}".default = true;
+    winapi."${deps.iovec."0.1.2".winapi}".default = true;
+  }) [
+    (features_.libc."${deps."iovec"."0.1.2"."libc"}" deps)
+    (features_.winapi."${deps."iovec"."0.1.2"."winapi"}" deps)
+  ];
+
+
+# end
+# itertools-0.7.11
+
+  crates.itertools."0.7.11" = deps: { features?(features_.itertools."0.7.11" deps {}) }: buildRustCrate {
+    crateName = "itertools";
+    version = "0.7.11";
+    description = "Extra iterator adaptors, iterator methods, free functions, and macros.";
+    authors = [ "bluss" ];
+    sha256 = "0gavmkvn2c3cwfwk5zl5p7saiqn4ww227am5ykn6pgfm7c6ppz56";
+    dependencies = mapFeatures features ([
+      (crates."either"."${deps."itertools"."0.7.11"."either"}" deps)
+    ]);
+    features = mkFeatures (features."itertools"."0.7.11" or {});
+  };
+  features_.itertools."0.7.11" = deps: f: updateFeatures f (rec {
+    either."${deps.itertools."0.7.11".either}".default = (f.either."${deps.itertools."0.7.11".either}".default or false);
+    itertools = fold recursiveUpdate {} [
+      { "0.7.11"."use_std" =
+        (f.itertools."0.7.11"."use_std" or false) ||
+        (f.itertools."0.7.11".default or false) ||
+        (itertools."0.7.11"."default" or false); }
+      { "0.7.11".default = (f.itertools."0.7.11".default or true); }
+    ];
+  }) [
+    (features_.either."${deps."itertools"."0.7.11"."either"}" deps)
+  ];
+
+
+# end
+# jobserver-0.1.13
+
+  crates.jobserver."0.1.13" = deps: { features?(features_.jobserver."0.1.13" deps {}) }: buildRustCrate {
+    crateName = "jobserver";
+    version = "0.1.13";
+    description = "An implementation of the GNU make jobserver for Rust\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "01h08h0k9i7cvlnlw53jf398d03k5kxrs7m30xl7h9s5dlw0vi9i";
+    dependencies = mapFeatures features ([
+      (crates."log"."${deps."jobserver"."0.1.13"."log"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."jobserver"."0.1.13"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."rand"."${deps."jobserver"."0.1.13"."rand"}" deps)
+    ]) else []);
+  };
+  features_.jobserver."0.1.13" = deps: f: updateFeatures f (rec {
+    jobserver."0.1.13".default = (f.jobserver."0.1.13".default or true);
+    libc."${deps.jobserver."0.1.13".libc}".default = true;
+    log."${deps.jobserver."0.1.13".log}".default = true;
+    rand."${deps.jobserver."0.1.13".rand}".default = true;
+  }) [
+    (features_.log."${deps."jobserver"."0.1.13"."log"}" deps)
+    (features_.libc."${deps."jobserver"."0.1.13"."libc"}" deps)
+    (features_.rand."${deps."jobserver"."0.1.13"."rand"}" deps)
+  ];
+
+
+# end
+# kernel32-sys-0.2.2
+
+  crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."winapi"."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
+    ]);
+  };
+  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f (rec {
+    kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true);
+    winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true;
+    winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true;
+  }) [
+    (features_.winapi."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
+    (features_.winapi_build."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
+  ];
+
+
+# end
+# lazycell-1.2.1
+
+  crates.lazycell."1.2.1" = deps: { features?(features_.lazycell."1.2.1" deps {}) }: buildRustCrate {
+    crateName = "lazycell";
+    version = "1.2.1";
+    description = "A library providing a lazily filled Cell struct";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Nikita Pekin <contact@nikitapek.in>" ];
+    sha256 = "1m4h2q9rgxrgc7xjnws1x81lrb68jll8w3pykx1a9bhr29q2mcwm";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."lazycell"."1.2.1" or {});
+  };
+  features_.lazycell."1.2.1" = deps: f: updateFeatures f (rec {
+    lazycell = fold recursiveUpdate {} [
+      { "1.2.1"."clippy" =
+        (f.lazycell."1.2.1"."clippy" or false) ||
+        (f.lazycell."1.2.1".nightly-testing or false) ||
+        (lazycell."1.2.1"."nightly-testing" or false); }
+      { "1.2.1"."nightly" =
+        (f.lazycell."1.2.1"."nightly" or false) ||
+        (f.lazycell."1.2.1".nightly-testing or false) ||
+        (lazycell."1.2.1"."nightly-testing" or false); }
+      { "1.2.1".default = (f.lazycell."1.2.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# libc-0.2.51
+
+  crates.libc."0.2.51" = deps: { features?(features_.libc."0.2.51" deps {}) }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.51";
+    description = "Raw FFI bindings to platform libraries like libc.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1lzavxj1ymm7vghs6nmzq9shprdlqby73py9k30gwvv0dwy365cv";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."libc"."0.2.51" or {});
+  };
+  features_.libc."0.2.51" = deps: f: updateFeatures f (rec {
+    libc = fold recursiveUpdate {} [
+      { "0.2.51"."align" =
+        (f.libc."0.2.51"."align" or false) ||
+        (f.libc."0.2.51".rustc-dep-of-std or false) ||
+        (libc."0.2.51"."rustc-dep-of-std" or false); }
+      { "0.2.51"."rustc-std-workspace-core" =
+        (f.libc."0.2.51"."rustc-std-workspace-core" or false) ||
+        (f.libc."0.2.51".rustc-dep-of-std or false) ||
+        (libc."0.2.51"."rustc-dep-of-std" or false); }
+      { "0.2.51"."use_std" =
+        (f.libc."0.2.51"."use_std" or false) ||
+        (f.libc."0.2.51".default or false) ||
+        (libc."0.2.51"."default" or false); }
+      { "0.2.51".default = (f.libc."0.2.51".default or true); }
+    ];
+  }) [];
+
+
+# end
+# libgit2-sys-0.7.11
+
+  crates.libgit2_sys."0.7.11" = deps: { features?(features_.libgit2_sys."0.7.11" deps {}) }: buildRustCrate {
+    crateName = "libgit2-sys";
+    version = "0.7.11";
+    description = "Native bindings to the libgit2 library";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "12wyfl7xl7lpz65s17j5rf9xfkn461792f67jqsz0ign3daaac9h";
+    libPath = "lib.rs";
+    libName = "libgit2_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."libgit2_sys"."0.7.11"."libc"}" deps)
+      (crates."libz_sys"."${deps."libgit2_sys"."0.7.11"."libz_sys"}" deps)
+    ]
+      ++ (if features.libgit2_sys."0.7.11".curl-sys or false then [ (crates.curl_sys."${deps."libgit2_sys"."0.7.11".curl_sys}" deps) ] else [])
+      ++ (if features.libgit2_sys."0.7.11".libssh2-sys or false then [ (crates.libssh2_sys."${deps."libgit2_sys"."0.7.11".libssh2_sys}" deps) ] else []))
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.libgit2_sys."0.7.11".openssl-sys or false then [ (crates.openssl_sys."${deps."libgit2_sys"."0.7.11".openssl_sys}" deps) ] else [])) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."libgit2_sys"."0.7.11"."cc"}" deps)
+      (crates."pkg_config"."${deps."libgit2_sys"."0.7.11"."pkg_config"}" deps)
+    ]);
+    features = mkFeatures (features."libgit2_sys"."0.7.11" or {});
+  };
+  features_.libgit2_sys."0.7.11" = deps: f: updateFeatures f (rec {
+    cc."${deps.libgit2_sys."0.7.11".cc}".default = true;
+    curl_sys."${deps.libgit2_sys."0.7.11".curl_sys}".default = true;
+    libc."${deps.libgit2_sys."0.7.11".libc}".default = true;
+    libgit2_sys = fold recursiveUpdate {} [
+      { "0.7.11"."curl-sys" =
+        (f.libgit2_sys."0.7.11"."curl-sys" or false) ||
+        (f.libgit2_sys."0.7.11".curl or false) ||
+        (libgit2_sys."0.7.11"."curl" or false); }
+      { "0.7.11"."libssh2-sys" =
+        (f.libgit2_sys."0.7.11"."libssh2-sys" or false) ||
+        (f.libgit2_sys."0.7.11".ssh or false) ||
+        (libgit2_sys."0.7.11"."ssh" or false); }
+      { "0.7.11"."openssl-sys" =
+        (f.libgit2_sys."0.7.11"."openssl-sys" or false) ||
+        (f.libgit2_sys."0.7.11".https or false) ||
+        (libgit2_sys."0.7.11"."https" or false); }
+      { "0.7.11".default = (f.libgit2_sys."0.7.11".default or true); }
+    ];
+    libssh2_sys."${deps.libgit2_sys."0.7.11".libssh2_sys}".default = true;
+    libz_sys."${deps.libgit2_sys."0.7.11".libz_sys}".default = true;
+    openssl_sys."${deps.libgit2_sys."0.7.11".openssl_sys}".default = true;
+    pkg_config."${deps.libgit2_sys."0.7.11".pkg_config}".default = true;
+  }) [
+    (features_.curl_sys."${deps."libgit2_sys"."0.7.11"."curl_sys"}" deps)
+    (features_.libc."${deps."libgit2_sys"."0.7.11"."libc"}" deps)
+    (features_.libssh2_sys."${deps."libgit2_sys"."0.7.11"."libssh2_sys"}" deps)
+    (features_.libz_sys."${deps."libgit2_sys"."0.7.11"."libz_sys"}" deps)
+    (features_.cc."${deps."libgit2_sys"."0.7.11"."cc"}" deps)
+    (features_.pkg_config."${deps."libgit2_sys"."0.7.11"."pkg_config"}" deps)
+    (features_.openssl_sys."${deps."libgit2_sys"."0.7.11"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# libnghttp2-sys-0.1.1
+
+  crates.libnghttp2_sys."0.1.1" = deps: { features?(features_.libnghttp2_sys."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "libnghttp2-sys";
+    version = "0.1.1";
+    description = "FFI bindings for libnghttp2 (nghttp2)\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "08z41i7d8pm0jzv6p77kp22hh0a4psdy109n6nxr8x2k1ibjxk8w";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."libnghttp2_sys"."0.1.1"."libc"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."libnghttp2_sys"."0.1.1"."cc"}" deps)
+    ]);
+  };
+  features_.libnghttp2_sys."0.1.1" = deps: f: updateFeatures f (rec {
+    cc."${deps.libnghttp2_sys."0.1.1".cc}".default = true;
+    libc."${deps.libnghttp2_sys."0.1.1".libc}".default = true;
+    libnghttp2_sys."0.1.1".default = (f.libnghttp2_sys."0.1.1".default or true);
+  }) [
+    (features_.libc."${deps."libnghttp2_sys"."0.1.1"."libc"}" deps)
+    (features_.cc."${deps."libnghttp2_sys"."0.1.1"."cc"}" deps)
+  ];
+
+
+# end
+# libssh2-sys-0.2.11
+
+  crates.libssh2_sys."0.2.11" = deps: { features?(features_.libssh2_sys."0.2.11" deps {}) }: buildRustCrate {
+    crateName = "libssh2-sys";
+    version = "0.2.11";
+    description = "Native bindings to the libssh2 library";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1mjily9qjjjf31pzvlxyqnp1midjc77s6sd303j46d14igna7nhi";
+    libPath = "lib.rs";
+    libName = "libssh2_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."libssh2_sys"."0.2.11"."libc"}" deps)
+      (crates."libz_sys"."${deps."libssh2_sys"."0.2.11"."libz_sys"}" deps)
+    ])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."openssl_sys"."${deps."libssh2_sys"."0.2.11"."openssl_sys"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."libssh2_sys"."0.2.11"."cc"}" deps)
+      (crates."pkg_config"."${deps."libssh2_sys"."0.2.11"."pkg_config"}" deps)
+    ]);
+  };
+  features_.libssh2_sys."0.2.11" = deps: f: updateFeatures f (rec {
+    cc."${deps.libssh2_sys."0.2.11".cc}".default = true;
+    libc."${deps.libssh2_sys."0.2.11".libc}".default = true;
+    libssh2_sys."0.2.11".default = (f.libssh2_sys."0.2.11".default or true);
+    libz_sys."${deps.libssh2_sys."0.2.11".libz_sys}".default = true;
+    openssl_sys."${deps.libssh2_sys."0.2.11".openssl_sys}".default = true;
+    pkg_config."${deps.libssh2_sys."0.2.11".pkg_config}".default = true;
+  }) [
+    (features_.libc."${deps."libssh2_sys"."0.2.11"."libc"}" deps)
+    (features_.libz_sys."${deps."libssh2_sys"."0.2.11"."libz_sys"}" deps)
+    (features_.cc."${deps."libssh2_sys"."0.2.11"."cc"}" deps)
+    (features_.pkg_config."${deps."libssh2_sys"."0.2.11"."pkg_config"}" deps)
+    (features_.openssl_sys."${deps."libssh2_sys"."0.2.11"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# libz-sys-1.0.25
+
+  crates.libz_sys."1.0.25" = deps: { features?(features_.libz_sys."1.0.25" deps {}) }: buildRustCrate {
+    crateName = "libz-sys";
+    version = "1.0.25";
+    description = "Bindings to the system libz library (also known as zlib).\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "195jzg8mgjbvmkbpx1rzkzrqm0g2fdivk79v44c9lzl64r3f9fym";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."libz_sys"."1.0.25"."libc"}" deps)
+    ])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."libz_sys"."1.0.25"."cc"}" deps)
+      (crates."pkg_config"."${deps."libz_sys"."1.0.25"."pkg_config"}" deps)
+    ]);
+    features = mkFeatures (features."libz_sys"."1.0.25" or {});
+  };
+  features_.libz_sys."1.0.25" = deps: f: updateFeatures f (rec {
+    cc."${deps.libz_sys."1.0.25".cc}".default = true;
+    libc."${deps.libz_sys."1.0.25".libc}".default = true;
+    libz_sys."1.0.25".default = (f.libz_sys."1.0.25".default or true);
+    pkg_config."${deps.libz_sys."1.0.25".pkg_config}".default = true;
+  }) [
+    (features_.libc."${deps."libz_sys"."1.0.25"."libc"}" deps)
+    (features_.cc."${deps."libz_sys"."1.0.25"."cc"}" deps)
+    (features_.pkg_config."${deps."libz_sys"."1.0.25"."pkg_config"}" deps)
+  ];
+
+
+# end
+# lock_api-0.1.5
+
+  crates.lock_api."0.1.5" = deps: { features?(features_.lock_api."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "lock_api";
+    version = "0.1.5";
+    description = "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "132sidr5hvjfkaqm3l95zpcpi8yk5ddd0g79zf1ad4v65sxirqqm";
+    dependencies = mapFeatures features ([
+      (crates."scopeguard"."${deps."lock_api"."0.1.5"."scopeguard"}" deps)
+    ]);
+    features = mkFeatures (features."lock_api"."0.1.5" or {});
+  };
+  features_.lock_api."0.1.5" = deps: f: updateFeatures f (rec {
+    lock_api."0.1.5".default = (f.lock_api."0.1.5".default or true);
+    scopeguard."${deps.lock_api."0.1.5".scopeguard}".default = (f.scopeguard."${deps.lock_api."0.1.5".scopeguard}".default or false);
+  }) [
+    (features_.scopeguard."${deps."lock_api"."0.1.5"."scopeguard"}" deps)
+  ];
+
+
+# end
+# matrixmultiply-0.1.15
+
+  crates.matrixmultiply."0.1.15" = deps: { features?(features_.matrixmultiply."0.1.15" deps {}) }: buildRustCrate {
+    crateName = "matrixmultiply";
+    version = "0.1.15";
+    description = "General matrix multiplication of f32 and f64 matrices in Rust. Supports matrices with general strides. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. `RUSTFLAGS=\"-C target-cpu=native\"` is your friend here.";
+    authors = [ "bluss" ];
+    sha256 = "0ix1i4lnkfqnzv8f9wr34bf0mlr1sx5hr7yr70k4npxmwxscvdj5";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rawpointer"."${deps."matrixmultiply"."0.1.15"."rawpointer"}" deps)
+    ]);
+  };
+  features_.matrixmultiply."0.1.15" = deps: f: updateFeatures f (rec {
+    matrixmultiply."0.1.15".default = (f.matrixmultiply."0.1.15".default or true);
+    rawpointer."${deps.matrixmultiply."0.1.15".rawpointer}".default = true;
+  }) [
+    (features_.rawpointer."${deps."matrixmultiply"."0.1.15"."rawpointer"}" deps)
+  ];
+
+
+# end
+# miniz-sys-0.1.11
+
+  crates.miniz_sys."0.1.11" = deps: { features?(features_.miniz_sys."0.1.11" deps {}) }: buildRustCrate {
+    crateName = "miniz-sys";
+    version = "0.1.11";
+    description = "Bindings to the miniz.c library.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0l2wsakqjj7kc06dwxlpz4h8wih0f9d1idrz5gb1svipvh81khsm";
+    libPath = "lib.rs";
+    libName = "miniz_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."miniz_sys"."0.1.11"."libc"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."miniz_sys"."0.1.11"."cc"}" deps)
+    ]);
+  };
+  features_.miniz_sys."0.1.11" = deps: f: updateFeatures f (rec {
+    cc."${deps.miniz_sys."0.1.11".cc}".default = true;
+    libc."${deps.miniz_sys."0.1.11".libc}".default = true;
+    miniz_sys."0.1.11".default = (f.miniz_sys."0.1.11".default or true);
+  }) [
+    (features_.libc."${deps."miniz_sys"."0.1.11"."libc"}" deps)
+    (features_.cc."${deps."miniz_sys"."0.1.11"."cc"}" deps)
+  ];
+
+
+# end
+# miniz_oxide-0.2.1
+
+  crates.miniz_oxide."0.2.1" = deps: { features?(features_.miniz_oxide."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "miniz_oxide";
+    version = "0.2.1";
+    description = "DEFLATE compression and decompression library rewritten in Rust based on miniz";
+    authors = [ "Frommi <daniil.liferenko@gmail.com>" ];
+    sha256 = "1ly14vlk0gq7czi1323l2dsy5y8dpvdwld4h9083i0y3hx9iyfdz";
+    dependencies = mapFeatures features ([
+      (crates."adler32"."${deps."miniz_oxide"."0.2.1"."adler32"}" deps)
+    ]);
+  };
+  features_.miniz_oxide."0.2.1" = deps: f: updateFeatures f (rec {
+    adler32."${deps.miniz_oxide."0.2.1".adler32}".default = true;
+    miniz_oxide."0.2.1".default = (f.miniz_oxide."0.2.1".default or true);
+  }) [
+    (features_.adler32."${deps."miniz_oxide"."0.2.1"."adler32"}" deps)
+  ];
+
+
+# end
+# miniz_oxide_c_api-0.2.1
+
+  crates.miniz_oxide_c_api."0.2.1" = deps: { features?(features_.miniz_oxide_c_api."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "miniz_oxide_c_api";
+    version = "0.2.1";
+    description = "DEFLATE compression and decompression API designed to be Rust drop-in replacement for miniz";
+    authors = [ "Frommi <daniil.liferenko@gmail.com>" ];
+    sha256 = "1zsk334nhy2rvyhbr0815l0gp6w40al6rxxafkycaafx3m9j8cj2";
+    build = "src/build.rs";
+    dependencies = mapFeatures features ([
+      (crates."crc"."${deps."miniz_oxide_c_api"."0.2.1"."crc"}" deps)
+      (crates."libc"."${deps."miniz_oxide_c_api"."0.2.1"."libc"}" deps)
+      (crates."miniz_oxide"."${deps."miniz_oxide_c_api"."0.2.1"."miniz_oxide"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."miniz_oxide_c_api"."0.2.1"."cc"}" deps)
+    ]);
+    features = mkFeatures (features."miniz_oxide_c_api"."0.2.1" or {});
+  };
+  features_.miniz_oxide_c_api."0.2.1" = deps: f: updateFeatures f (rec {
+    cc."${deps.miniz_oxide_c_api."0.2.1".cc}".default = true;
+    crc."${deps.miniz_oxide_c_api."0.2.1".crc}".default = true;
+    libc."${deps.miniz_oxide_c_api."0.2.1".libc}".default = true;
+    miniz_oxide."${deps.miniz_oxide_c_api."0.2.1".miniz_oxide}".default = true;
+    miniz_oxide_c_api = fold recursiveUpdate {} [
+      { "0.2.1"."build_orig_miniz" =
+        (f.miniz_oxide_c_api."0.2.1"."build_orig_miniz" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".benching or false) ||
+        (miniz_oxide_c_api."0.2.1"."benching" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".fuzzing or false) ||
+        (miniz_oxide_c_api."0.2.1"."fuzzing" or false); }
+      { "0.2.1"."build_stub_miniz" =
+        (f.miniz_oxide_c_api."0.2.1"."build_stub_miniz" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".miniz_zip or false) ||
+        (miniz_oxide_c_api."0.2.1"."miniz_zip" or false); }
+      { "0.2.1"."no_c_export" =
+        (f.miniz_oxide_c_api."0.2.1"."no_c_export" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".benching or false) ||
+        (miniz_oxide_c_api."0.2.1"."benching" or false) ||
+        (f.miniz_oxide_c_api."0.2.1".fuzzing or false) ||
+        (miniz_oxide_c_api."0.2.1"."fuzzing" or false); }
+      { "0.2.1".default = (f.miniz_oxide_c_api."0.2.1".default or true); }
+    ];
+  }) [
+    (features_.crc."${deps."miniz_oxide_c_api"."0.2.1"."crc"}" deps)
+    (features_.libc."${deps."miniz_oxide_c_api"."0.2.1"."libc"}" deps)
+    (features_.miniz_oxide."${deps."miniz_oxide_c_api"."0.2.1"."miniz_oxide"}" deps)
+    (features_.cc."${deps."miniz_oxide_c_api"."0.2.1"."cc"}" deps)
+  ];
+
+
+# end
+# miow-0.3.3
+
+  crates.miow."0.3.3" = deps: { features?(features_.miow."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "miow";
+    version = "0.3.3";
+    description = "A zero overhead I/O library for Windows, focusing on IOCP and Async I/O\nabstractions.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1mlk5mn00cl6bmf8qlpc6r85dxf4l45vbkbzshsr1mrkb3hn1j57";
+    dependencies = mapFeatures features ([
+      (crates."socket2"."${deps."miow"."0.3.3"."socket2"}" deps)
+      (crates."winapi"."${deps."miow"."0.3.3"."winapi"}" deps)
+    ]);
+  };
+  features_.miow."0.3.3" = deps: f: updateFeatures f (rec {
+    miow."0.3.3".default = (f.miow."0.3.3".default or true);
+    socket2."${deps.miow."0.3.3".socket2}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.miow."0.3.3".winapi}"."fileapi" = true; }
+      { "${deps.miow."0.3.3".winapi}"."handleapi" = true; }
+      { "${deps.miow."0.3.3".winapi}"."ioapiset" = true; }
+      { "${deps.miow."0.3.3".winapi}"."minwindef" = true; }
+      { "${deps.miow."0.3.3".winapi}"."namedpipeapi" = true; }
+      { "${deps.miow."0.3.3".winapi}"."ntdef" = true; }
+      { "${deps.miow."0.3.3".winapi}"."std" = true; }
+      { "${deps.miow."0.3.3".winapi}"."synchapi" = true; }
+      { "${deps.miow."0.3.3".winapi}"."winerror" = true; }
+      { "${deps.miow."0.3.3".winapi}"."winsock2" = true; }
+      { "${deps.miow."0.3.3".winapi}"."ws2def" = true; }
+      { "${deps.miow."0.3.3".winapi}"."ws2ipdef" = true; }
+      { "${deps.miow."0.3.3".winapi}".default = true; }
+    ];
+  }) [
+    (features_.socket2."${deps."miow"."0.3.3"."socket2"}" deps)
+    (features_.winapi."${deps."miow"."0.3.3"."winapi"}" deps)
+  ];
+
+
+# end
+# ndarray-0.12.1
+
+  crates.ndarray."0.12.1" = deps: { features?(features_.ndarray."0.12.1" deps {}) }: buildRustCrate {
+    crateName = "ndarray";
+    version = "0.12.1";
+    description = "An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting.";
+    authors = [ "bluss" "Jim Turner" ];
+    sha256 = "13708k97kdjfj6g4z1yapjln0v4m7zj0114h8snw44fj79l00346";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."itertools"."${deps."ndarray"."0.12.1"."itertools"}" deps)
+      (crates."matrixmultiply"."${deps."ndarray"."0.12.1"."matrixmultiply"}" deps)
+      (crates."num_complex"."${deps."ndarray"."0.12.1"."num_complex"}" deps)
+      (crates."num_traits"."${deps."ndarray"."0.12.1"."num_traits"}" deps)
+    ]);
+    features = mkFeatures (features."ndarray"."0.12.1" or {});
+  };
+  features_.ndarray."0.12.1" = deps: f: updateFeatures f (rec {
+    itertools."${deps.ndarray."0.12.1".itertools}".default = (f.itertools."${deps.ndarray."0.12.1".itertools}".default or false);
+    matrixmultiply."${deps.ndarray."0.12.1".matrixmultiply}".default = true;
+    ndarray = fold recursiveUpdate {} [
+      { "0.12.1"."blas" =
+        (f.ndarray."0.12.1"."blas" or false) ||
+        (f.ndarray."0.12.1".test-blas-openblas-sys or false) ||
+        (ndarray."0.12.1"."test-blas-openblas-sys" or false); }
+      { "0.12.1"."blas-src" =
+        (f.ndarray."0.12.1"."blas-src" or false) ||
+        (f.ndarray."0.12.1".blas or false) ||
+        (ndarray."0.12.1"."blas" or false); }
+      { "0.12.1"."cblas-sys" =
+        (f.ndarray."0.12.1"."cblas-sys" or false) ||
+        (f.ndarray."0.12.1".blas or false) ||
+        (ndarray."0.12.1"."blas" or false); }
+      { "0.12.1"."rustc-serialize" =
+        (f.ndarray."0.12.1"."rustc-serialize" or false) ||
+        (f.ndarray."0.12.1".docs or false) ||
+        (ndarray."0.12.1"."docs" or false); }
+      { "0.12.1"."serde" =
+        (f.ndarray."0.12.1"."serde" or false) ||
+        (f.ndarray."0.12.1".serde-1 or false) ||
+        (ndarray."0.12.1"."serde-1" or false); }
+      { "0.12.1"."serde-1" =
+        (f.ndarray."0.12.1"."serde-1" or false) ||
+        (f.ndarray."0.12.1".docs or false) ||
+        (ndarray."0.12.1"."docs" or false); }
+      { "0.12.1"."test-blas-openblas-sys" =
+        (f.ndarray."0.12.1"."test-blas-openblas-sys" or false) ||
+        (f.ndarray."0.12.1".test or false) ||
+        (ndarray."0.12.1"."test" or false); }
+      { "0.12.1".default = (f.ndarray."0.12.1".default or true); }
+    ];
+    num_complex."${deps.ndarray."0.12.1".num_complex}".default = true;
+    num_traits."${deps.ndarray."0.12.1".num_traits}".default = true;
+  }) [
+    (features_.itertools."${deps."ndarray"."0.12.1"."itertools"}" deps)
+    (features_.matrixmultiply."${deps."ndarray"."0.12.1"."matrixmultiply"}" deps)
+    (features_.num_complex."${deps."ndarray"."0.12.1"."num_complex"}" deps)
+    (features_.num_traits."${deps."ndarray"."0.12.1"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-complex-0.2.1
+
+  crates.num_complex."0.2.1" = deps: { features?(features_.num_complex."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "num-complex";
+    version = "0.2.1";
+    description = "Complex numbers implementation for Rust";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "12lpp62ahc80p33cpw2771l8bwl0q13rl5vq0jzkqib1l5z8q80z";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."num_traits"."${deps."num_complex"."0.2.1"."num_traits"}" deps)
+    ]);
+    features = mkFeatures (features."num_complex"."0.2.1" or {});
+  };
+  features_.num_complex."0.2.1" = deps: f: updateFeatures f (rec {
+    num_complex = fold recursiveUpdate {} [
+      { "0.2.1"."std" =
+        (f.num_complex."0.2.1"."std" or false) ||
+        (f.num_complex."0.2.1".default or false) ||
+        (num_complex."0.2.1"."default" or false); }
+      { "0.2.1".default = (f.num_complex."0.2.1".default or true); }
+    ];
+    num_traits = fold recursiveUpdate {} [
+      { "${deps.num_complex."0.2.1".num_traits}"."i128" =
+        (f.num_traits."${deps.num_complex."0.2.1".num_traits}"."i128" or false) ||
+        (num_complex."0.2.1"."i128" or false) ||
+        (f."num_complex"."0.2.1"."i128" or false); }
+      { "${deps.num_complex."0.2.1".num_traits}"."std" =
+        (f.num_traits."${deps.num_complex."0.2.1".num_traits}"."std" or false) ||
+        (num_complex."0.2.1"."std" or false) ||
+        (f."num_complex"."0.2.1"."std" or false); }
+      { "${deps.num_complex."0.2.1".num_traits}".default = (f.num_traits."${deps.num_complex."0.2.1".num_traits}".default or false); }
+    ];
+  }) [
+    (features_.num_traits."${deps."num_complex"."0.2.1"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-traits-0.2.6
+
+  crates.num_traits."0.2.6" = deps: { features?(features_.num_traits."0.2.6" deps {}) }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.2.6";
+    description = "Numeric traits for generic mathematics";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1d20sil9n0wgznd1nycm3yjfj1mzyl41ambb7by1apxlyiil1azk";
+    build = "build.rs";
+    features = mkFeatures (features."num_traits"."0.2.6" or {});
+  };
+  features_.num_traits."0.2.6" = deps: f: updateFeatures f (rec {
+    num_traits = fold recursiveUpdate {} [
+      { "0.2.6"."std" =
+        (f.num_traits."0.2.6"."std" or false) ||
+        (f.num_traits."0.2.6".default or false) ||
+        (num_traits."0.2.6"."default" or false); }
+      { "0.2.6".default = (f.num_traits."0.2.6".default or true); }
+    ];
+  }) [];
+
+
+# end
+# num_cpus-1.10.0
+
+  crates.num_cpus."1.10.0" = deps: { features?(features_.num_cpus."1.10.0" deps {}) }: buildRustCrate {
+    crateName = "num_cpus";
+    version = "1.10.0";
+    description = "Get the number of CPUs on a machine.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1411jyxy1wd8d59mv7cf6ynkvvar92czmwhb9l2c1brdkxbbiqn7";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."num_cpus"."1.10.0"."libc"}" deps)
+    ]);
+  };
+  features_.num_cpus."1.10.0" = deps: f: updateFeatures f (rec {
+    libc."${deps.num_cpus."1.10.0".libc}".default = true;
+    num_cpus."1.10.0".default = (f.num_cpus."1.10.0".default or true);
+  }) [
+    (features_.libc."${deps."num_cpus"."1.10.0"."libc"}" deps)
+  ];
+
+
+# end
+# once_cell-0.1.8
+
+  crates.once_cell."0.1.8" = deps: { features?(features_.once_cell."0.1.8" deps {}) }: buildRustCrate {
+    crateName = "once_cell";
+    version = "0.1.8";
+    description = "Single assignment cells and lazy static values without macros.";
+    authors = [ "Aleksey Kladov <aleksey.kladov@gmail.com>" ];
+    sha256 = "1n1da1x3cf3qbq9a925pimy6i0r12gcicwqjxc63nfb2bnzkg074";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.once_cell."0.1.8".parking_lot or false then [ (crates.parking_lot."${deps."once_cell"."0.1.8".parking_lot}" deps) ] else []));
+    features = mkFeatures (features."once_cell"."0.1.8" or {});
+  };
+  features_.once_cell."0.1.8" = deps: f: updateFeatures f (rec {
+    once_cell = fold recursiveUpdate {} [
+      { "0.1.8"."parking_lot" =
+        (f.once_cell."0.1.8"."parking_lot" or false) ||
+        (f.once_cell."0.1.8".default or false) ||
+        (once_cell."0.1.8"."default" or false); }
+      { "0.1.8".default = (f.once_cell."0.1.8".default or true); }
+    ];
+    parking_lot."${deps.once_cell."0.1.8".parking_lot}".default = true;
+  }) [
+    (features_.parking_lot."${deps."once_cell"."0.1.8"."parking_lot"}" deps)
+  ];
+
+
+# end
+# opener-0.3.2
+
+  crates.opener."0.3.2" = deps: { features?(features_.opener."0.3.2" deps {}) }: buildRustCrate {
+    crateName = "opener";
+    version = "0.3.2";
+    description = "Open a file or link using the system default program.";
+    authors = [ "Brian Bowman <seeker14491@gmail.com>" ];
+    sha256 = "1ql2snax07n3xxn4nz9r6d95rhrri66qy5s5zl9jfsdbs193hzcm";
+    dependencies = mapFeatures features ([
+      (crates."failure"."${deps."opener"."0.3.2"."failure"}" deps)
+      (crates."failure_derive"."${deps."opener"."0.3.2"."failure_derive"}" deps)
+    ])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."opener"."0.3.2"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.opener."0.3.2" = deps: f: updateFeatures f (rec {
+    failure."${deps.opener."0.3.2".failure}".default = true;
+    failure_derive."${deps.opener."0.3.2".failure_derive}".default = true;
+    opener."0.3.2".default = (f.opener."0.3.2".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.opener."0.3.2".winapi}"."shellapi" = true; }
+      { "${deps.opener."0.3.2".winapi}".default = true; }
+    ];
+  }) [
+    (features_.failure."${deps."opener"."0.3.2"."failure"}" deps)
+    (features_.failure_derive."${deps."opener"."0.3.2"."failure_derive"}" deps)
+    (features_.winapi."${deps."opener"."0.3.2"."winapi"}" deps)
+  ];
+
+
+# end
+# openssl-0.10.20
+
+  crates.openssl."0.10.20" = deps: { features?(features_.openssl."0.10.20" deps {}) }: buildRustCrate {
+    crateName = "openssl";
+    version = "0.10.20";
+    description = "OpenSSL bindings";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1y3zkq988vx48a4j0i23mr7vm1wy5w71yws2v6hyf4vb5iw3r5s5";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."openssl"."0.10.20"."bitflags"}" deps)
+      (crates."cfg_if"."${deps."openssl"."0.10.20"."cfg_if"}" deps)
+      (crates."foreign_types"."${deps."openssl"."0.10.20"."foreign_types"}" deps)
+      (crates."lazy_static"."${deps."openssl"."0.10.20"."lazy_static"}" deps)
+      (crates."libc"."${deps."openssl"."0.10.20"."libc"}" deps)
+      (crates."openssl_sys"."${deps."openssl"."0.10.20"."openssl_sys"}" deps)
+    ]);
+    features = mkFeatures (features."openssl"."0.10.20" or {});
+  };
+  features_.openssl."0.10.20" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.openssl."0.10.20".bitflags}".default = true;
+    cfg_if."${deps.openssl."0.10.20".cfg_if}".default = true;
+    foreign_types."${deps.openssl."0.10.20".foreign_types}".default = true;
+    lazy_static."${deps.openssl."0.10.20".lazy_static}".default = true;
+    libc."${deps.openssl."0.10.20".libc}".default = true;
+    openssl."0.10.20".default = (f.openssl."0.10.20".default or true);
+    openssl_sys = fold recursiveUpdate {} [
+      { "${deps.openssl."0.10.20".openssl_sys}"."vendored" =
+        (f.openssl_sys."${deps.openssl."0.10.20".openssl_sys}"."vendored" or false) ||
+        (openssl."0.10.20"."vendored" or false) ||
+        (f."openssl"."0.10.20"."vendored" or false); }
+      { "${deps.openssl."0.10.20".openssl_sys}".default = true; }
+    ];
+  }) [
+    (features_.bitflags."${deps."openssl"."0.10.20"."bitflags"}" deps)
+    (features_.cfg_if."${deps."openssl"."0.10.20"."cfg_if"}" deps)
+    (features_.foreign_types."${deps."openssl"."0.10.20"."foreign_types"}" deps)
+    (features_.lazy_static."${deps."openssl"."0.10.20"."lazy_static"}" deps)
+    (features_.libc."${deps."openssl"."0.10.20"."libc"}" deps)
+    (features_.openssl_sys."${deps."openssl"."0.10.20"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# openssl-probe-0.1.2
+
+  crates.openssl_probe."0.1.2" = deps: { features?(features_.openssl_probe."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "openssl-probe";
+    version = "0.1.2";
+    description = "Tool for helping to find SSL certificate locations on the system for OpenSSL\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1a89fznx26vvaxyrxdvgf6iwai5xvs6xjvpjin68fgvrslv6n15a";
+  };
+  features_.openssl_probe."0.1.2" = deps: f: updateFeatures f (rec {
+    openssl_probe."0.1.2".default = (f.openssl_probe."0.1.2".default or true);
+  }) [];
+
+
+# end
+# openssl-src-111.2.1+1.1.1b
+
+  crates.openssl_src."111.2.1+1.1.1b" = deps: { features?(features_.openssl_src."111.2.1+1.1.1b" deps {}) }: buildRustCrate {
+    crateName = "openssl-src";
+    version = "111.2.1+1.1.1b";
+    description = "Source of OpenSSL and logic to build it.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0gfa29r16ds88a3sjcgkc2q5dkhgnxk58gly313r05xqj4zi2pxc";
+    dependencies = mapFeatures features ([
+      (crates."cc"."${deps."openssl_src"."111.2.1+1.1.1b"."cc"}" deps)
+    ]);
+  };
+  features_.openssl_src."111.2.1+1.1.1b" = deps: f: updateFeatures f (rec {
+    cc."${deps.openssl_src."111.2.1+1.1.1b".cc}".default = true;
+    openssl_src."111.2.1+1.1.1b".default = (f.openssl_src."111.2.1+1.1.1b".default or true);
+  }) [
+    (features_.cc."${deps."openssl_src"."111.2.1+1.1.1b"."cc"}" deps)
+  ];
+
+
+# end
+# openssl-sys-0.9.43
+
+  crates.openssl_sys."0.9.43" = deps: { features?(features_.openssl_sys."0.9.43" deps {}) }: buildRustCrate {
+    crateName = "openssl-sys";
+    version = "0.9.43";
+    description = "FFI bindings to OpenSSL";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1ip0f94jakr85pxjhrkg9w9lgiiy1yga3ckm6c8xb13klsr7ky9y";
+    build = "build/main.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."openssl_sys"."0.9.43"."libc"}" deps)
+    ])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."openssl_sys"."0.9.43"."cc"}" deps)
+      (crates."pkg_config"."${deps."openssl_sys"."0.9.43"."pkg_config"}" deps)
+      (crates."rustc_version"."${deps."openssl_sys"."0.9.43"."rustc_version"}" deps)
+    ]
+      ++ (if features.openssl_sys."0.9.43".openssl-src or false then [ (crates.openssl_src."${deps."openssl_sys"."0.9.43".openssl_src}" deps) ] else []));
+    features = mkFeatures (features."openssl_sys"."0.9.43" or {});
+  };
+  features_.openssl_sys."0.9.43" = deps: f: updateFeatures f (rec {
+    cc."${deps.openssl_sys."0.9.43".cc}".default = true;
+    libc."${deps.openssl_sys."0.9.43".libc}".default = true;
+    openssl_src."${deps.openssl_sys."0.9.43".openssl_src}".default = true;
+    openssl_sys = fold recursiveUpdate {} [
+      { "0.9.43"."openssl-src" =
+        (f.openssl_sys."0.9.43"."openssl-src" or false) ||
+        (f.openssl_sys."0.9.43".vendored or false) ||
+        (openssl_sys."0.9.43"."vendored" or false); }
+      { "0.9.43".default = (f.openssl_sys."0.9.43".default or true); }
+    ];
+    pkg_config."${deps.openssl_sys."0.9.43".pkg_config}".default = true;
+    rustc_version."${deps.openssl_sys."0.9.43".rustc_version}".default = true;
+  }) [
+    (features_.libc."${deps."openssl_sys"."0.9.43"."libc"}" deps)
+    (features_.cc."${deps."openssl_sys"."0.9.43"."cc"}" deps)
+    (features_.openssl_src."${deps."openssl_sys"."0.9.43"."openssl_src"}" deps)
+    (features_.pkg_config."${deps."openssl_sys"."0.9.43"."pkg_config"}" deps)
+    (features_.rustc_version."${deps."openssl_sys"."0.9.43"."rustc_version"}" deps)
+  ];
+
+
+# end
+# parking_lot-0.7.1
+
+  crates.parking_lot."0.7.1" = deps: { features?(features_.parking_lot."0.7.1" deps {}) }: buildRustCrate {
+    crateName = "parking_lot";
+    version = "0.7.1";
+    description = "More compact and efficient implementations of the standard synchronization primitives.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "1qpb49xd176hqqabxdb48f1hvylfbf68rpz8yfrhw0x68ys0lkq1";
+    dependencies = mapFeatures features ([
+      (crates."lock_api"."${deps."parking_lot"."0.7.1"."lock_api"}" deps)
+      (crates."parking_lot_core"."${deps."parking_lot"."0.7.1"."parking_lot_core"}" deps)
+    ]);
+    features = mkFeatures (features."parking_lot"."0.7.1" or {});
+  };
+  features_.parking_lot."0.7.1" = deps: f: updateFeatures f (rec {
+    lock_api = fold recursiveUpdate {} [
+      { "${deps.parking_lot."0.7.1".lock_api}"."nightly" =
+        (f.lock_api."${deps.parking_lot."0.7.1".lock_api}"."nightly" or false) ||
+        (parking_lot."0.7.1"."nightly" or false) ||
+        (f."parking_lot"."0.7.1"."nightly" or false); }
+      { "${deps.parking_lot."0.7.1".lock_api}"."owning_ref" =
+        (f.lock_api."${deps.parking_lot."0.7.1".lock_api}"."owning_ref" or false) ||
+        (parking_lot."0.7.1"."owning_ref" or false) ||
+        (f."parking_lot"."0.7.1"."owning_ref" or false); }
+      { "${deps.parking_lot."0.7.1".lock_api}".default = true; }
+    ];
+    parking_lot = fold recursiveUpdate {} [
+      { "0.7.1"."owning_ref" =
+        (f.parking_lot."0.7.1"."owning_ref" or false) ||
+        (f.parking_lot."0.7.1".default or false) ||
+        (parking_lot."0.7.1"."default" or false); }
+      { "0.7.1".default = (f.parking_lot."0.7.1".default or true); }
+    ];
+    parking_lot_core = fold recursiveUpdate {} [
+      { "${deps.parking_lot."0.7.1".parking_lot_core}"."deadlock_detection" =
+        (f.parking_lot_core."${deps.parking_lot."0.7.1".parking_lot_core}"."deadlock_detection" or false) ||
+        (parking_lot."0.7.1"."deadlock_detection" or false) ||
+        (f."parking_lot"."0.7.1"."deadlock_detection" or false); }
+      { "${deps.parking_lot."0.7.1".parking_lot_core}"."nightly" =
+        (f.parking_lot_core."${deps.parking_lot."0.7.1".parking_lot_core}"."nightly" or false) ||
+        (parking_lot."0.7.1"."nightly" or false) ||
+        (f."parking_lot"."0.7.1"."nightly" or false); }
+      { "${deps.parking_lot."0.7.1".parking_lot_core}".default = true; }
+    ];
+  }) [
+    (features_.lock_api."${deps."parking_lot"."0.7.1"."lock_api"}" deps)
+    (features_.parking_lot_core."${deps."parking_lot"."0.7.1"."parking_lot_core"}" deps)
+  ];
+
+
+# end
+# parking_lot_core-0.4.0
+
+  crates.parking_lot_core."0.4.0" = deps: { features?(features_.parking_lot_core."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "parking_lot_core";
+    version = "0.4.0";
+    description = "An advanced API for creating custom synchronization primitives.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "1mzk5i240ddvhwnz65hhjk4cq61z235g1n8bd7al4mg6vx437c16";
+    dependencies = mapFeatures features ([
+      (crates."rand"."${deps."parking_lot_core"."0.4.0"."rand"}" deps)
+      (crates."smallvec"."${deps."parking_lot_core"."0.4.0"."smallvec"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."parking_lot_core"."0.4.0"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."parking_lot_core"."0.4.0"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."parking_lot_core"."0.4.0"."rustc_version"}" deps)
+    ]);
+    features = mkFeatures (features."parking_lot_core"."0.4.0" or {});
+  };
+  features_.parking_lot_core."0.4.0" = deps: f: updateFeatures f (rec {
+    libc."${deps.parking_lot_core."0.4.0".libc}".default = true;
+    parking_lot_core = fold recursiveUpdate {} [
+      { "0.4.0"."backtrace" =
+        (f.parking_lot_core."0.4.0"."backtrace" or false) ||
+        (f.parking_lot_core."0.4.0".deadlock_detection or false) ||
+        (parking_lot_core."0.4.0"."deadlock_detection" or false); }
+      { "0.4.0"."petgraph" =
+        (f.parking_lot_core."0.4.0"."petgraph" or false) ||
+        (f.parking_lot_core."0.4.0".deadlock_detection or false) ||
+        (parking_lot_core."0.4.0"."deadlock_detection" or false); }
+      { "0.4.0"."thread-id" =
+        (f.parking_lot_core."0.4.0"."thread-id" or false) ||
+        (f.parking_lot_core."0.4.0".deadlock_detection or false) ||
+        (parking_lot_core."0.4.0"."deadlock_detection" or false); }
+      { "0.4.0".default = (f.parking_lot_core."0.4.0".default or true); }
+    ];
+    rand."${deps.parking_lot_core."0.4.0".rand}".default = true;
+    rustc_version."${deps.parking_lot_core."0.4.0".rustc_version}".default = true;
+    smallvec."${deps.parking_lot_core."0.4.0".smallvec}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.parking_lot_core."0.4.0".winapi}"."errhandlingapi" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."handleapi" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."minwindef" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."ntstatus" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."winbase" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."winerror" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}"."winnt" = true; }
+      { "${deps.parking_lot_core."0.4.0".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand."${deps."parking_lot_core"."0.4.0"."rand"}" deps)
+    (features_.smallvec."${deps."parking_lot_core"."0.4.0"."smallvec"}" deps)
+    (features_.rustc_version."${deps."parking_lot_core"."0.4.0"."rustc_version"}" deps)
+    (features_.libc."${deps."parking_lot_core"."0.4.0"."libc"}" deps)
+    (features_.winapi."${deps."parking_lot_core"."0.4.0"."winapi"}" deps)
+  ];
+
+
+# end
+# pkg-config-0.3.14
+
+  crates.pkg_config."0.3.14" = deps: { features?(features_.pkg_config."0.3.14" deps {}) }: buildRustCrate {
+    crateName = "pkg-config";
+    version = "0.3.14";
+    description = "A library to run the pkg-config system tool at build time in order to be used in\nCargo build scripts.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0207fsarrm412j0dh87lfcas72n8mxar7q3mgflsbsrqnb140sv6";
+  };
+  features_.pkg_config."0.3.14" = deps: f: updateFeatures f (rec {
+    pkg_config."0.3.14".default = (f.pkg_config."0.3.14".default or true);
+  }) [];
+
+
+# end
+# quote-0.6.12
+
+  crates.quote."0.6.12" = deps: { features?(features_.quote."0.6.12" deps {}) }: buildRustCrate {
+    crateName = "quote";
+    version = "0.6.12";
+    description = "Quasi-quoting macro quote!(...)";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1ckd2d2sy0hrwrqcr47dn0n3hyh7ygpc026l8xaycccyg27mihv9";
+    dependencies = mapFeatures features ([
+      (crates."proc_macro2"."${deps."quote"."0.6.12"."proc_macro2"}" deps)
+    ]);
+    features = mkFeatures (features."quote"."0.6.12" or {});
+  };
+  features_.quote."0.6.12" = deps: f: updateFeatures f (rec {
+    proc_macro2 = fold recursiveUpdate {} [
+      { "${deps.quote."0.6.12".proc_macro2}"."proc-macro" =
+        (f.proc_macro2."${deps.quote."0.6.12".proc_macro2}"."proc-macro" or false) ||
+        (quote."0.6.12"."proc-macro" or false) ||
+        (f."quote"."0.6.12"."proc-macro" or false); }
+      { "${deps.quote."0.6.12".proc_macro2}".default = (f.proc_macro2."${deps.quote."0.6.12".proc_macro2}".default or false); }
+    ];
+    quote = fold recursiveUpdate {} [
+      { "0.6.12"."proc-macro" =
+        (f.quote."0.6.12"."proc-macro" or false) ||
+        (f.quote."0.6.12".default or false) ||
+        (quote."0.6.12"."default" or false); }
+      { "0.6.12".default = (f.quote."0.6.12".default or true); }
+    ];
+  }) [
+    (features_.proc_macro2."${deps."quote"."0.6.12"."proc_macro2"}" deps)
+  ];
+
+
+# end
+# rand-0.6.5
+
+  crates.rand."0.6.5" = deps: { features?(features_.rand."0.6.5" deps {}) }: buildRustCrate {
+    crateName = "rand";
+    version = "0.6.5";
+    description = "Random number generators and other randomness functionality.\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "0zbck48159aj8zrwzf80sd9xxh96w4f4968nshwjpysjvflimvgb";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_chacha"."${deps."rand"."0.6.5"."rand_chacha"}" deps)
+      (crates."rand_core"."${deps."rand"."0.6.5"."rand_core"}" deps)
+      (crates."rand_hc"."${deps."rand"."0.6.5"."rand_hc"}" deps)
+      (crates."rand_isaac"."${deps."rand"."0.6.5"."rand_isaac"}" deps)
+      (crates."rand_jitter"."${deps."rand"."0.6.5"."rand_jitter"}" deps)
+      (crates."rand_pcg"."${deps."rand"."0.6.5"."rand_pcg"}" deps)
+      (crates."rand_xorshift"."${deps."rand"."0.6.5"."rand_xorshift"}" deps)
+    ]
+      ++ (if features.rand."0.6.5".rand_os or false then [ (crates.rand_os."${deps."rand"."0.6.5".rand_os}" deps) ] else []))
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."rand"."0.6.5"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."rand"."0.6.5"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."autocfg"."${deps."rand"."0.6.5"."autocfg"}" deps)
+    ]);
+    features = mkFeatures (features."rand"."0.6.5" or {});
+  };
+  features_.rand."0.6.5" = deps: f: updateFeatures f (rec {
+    autocfg."${deps.rand."0.6.5".autocfg}".default = true;
+    libc."${deps.rand."0.6.5".libc}".default = (f.libc."${deps.rand."0.6.5".libc}".default or false);
+    rand = fold recursiveUpdate {} [
+      { "0.6.5"."alloc" =
+        (f.rand."0.6.5"."alloc" or false) ||
+        (f.rand."0.6.5".std or false) ||
+        (rand."0.6.5"."std" or false); }
+      { "0.6.5"."packed_simd" =
+        (f.rand."0.6.5"."packed_simd" or false) ||
+        (f.rand."0.6.5".simd_support or false) ||
+        (rand."0.6.5"."simd_support" or false); }
+      { "0.6.5"."rand_os" =
+        (f.rand."0.6.5"."rand_os" or false) ||
+        (f.rand."0.6.5".std or false) ||
+        (rand."0.6.5"."std" or false); }
+      { "0.6.5"."simd_support" =
+        (f.rand."0.6.5"."simd_support" or false) ||
+        (f.rand."0.6.5".nightly or false) ||
+        (rand."0.6.5"."nightly" or false); }
+      { "0.6.5"."std" =
+        (f.rand."0.6.5"."std" or false) ||
+        (f.rand."0.6.5".default or false) ||
+        (rand."0.6.5"."default" or false); }
+      { "0.6.5".default = (f.rand."0.6.5".default or true); }
+    ];
+    rand_chacha."${deps.rand."0.6.5".rand_chacha}".default = true;
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_core}"."alloc" =
+        (f.rand_core."${deps.rand."0.6.5".rand_core}"."alloc" or false) ||
+        (rand."0.6.5"."alloc" or false) ||
+        (f."rand"."0.6.5"."alloc" or false); }
+      { "${deps.rand."0.6.5".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand."0.6.5".rand_core}"."serde1" or false) ||
+        (rand."0.6.5"."serde1" or false) ||
+        (f."rand"."0.6.5"."serde1" or false); }
+      { "${deps.rand."0.6.5".rand_core}"."std" =
+        (f.rand_core."${deps.rand."0.6.5".rand_core}"."std" or false) ||
+        (rand."0.6.5"."std" or false) ||
+        (f."rand"."0.6.5"."std" or false); }
+      { "${deps.rand."0.6.5".rand_core}".default = true; }
+    ];
+    rand_hc."${deps.rand."0.6.5".rand_hc}".default = true;
+    rand_isaac = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_isaac}"."serde1" =
+        (f.rand_isaac."${deps.rand."0.6.5".rand_isaac}"."serde1" or false) ||
+        (rand."0.6.5"."serde1" or false) ||
+        (f."rand"."0.6.5"."serde1" or false); }
+      { "${deps.rand."0.6.5".rand_isaac}".default = true; }
+    ];
+    rand_jitter = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_jitter}"."std" =
+        (f.rand_jitter."${deps.rand."0.6.5".rand_jitter}"."std" or false) ||
+        (rand."0.6.5"."std" or false) ||
+        (f."rand"."0.6.5"."std" or false); }
+      { "${deps.rand."0.6.5".rand_jitter}".default = true; }
+    ];
+    rand_os = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_os}"."stdweb" =
+        (f.rand_os."${deps.rand."0.6.5".rand_os}"."stdweb" or false) ||
+        (rand."0.6.5"."stdweb" or false) ||
+        (f."rand"."0.6.5"."stdweb" or false); }
+      { "${deps.rand."0.6.5".rand_os}"."wasm-bindgen" =
+        (f.rand_os."${deps.rand."0.6.5".rand_os}"."wasm-bindgen" or false) ||
+        (rand."0.6.5"."wasm-bindgen" or false) ||
+        (f."rand"."0.6.5"."wasm-bindgen" or false); }
+      { "${deps.rand."0.6.5".rand_os}".default = true; }
+    ];
+    rand_pcg."${deps.rand."0.6.5".rand_pcg}".default = true;
+    rand_xorshift = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".rand_xorshift}"."serde1" =
+        (f.rand_xorshift."${deps.rand."0.6.5".rand_xorshift}"."serde1" or false) ||
+        (rand."0.6.5"."serde1" or false) ||
+        (f."rand"."0.6.5"."serde1" or false); }
+      { "${deps.rand."0.6.5".rand_xorshift}".default = true; }
+    ];
+    winapi = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.5".winapi}"."minwindef" = true; }
+      { "${deps.rand."0.6.5".winapi}"."ntsecapi" = true; }
+      { "${deps.rand."0.6.5".winapi}"."profileapi" = true; }
+      { "${deps.rand."0.6.5".winapi}"."winnt" = true; }
+      { "${deps.rand."0.6.5".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand_chacha."${deps."rand"."0.6.5"."rand_chacha"}" deps)
+    (features_.rand_core."${deps."rand"."0.6.5"."rand_core"}" deps)
+    (features_.rand_hc."${deps."rand"."0.6.5"."rand_hc"}" deps)
+    (features_.rand_isaac."${deps."rand"."0.6.5"."rand_isaac"}" deps)
+    (features_.rand_jitter."${deps."rand"."0.6.5"."rand_jitter"}" deps)
+    (features_.rand_os."${deps."rand"."0.6.5"."rand_os"}" deps)
+    (features_.rand_pcg."${deps."rand"."0.6.5"."rand_pcg"}" deps)
+    (features_.rand_xorshift."${deps."rand"."0.6.5"."rand_xorshift"}" deps)
+    (features_.autocfg."${deps."rand"."0.6.5"."autocfg"}" deps)
+    (features_.libc."${deps."rand"."0.6.5"."libc"}" deps)
+    (features_.winapi."${deps."rand"."0.6.5"."winapi"}" deps)
+  ];
+
+
+# end
+# rand_chacha-0.1.1
+
+  crates.rand_chacha."0.1.1" = deps: { features?(features_.rand_chacha."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_chacha";
+    version = "0.1.1";
+    description = "ChaCha random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "0xnxm4mjd7wjnh18zxc1yickw58axbycp35ciraplqdfwn1gffwi";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_chacha"."0.1.1"."rand_core"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."autocfg"."${deps."rand_chacha"."0.1.1"."autocfg"}" deps)
+    ]);
+  };
+  features_.rand_chacha."0.1.1" = deps: f: updateFeatures f (rec {
+    autocfg."${deps.rand_chacha."0.1.1".autocfg}".default = true;
+    rand_chacha."0.1.1".default = (f.rand_chacha."0.1.1".default or true);
+    rand_core."${deps.rand_chacha."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_chacha."0.1.1".rand_core}".default or false);
+  }) [
+    (features_.rand_core."${deps."rand_chacha"."0.1.1"."rand_core"}" deps)
+    (features_.autocfg."${deps."rand_chacha"."0.1.1"."autocfg"}" deps)
+  ];
+
+
+# end
+# rand_hc-0.1.0
+
+  crates.rand_hc."0.1.0" = deps: { features?(features_.rand_hc."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rand_hc";
+    version = "0.1.0";
+    description = "HC128 random number generator\n";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "05agb75j87yp7y1zk8yf7bpm66hc0673r3dlypn0kazynr6fdgkz";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
+    ]);
+  };
+  features_.rand_hc."0.1.0" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_hc."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_hc."0.1.0".rand_core}".default or false);
+    rand_hc."0.1.0".default = (f.rand_hc."0.1.0".default or true);
+  }) [
+    (features_.rand_core."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_isaac-0.1.1
+
+  crates.rand_isaac."0.1.1" = deps: { features?(features_.rand_isaac."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_isaac";
+    version = "0.1.1";
+    description = "ISAAC random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "10hhdh5b5sa03s6b63y9bafm956jwilx41s71jbrzl63ccx8lxdq";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_isaac"."0.1.1"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_isaac"."0.1.1" or {});
+  };
+  features_.rand_isaac."0.1.1" = deps: f: updateFeatures f (rec {
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand_isaac."0.1.1".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}"."serde1" or false) ||
+        (rand_isaac."0.1.1"."serde1" or false) ||
+        (f."rand_isaac"."0.1.1"."serde1" or false); }
+      { "${deps.rand_isaac."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}".default or false); }
+    ];
+    rand_isaac = fold recursiveUpdate {} [
+      { "0.1.1"."serde" =
+        (f.rand_isaac."0.1.1"."serde" or false) ||
+        (f.rand_isaac."0.1.1".serde1 or false) ||
+        (rand_isaac."0.1.1"."serde1" or false); }
+      { "0.1.1"."serde_derive" =
+        (f.rand_isaac."0.1.1"."serde_derive" or false) ||
+        (f.rand_isaac."0.1.1".serde1 or false) ||
+        (rand_isaac."0.1.1"."serde1" or false); }
+      { "0.1.1".default = (f.rand_isaac."0.1.1".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_isaac"."0.1.1"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_jitter-0.1.3
+
+  crates.rand_jitter."0.1.3" = deps: { features?(features_.rand_jitter."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "rand_jitter";
+    version = "0.1.3";
+    description = "Random number generator based on timing jitter";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "1cb4q73rmh1inlx3liy6rabapcqh6p6c1plsd2lxw6dmi67d1qc3";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_jitter"."0.1.3"."rand_core"}" deps)
+    ])
+      ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([
+      (crates."libc"."${deps."rand_jitter"."0.1.3"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."rand_jitter"."0.1.3"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."rand_jitter"."0.1.3" or {});
+  };
+  features_.rand_jitter."0.1.3" = deps: f: updateFeatures f (rec {
+    libc."${deps.rand_jitter."0.1.3".libc}".default = true;
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand_jitter."0.1.3".rand_core}"."std" =
+        (f.rand_core."${deps.rand_jitter."0.1.3".rand_core}"."std" or false) ||
+        (rand_jitter."0.1.3"."std" or false) ||
+        (f."rand_jitter"."0.1.3"."std" or false); }
+      { "${deps.rand_jitter."0.1.3".rand_core}".default = true; }
+    ];
+    rand_jitter."0.1.3".default = (f.rand_jitter."0.1.3".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.rand_jitter."0.1.3".winapi}"."profileapi" = true; }
+      { "${deps.rand_jitter."0.1.3".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_jitter"."0.1.3"."rand_core"}" deps)
+    (features_.libc."${deps."rand_jitter"."0.1.3"."libc"}" deps)
+    (features_.winapi."${deps."rand_jitter"."0.1.3"."winapi"}" deps)
+  ];
+
+
+# end
+# rand_pcg-0.1.2
+
+  crates.rand_pcg."0.1.2" = deps: { features?(features_.rand_pcg."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "rand_pcg";
+    version = "0.1.2";
+    description = "Selected PCG random number generators\n";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "04qgi2ai2z42li5h4aawvxbpnlqyjfnipz9d6k73mdnl6p1xq938";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_pcg"."0.1.2"."rand_core"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."autocfg"."${deps."rand_pcg"."0.1.2"."autocfg"}" deps)
+    ]);
+    features = mkFeatures (features."rand_pcg"."0.1.2" or {});
+  };
+  features_.rand_pcg."0.1.2" = deps: f: updateFeatures f (rec {
+    autocfg."${deps.rand_pcg."0.1.2".autocfg}".default = true;
+    rand_core."${deps.rand_pcg."0.1.2".rand_core}".default = true;
+    rand_pcg = fold recursiveUpdate {} [
+      { "0.1.2"."serde" =
+        (f.rand_pcg."0.1.2"."serde" or false) ||
+        (f.rand_pcg."0.1.2".serde1 or false) ||
+        (rand_pcg."0.1.2"."serde1" or false); }
+      { "0.1.2"."serde_derive" =
+        (f.rand_pcg."0.1.2"."serde_derive" or false) ||
+        (f.rand_pcg."0.1.2".serde1 or false) ||
+        (rand_pcg."0.1.2"."serde1" or false); }
+      { "0.1.2".default = (f.rand_pcg."0.1.2".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_pcg"."0.1.2"."rand_core"}" deps)
+    (features_.autocfg."${deps."rand_pcg"."0.1.2"."autocfg"}" deps)
+  ];
+
+
+# end
+# rand_xorshift-0.1.1
+
+  crates.rand_xorshift."0.1.1" = deps: { features?(features_.rand_xorshift."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_xorshift";
+    version = "0.1.1";
+    description = "Xorshift random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "0v365c4h4lzxwz5k5kp9m0661s0sss7ylv74if0xb4svis9sswnn";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_xorshift"."0.1.1"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_xorshift"."0.1.1" or {});
+  };
+  features_.rand_xorshift."0.1.1" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_xorshift."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_xorshift."0.1.1".rand_core}".default or false);
+    rand_xorshift = fold recursiveUpdate {} [
+      { "0.1.1"."serde" =
+        (f.rand_xorshift."0.1.1"."serde" or false) ||
+        (f.rand_xorshift."0.1.1".serde1 or false) ||
+        (rand_xorshift."0.1.1"."serde1" or false); }
+      { "0.1.1"."serde_derive" =
+        (f.rand_xorshift."0.1.1"."serde_derive" or false) ||
+        (f.rand_xorshift."0.1.1".serde1 or false) ||
+        (rand_xorshift."0.1.1"."serde1" or false); }
+      { "0.1.1".default = (f.rand_xorshift."0.1.1".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_xorshift"."0.1.1"."rand_core"}" deps)
+  ];
+
+
+# end
+# rawpointer-0.1.0
+
+  crates.rawpointer."0.1.0" = deps: { features?(features_.rawpointer."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rawpointer";
+    version = "0.1.0";
+    description = "Extra methods for raw pointers.\n\nFor example `.post_inc()` and `.pre_dec()` (c.f. `ptr++` and `--ptr`) and\n`ptrdistance`.\n";
+    authors = [ "bluss" ];
+    sha256 = "0hblv2cv310ixf5f1jw4nk9w5pb95wh4dwqyjv07g2xrshbw6j04";
+  };
+  features_.rawpointer."0.1.0" = deps: f: updateFeatures f (rec {
+    rawpointer."0.1.0".default = (f.rawpointer."0.1.0".default or true);
+  }) [];
+
+
+# end
+# redox_syscall-0.1.54
+
+  crates.redox_syscall."0.1.54" = deps: { features?(features_.redox_syscall."0.1.54" deps {}) }: buildRustCrate {
+    crateName = "redox_syscall";
+    version = "0.1.54";
+    description = "A Rust library to access raw Redox system calls";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "1ndcp7brnvii87ndcd34fk846498r07iznphkslcy0shic9cp4rr";
+    libName = "syscall";
+  };
+  features_.redox_syscall."0.1.54" = deps: f: updateFeatures f (rec {
+    redox_syscall."0.1.54".default = (f.redox_syscall."0.1.54".default or true);
+  }) [];
+
+
+# end
+# regex-1.1.6
+
+  crates.regex."1.1.6" = deps: { features?(features_.regex."1.1.6" deps {}) }: buildRustCrate {
+    crateName = "regex";
+    version = "1.1.6";
+    description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1yynvabg03m5f65qxcw70qckkfjwi9xyfpjdp6yq7pk0xf0ydc0b";
+    dependencies = mapFeatures features ([
+      (crates."aho_corasick"."${deps."regex"."1.1.6"."aho_corasick"}" deps)
+      (crates."memchr"."${deps."regex"."1.1.6"."memchr"}" deps)
+      (crates."regex_syntax"."${deps."regex"."1.1.6"."regex_syntax"}" deps)
+      (crates."thread_local"."${deps."regex"."1.1.6"."thread_local"}" deps)
+      (crates."utf8_ranges"."${deps."regex"."1.1.6"."utf8_ranges"}" deps)
+    ]);
+    features = mkFeatures (features."regex"."1.1.6" or {});
+  };
+  features_.regex."1.1.6" = deps: f: updateFeatures f (rec {
+    aho_corasick."${deps.regex."1.1.6".aho_corasick}".default = true;
+    memchr."${deps.regex."1.1.6".memchr}".default = true;
+    regex = fold recursiveUpdate {} [
+      { "1.1.6"."pattern" =
+        (f.regex."1.1.6"."pattern" or false) ||
+        (f.regex."1.1.6".unstable or false) ||
+        (regex."1.1.6"."unstable" or false); }
+      { "1.1.6"."use_std" =
+        (f.regex."1.1.6"."use_std" or false) ||
+        (f.regex."1.1.6".default or false) ||
+        (regex."1.1.6"."default" or false); }
+      { "1.1.6".default = (f.regex."1.1.6".default or true); }
+    ];
+    regex_syntax."${deps.regex."1.1.6".regex_syntax}".default = true;
+    thread_local."${deps.regex."1.1.6".thread_local}".default = true;
+    utf8_ranges."${deps.regex."1.1.6".utf8_ranges}".default = true;
+  }) [
+    (features_.aho_corasick."${deps."regex"."1.1.6"."aho_corasick"}" deps)
+    (features_.memchr."${deps."regex"."1.1.6"."memchr"}" deps)
+    (features_.regex_syntax."${deps."regex"."1.1.6"."regex_syntax"}" deps)
+    (features_.thread_local."${deps."regex"."1.1.6"."thread_local"}" deps)
+    (features_.utf8_ranges."${deps."regex"."1.1.6"."utf8_ranges"}" deps)
+  ];
+
+
+# end
+# regex-syntax-0.6.6
+
+  crates.regex_syntax."0.6.6" = deps: { features?(features_.regex_syntax."0.6.6" deps {}) }: buildRustCrate {
+    crateName = "regex-syntax";
+    version = "0.6.6";
+    description = "A regular expression parser.";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1cjrdc3affa3rjfaxkp91xnf9k0fsqn9z4xqc280vv39nvrl8p8b";
+    dependencies = mapFeatures features ([
+      (crates."ucd_util"."${deps."regex_syntax"."0.6.6"."ucd_util"}" deps)
+    ]);
+  };
+  features_.regex_syntax."0.6.6" = deps: f: updateFeatures f (rec {
+    regex_syntax."0.6.6".default = (f.regex_syntax."0.6.6".default or true);
+    ucd_util."${deps.regex_syntax."0.6.6".ucd_util}".default = true;
+  }) [
+    (features_.ucd_util."${deps."regex_syntax"."0.6.6"."ucd_util"}" deps)
+  ];
+
+
+# end
+# rustc-demangle-0.1.14
+
+  crates.rustc_demangle."0.1.14" = deps: { features?(features_.rustc_demangle."0.1.14" deps {}) }: buildRustCrate {
+    crateName = "rustc-demangle";
+    version = "0.1.14";
+    description = "Rust compiler symbol demangling.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "07vl0ms3a27fpry9kh9piv08w7d51i5m7bgphk7pw4jygwzdy31f";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."rustc_demangle"."0.1.14" or {});
+  };
+  features_.rustc_demangle."0.1.14" = deps: f: updateFeatures f (rec {
+    rustc_demangle = fold recursiveUpdate {} [
+      { "0.1.14"."compiler_builtins" =
+        (f.rustc_demangle."0.1.14"."compiler_builtins" or false) ||
+        (f.rustc_demangle."0.1.14".rustc-dep-of-std or false) ||
+        (rustc_demangle."0.1.14"."rustc-dep-of-std" or false); }
+      { "0.1.14"."core" =
+        (f.rustc_demangle."0.1.14"."core" or false) ||
+        (f.rustc_demangle."0.1.14".rustc-dep-of-std or false) ||
+        (rustc_demangle."0.1.14"."rustc-dep-of-std" or false); }
+      { "0.1.14".default = (f.rustc_demangle."0.1.14".default or true); }
+    ];
+  }) [];
+
+
+# end
+# rustc-workspace-hack-1.0.0
+
+  crates.rustc_workspace_hack."1.0.0" = deps: { features?(features_.rustc_workspace_hack."1.0.0" deps {}) }: buildRustCrate {
+    crateName = "rustc-workspace-hack";
+    version = "1.0.0";
+    description = "Hack for the compiler's own build system\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0arpdp472j4lrwxbmf4z21d8kh95rbbphnzccf605pqq2rvczv3p";
+  };
+  features_.rustc_workspace_hack."1.0.0" = deps: f: updateFeatures f (rec {
+    rustc_workspace_hack."1.0.0".default = (f.rustc_workspace_hack."1.0.0".default or true);
+  }) [];
+
+
+# end
+# rustc_version-0.2.3
+
+  crates.rustc_version."0.2.3" = deps: { features?(features_.rustc_version."0.2.3" deps {}) }: buildRustCrate {
+    crateName = "rustc_version";
+    version = "0.2.3";
+    description = "A library for querying the version of a installed rustc compiler";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0rgwzbgs3i9fqjm1p4ra3n7frafmpwl29c8lw85kv1rxn7n2zaa7";
+    dependencies = mapFeatures features ([
+      (crates."semver"."${deps."rustc_version"."0.2.3"."semver"}" deps)
+    ]);
+  };
+  features_.rustc_version."0.2.3" = deps: f: updateFeatures f (rec {
+    rustc_version."0.2.3".default = (f.rustc_version."0.2.3".default or true);
+    semver."${deps.rustc_version."0.2.3".semver}".default = true;
+  }) [
+    (features_.semver."${deps."rustc_version"."0.2.3"."semver"}" deps)
+  ];
+
+
+# end
+# rustfix-0.4.5
+
+  crates.rustfix."0.4.5" = deps: { features?(features_.rustfix."0.4.5" deps {}) }: buildRustCrate {
+    crateName = "rustfix";
+    version = "0.4.5";
+    description = "Automatically apply the suggestions made by rustc";
+    authors = [ "Pascal Hertleif <killercup@gmail.com>" "Oliver Schneider <oli-obk@users.noreply.github.com>" ];
+    sha256 = "16nz3wbxspl6awwy3k3ym8yqiyq1jad82m2cf8mrz5h3arfp208l";
+    dependencies = mapFeatures features ([
+      (crates."failure"."${deps."rustfix"."0.4.5"."failure"}" deps)
+      (crates."log"."${deps."rustfix"."0.4.5"."log"}" deps)
+      (crates."serde"."${deps."rustfix"."0.4.5"."serde"}" deps)
+      (crates."serde_derive"."${deps."rustfix"."0.4.5"."serde_derive"}" deps)
+      (crates."serde_json"."${deps."rustfix"."0.4.5"."serde_json"}" deps)
+    ]);
+  };
+  features_.rustfix."0.4.5" = deps: f: updateFeatures f (rec {
+    failure."${deps.rustfix."0.4.5".failure}".default = true;
+    log."${deps.rustfix."0.4.5".log}".default = true;
+    rustfix."0.4.5".default = (f.rustfix."0.4.5".default or true);
+    serde."${deps.rustfix."0.4.5".serde}".default = true;
+    serde_derive."${deps.rustfix."0.4.5".serde_derive}".default = true;
+    serde_json."${deps.rustfix."0.4.5".serde_json}".default = true;
+  }) [
+    (features_.failure."${deps."rustfix"."0.4.5"."failure"}" deps)
+    (features_.log."${deps."rustfix"."0.4.5"."log"}" deps)
+    (features_.serde."${deps."rustfix"."0.4.5"."serde"}" deps)
+    (features_.serde_derive."${deps."rustfix"."0.4.5"."serde_derive"}" deps)
+    (features_.serde_json."${deps."rustfix"."0.4.5"."serde_json"}" deps)
+  ];
+
+
+# end
+# same-file-1.0.4
+
+  crates.same_file."1.0.4" = deps: { features?(features_.same_file."1.0.4" deps {}) }: buildRustCrate {
+    crateName = "same-file";
+    version = "1.0.4";
+    description = "A simple crate for determining whether two file paths point to the same file.\n";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1zs244ssl381cqlnh2g42g3i60qip4z72i26z44d6kas3y3gy77q";
+    dependencies = (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi_util"."${deps."same_file"."1.0.4"."winapi_util"}" deps)
+    ]) else []);
+  };
+  features_.same_file."1.0.4" = deps: f: updateFeatures f (rec {
+    same_file."1.0.4".default = (f.same_file."1.0.4".default or true);
+    winapi_util."${deps.same_file."1.0.4".winapi_util}".default = true;
+  }) [
+    (features_.winapi_util."${deps."same_file"."1.0.4"."winapi_util"}" deps)
+  ];
+
+
+# end
+# schannel-0.1.15
+
+  crates.schannel."0.1.15" = deps: { features?(features_.schannel."0.1.15" deps {}) }: buildRustCrate {
+    crateName = "schannel";
+    version = "0.1.15";
+    description = "Schannel bindings for rust, allowing SSL/TLS (e.g. https) without openssl";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" "Steffen Butzer <steffen.butzer@outlook.com>" ];
+    sha256 = "1x9i0z9y8n5cg23ppyglgqdlz6rwcv2a489m5qpfk6l2ib8a1jdv";
+    dependencies = mapFeatures features ([
+      (crates."lazy_static"."${deps."schannel"."0.1.15"."lazy_static"}" deps)
+      (crates."winapi"."${deps."schannel"."0.1.15"."winapi"}" deps)
+    ]);
+  };
+  features_.schannel."0.1.15" = deps: f: updateFeatures f (rec {
+    lazy_static."${deps.schannel."0.1.15".lazy_static}".default = true;
+    schannel."0.1.15".default = (f.schannel."0.1.15".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.schannel."0.1.15".winapi}"."lmcons" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."minschannel" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."schannel" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."securitybaseapi" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."sspi" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."sysinfoapi" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."timezoneapi" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."winbase" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."wincrypt" = true; }
+      { "${deps.schannel."0.1.15".winapi}"."winerror" = true; }
+      { "${deps.schannel."0.1.15".winapi}".default = true; }
+    ];
+  }) [
+    (features_.lazy_static."${deps."schannel"."0.1.15"."lazy_static"}" deps)
+    (features_.winapi."${deps."schannel"."0.1.15"."winapi"}" deps)
+  ];
+
+
+# end
+# scopeguard-0.3.3
+
+  crates.scopeguard."0.3.3" = deps: { features?(features_.scopeguard."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "scopeguard";
+    version = "0.3.3";
+    description = "A RAII scope guard that will run a given closure when it goes out of scope,\neven if the code between panics (assuming unwinding panic).\n\nDefines the macros `defer!` and `defer_on_unwind!`; the latter only runs\nif the scope is extited through unwinding on panic.\n";
+    authors = [ "bluss" ];
+    sha256 = "0i1l013csrqzfz6c68pr5pi01hg5v5yahq8fsdmaxy6p8ygsjf3r";
+    features = mkFeatures (features."scopeguard"."0.3.3" or {});
+  };
+  features_.scopeguard."0.3.3" = deps: f: updateFeatures f (rec {
+    scopeguard = fold recursiveUpdate {} [
+      { "0.3.3"."use_std" =
+        (f.scopeguard."0.3.3"."use_std" or false) ||
+        (f.scopeguard."0.3.3".default or false) ||
+        (scopeguard."0.3.3"."default" or false); }
+      { "0.3.3".default = (f.scopeguard."0.3.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# semver-0.9.0
+
+  crates.semver."0.9.0" = deps: { features?(features_.semver."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "semver";
+    version = "0.9.0";
+    description = "Semantic version parsing and comparison.\n";
+    authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
+    sha256 = "0azak2lb2wc36s3x15az886kck7rpnksrw14lalm157rg9sc9z63";
+    dependencies = mapFeatures features ([
+      (crates."semver_parser"."${deps."semver"."0.9.0"."semver_parser"}" deps)
+    ]
+      ++ (if features.semver."0.9.0".serde or false then [ (crates.serde."${deps."semver"."0.9.0".serde}" deps) ] else []));
+    features = mkFeatures (features."semver"."0.9.0" or {});
+  };
+  features_.semver."0.9.0" = deps: f: updateFeatures f (rec {
+    semver = fold recursiveUpdate {} [
+      { "0.9.0"."serde" =
+        (f.semver."0.9.0"."serde" or false) ||
+        (f.semver."0.9.0".ci or false) ||
+        (semver."0.9.0"."ci" or false); }
+      { "0.9.0".default = (f.semver."0.9.0".default or true); }
+    ];
+    semver_parser."${deps.semver."0.9.0".semver_parser}".default = true;
+    serde."${deps.semver."0.9.0".serde}".default = true;
+  }) [
+    (features_.semver_parser."${deps."semver"."0.9.0"."semver_parser"}" deps)
+    (features_.serde."${deps."semver"."0.9.0"."serde"}" deps)
+  ];
+
+
+# end
+# semver-parser-0.7.0
+
+  crates.semver_parser."0.7.0" = deps: { features?(features_.semver_parser."0.7.0" deps {}) }: buildRustCrate {
+    crateName = "semver-parser";
+    version = "0.7.0";
+    description = "Parsing of the semver spec.\n";
+    authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
+    sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
+  };
+  features_.semver_parser."0.7.0" = deps: f: updateFeatures f (rec {
+    semver_parser."0.7.0".default = (f.semver_parser."0.7.0".default or true);
+  }) [];
+
+
+# end
+# serde-1.0.90
+
+  crates.serde."1.0.90" = deps: { features?(features_.serde."1.0.90" deps {}) }: buildRustCrate {
+    crateName = "serde";
+    version = "1.0.90";
+    description = "A generic serialization/deserialization framework";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "10b6n74m1dvb667vrn1db47ncb4h0mkqbg1dsamqjvv5vl5b5j56";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.serde."1.0.90".serde_derive or false then [ (crates.serde_derive."${deps."serde"."1.0.90".serde_derive}" deps) ] else []));
+    features = mkFeatures (features."serde"."1.0.90" or {});
+  };
+  features_.serde."1.0.90" = deps: f: updateFeatures f (rec {
+    serde = fold recursiveUpdate {} [
+      { "1.0.90"."serde_derive" =
+        (f.serde."1.0.90"."serde_derive" or false) ||
+        (f.serde."1.0.90".derive or false) ||
+        (serde."1.0.90"."derive" or false); }
+      { "1.0.90"."std" =
+        (f.serde."1.0.90"."std" or false) ||
+        (f.serde."1.0.90".default or false) ||
+        (serde."1.0.90"."default" or false); }
+      { "1.0.90"."unstable" =
+        (f.serde."1.0.90"."unstable" or false) ||
+        (f.serde."1.0.90".alloc or false) ||
+        (serde."1.0.90"."alloc" or false); }
+      { "1.0.90".default = (f.serde."1.0.90".default or true); }
+    ];
+    serde_derive."${deps.serde."1.0.90".serde_derive}".default = true;
+  }) [
+    (features_.serde_derive."${deps."serde"."1.0.90"."serde_derive"}" deps)
+  ];
+
+
+# end
+# serde_derive-1.0.90
+
+  crates.serde_derive."1.0.90" = deps: { features?(features_.serde_derive."1.0.90" deps {}) }: buildRustCrate {
+    crateName = "serde_derive";
+    version = "1.0.90";
+    description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1m4xgyl8jj3mxj0wszminzc1qf2gbkj9dpl17vi95nwl6m7i157y";
+    procMacro = true;
+    dependencies = mapFeatures features ([
+      (crates."proc_macro2"."${deps."serde_derive"."1.0.90"."proc_macro2"}" deps)
+      (crates."quote"."${deps."serde_derive"."1.0.90"."quote"}" deps)
+      (crates."syn"."${deps."serde_derive"."1.0.90"."syn"}" deps)
+    ]);
+    features = mkFeatures (features."serde_derive"."1.0.90" or {});
+  };
+  features_.serde_derive."1.0.90" = deps: f: updateFeatures f (rec {
+    proc_macro2."${deps.serde_derive."1.0.90".proc_macro2}".default = true;
+    quote."${deps.serde_derive."1.0.90".quote}".default = true;
+    serde_derive."1.0.90".default = (f.serde_derive."1.0.90".default or true);
+    syn = fold recursiveUpdate {} [
+      { "${deps.serde_derive."1.0.90".syn}"."visit" = true; }
+      { "${deps.serde_derive."1.0.90".syn}".default = true; }
+    ];
+  }) [
+    (features_.proc_macro2."${deps."serde_derive"."1.0.90"."proc_macro2"}" deps)
+    (features_.quote."${deps."serde_derive"."1.0.90"."quote"}" deps)
+    (features_.syn."${deps."serde_derive"."1.0.90"."syn"}" deps)
+  ];
+
+
+# end
+# serde_ignored-0.0.4
+
+  crates.serde_ignored."0.0.4" = deps: { features?(features_.serde_ignored."0.0.4" deps {}) }: buildRustCrate {
+    crateName = "serde_ignored";
+    version = "0.0.4";
+    description = "Find out about keys that are ignored when deserializing data";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1ljsywm58p1s645rg2l9mchc5xa6mzxjpm8ag8nc2b74yp09h4jh";
+    dependencies = mapFeatures features ([
+      (crates."serde"."${deps."serde_ignored"."0.0.4"."serde"}" deps)
+    ]);
+  };
+  features_.serde_ignored."0.0.4" = deps: f: updateFeatures f (rec {
+    serde."${deps.serde_ignored."0.0.4".serde}".default = true;
+    serde_ignored."0.0.4".default = (f.serde_ignored."0.0.4".default or true);
+  }) [
+    (features_.serde."${deps."serde_ignored"."0.0.4"."serde"}" deps)
+  ];
+
+
+# end
+# shell-escape-0.1.4
+
+  crates.shell_escape."0.1.4" = deps: { features?(features_.shell_escape."0.1.4" deps {}) }: buildRustCrate {
+    crateName = "shell-escape";
+    version = "0.1.4";
+    description = "Escape characters that may have a special meaning in a shell";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "02ik28la039b8anx0sx8mbdp2yx66m64mjrjyy6x0dgpbmfxmc24";
+  };
+  features_.shell_escape."0.1.4" = deps: f: updateFeatures f (rec {
+    shell_escape."0.1.4".default = (f.shell_escape."0.1.4".default or true);
+  }) [];
+
+
+# end
+# sized-chunks-0.1.3
+
+  crates.sized_chunks."0.1.3" = deps: { features?(features_.sized_chunks."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "sized-chunks";
+    version = "0.1.3";
+    description = "Efficient sized chunk datatypes";
+    authors = [ "Bodil Stokke <bodil@bodil.org>" ];
+    edition = "2018";
+    sha256 = "0qp5yvy2kqpk5qhiq3ybwynv740j3wv97ar1kjx96hmmbman142i";
+    dependencies = mapFeatures features ([
+      (crates."typenum"."${deps."sized_chunks"."0.1.3"."typenum"}" deps)
+    ]);
+  };
+  features_.sized_chunks."0.1.3" = deps: f: updateFeatures f (rec {
+    sized_chunks."0.1.3".default = (f.sized_chunks."0.1.3".default or true);
+    typenum."${deps.sized_chunks."0.1.3".typenum}".default = true;
+  }) [
+    (features_.typenum."${deps."sized_chunks"."0.1.3"."typenum"}" deps)
+  ];
+
+
+# end
+# socket2-0.3.8
+
+  crates.socket2."0.3.8" = deps: { features?(features_.socket2."0.3.8" deps {}) }: buildRustCrate {
+    crateName = "socket2";
+    version = "0.3.8";
+    description = "Utilities for handling networking sockets with a maximal amount of configuration\npossible intended.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1a71m20jxmf9kqqinksphc7wj1j7q672q29cpza7p9siyzyfx598";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") || kernel == "redox" then mapFeatures features ([
+      (crates."cfg_if"."${deps."socket2"."0.3.8"."cfg_if"}" deps)
+      (crates."libc"."${deps."socket2"."0.3.8"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."socket2"."0.3.8"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."socket2"."0.3.8"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."socket2"."0.3.8" or {});
+  };
+  features_.socket2."0.3.8" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.socket2."0.3.8".cfg_if}".default = true;
+    libc."${deps.socket2."0.3.8".libc}".default = true;
+    redox_syscall."${deps.socket2."0.3.8".redox_syscall}".default = true;
+    socket2."0.3.8".default = (f.socket2."0.3.8".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.socket2."0.3.8".winapi}"."handleapi" = true; }
+      { "${deps.socket2."0.3.8".winapi}"."minwindef" = true; }
+      { "${deps.socket2."0.3.8".winapi}"."ws2def" = true; }
+      { "${deps.socket2."0.3.8".winapi}"."ws2ipdef" = true; }
+      { "${deps.socket2."0.3.8".winapi}"."ws2tcpip" = true; }
+      { "${deps.socket2."0.3.8".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."socket2"."0.3.8"."cfg_if"}" deps)
+    (features_.libc."${deps."socket2"."0.3.8"."libc"}" deps)
+    (features_.redox_syscall."${deps."socket2"."0.3.8"."redox_syscall"}" deps)
+    (features_.winapi."${deps."socket2"."0.3.8"."winapi"}" deps)
+  ];
+
+
+# end
+# strsim-0.8.0
+
+  crates.strsim."0.8.0" = deps: { features?(features_.strsim."0.8.0" deps {}) }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.8.0";
+    description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "0d3jsdz22wgjyxdakqnvdgmwjdvkximz50d9zfk4qlalw635qcvy";
+  };
+  features_.strsim."0.8.0" = deps: f: updateFeatures f (rec {
+    strsim."0.8.0".default = (f.strsim."0.8.0".default or true);
+  }) [];
+
+
+# end
+# strsim-0.9.1
+
+  crates.strsim."0.9.1" = deps: { features?(features_.strsim."0.9.1" deps {}) }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.9.1";
+    description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "0lpi3lrq6z5slay72ir1sg1ki0bvr3qia82lzx937gpc999i6bah";
+    dependencies = mapFeatures features ([
+      (crates."hashbrown"."${deps."strsim"."0.9.1"."hashbrown"}" deps)
+      (crates."ndarray"."${deps."strsim"."0.9.1"."ndarray"}" deps)
+    ]);
+  };
+  features_.strsim."0.9.1" = deps: f: updateFeatures f (rec {
+    hashbrown."${deps.strsim."0.9.1".hashbrown}".default = true;
+    ndarray."${deps.strsim."0.9.1".ndarray}".default = true;
+    strsim."0.9.1".default = (f.strsim."0.9.1".default or true);
+  }) [
+    (features_.hashbrown."${deps."strsim"."0.9.1"."hashbrown"}" deps)
+    (features_.ndarray."${deps."strsim"."0.9.1"."ndarray"}" deps)
+  ];
+
+
+# end
+# syn-0.15.32
+
+  crates.syn."0.15.32" = deps: { features?(features_.syn."0.15.32" deps {}) }: buildRustCrate {
+    crateName = "syn";
+    version = "0.15.32";
+    description = "Parser for Rust source code";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1xq1mbns8zyg2ls5927wqi7i7hn2y933czbqqds648gcdqccsqb0";
+    dependencies = mapFeatures features ([
+      (crates."proc_macro2"."${deps."syn"."0.15.32"."proc_macro2"}" deps)
+      (crates."unicode_xid"."${deps."syn"."0.15.32"."unicode_xid"}" deps)
+    ]
+      ++ (if features.syn."0.15.32".quote or false then [ (crates.quote."${deps."syn"."0.15.32".quote}" deps) ] else []));
+    features = mkFeatures (features."syn"."0.15.32" or {});
+  };
+  features_.syn."0.15.32" = deps: f: updateFeatures f (rec {
+    proc_macro2 = fold recursiveUpdate {} [
+      { "${deps.syn."0.15.32".proc_macro2}"."proc-macro" =
+        (f.proc_macro2."${deps.syn."0.15.32".proc_macro2}"."proc-macro" or false) ||
+        (syn."0.15.32"."proc-macro" or false) ||
+        (f."syn"."0.15.32"."proc-macro" or false); }
+      { "${deps.syn."0.15.32".proc_macro2}".default = (f.proc_macro2."${deps.syn."0.15.32".proc_macro2}".default or false); }
+    ];
+    quote = fold recursiveUpdate {} [
+      { "${deps.syn."0.15.32".quote}"."proc-macro" =
+        (f.quote."${deps.syn."0.15.32".quote}"."proc-macro" or false) ||
+        (syn."0.15.32"."proc-macro" or false) ||
+        (f."syn"."0.15.32"."proc-macro" or false); }
+      { "${deps.syn."0.15.32".quote}".default = (f.quote."${deps.syn."0.15.32".quote}".default or false); }
+    ];
+    syn = fold recursiveUpdate {} [
+      { "0.15.32"."clone-impls" =
+        (f.syn."0.15.32"."clone-impls" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."derive" =
+        (f.syn."0.15.32"."derive" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."parsing" =
+        (f.syn."0.15.32"."parsing" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."printing" =
+        (f.syn."0.15.32"."printing" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."proc-macro" =
+        (f.syn."0.15.32"."proc-macro" or false) ||
+        (f.syn."0.15.32".default or false) ||
+        (syn."0.15.32"."default" or false); }
+      { "0.15.32"."quote" =
+        (f.syn."0.15.32"."quote" or false) ||
+        (f.syn."0.15.32".printing or false) ||
+        (syn."0.15.32"."printing" or false); }
+      { "0.15.32".default = (f.syn."0.15.32".default or true); }
+    ];
+    unicode_xid."${deps.syn."0.15.32".unicode_xid}".default = true;
+  }) [
+    (features_.proc_macro2."${deps."syn"."0.15.32"."proc_macro2"}" deps)
+    (features_.quote."${deps."syn"."0.15.32"."quote"}" deps)
+    (features_.unicode_xid."${deps."syn"."0.15.32"."unicode_xid"}" deps)
+  ];
+
+
+# end
+# tar-0.4.22
+
+  crates.tar."0.4.22" = deps: { features?(features_.tar."0.4.22" deps {}) }: buildRustCrate {
+    crateName = "tar";
+    version = "0.4.22";
+    description = "A Rust implementation of a TAR file reader and writer. This library does not\ncurrently handle compression, but it is abstract over all I/O readers and\nwriters. Additionally, great lengths are taken to ensure that the entire\ncontents are never required to be entirely resident in memory all at once.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1y2b5av1ckf7v7rw1p59fjddn2jwzv0xr69lgdd4l41g43c3zq9j";
+    dependencies = mapFeatures features ([
+      (crates."filetime"."${deps."tar"."0.4.22"."filetime"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."tar"."0.4.22"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."tar"."0.4.22"."libc"}" deps)
+    ]) else []);
+  };
+  features_.tar."0.4.22" = deps: f: updateFeatures f (rec {
+    filetime."${deps.tar."0.4.22".filetime}".default = true;
+    libc."${deps.tar."0.4.22".libc}".default = true;
+    redox_syscall."${deps.tar."0.4.22".redox_syscall}".default = true;
+    tar = fold recursiveUpdate {} [
+      { "0.4.22"."xattr" =
+        (f.tar."0.4.22"."xattr" or false) ||
+        (f.tar."0.4.22".default or false) ||
+        (tar."0.4.22"."default" or false); }
+      { "0.4.22".default = (f.tar."0.4.22".default or true); }
+    ];
+  }) [
+    (features_.filetime."${deps."tar"."0.4.22"."filetime"}" deps)
+    (features_.redox_syscall."${deps."tar"."0.4.22"."redox_syscall"}" deps)
+    (features_.libc."${deps."tar"."0.4.22"."libc"}" deps)
+  ];
+
+
+# end
+# tempfile-3.0.7
+
+  crates.tempfile."3.0.7" = deps: { features?(features_.tempfile."3.0.7" deps {}) }: buildRustCrate {
+    crateName = "tempfile";
+    version = "3.0.7";
+    description = "A library for managing temporary files and directories.\n";
+    authors = [ "Steven Allen <steven@stebalien.com>" "The Rust Project Developers" "Ashley Mannix <ashleymannix@live.com.au>" "Jason White <jasonaw0@gmail.com>" ];
+    sha256 = "19h7ch8fvisxrrmabcnhlfj6b8vg34zaw8491x141p0n0727niaf";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."tempfile"."3.0.7"."cfg_if"}" deps)
+      (crates."rand"."${deps."tempfile"."3.0.7"."rand"}" deps)
+      (crates."remove_dir_all"."${deps."tempfile"."3.0.7"."remove_dir_all"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."tempfile"."3.0.7"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."tempfile"."3.0.7"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."tempfile"."3.0.7"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.tempfile."3.0.7" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.tempfile."3.0.7".cfg_if}".default = true;
+    libc."${deps.tempfile."3.0.7".libc}".default = true;
+    rand."${deps.tempfile."3.0.7".rand}".default = true;
+    redox_syscall."${deps.tempfile."3.0.7".redox_syscall}".default = true;
+    remove_dir_all."${deps.tempfile."3.0.7".remove_dir_all}".default = true;
+    tempfile."3.0.7".default = (f.tempfile."3.0.7".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.tempfile."3.0.7".winapi}"."fileapi" = true; }
+      { "${deps.tempfile."3.0.7".winapi}"."handleapi" = true; }
+      { "${deps.tempfile."3.0.7".winapi}"."winbase" = true; }
+      { "${deps.tempfile."3.0.7".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."tempfile"."3.0.7"."cfg_if"}" deps)
+    (features_.rand."${deps."tempfile"."3.0.7"."rand"}" deps)
+    (features_.remove_dir_all."${deps."tempfile"."3.0.7"."remove_dir_all"}" deps)
+    (features_.redox_syscall."${deps."tempfile"."3.0.7"."redox_syscall"}" deps)
+    (features_.libc."${deps."tempfile"."3.0.7"."libc"}" deps)
+    (features_.winapi."${deps."tempfile"."3.0.7"."winapi"}" deps)
+  ];
+
+
+# end
+# textwrap-0.11.0
+
+  crates.textwrap."0.11.0" = deps: { features?(features_.textwrap."0.11.0" deps {}) }: buildRustCrate {
+    crateName = "textwrap";
+    version = "0.11.0";
+    description = "Textwrap is a small library for word wrapping, indenting, and\ndedenting strings.\n\nYou can use it to format strings (such as help and error messages) for\ndisplay in commandline applications. It is designed to be efficient\nand handle Unicode characters correctly.\n";
+    authors = [ "Martin Geisler <martin@geisler.net>" ];
+    sha256 = "0s25qh49n7kjayrdj4q3v0jk0jc6vy88rdw0bvgfxqlscpqpxi7d";
+    dependencies = mapFeatures features ([
+      (crates."unicode_width"."${deps."textwrap"."0.11.0"."unicode_width"}" deps)
+    ]);
+  };
+  features_.textwrap."0.11.0" = deps: f: updateFeatures f (rec {
+    textwrap."0.11.0".default = (f.textwrap."0.11.0".default or true);
+    unicode_width."${deps.textwrap."0.11.0".unicode_width}".default = true;
+  }) [
+    (features_.unicode_width."${deps."textwrap"."0.11.0"."unicode_width"}" deps)
+  ];
+
+
+# end
+# typenum-1.10.0
+
+  crates.typenum."1.10.0" = deps: { features?(features_.typenum."1.10.0" deps {}) }: buildRustCrate {
+    crateName = "typenum";
+    version = "1.10.0";
+    description = "Typenum is a Rust library for type-level numbers evaluated at compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers, but its implementation is incomplete.";
+    authors = [ "Paho Lurie-Gregg <paho@paholg.com>" "Andre Bogus <bogusandre@gmail.com>" ];
+    sha256 = "1v2cgg0mlzkg5prs7swysckgk2ay6bpda8m83c2sn3z77dcsx3bc";
+    build = "build/main.rs";
+    features = mkFeatures (features."typenum"."1.10.0" or {});
+  };
+  features_.typenum."1.10.0" = deps: f: updateFeatures f (rec {
+    typenum."1.10.0".default = (f.typenum."1.10.0".default or true);
+  }) [];
+
+
+# end
+# url_serde-0.2.0
+
+  crates.url_serde."0.2.0" = deps: { features?(features_.url_serde."0.2.0" deps {}) }: buildRustCrate {
+    crateName = "url_serde";
+    version = "0.2.0";
+    description = "Serde support for URL types";
+    authors = [ "The rust-url developers" ];
+    sha256 = "07ry87rw0pi1da6b53f7s3f52wx3ihxbcgjd4ldspfv5xh6wipsg";
+    dependencies = mapFeatures features ([
+      (crates."serde"."${deps."url_serde"."0.2.0"."serde"}" deps)
+      (crates."url"."${deps."url_serde"."0.2.0"."url"}" deps)
+    ]);
+  };
+  features_.url_serde."0.2.0" = deps: f: updateFeatures f (rec {
+    serde."${deps.url_serde."0.2.0".serde}".default = true;
+    url."${deps.url_serde."0.2.0".url}".default = true;
+    url_serde."0.2.0".default = (f.url_serde."0.2.0".default or true);
+  }) [
+    (features_.serde."${deps."url_serde"."0.2.0"."serde"}" deps)
+    (features_.url."${deps."url_serde"."0.2.0"."url"}" deps)
+  ];
+
+
+# end
+# vcpkg-0.2.6
+
+  crates.vcpkg."0.2.6" = deps: { features?(features_.vcpkg."0.2.6" deps {}) }: buildRustCrate {
+    crateName = "vcpkg";
+    version = "0.2.6";
+    description = "A library to find native dependencies in a vcpkg tree at build\ntime in order to be used in Cargo build scripts.\n";
+    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
+    sha256 = "1ig6jqpzzl1z9vk4qywgpfr4hfbd8ny8frqsgm3r449wkc4n1i5x";
+  };
+  features_.vcpkg."0.2.6" = deps: f: updateFeatures f (rec {
+    vcpkg."0.2.6".default = (f.vcpkg."0.2.6".default or true);
+  }) [];
+
+
+# end
+# walkdir-2.2.7
+
+  crates.walkdir."2.2.7" = deps: { features?(features_.walkdir."2.2.7" deps {}) }: buildRustCrate {
+    crateName = "walkdir";
+    version = "2.2.7";
+    description = "Recursively walk a directory.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0wq3v28916kkla29yyi0g0xfc16apwx24py68049kriz3gjlig03";
+    dependencies = mapFeatures features ([
+      (crates."same_file"."${deps."walkdir"."2.2.7"."same_file"}" deps)
+    ])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."walkdir"."2.2.7"."winapi"}" deps)
+      (crates."winapi_util"."${deps."walkdir"."2.2.7"."winapi_util"}" deps)
+    ]) else []);
+  };
+  features_.walkdir."2.2.7" = deps: f: updateFeatures f (rec {
+    same_file."${deps.walkdir."2.2.7".same_file}".default = true;
+    walkdir."2.2.7".default = (f.walkdir."2.2.7".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.walkdir."2.2.7".winapi}"."std" = true; }
+      { "${deps.walkdir."2.2.7".winapi}"."winnt" = true; }
+      { "${deps.walkdir."2.2.7".winapi}".default = true; }
+    ];
+    winapi_util."${deps.walkdir."2.2.7".winapi_util}".default = true;
+  }) [
+    (features_.same_file."${deps."walkdir"."2.2.7"."same_file"}" deps)
+    (features_.winapi."${deps."walkdir"."2.2.7"."winapi"}" deps)
+    (features_.winapi_util."${deps."walkdir"."2.2.7"."winapi_util"}" deps)
+  ];
+
+
+# end
+# winapi-0.2.8
+
+  crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+  };
+  features_.winapi."0.2.8" = deps: f: updateFeatures f (rec {
+    winapi."0.2.8".default = (f.winapi."0.2.8".default or true);
+  }) [];
+
+
+# end
+# winapi-0.3.7
+
+  crates.winapi."0.3.7" = deps: { features?(features_.winapi."0.3.7" deps {}) }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.3.7";
+    description = "Raw FFI bindings for all of Windows API.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1k51gfkp0zqw7nj07y443mscs46icmdhld442s2073niap0kkdr8";
+    build = "build.rs";
+    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([
+      (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.7"."winapi_i686_pc_windows_gnu"}" deps)
+    ]) else [])
+      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([
+      (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.7"."winapi_x86_64_pc_windows_gnu"}" deps)
+    ]) else []);
+    features = mkFeatures (features."winapi"."0.3.7" or {});
+  };
+  features_.winapi."0.3.7" = deps: f: updateFeatures f (rec {
+    winapi = fold recursiveUpdate {} [
+      { "0.3.7"."impl-debug" =
+        (f.winapi."0.3.7"."impl-debug" or false) ||
+        (f.winapi."0.3.7".debug or false) ||
+        (winapi."0.3.7"."debug" or false); }
+      { "0.3.7".default = (f.winapi."0.3.7".default or true); }
+    ];
+    winapi_i686_pc_windows_gnu."${deps.winapi."0.3.7".winapi_i686_pc_windows_gnu}".default = true;
+    winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.7".winapi_x86_64_pc_windows_gnu}".default = true;
+  }) [
+    (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.7"."winapi_i686_pc_windows_gnu"}" deps)
+    (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.7"."winapi_x86_64_pc_windows_gnu"}" deps)
+  ];
+
+
+# end
+# winapi-build-0.1.1
+
+  crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    description = "Common code for build.rs in WinAPI -sys crates.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+  };
+  features_.winapi_build."0.1.1" = deps: f: updateFeatures f (rec {
+    winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true);
+  }) [];
+
+
+# end
+# adler32-1.0.3
+
+  crates.adler32."1.0.3" = deps: { features?(features_.adler32."1.0.3" deps {}) }: buildRustCrate {
+    crateName = "adler32";
+    version = "1.0.3";
+    description = "Minimal Adler32 implementation for Rust.";
+    authors = [ "Remi Rampin <remirampin@gmail.com>" ];
+    sha256 = "1z3mvjgw02mbqk98kizzibrca01d5wfkpazsrp3vkkv3i56pn6fb";
+  };
+  features_.adler32."1.0.3" = deps: f: updateFeatures f (rec {
+    adler32."1.0.3".default = (f.adler32."1.0.3".default or true);
+  }) [];
+
+
+# end
 }
diff --git a/pkgs/build-support/rust/default-crate-overrides.nix b/pkgs/build-support/rust/default-crate-overrides.nix
index 46b70ce6bac..c0b1797f73f 100644
--- a/pkgs/build-support/rust/default-crate-overrides.nix
+++ b/pkgs/build-support/rust/default-crate-overrides.nix
@@ -12,16 +12,17 @@ in
 
   cargo = attrs: {
     buildInputs = [ openssl zlib curl ]
-      ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ];
-    # TODO: buildRustCrate seems to use incorrect default inference
-    crateBin = [ {  name = "cargo"; path = "src/bin/cargo.rs"; } ];
+      ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ];
   };
 
   cargo-vendor = attrs: {
-    buildInputs = [ openssl zlib curl ];
-    # TODO: this defaults to cargo_vendor; needs to be cargo-vendor to
-    # be considered a cargo subcommand.
-    crateBin = [ { name = "cargo-vendor"; path = "src/main.rs"; } ];
+    buildInputs = [ openssl zlib curl ]
+      ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
+  };
+
+  libz-sys = attrs: {
+    buildInputs = [ pkgconfig zlib ];
+    extraLinkFlags = ["-L${zlib.out}/lib"];
   };
 
   curl-sys = attrs: {
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 592af3fe4f2..e498417adf0 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -18,8 +18,8 @@ rec {
   * stdenv with no compiler environment. `runCommandCC`
   *
   * Examples:
-  * runCommand "name" {envVariable = true;} ''echo hello''
-  * runCommandNoCC "name" {envVariable = true;} ''echo hello'' # equivalent to prior
+  * runCommand "name" {envVariable = true;} ''echo hello > $out''
+  * runCommandNoCC "name" {envVariable = true;} ''echo hello > $out'' # equivalent to prior
   * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
   */
   runCommand = runCommandNoCC;
diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix
index 281d2b19bc6..29a4bbad703 100644
--- a/pkgs/build-support/writers/default.nix
+++ b/pkgs/build-support/writers/default.nix
@@ -94,8 +94,8 @@ rec {
         ]}
         gcc \
             ${optionalString (libraries != [])
-              "$(pkgs.pkgconfig}/bin/pkg-config --cflags --libs ${
-                concatMapStringsSep " " (lib: escapeShellArg (builtins.parseDrvName lib.name).name) (libraries)
+              "$(pkg-config --cflags --libs ${
+                concatMapStringsSep " " (pkg: "$(find ${escapeShellArg pkg}/lib/pkgsconfig -name \*.pc -exec basename {} \;)") libraries
               })"
             } \
             -O \
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index b8cc43c254a..17ee7cc2a9e 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, p7zip }:
 
 let
-  version = "0.6.0";
-  sha256 = "08g3kzplp3v8kvni1vzl73fgh03xgfl8pwqyj7vwjihjdr1xfjyz";
+  version = "0.8.0";
+  sha256 = "0zafvzrh4180hmz351f1rvs29n8mfxf0qv6mdl7psf1f066dizs6";
 in fetchurl rec {
   inherit sha256;
 
diff --git a/pkgs/data/fonts/siji/default.nix b/pkgs/data/fonts/siji/default.nix
index 99f0d913b85..a5a4be73c27 100644
--- a/pkgs/data/fonts/siji/default.nix
+++ b/pkgs/data/fonts/siji/default.nix
@@ -8,11 +8,13 @@ in fetchzip {
   url = https://github.com/stark/siji/archive/95369afac3e661cb6d3329ade5219992c88688c1.zip;
 
   postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.pcf -d $out/share/fonts/pcf
+    unzip -j $downloadedFile
+
+    install -D *.pcf -t $out/share/fonts/pcf
+    install -D *.bdf -t $out/share/fonts/bdf
   '';
 
-  sha256 = "1799hs7zd8w7qyja4mii9ggmrm786az7ldsqwx9mbi51b56ym640";
+  sha256 = "1ymcbirdbkqaf0xs2y00l0wachb4yxh1fgqm5avqwvccs0lsfj1d";
 
   meta = {
     homepage = https://github.com/stark/siji;
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index ac0f578a1c7..60653c75bea 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "papirus-icon-theme-${version}";
-  version = "20190302";
+  version = "20190331";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "papirus-icon-theme";
     rev = version;
-    sha256 = "10dhjwcb9jr7nr29jxl5nj09fzlj4w25hzssw1hgm4hbp72v4z05";
+    sha256 = "0kprnax26qwnxjcd0rrgdbj00835byaamkabjxi2z8lh0k47ap85";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/themes/materia-theme/default.nix b/pkgs/data/themes/materia-theme/default.nix
index ba0958896c5..46b44d3ff90 100644
--- a/pkgs/data/themes/materia-theme/default.nix
+++ b/pkgs/data/themes/materia-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }:
+{ stdenv, fetchFromGitHub, gnome3, glib, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }:
 
 stdenv.mkDerivation rec {
   pname = "materia-theme";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1fpipwvwxjiriqhysqgx51rnax73hyd5jkyxhc2g3y73s5r2xq82";
   };
 
-  nativeBuildInputs = [ gnome3.glib libxml2 bc ];
+  nativeBuildInputs = [ glib libxml2 bc ];
 
   buildInputs = [ gnome3.gnome-themes-extra gdk_pixbuf librsvg ];
 
diff --git a/pkgs/data/themes/nordic-polar/default.nix b/pkgs/data/themes/nordic-polar/default.nix
index af1ccd0a582..c4265875390 100644
--- a/pkgs/data/themes/nordic-polar/default.nix
+++ b/pkgs/data/themes/nordic-polar/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "nordic-polar-${version}";
-  version = "1.4.0";
+  version = "1.5.0";
 
   srcs = [
     (fetchurl {
-      url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar.tar.xz";
-      sha256 = "0sw4m1njnxal1kkiipsvfg9ndzxsf9rxfba5vhwswyzk388264xa";
+      url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v.${version}/Nordic-Polar.tar.xz";
+      sha256 = "0ddccxvyf929045x6fm8xyx6rvb0d6wh6pylycwgqqm4vxbdwnly";
     })
     (fetchurl {
-      url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar-standard-buttons.tar.xz";
-      sha256 = "0ix0x0pnhfd1lrfj7a7n8xfg8vvzg7m0dzrsj8gzpav6wvwlypiy";
+      url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v.${version}/Nordic-Polar-standard-buttons.tar.xz";
+      sha256 = "0q0qfy0aw80rds6isx3pjrqx4zrq2crxrm29nrmyzh4gr7n17li6";
     })
   ];
 
diff --git a/pkgs/data/themes/nordic/default.nix b/pkgs/data/themes/nordic/default.nix
index 93df3c723dd..1f0e110488b 100644
--- a/pkgs/data/themes/nordic/default.nix
+++ b/pkgs/data/themes/nordic/default.nix
@@ -2,24 +2,24 @@
 
 stdenv.mkDerivation rec {
   name = "nordic-${version}";
-  version = "1.5.4";
+  version = "1.6.5";
 
   srcs = [
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic.tar.xz";
-      sha256 = "0m00hwr6ms9fzlpl97d972wvgq5l0m11mpn213248a8sqbh2zz9g";
+      sha256 = "163g1kh92fhgbwi91053xs39bpdd032w2v67c3jf8lf4cgvkwggp";
     })
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-blue.tar.xz";
-      sha256 = "05k1m9f0q4mfaqp2as3ymjsqmyz0bs5cd576srd5v952dzxmmbm2";
+      sha256 = "05qq1v8sil8s51aa78q2najcqdnkpgdzc8dckrx47wy36cfxbxwz";
     })
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-standard-buttons.tar.xz";
-      sha256 = "1qps13fpp8y83c25c51w7kyds266gmks8c7kjp23iybij2lkny1m";
+      sha256 = "17r450xxd8v8125a4bwd0yj3f3vnwcad2f19a0vgmk63s9grvkg0";
     })
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-blue-standard-buttons.tar.xz";
-      sha256 = "1c0j6qsxa6zahrl9ad0q6pczgbmm8qn9qsd7k41yk2ndh9iqzr5y";
+      sha256 = "0894naw0wkl2h9l27qz9h1k02dfgfqyb02icmgadg0cb44j3zlpb";
     })
   ];
 
diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix
index de15034590d..b43a6e35ab2 100644
--- a/pkgs/data/themes/plata/default.nix
+++ b/pkgs/data/themes/plata/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   name = "plata-theme-${version}";
-  version = "0.6.0";
+  version = "0.7.6";
 
   src = fetchFromGitLab {
     owner = "tista500";
     repo = "plata-theme";
     rev = version;
-    sha256 = "182i2wbviwpdvmkmayyqggjx6fvlpf4vsmhsyi6nlg9m4n1djxp8";
+    sha256 = "1jllsl2h3zdvlp3k2dy3h4jyccrzzymwbqz43jhnm6mxxabxzijg";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix
index f11f21f5b95..5c8aba4d882 100644
--- a/pkgs/desktops/enlightenment/terminology.nix
+++ b/pkgs/desktops/enlightenment/terminology.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "terminology-${version}";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
-    sha256 = "1kclxzadmk272s9spa7n704pcb1c611ixxrq88w5zk22va0i25xm";
+    sha256 = "0q1y7fadj42n23aspx9y8hm4w4xlc316wc3415wnf75ibsx08ngd";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix
index d48c59b093d..1497302219a 100644
--- a/pkgs/desktops/gnome-3/apps/polari/default.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "polari";
-  version = "3.32.0";
+  version = "3.32.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1jq1xvk9a05x37g9w349f5q069cvg5lfbhxj88gpbnf4fyndnr70";
+    sha256 = "0z2dxj1hd798jn79y9a7lkb77lm8l7y5fsqh9g6lbr7pnmg559yk";
   };
 
   propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
index 5e4182afb10..21281f15a5c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extensions-${version}";
-  version = "3.32.0";
+  version = "3.32.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0wzrivhp6vs4754yldza38gkhkhah35rdncb3c3hxhhyv9fr3pl5";
+    sha256 = "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index fb92d55c799..337ea4d1368 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -14,11 +14,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "gnome-shell-${version}";
-  version = "3.32.0";
+  version = "3.32.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1djkswsv3fhb3lf2w77bbl6z2kvji29cfxbwh5gqvyykwwx87y92";
+    sha256 = "1pb00af3w4wivdhcvdy59z2xlxasg90bcm5a9ck0p5lf97adwx08";
   };
 
   LANG = "en_US.UTF-8";
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index 0cd8267f521..f71df437d11 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-software-${version}";
-  version = "3.32.0";
+  version = "3.32.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "19hrvkyavrfrhs19ii4ky5bpzsijiyq2vcxb5s4xk13xv8ys2151";
+    sha256 = "0xxhvyqfwlcyvlqc36rpcili00dpwy8b5c5klaqccn5qrc87rl38";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index 4d3e72e7ff0..2c305f002fd 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -10,12 +10,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mutter-${version}";
-  version = "3.32.0";
+  pname = "mutter";
+  version = "3.32.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "068zir5c1awmzb31gx94zjykv6c3xb1p5pch7860y3xlihha4s3n";
+    url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1q74lrb08vy0ynxbssqyxvbzf9252xgf9l6jxr9g4q0gmvpq402j";
   };
 
   mesonFlags = [
diff --git a/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch b/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch
new file mode 100644
index 00000000000..4259f93eb24
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch
@@ -0,0 +1,38 @@
+diff --git a/meson.build b/meson.build
+index 209d4187..58580980 100644
+--- a/meson.build
++++ b/meson.build
+@@ -20,7 +20,11 @@ if not get_option('uninstalled')
+     rygel_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'rygel')
+     rygel_libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'),
+     'rygel')
+-    rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir'))
++    if get_option('sysconfdir_install') != ''
++        rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir_install'))
++    else
++        rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir'))
++    endif
+     rygel_plugindir = join_paths(rygel_libdir, 'rygel-2.6', 'plugins')
+     rygel_enginedir = join_paths(rygel_libdir, 'rygel-2.6', 'engines')
+     rygel_presetdir = join_paths(rygel_datadir, 'rygel', 'presets')
+@@ -55,7 +59,7 @@ conf.set_quoted('DATA_DIR', rygel_datadir)
+ conf.set_quoted('PLUGIN_DIR', rygel_plugindir)
+ conf.set_quoted('BIG_ICON_DIR', rygel_bigicondir)
+ conf.set_quoted('SMALL_ICON_DIR', rygel_smallicondir)
+-conf.set_quoted('SYS_CONFIG_DIR', rygel_sysconfdir)
++conf.set_quoted('SYS_CONFIG_DIR', get_option('sysconfdir'))
+ conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
+ conf.set_quoted('MX_EXTRACT_PATH', join_paths(rygel_libexecdir, 'mx-extract'))
+ conf.set_quoted('DESKTOP_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'applications'))
+diff --git a/meson_options.txt b/meson_options.txt
+index f09cac58..ff11c548 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,6 +1,7 @@
+ option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only')
+ option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation')
+ option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path')
++option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation')
+ option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker'])
+ option('engines', type : 'array', choices : ['simple', 'gstreamer'])
+ option('examples', type : 'boolean', value : 'true')
diff --git a/pkgs/desktops/gnome-3/core/rygel/default.nix b/pkgs/desktops/gnome-3/core/rygel/default.nix
index 09ff43041fd..5e701e488f2 100644
--- a/pkgs/desktops/gnome-3/core/rygel/default.nix
+++ b/pkgs/desktops/gnome-3/core/rygel/default.nix
@@ -7,7 +7,6 @@
 , gettext
 , libxml2
 , gobject-introspection
-, gtk-doc
 , wrapGAppsHook
 , python3
 , glib
@@ -32,7 +31,7 @@ stdenv.mkDerivation rec {
   version = "0.38.0";
 
   # TODO: split out lib
-  outputs = [ "out" "dev" "devdoc" ];
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
@@ -47,7 +46,6 @@ stdenv.mkDerivation rec {
     gettext
     libxml2
     gobject-introspection
-    gtk-doc
     wrapGAppsHook
     python3
   ];
@@ -76,12 +74,17 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-Dsystemd-user-units-dir=${placeholder "out"}/lib/systemd/user"
-    "-Dapi-docs=true"
+    "-Dapi-docs=false"
     "--sysconfdir=/etc"
+    "-Dsysconfdir_install=${placeholder "out"}/etc"
   ];
 
   doCheck = true;
 
+  patches = [
+    ./add-option-for-installation-sysconfdir.patch
+  ];
+
   postPatch = ''
     patchShebangs data/xml/process-xml.py
   '';
diff --git a/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix b/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
index f5069b8753b..d08e6f3a57d 100644
--- a/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, gnome3 }:
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extension-icon-hider-${version}";
-  version = "21";
+  version = "23";
 
   src = fetchFromGitHub {
     owner = "ikalnytskyi";
     repo = "gnome-shell-extension-icon-hider";
     rev = "v${version}";
-    sha256 = "0l0jb0ishaq00d4kdfvv5p7pj7b45dz57y3j2ihqr695bzb6b9hr";
+    sha256 = "18c8zkdrmdbghqqz7b450vhgpykgz25mgigwn2nggcb2lxmvm9ks";
   };
 
   uuid = "icon-hider@kalnitsky.org";
@@ -21,9 +21,8 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Icon Hider is a GNOME Shell extension for managing status area items";
     license = licenses.bsd3;
-    broken = true; # not compatable with latest GNOME
     maintainers = with maintainers; [ jonafato ];
-    platforms = platforms.linux;
+    platforms = gnome3.gnome-shell.meta.platforms;
     homepage = https://github.com/ikalnytskyi/gnome-shell-extension-icon-hider;
   };
 }
diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix
index db21a72cb9b..6b03c2a6c9e 100644
--- a/pkgs/desktops/lxqt/default.nix
+++ b/pkgs/desktops/lxqt/default.nix
@@ -42,6 +42,7 @@ let
     qps = callPackage ./qps { };
     screengrab = callPackage ./screengrab { };
     qlipper = callPackage ./qlipper { };
+    lxqt-archiver = callPackage ./lxqt-archiver { };
 
     preRequisitePackages = [
       pkgs.gvfs # virtual file systems support for PCManFM-QT
@@ -89,6 +90,7 @@ let
       compton-conf
       obconf-qt
       lximage-qt
+      lxqt-archiver
 
       ### QtDesktop project
       qps
diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
new file mode 100644
index 00000000000..75ec5aa06ed
--- /dev/null
+++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, json-glib, libfm-qt, qtbase, qttools, qtx11extras }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "lxqt-archiver";
+  version = "0.0.96";
+
+  src = fetchFromGitHub {
+    owner = "lxqt";
+    repo = pname;
+    rev = version;
+    sha256 = "1vc9pzxrhznp65gdkzj3fzzivfqy712mwcxp3r25ar59d54alfpj";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    lxqt-build-tools
+  ];
+
+  buildInputs = [
+    json-glib
+    libfm-qt
+    qtbase
+    qttools
+    qtx11extras
+  ];
+
+  cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = with stdenv.lib; {
+    description = "Archive tool for the LXQt desktop environment";
+    homepage = https://github.com/lxqt/lxqt-archiver/;
+    license = licenses.gpl2;
+    platforms = with platforms; unix;
+    maintainers = with maintainers; [ jchw ];
+  };
+}
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index 8a707c78a51..594ec398d20 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, libcanberra-gtk3, libgtop, gnome2, gnome3, gtk3, mate, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, libcanberra-gtk3, libgtop, libstartup_notification, gnome3, gtk3, mate, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "marco-${version}";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     libxml2
     libcanberra-gtk3
     libgtop
-    gnome2.startup_notification
+    libstartup_notification
     gtk3
     gnome3.zenity
   ];
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index 8720c8ec050..232fe79591b 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, gnome3, gtk3, gtksourceview3, libwnck3, libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, gnome3, glib, gtk3, gtksourceview3, libwnck3, libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "mate-applets-${version}";
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-suid=no" ];
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   meta = with stdenv.lib; {
     description = "Applets for use with the MATE panel";
diff --git a/pkgs/desktops/maxx/default.nix b/pkgs/desktops/maxx/default.nix
index 6f515068418..5edebb39be4 100644
--- a/pkgs/desktops/maxx/default.nix
+++ b/pkgs/desktops/maxx/default.nix
@@ -1,43 +1,34 @@
-{ stdenv, fetchurl, makeWrapper, autoPatchelfHook
-, libredirect, gcc-unwrapped, bash, gtk-engine-murrine, gtk_engines, librsvg
+{ stdenv, fetchurl, makeWrapper, autoPatchelfHook, gnused
+, gcc, bash, gtk-engine-murrine, gtk_engines, librsvg
 
 , libX11, libXext, libXi, libXau, libXrender, libXft, libXmu, libSM, libXcomposite, libXfixes, libXpm
 , libXinerama, libXdamage, libICE, libXtst, libXaw, fontconfig, pango, cairo, glib, libxml2, atk, gtk2
-, gdk_pixbuf, libGL, ncurses
+, gdk_pixbuf, libGL, ncurses5
 
-, xclock, xsettingsd }:
+, dmidecode, pciutils, usbutils
+}:
 
-let
-  version = "Indy-1.1.0";
-
-  runtime_deps = [
-    xclock xsettingsd
-  ];
-in stdenv.mkDerivation {
-  name = "MaXX-${version}";
+stdenv.mkDerivation rec {
+  pname = "MaXX";
+  version = "2.0.1";
+  codename = "Indigo";
 
   srcs = [
     (fetchurl {
-      url = "http://maxxdesktop.arcadedaydream.com/Indy-Releases/Installers/MaXX-${version}-NO-ARCH.tar.gz";
-      sha256 = "1d23j08wwrrn5cp7csv70pcz9jppcn0xb1894wkp0caaliy7g31y";
-    })
-    (fetchurl {
-      url = "http://maxxdesktop.arcadedaydream.com/Indy-Releases/Installers/MaXX-${version}-x86_64.tar.gz";
-      sha256 = "156p2lra184wyvibrihisd7cr1ivqaygsf0zfm26a12gx23b7708";
+      url = "http://maxxdesktop.arcadedaydream.com/${codename}-Releases/Installers/MaXX-${codename}-${version}-x86_64.tar.gz";
+      sha256 = "17hd3j8773kmvvhyf657in6zmhnw4mbvyn4r6dfip5bdaz66pj01";
     })
   ];
 
-  nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
+  nativeBuildInputs = [ makeWrapper autoPatchelfHook gnused ];
   buildInputs = [
     stdenv.cc.cc libX11 libXext libXi libXau libXrender libXft libXmu libSM libXcomposite libXfixes libXpm
     libXinerama libXdamage libICE libXtst libXaw fontconfig pango cairo glib libxml2 atk gtk2
-    gdk_pixbuf libGL ncurses
+    gdk_pixbuf libGL ncurses5
   ];
 
   buildPhase = ''
-    while IFS= read -r -d ''$'\0' i; do
-      substituteInPlace "$i" --replace /opt/MaXX $out/opt/MaXX
-    done < <(find "." -type f -exec grep -Iq /opt/MaXX {} \; -and -print0)
+    sed -i "s/\(LD_LIBRARY_PATH=.*\)$/\1:\$LD_LIBRARY_PATH/p" etc/system.desktopenv
 
     substituteInPlace bin/adminterm \
       --replace /bin/bash ${bash}/bin/bash
@@ -55,33 +46,25 @@ in stdenv.mkDerivation {
 
     wrapProgram $maxx/etc/skel/Xsession.dt \
       --prefix GTK_PATH : "${gtk-engine-murrine}/lib/gtk-2.0:${gtk_engines}/lib/gtk-2.0" \
-      --prefix GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)" \
-      --prefix PATH : ${stdenv.lib.makeBinPath runtime_deps}
+      --prefix GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)"
 
     while IFS= read -r -d ''$'\0' i; do
       if isExecutable "$i"; then
         wrapProgram "$i" \
-          --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
-          --set NIX_REDIRECTS /opt/MaXX=$maxx \
-          --prefix PATH : $maxx/sbin
+          --prefix PATH : ${gcc}/bin
       fi
     done < <(find "$maxx" -type f -print0)
 
-    cp ${gcc-unwrapped}/bin/cpp ${gcc-unwrapped}/libexec/gcc/*/*/cc1 $maxx/sbin
-    for i in $maxx/sbin/cpp $maxx/sbin/cc1
-    do
-      wrapProgram "$i" \
-        --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
-        --set NIX_REDIRECTS /opt/MaXX=$maxx
-    done
+    wrapProgram $maxx/bin/hinv \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ dmidecode pciutils usbutils ]}
   '';
 
   meta = with stdenv.lib; {
     description = "A replica of IRIX Interactive Desktop";
-    homepage = http://www.maxxinteractive.com;
+    homepage = https://www.facebook.com/maxxdesktop/;
     license = {
       fullName = "The MaXX Interactive Desktop for Linux License Agreement";
-      url = http://www.maxxinteractive.com/site/?page_id=97;
+      url = http://maxxdesktop.arcadedaydream.com/Indigo-Releases/docs/license.html;
       free = false; # redistribution is only allowed to *some* hardware, etc.
     };
     maintainers = [ maintainers.gnidorah ];
diff --git a/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix
index 7b374236a12..78ddeb6e6d9 100644
--- a/pkgs/desktops/pantheon/apps/elementary-music/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-music/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "music";
-  version = "5.0.3";
+  version = "5.0.4";
 
   name = "elementary-${pname}-${version}";
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0qbny4484kr7lihg54rbhfwah9k43iivk3rivfvn7i5w66vn5spl";
+    sha256 = "02qjsf9xnfh043xbls9mll2r1wcdvclw60x8wysv12rhbm90gwvp";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index 644841354e5..493e7a97805 100644
--- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "photos";
-  version = "2.6.2";
+  version = "2.6.3";
 
   name = "elementary-${pname}-${version}";
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "166a1jb85n67z6ffm5i0xzap407rv0r511lzh0gidkap1qy6pnmi";
+    sha256 = "1s0ww5g26wj0gd1drj8gxs74gvg2c9fdj4ixpifj8jh8yafdmrvg";
   };
 
   passthru = {
@@ -67,11 +67,9 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # Fix build against gexiv2 0.12
-    (fetchpatch {
-      url = "https://github.com/elementary/photos/commit/86df00ced674abb2ee430ea24422079cfabb314c.patch";
-      sha256 = "0836fzja93w36jf7ldqypsmnqn46mwsl93q41m104zn8qm0wrkmy";
-    })
+    # https://github.com/elementary/photos/pull/505
+    # Unrelated line got dropped in https://github.com/elementary/photos/pull/498
+    ./fix-missing-line.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/fix-missing-line.patch b/pkgs/desktops/pantheon/apps/elementary-photos/fix-missing-line.patch
new file mode 100644
index 00000000000..ae859d9dff9
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/elementary-photos/fix-missing-line.patch
@@ -0,0 +1,21 @@
+From 88ee69b57f94efa2779595d1544109fed6a3211c Mon Sep 17 00:00:00 2001
+From: Fabio Valentini <decathorpe@gmail.com>
+Date: Tue, 16 Apr 2019 16:12:47 +0200
+Subject: [PATCH] photos/PhotoMetadata: fix issue introduced with PR #498
+
+---
+ src/photos/PhotoMetadata.vala | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/photos/PhotoMetadata.vala b/src/photos/PhotoMetadata.vala
+index f0a4a73b..34dcbb55 100644
+--- a/src/photos/PhotoMetadata.vala
++++ b/src/photos/PhotoMetadata.vala
+@@ -197,6 +197,7 @@ public class PhotoMetadata : MediaMetadata {
+ #else
+         exiv2.from_app1_segment (buffer, length);
+ #endif
++        exif = Exif.Data.new_from_data (buffer, length);
+         source_name = "<app1 segment %d bytes>".printf (length);
+     }
+ 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
index 2ee92520983..1883e229479 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Universal Access Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index bdba8328fe9..d217ad20d2e 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     ./remove-update-button.patch
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard About Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
index 0cdb732ca73..ed4dc0c8447 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Applications Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
index f67b5bc7763..db653a7f8ff 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Bluetooth Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
index 95a350372b9..8c00ff4728e 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     ./clock-format.patch
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Date & Time Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index 643bce5fe74..21cb26aaa39 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Displays Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
index c87723007bb..50256b8f77d 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Keyboard Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
index 6c4bdeb7fb7..eaf15fdb815 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -1,17 +1,25 @@
-{ stdenv, fetchFromGitHub, pantheon, fetchpatch, meson, ninja
-, pkgconfig, vala, libgee, granite, gtk3, switchboard, gobject-introspection }:
+{ stdenv, fetchFromGitHub, pantheon, fetchpatch, meson, ninja, pkgconfig, vala
+, libgee, granite, gtk3, switchboard, elementary-settings-daemon, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-mouse-touchpad";
-  version = "2.1.4";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1zh5472ab01bckrc1py5bqqsal9i9pbgx6i8ap2d4yzhc8sirjrf";
+    sha256 = "0mr25p7j5hl8zmvz5i3g30s4xbdhk6d22lw2akch3si40il9q5fv";
   };
 
+  patches = [
+    ./hardcode-settings-daemon-gsettings.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace src/Views/General.vala --subst-var-by GSD_GSETTINGS ${elementary-settings-daemon}/share/gsettings-schemas/${elementary-settings-daemon.name}/glib-2.0/schemas
+  '';
+
   passthru = {
     updateScript = pantheon.updateScript {
       repoName = pname;
@@ -33,7 +41,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Mouse & Touchpad Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
new file mode 100644
index 00000000000..b904fe15309
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
@@ -0,0 +1,63 @@
+diff --git a/src/Views/General.vala b/src/Views/General.vala
+index 4b19b73..dfa3d4d 100644
+--- a/src/Views/General.vala
++++ b/src/Views/General.vala
+@@ -138,32 +138,34 @@ public class MouseTouchpad.GeneralView : Gtk.Grid {
+         attach (pointer_speed_scale, 3, 8);
+         attach (pointer_speed_help, 1, 9, 3);
+ 
+-        var xsettings_schema = SettingsSchemaSource.get_default ().lookup ("org.gnome.settings-daemon.plugins.xsettings", false);
+-        if (xsettings_schema != null) {
+-            var primary_paste_switch = new Gtk.Switch ();
+-            primary_paste_switch.halign = Gtk.Align.START;
+-
+-            var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text"));
+-            primary_paste_help.margin_bottom = 18;
+-            primary_paste_help.wrap = true;
+-            primary_paste_help.xalign = 0;
+-            primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL);
+-
+-            attach (new SettingLabel (_("Middle click paste:")), 0, 4);
+-            attach (primary_paste_switch, 1, 4);
+-            attach (primary_paste_help, 1, 5, 3);
+-
+-            var xsettings = new GLib.Settings ("org.gnome.settings-daemon.plugins.xsettings");
+-            primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings));
+-
+-            var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32);
+-            if (current_value != null) {
+-                primary_paste_switch.active = current_value.get_int32 () == 1;
+-            }
++        var primary_paste_switch = new Gtk.Switch ();
++        primary_paste_switch.halign = Gtk.Align.START;
++
++        var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text"));
++        primary_paste_help.margin_bottom = 18;
++        primary_paste_help.wrap = true;
++        primary_paste_help.xalign = 0;
++        primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL);
++
++        attach (new SettingLabel (_("Middle click paste:")), 0, 4);
++        attach (primary_paste_switch, 1, 4);
++        attach (primary_paste_help, 1, 5, 3);
++
++        SettingsSchemaSource daemon_schema_source = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS@", null, true);
++        SettingsSchema xsettings_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.plugins.xsettings", false);
++
++        var xsettings = new GLib.Settings.full (xsettings_schema, null, null);
++        primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings));
++
++        var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32);
++        if (current_value != null) {
++            primary_paste_switch.active = current_value.get_int32 () == 1;
+         }
+ 
+-        var daemon_settings = new GLib.Settings ("org.gnome.settings-daemon.peripherals.mouse");
+-        daemon_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT);
++        SettingsSchema daemon_mouse_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false);
++
++        var daemon_mouse_settings = new GLib.Settings.full (daemon_mouse_schema, null, null);
++        daemon_mouse_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT);
+ 
+         var a11y_mouse_settings = new GLib.Settings ("org.gnome.desktop.a11y.mouse");
+         a11y_mouse_settings.bind ("secondary-click-enabled", hold_switch, "active", GLib.SettingsBindFlags.DEFAULT);
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index 3943cad48fd..95b558901d2 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   ];
 
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Networking Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
index 6bb5d285a34..a6fb86bb828 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Notifications Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
index c661e4f2111..6c29282652c 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   '';
 
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Desktop Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index ab1fd98795a..0178f23f5e1 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -49,10 +49,10 @@ stdenv.mkDerivation rec {
     substituteInPlace src/MainView.vala --subst-var-by GSD_GSETTINGS_PATH ${elementary-settings-daemon}/share/gsettings-schemas/${elementary-settings-daemon.name}/glib-2.0/schemas
   '';
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
-  PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "share/dbus-1/system-services";
-  PKG_CONFIG_DBUS_1_SYSCONFDIR = "etc";
-  PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "share/polkit-1/actions";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
+  PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "${placeholder ''out''}/share/dbus-1/system-services";
+  PKG_CONFIG_DBUS_1_SYSCONFDIR = "${placeholder ''out''}/etc";
+  PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder ''out''}/share/polkit-1/actions";
 
   meta = with stdenv.lib; {
     description = "Switchboard Power Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
index bb9e576a4c4..11bd70894ed 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Printers Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
index 089777e399a..ff59768e363 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     zeitgeist
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   patches = [
     ./hardcode-gsettings.patch
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
index a2c047ffcb4..9660daa7715 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Sharing Plug";
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
index c0f005cba2f..ad379f37471 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   meta = with stdenv.lib; {
     description = "Switchboard Sound Plug";
diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index fe04d2b698b..0e0fa106958 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "stylesheet";
-  version = "5.2.2";
+  version = "5.2.3";
 
   name = "elementary-gtk-theme-${version}";
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "10b44dz7ndrckvq25pdxav59rzjcjbcpxb64z4nz62rfshvnrn8q";
+    sha256 = "1ghb6zl9yszsrxdkg8va1b29kyazbny2kncr9fdw6v2rbjnp7zhr";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
index e4f7df107ba..2461ea4875e 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
@@ -51,8 +51,8 @@ stdenv.mkDerivation rec {
     zeitgeist
    ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard";
 
   patches = [
     (substituteAll {
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
index 16f3ae2e28e..8db8eb5d5e0 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
index 5fa95c75ccc..297e99fe47b 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
index be5cd93eb0d..f34ca29a98b 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   meta = with stdenv.lib; {
     description = "Keyboard Indicator for Wingpanel";
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index 245e12d4591..2ac05fdc6d8 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   meta = with stdenv.lib; {
     description = "Network Indicator for Wingpanel";
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
index 08b0710977f..8e450726976 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   meta = with stdenv.lib; {
     description = "Night Light Indicator for Wingpanel";
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
index aff7d9891ad..6a7fcfbb4e0 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   meta = with stdenv.lib; {
     description = "Notifications Indicator for Wingpanel";
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
index d7627c51100..45a4e543b66 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index 8227ca6f57e..a46e001e7a0 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   meta = with stdenv.lib; {
     description = "Session Indicator for Wingpanel";
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
index 65a4b1abd2c..fc40c2faf5e 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel";
+  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel";
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/pkgs/development/beam-modules/mix-bootstrap b/pkgs/development/beam-modules/mix-bootstrap
index 6c9a20c6de2..d7a912ee1ed 100755
--- a/pkgs/development/beam-modules/mix-bootstrap
+++ b/pkgs/development/beam-modules/mix-bootstrap
@@ -40,7 +40,7 @@ main(Args) ->
 -spec fixup_app_name(file:name()) -> string().
 fixup_app_name(Path) ->
     BaseName = filename:basename(Path),
-    case string:tokens(BaseName, "-") of
+    case string:split(BaseName, "-") of
         [Name, _Version] -> Name;
         Name -> Name
     end.
diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix
index fc75fe92c73..48661ba407c 100644
--- a/pkgs/development/compilers/binaryen/default.nix
+++ b/pkgs/development/compilers/binaryen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, fetchFromGitHub, emscriptenRev ? null }:
+{ stdenv, cmake, python, fetchFromGitHub, emscriptenRev ? null }:
 
 let
   defaultVersion = "45";
@@ -6,7 +6,7 @@ let
   # Map from git revs to SHA256 hashes
   sha256s = {
     "version_45" = "1wgzfzjjzkiaz0rf2lnwrcvlcsjvjhyvbyh58jxhqq43vi34zyjc";
-    "1.37.36" = "1wgzfzjjzkiaz0rf2lnwrcvlcsjvjhyvbyh58jxhqq43vi34zyjc";
+    "1.38.28" = "172s7y5f38736ic8ri3mnbdqcrkadd40a26cxcfwbscc53phl11v";
   };
 in
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     inherit rev;
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake python ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/WebAssembly/binaryen;
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index e03039cb5e1..d0af770a2a4 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation {
   name = "emscripten-${rev}";
 
   src = fetchFromGitHub {
-    owner = "kripken";
+    owner = "emscripten-core";
     repo = "emscripten";
-    sha256 = "02p0cp86vd1mydlpq544xbydggpnrq9dhbxx7h08j235frjm5cdc";
+    sha256 = "1j3f0hpy05qskaiyv75l7wv4n0nzxhrh9b296zchx3f6f9h2rghq";
     inherit rev;
   };
 
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/kripken/emscripten;
+    homepage = https://github.com/emscripten-core/emscripten;
     description = "An LLVM-to-JavaScript Compiler";
     platforms = platforms.all;
     maintainers = with maintainers; [ qknight matthewbauer ];
diff --git a/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix b/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix
index 06acebd2ba4..91a42f53d28 100644
--- a/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix
+++ b/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix
@@ -8,16 +8,16 @@ stdenv.mkDerivation rec {
   name = "emscripten-fastcomp-${rev}";
 
   src = fetchFromGitHub {
-    owner = "kripken";
+    owner = "emscripten-core";
     repo = "emscripten-fastcomp";
-    sha256 = "04j698gmp686b5lricjakm5hyh2z2kh28m1ffkghmkyz4zkzmx98";
+    sha256 = "0bd0l5k2fa4k0nax2cpxi003pqffqivx4z4m2j5xdha1a12sid8i";
     inherit rev;
   };
 
   srcFL = fetchFromGitHub {
-    owner = "kripken";
+    owner = "emscripten-core";
     repo = "emscripten-fastcomp-clang";
-    sha256 = "1ici51mmpgg80xk3y8f376nbbfak6rz27qdy98l8lxkrymklp5g5";
+    sha256 = "1iw2qplhp489qzw0rma73sab7asnm27g4m95sr36c6kq9cq6agri";
     inherit rev;
   };
 
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/kripken/emscripten-fastcomp;
+    homepage = https://github.com/emscripten-core/emscripten-fastcomp;
     description = "Emscripten LLVM";
     platforms = platforms.all;
     maintainers = with maintainers; [ qknight matthewbauer ];
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index cedaf3ef859..1efa100e61d 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -3,11 +3,11 @@
 stdenvNoCC.mkDerivation rec {
   name = "fasm-bin-${version}";
 
-  version = "1.73.09";
+  version = "1.73.10";
 
   src = fetchurl {
     url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "197bcj9aa5wpkvrlaafc1smxjss0fwdspq5fwhwgyy9cc7z5g0ym";
+    sha256 = "1lk8vlr0vg7h8lhiav99paa5a1mi0r2m8agxjmczhhavqhx44c32";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index e2aa5375835..ec5deb4e22a 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -27,13 +27,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "nextpnr-${version}";
-  version = "2019.04.02";
+  version = "2019.04.19";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "nextpnr";
-    rev    = "6adf37e3c1d4301e087d89c9e9c37563fe8d78df";
-    sha256 = "0qqb2yd2s39hahh5qigvllgyzj7rp3r1k9jp2n9z2jrfpiaz68c6";
+    rev    = "5344bc3b65f4e06f983db781e9a82d30b3f1512b";
+    sha256 = "1y14jpa948cwk0i19bsfqh7yxsxkgskm4xym4z179sjcvcdvrn3a";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index b44c7815e90..b3446436179 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.32.0";
+  version = "1.33.0";
 
-  # fetch hashes by running `print-hashes.sh 1.32.0`
+  # fetch hashes by running `print-hashes.sh 1.33.0`
   hashes = {
-    i686-unknown-linux-gnu = "4ce3a6a656669fa86606074b43fadeac7465ef48394249407e21106ed714c8db";
-    x86_64-unknown-linux-gnu = "e024698320d76b74daf0e6e71be3681a1e7923122e3ebd03673fcac3ecc23810";
-    armv7-unknown-linux-gnueabihf = "d7b69f60689d2905d8d3c2829b0f1cd0f86265a255ff88ea0deb601aebac6428";
-    aarch64-unknown-linux-gnu = "60def40961728212da4b3a9767d5a2ddb748400e150a5f8a6d5aa0e1b8ba1cee";
-    i686-apple-darwin = "76cc1280f6b61bf7cf1fddd5202cc236db7573ee05f39fc8cd12ddda8f39a7c3";
-    x86_64-apple-darwin = "f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304";
+    i686-unknown-linux-gnu = "c379203687d98e60623aa88c4df4992dd5a9548bc30674b9fc8e671a979e9f3a";
+    x86_64-unknown-linux-gnu = "6623168b9ee9de79deb0d9274c577d741ea92003768660aca184e04fe774393f";
+    armv7-unknown-linux-gnueabihf = "f6f0ec0a98d922c4bfd79703bc9e9eef439ba347453f33608a87cd63c47e7245";
+    aarch64-unknown-linux-gnu = "a308044e4076b62f637313ea803fa0a8f340b0f1b53136856f2c43afcabe5387";
+    i686-apple-darwin = "ed20809d56bbaea041721ce6fc9f10f7ae7a720c5821587f01a537d07a5454b1";
+    x86_64-apple-darwin = "864e7c074a0b88e38883c87c169513d072300bb52e1d320a067bd34cf14f66bd";
   };
 
   platform =
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 192e017f6e6..9b980043100 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -17,11 +17,11 @@ let
   llvmShared = llvm_7.override { enableSharedLibraries = true; };
 in stdenv.mkDerivation rec {
   pname = "rustc";
-  version = "1.33.0";
+  version = "1.34.0";
 
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "152x91mg7bz4ygligwjb05fgm1blwy2i70s2j03zc9jiwvbsh0as";
+    sha256 = "0n8z1wngkxab1rvixqg6w8b727hzpnm9wp9h8iy3mpbrzp7mmj3s";
   };
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index eacb46e8ae8..cc2d28d4ced 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -8,14 +8,14 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2019.04.08";
+  version = "2019.04.22";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "0deaccbaae436bc94ad5b2913fa39a9368c09ace";
-      sha256 = "13kil8z1f35lr9436njn2y60458wnjxldz0bsjcr9mpx8if0zp84";
+      rev    = "9050b5e1915b05f55c1db279566f34202905f02a";
+      sha256 = "01s99szf9ypx07isxawjz5ajbd7clakrcn204z948f3nc2nddjz5";
       name   = "yosys";
     })
 
@@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
     (fetchFromGitHub {
       owner  = "berkeley-abc";
       repo   = "abc";
-      rev    = "2ddc57d8760d94e86699be39a628178cff8154f8";
-      sha256 = "0da7nnnnl9cq2r7s301xgdc8nlr6hqmqpvd9zn4b58m125sp0scl";
+      rev    = "3709744c60696c5e3f4cc123939921ce8107fe04";
+      sha256 = "18a9cjng3qfalq8m9az5ck1y5h4l2pf9ycrvkzs9hn82b1j7vrax";
       name   = "yosys-abc";
     })
   ];
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 8047eee1318..b2d7d0eaf9c 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -118,7 +118,7 @@ let
 
   binDir = if enableSeparateBinOutput then "$bin/bin" else "$out/bin";
 
-  newCabalFileUrl = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal";
+  newCabalFileUrl = "mirror://hackage/${pname}-${version}/revision/${revision}.cabal";
   newCabalFile = fetchurl {
     url = newCabalFileUrl;
     sha256 = editedCabalFile;
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index b4cd7fee311..6b5ecc1df8a 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -183,7 +183,7 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     callHackageDirect = {pkg, ver, sha256}@args:
       let pkgver = "${pkg}-${ver}";
       in self.callCabal2nix pkg (pkgs.fetchzip {
-           url = "http://hackage.haskell.org/package/${pkgver}/${pkgver}.tar.gz";
+           url = "mirror://hackage/${pkgver}/${pkgver}.tar.gz";
            inherit sha256;
          });
 
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 00acfd0df8c..22ccdec8a10 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = "janet";
     rev = "v${version}";
-    sha256 = "1590f1fxb6qfhf1vp2xhbvdn2jfrgipn5572cckk1ma7f13jnkpy";
+    sha256 = "06iq2y7c9i4pcmmgc8x2fklqkj2i3jrvmq694djiiyd4x81kzcj5";
   };
 
   JANET_BUILD=''\"release\"'';
diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix
index 21a7cfba406..c3b494783e7 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.10.1";
+  version = "0.12.2";
 
   goPackagePath = "github.com/candid82/joker";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "1c3p61jmlljljbiwsylmfa75pi00y7yj5wabx1rxmpswc41g5mab";
+    sha256 = "0cqz8k53fzz3xqx9czk3hgq164dsbvnk51s0j29g1bmkbl51c2vm";
   };
 
   preBuild = "go generate ./...";
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index 79e7410c008..2e53ae1694f 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
 jruby = stdenv.mkDerivation rec {
   name = "jruby-${version}";
 
-  version = "9.2.6.0";
+  version = "9.2.7.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "0g8fkv946icw82h7pmg5aqh5mrgiiz9izjcjx9ism2x92w7gz8bh";
+    sha256 = "0j0k1vapxr9gx18sqjf0kqfgw22f55907jjbznxc0580x5f1lz6s";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 15af58be6fc..ef4cab35021 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -30,7 +30,7 @@ with pkgs;
         isPy2 = lib.strings.substring 0 1 pythonVersion == "2";
         isPy3 = lib.strings.substring 0 1 pythonVersion == "3";
         isPy3k = isPy3;
-        isPyPy = interpreter == "pypy";
+        isPyPy = lib.hasInfix "pypy" interpreter;
 
         buildEnv = callPackage ./wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
         withPackages = import ./with-packages.nix { inherit buildEnv pythonPackages;};
@@ -100,11 +100,11 @@ in {
   pypy27 = callPackage ./pypy {
     self = pypy27;
     sourceVersion = {
-      major = "6";
+      major = "7";
       minor = "0";
       patch = "0";
     };
-    sha256 = "1qjwpc8n68sxxlfg36s5vn1h2gdfvvd6lxvr4lzbvfwhzrgqahsw";
+    sha256 = "1m6ja79sbkl38p1hs7c0n4kq5xzn01wp7wl5456hsw9q6cwg6894";
     pythonVersion = "2.7";
     db = db.override { dbmSupport = true; };
     python = python27;
@@ -114,11 +114,11 @@ in {
   pypy35 = callPackage ./pypy {
     self = pypy35;
     sourceVersion = {
-      major = "6";
+      major = "7";
       minor = "0";
       patch = "0";
     };
-    sha256 = "0lwq8nn0r5yj01bwmkk5p7xvvrp4s550l8184mkmn74d3gphrlwg";
+    sha256 = "0hbv9ziv8n9lqnr6cndrw70p6g40c00w1ds7lmzgrr153myxkp7w";
     pythonVersion = "3.5";
     db = db.override { dbmSupport = true; };
     python = python27;
diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix
index 193f134e5c6..46cf0475de4 100644
--- a/pkgs/development/interpreters/python/pypy/default.nix
+++ b/pkgs/development/interpreters/python/pypy/default.nix
@@ -108,6 +108,9 @@ in with passthru; stdenv.mkDerivation rec {
       "test_pathlib"
       # disable tarfile because it assumes gid 0 exists
       "test_tarfile"
+      # disable __all__ because of spurious imp/importlib warning and
+      # warning-to-error test policy
+      "test___all__"
     ];
   in ''
     export TERMINFO="${ncurses.out}/share/terminfo/";
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index e7aedfc0750..ed2bf99d197 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -223,10 +223,10 @@ in {
   };
 
   ruby_2_6 = generic {
-    version = rubyVersion "2" "6" "2" "";
+    version = rubyVersion "2" "6" "3" "";
     sha256 = {
-      src = "1as97d2j0d21g8mldp8fmdjah96jakrxyw1v0crg7ln2y8mmsh50";
-      git = "0f4mnrd7733353kx1jjha770kvm0wlc59z7id9h23kmjdg6k76nl";
+      src = "1yw23hmllxsc4b7zqndn5l4d9503gdik6rsf3lfdkf12bxwx6zsp";
+      git = "1h4k2kw0vr4jh2ra9l89i8lnddfh2qfw67y9cknjylf7kw2m1pmh";
     };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index 9f2a8b1b9fe..47d8397c966 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -16,7 +16,7 @@ rec {
     "${patchSet}/patches/ruby/2.5/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch"
   ];
-  "2.6.2" = ops useRailsExpress [
+  "2.6.3" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.6/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch"
     "${patchSet}/patches/ruby/2.6/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.6/head/railsexpress/03-more-detailed-stacktrace.patch"
diff --git a/pkgs/development/interpreters/spidermonkey/52.nix b/pkgs/development/interpreters/spidermonkey/52.nix
index 1d7a11df5a4..feac99b2d8e 100644
--- a/pkgs/development/interpreters/spidermonkey/52.nix
+++ b/pkgs/development/interpreters/spidermonkey/52.nix
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
     })
   ];
 
-  configurePlatforms = [ "host" "target" ];
+  configurePlatforms = [ ];
 
   preConfigure = ''
     export CXXFLAGS="-fpermissive"
@@ -51,7 +51,11 @@ in stdenv.mkDerivation rec {
     "--with-intl-api"
     "--enable-readline"
     "--enable-shared-js"
-  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc";
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc"
+    ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "--host=${stdenv.buildPlatform.config}"
+    "--target=${stdenv.hostPlatform.config}"
+  ];
 
   makeFlags = [
     "HOST_CC=${buildPackages.stdenv.cc}/bin/cc"
diff --git a/pkgs/development/libraries/SDL2_ttf/default.nix b/pkgs/development/libraries/SDL2_ttf/default.nix
index a21315fdc88..b219922223f 100644
--- a/pkgs/development/libraries/SDL2_ttf/default.nix
+++ b/pkgs/development/libraries/SDL2_ttf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "SDL2_ttf-${version}";
-  version = "2.0.14";
+  version = "2.0.15";
 
   src = fetchurl {
     url = "https://www.libsdl.org/projects/SDL_ttf/release/${name}.tar.gz";
-    sha256 = "0xljwcpvd2knrjdfag5b257xqayplz55mqlszrqp0kpnphh5xnrl";
+    sha256 = "0cyd48dipc0m399qy8s03lci8b0bpiy8xlkvrm2ia7wcv0dfpv59";
   };
 
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
diff --git a/pkgs/development/libraries/abseil-cpp/default.nix b/pkgs/development/libraries/abseil-cpp/default.nix
new file mode 100644
index 00000000000..4e1da866622
--- /dev/null
+++ b/pkgs/development/libraries/abseil-cpp/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "abseil-cpp-${version}";
+  date = "20190322";
+  rev = "eab2078b53c9e3d9d240135c09d27e3393acb50a";
+  version = "${date}-${rev}";
+
+  src = fetchFromGitHub {
+    owner = "abseil";
+    repo = "abseil-cpp";
+    rev = "${rev}";
+    sha256 = "1bpz44hxq5fpkv6jlgphzk7mxjiiah526jgb63ih5pd1hd2cfw1r";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "An open-source collection of C++ code designed to augment the C++ standard library";
+    homepage = https://abseil.io/;
+    license = licenses.asl20;
+    maintainers = [ maintainers.andersk ];
+  };
+}
diff --git a/pkgs/development/libraries/agda/agda-stdlib/default.nix b/pkgs/development/libraries/agda/agda-stdlib/default.nix
index 276e1531acd..d9350d135eb 100644
--- a/pkgs/development/libraries/agda/agda-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-stdlib/default.nix
@@ -1,14 +1,14 @@
 { stdenv, agda, fetchFromGitHub, ghcWithPackages }:
 
 agda.mkDerivation (self: rec {
-  version = "0.17";
+  version = "1.0";
   name = "agda-stdlib-${version}";
 
   src = fetchFromGitHub {
     repo = "agda-stdlib";
     owner = "agda";
     rev = "v${version}";
-    sha256 = "05c5zgj9fcaqz7z2l70jh48b3g4811vm7bccj0vd9r82wi02g3p1";
+    sha256 = "19qrdfi0vig3msqg76k1zf5j3vav0jz44cvj6i4dyfbscdwf2l9c";
   };
 
   nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index 5b98a88a8fb..d026dd258bc 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lv2-${version}";
-  version = "1.14.0";
+  version = "1.16.0";
 
   src = fetchurl {
     url = "http://lv2plug.in/spec/${name}.tar.bz2";
-    sha256 = "0chxwys3vnn3nxc9x2vchm74s9sx0vfra6y893byy12ci61jc1dq";
+    sha256 = "1ppippbpdpv13ibs06b0bixnazwfhiw0d0ja6hx42jnkgdyp5hyy";
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index 682a74593fd..5404c0a1fdf 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib, stdenv, fetchFromGitHub, cmake, libexecinfo }:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
+  buildInputs = lib.optional stdenv.hostPlatform.isMusl libexecinfo;
+
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
     "-Wno-nullability-extension"
     "-Wno-typedef-redefinition"
diff --git a/pkgs/development/libraries/aws-c-event-stream/default.nix b/pkgs/development/libraries/aws-c-event-stream/default.nix
index 47363e12a68..ccc4abb85fd 100644
--- a/pkgs/development/libraries/aws-c-event-stream/default.nix
+++ b/pkgs/development/libraries/aws-c-event-stream/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, aws-c-common, aws-checksums }:
+{ lib, stdenv, fetchFromGitHub, cmake, aws-c-common, aws-checksums, libexecinfo }:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-event-stream";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ aws-c-common aws-checksums ];
+  buildInputs = [ aws-c-common aws-checksums ] ++ lib.optional stdenv.hostPlatform.isMusl libexecinfo;
 
   cmakeFlags = [
     "-DCMAKE_MODULE_PATH=${aws-c-common}/lib/cmake"
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index a761b8bd3f2..38dfceb2e00 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -86,6 +86,7 @@ in stdenv.mkDerivation rec {
     # `-I' flags to be propagated.
     sed -i "src/cairo.pc.in" \
         -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype.dev}/include/freetype2 -I${freetype.dev}/include|g'
+    substituteInPlace configure --replace strings $STRINGS
     '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
index a647c84016b..5dece8328b4 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "cimg-${version}";
-  version = "2.5.5";
+  version = "2.5.6";
 
   src = fetchurl {
     url = "http://cimg.eu/files/CImg_${version}.zip";
-    sha256 = "12jwis90ijakfiqngcd8s4a22wzr32f6midszja9ry41ilv63nic";
+    sha256 = "02n3xjjs68xszvyk2830i03clbqlngnic0cw1rk6xca7gsvad3ij";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/curlpp/default.nix b/pkgs/development/libraries/curlpp/default.nix
new file mode 100644
index 00000000000..58f88e6d8eb
--- /dev/null
+++ b/pkgs/development/libraries/curlpp/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, curl }:
+
+stdenv.mkDerivation rec {
+  name = "curlpp-${version}";
+  version = "0.8.1";
+  src = fetchFromGitHub {
+    owner = "jpbarrette";
+    repo = "curlpp";
+    rev = "v${version}";
+    sha256 = "1b0ylnnrhdax4kwjq64r1fk0i24n5ss6zfzf4hxwgslny01xiwrk";
+  };
+
+  buildInputs = [ curl ];
+  nativeBuildInputs = [ cmake ];
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://www.curlpp.org/;
+    description = "C++ wrapper around libcURL";
+    license = licenses.mit;
+    maintainers = with maintainers; [ CrazedProgrammer ];
+  };
+}
diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix
index c8aa70d0892..4b94f673a65 100644
--- a/pkgs/development/libraries/dav1d/default.nix
+++ b/pkgs/development/libraries/dav1d/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "0diihk7lcdxxbfqp79dpvj14008zfzmayamh4vj310i524lqnkb6";
+    sha256 = "130yjr82w0az4xsdcmcjdwkhd0sin5pm6q6s9dyn5yhrwfx1vf0p";
   };
 
   nativeBuildInputs = [ meson ninja nasm ];
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index 054e6df0e4c..829dca04c18 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.58.0";
+  version = "2.60.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0idnaii4h3mdym2a55gkavipyxigwvbgfmzmwql85s4rgciqjhfk";
+    sha256 = "1g7jxqd270dv2d83r7pf5893mwpz7d5xib0q01na2yalh34v38d3";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/pkgs/development/libraries/graphene-hardened-malloc/default.nix
new file mode 100644
index 00000000000..0aae8ca4945
--- /dev/null
+++ b/pkgs/development/libraries/graphene-hardened-malloc/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "graphene-hardened-malloc-${version}";
+  version = "190405.003.2019.04.01.19";
+
+  src = fetchurl {
+    url = "https://github.com/GrapheneOS/hardened_malloc/archive/PQ2A.${version}.tar.gz";
+    sha256 = "1qczmajy3q07jd236dmal4iq5xxcsrkyw26gc9r4vs4wj4m42d11";
+  };
+
+  installPhase = ''
+    install -Dm444 -t $out/lib libhardened_malloc.so
+
+    mkdir -p $out/bin
+    substitute preload.sh $out/bin/preload-hardened-malloc --replace "\$dir" $out/lib
+    chmod 0555 $out/bin/preload-hardened-malloc
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    pushd test
+    make
+    $out/bin/preload-hardened-malloc ./offset
+
+    pushd simple-memory-corruption
+    make
+
+    # these tests don't actually appear to generate overflows currently
+    rm read_after_free_small string_overflow
+
+    for t in `find . -regex ".*/[a-z_]+"` ; do
+      echo "Running $t..."
+      # the program being aborted (as it should be) would result in an exit code > 128
+      (($out/bin/preload-hardened-malloc $t) && false) \
+        || (test $? -gt 128 || (echo "$t was not aborted" && false))
+    done
+    popd
+
+    popd
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/GrapheneOS/hardened_malloc;
+    description = "Hardened allocator designed for modern systems";
+    longDescription = ''
+      This is a security-focused general purpose memory allocator providing the malloc API
+      along with various extensions. It provides substantial hardening against heap
+      corruption vulnerabilities yet aims to provide decent overall performance.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ ris ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index 1a01c28aeb4..27c638d8a87 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -13,14 +13,14 @@ assert cupsSupport -> cups != null;
 with stdenv.lib;
 
 let
-  version = "3.24.7";
+  version = "3.24.8";
 in
 stdenv.mkDerivation rec {
   name = "gtk+3-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "080m925dyhiidlhsxqzx040l4iha2gg38pzbfpnsnjyzl92124jj";
+    sha256 = "16f71bbkhwhndcsrpyhjia3b77cb5ksf5c45lyfgws4pkgg64sb6";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix
index 4bae9793c38..d63911ad24f 100644
--- a/pkgs/development/libraries/http-parser/default.nix
+++ b/pkgs/development/libraries/http-parser/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
 let
-  version = "2.9.0";
+  version = "2.9.1";
 in stdenv.mkDerivation {
   name = "http-parser-${version}";
 
   src = fetchurl {
     url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz";
-    sha256 = "0gv1dhzwlv1anbzrba20l39gzzmz818yv8jbclbls268aj62c9pg";
+    sha256 = "08fypqh3jkwvlznvmwwwir53ffg2xcxy0v8bjz6wxjlb41qhf8ik";
   };
 
   NIX_CFLAGS_COMPILE = "-Wno-error";
diff --git a/pkgs/development/libraries/kde-frameworks/kservice/qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kservice/qdiriterator-follow-symlinks.patch
index cbe13b70950..fdd8b4d81a1 100644
--- a/pkgs/development/libraries/kde-frameworks/kservice/qdiriterator-follow-symlinks.patch
+++ b/pkgs/development/libraries/kde-frameworks/kservice/qdiriterator-follow-symlinks.patch
@@ -1,11 +1,11 @@
-Index: kservice-5.21.0/src/sycoca/kbuildsycoca.cpp
-===================================================================
---- kservice-5.21.0.orig/src/sycoca/kbuildsycoca.cpp
-+++ kservice-5.21.0/src/sycoca/kbuildsycoca.cpp
-@@ -203,7 +203,7 @@ bool KBuildSycoca::build()
-         QSet<QString> relFiles;
+diff --git a/src/sycoca/kbuildsycoca.cpp b/src/sycoca/kbuildsycoca.cpp
+index b125299..0682b90 100644
+--- a/src/sycoca/kbuildsycoca.cpp
++++ b/src/sycoca/kbuildsycoca.cpp
+@@ -207,7 +207,7 @@ bool KBuildSycoca::build()
          const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, m_resourceSubdir, QStandardPaths::LocateDirectory);
-         Q_FOREACH (const QString &dir, dirs) {
+         qCDebug(SYCOCA) << "Looking for subdir" << m_resourceSubdir << "=>" << dirs;
+         for (const QString &dir : dirs) {
 -            QDirIterator it(dir, QDirIterator::Subdirectories);
 +            QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
              while (it.hasNext()) {
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 80431100b1c..09556297da2 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,635 +3,635 @@
 
 {
   attica = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/attica-5.56.0.tar.xz";
-      sha256 = "1ib68yg7dgfyh2kq72abw5bh8h0m85z3hcada3b3axq2xkcfxfmb";
-      name = "attica-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/attica-5.57.0.tar.xz";
+      sha256 = "a13682bccaca3529df6e3b54e1d4e48fb3d1654fe1b142701e73ce9fe0b87655";
+      name = "attica-5.57.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/baloo-5.56.0.tar.xz";
-      sha256 = "04hjlhlgw26l2pl4b5jk76xfs7366my71zp1xgiws5aq620bmmcy";
-      name = "baloo-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/baloo-5.57.0.tar.xz";
+      sha256 = "32ab4ed2d295fe734a4a475403dea72e2feef27f662ae64c841c410eb7bb3dd3";
+      name = "baloo-5.57.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/bluez-qt-5.56.0.tar.xz";
-      sha256 = "1phph0rjms8n2qpkh9bk1n1n1cd75znsqj9r8njs1siasm6vi4nm";
-      name = "bluez-qt-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/bluez-qt-5.57.0.tar.xz";
+      sha256 = "43e1be1882832cef88186255a6b692d9fd1366bad09db0c2075a126b0fc0df65";
+      name = "bluez-qt-5.57.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/breeze-icons-5.56.0.tar.xz";
-      sha256 = "0n6gizmzay98q1vi9ac60p0xq9hpaj9q0gcf8vbmvk4m0yzdd63x";
-      name = "breeze-icons-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/breeze-icons-5.57.0.tar.xz";
+      sha256 = "c3ba92acb5bfcff66f41232ebc6e8c893dab78ac59a713fa4bfa2a0e097f4ed2";
+      name = "breeze-icons-5.57.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/extra-cmake-modules-5.56.0.tar.xz";
-      sha256 = "0a5mxk805rlmpgbxwa9qkn515jqpcifsrk8ydxc3anjcsq6ffg4i";
-      name = "extra-cmake-modules-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/extra-cmake-modules-5.57.0.tar.xz";
+      sha256 = "aa53f8953792b452672f275c2ea9b96ab2adf3e13d9645c3451b06dbc8055b18";
+      name = "extra-cmake-modules-5.57.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/frameworkintegration-5.56.0.tar.xz";
-      sha256 = "1xc0vdvpjzhb6y1pz27c7x36qjjhcf4bll0fm3yljpm956v4d3gf";
-      name = "frameworkintegration-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/frameworkintegration-5.57.0.tar.xz";
+      sha256 = "9c5850c1d41900bcb81e7929d54856d0cdd2565a276e5e262f624eb1217cbb78";
+      name = "frameworkintegration-5.57.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kactivities-5.56.0.tar.xz";
-      sha256 = "0l0p966b5rs6xjc61mpzmrkj7qqjvlzi6fwc7lky4z3fr924ssp7";
-      name = "kactivities-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kactivities-5.57.0.tar.xz";
+      sha256 = "442527db8710b9045dc574816bc9c32cad5f8a404e681fb030d7e9c2f3d77761";
+      name = "kactivities-5.57.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kactivities-stats-5.56.0.tar.xz";
-      sha256 = "1v3pf9drb22qv7039grx4k7q3a1jxd2a7sf818mxpqyys4fzkl3f";
-      name = "kactivities-stats-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kactivities-stats-5.57.0.tar.xz";
+      sha256 = "4c7a49905ec1b6e03831986b254d0fd091e44fe920fffa123c969765c6474ba3";
+      name = "kactivities-stats-5.57.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kapidox-5.56.0.tar.xz";
-      sha256 = "0rhqqsv4zf13idk426x84jykw6lc74bz7pk606llbmyw4775c7wp";
-      name = "kapidox-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kapidox-5.57.0.tar.xz";
+      sha256 = "16f53e4722adddaa8729b4cccc374d16bdbfdd987f8655d2b431a91b046fe2b2";
+      name = "kapidox-5.57.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/karchive-5.56.0.tar.xz";
-      sha256 = "1mnavc5baa4qw90baw5b95760lk61m2rx0vfa3w5d7fid3m6q6i8";
-      name = "karchive-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/karchive-5.57.0.tar.xz";
+      sha256 = "e0e64e7e88c8df96f894de20aff4d12925e0d362c5134df83473ea48c0432783";
+      name = "karchive-5.57.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kauth-5.56.0.tar.xz";
-      sha256 = "0gb1yh2na2kfphln7arscv5n7llagkkv2y0zdprdy4michqa3k6b";
-      name = "kauth-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kauth-5.57.0.tar.xz";
+      sha256 = "9d6b9135cc47710b28e2a7731c4c5c1f6dba2b0e5fe982b9d2a82a11d7d497c2";
+      name = "kauth-5.57.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kbookmarks-5.56.0.tar.xz";
-      sha256 = "0fwmq70ajyjqcva1n2vnf522gwl44aqsi6s9vf8zxsar14vil082";
-      name = "kbookmarks-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kbookmarks-5.57.0.tar.xz";
+      sha256 = "bf57f111e176ab2ecb79646b1f93cf5d84a8d3fcfb13b805b5140e75b42eb085";
+      name = "kbookmarks-5.57.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kcmutils-5.56.0.tar.xz";
-      sha256 = "1f1sccwyk6fzqd9ywnhkrsyaklmxi0w0w5jqhp1m4n3l30caixkw";
-      name = "kcmutils-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kcmutils-5.57.0.tar.xz";
+      sha256 = "f3ee63a356e18be95a15141346356f3f43bb067d0326021d99f4b73ee4716fbb";
+      name = "kcmutils-5.57.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kcodecs-5.56.0.tar.xz";
-      sha256 = "10lw85im4rd3nfdnw2p48cjwq0d47pa2s9v6vmhzmm3hxbflq8z7";
-      name = "kcodecs-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kcodecs-5.57.0.tar.xz";
+      sha256 = "c98b98cf7258c03fa5131a987e278f348d52f792dcb9f2a5664fe35aadea6995";
+      name = "kcodecs-5.57.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kcompletion-5.56.0.tar.xz";
-      sha256 = "1yxsrl0f24ps8xsilh2iqnl88yvw39iw2ch0yk7lwwk47jkgvns9";
-      name = "kcompletion-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kcompletion-5.57.0.tar.xz";
+      sha256 = "5ad8746a57cef2b12da5a97e296cbb0b708e8ecfb4253786a899fa86951395ec";
+      name = "kcompletion-5.57.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kconfig-5.56.0.tar.xz";
-      sha256 = "0wii6pn5dq899s1r7p4q5vmm01jk11zwg2ky6760xf8nv8rhg5ra";
-      name = "kconfig-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kconfig-5.57.0.tar.xz";
+      sha256 = "155b0dbba8772aa8ea3e75217029daa00ada8699e5a807154214f66b2462c010";
+      name = "kconfig-5.57.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kconfigwidgets-5.56.0.tar.xz";
-      sha256 = "00x5cxgxqza81znzm5rzxzr6scv3s5wbwbhsq61ksmjnlf5wvky5";
-      name = "kconfigwidgets-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kconfigwidgets-5.57.0.tar.xz";
+      sha256 = "771c5641a9ae465feaf00ffbb3f3c0433ad8d4a90355dc50d5b6b1b472912eb0";
+      name = "kconfigwidgets-5.57.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kcoreaddons-5.56.0.tar.xz";
-      sha256 = "17kvndaab9l6r79rh0pyjgw4yqh99xfyksc4yxzhhlyl3fgh6hcz";
-      name = "kcoreaddons-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kcoreaddons-5.57.0.tar.xz";
+      sha256 = "7c2573de9b745e55fe61cff26941839cff0d2e40b6c5d791c24c9d6cc8cf7485";
+      name = "kcoreaddons-5.57.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kcrash-5.56.0.tar.xz";
-      sha256 = "1q5iyqi1qgk5ngc9fdilrc5mjxy2mb0xbdnlx234hn1a44aq47jq";
-      name = "kcrash-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kcrash-5.57.0.tar.xz";
+      sha256 = "4b12719a20f2ff0fe0a2656609d0aa277245cd2a9f764a7b6cfaa6da9d928dc0";
+      name = "kcrash-5.57.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kdbusaddons-5.56.0.tar.xz";
-      sha256 = "0wmrcz92k27j0s2iyzd9ldynv4p52x70sxzby2m807ffrs692c5r";
-      name = "kdbusaddons-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kdbusaddons-5.57.0.tar.xz";
+      sha256 = "86946d97e74420637f59ea0fff93e303bcbdc5b1d5e1c6361e2d9a3ceb0e1259";
+      name = "kdbusaddons-5.57.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kdeclarative-5.56.0.tar.xz";
-      sha256 = "0slhxqzbrj23vw7f017cx3brpqkw3933jj7z8kc2bgfzjypj373r";
-      name = "kdeclarative-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kdeclarative-5.57.0.tar.xz";
+      sha256 = "5335b39ac1cca34209c0420dab867b67ddb0e9ee483bdd6d4192269a1d5f654f";
+      name = "kdeclarative-5.57.0.tar.xz";
     };
   };
   kded = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kded-5.56.0.tar.xz";
-      sha256 = "0fdzpsrigjqssqw25gxz5d1i0j8g3hc8xpv4v74mp0pcv9g10apz";
-      name = "kded-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kded-5.57.0.tar.xz";
+      sha256 = "04327dda12fa547bebb8e1b1bc26373e8f4174007dd629231403d59ce004201f";
+      name = "kded-5.57.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/portingAids/kdelibs4support-5.56.0.tar.xz";
-      sha256 = "1yhfnvzgwmnivm99gkq67gnx0ar02j043mq3fg2lgwlrarqi9k7d";
-      name = "kdelibs4support-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/portingAids/kdelibs4support-5.57.0.tar.xz";
+      sha256 = "e9d1c06191031b482ea01d891756d125ff32927239c36a3011fc7b8f17aca1b0";
+      name = "kdelibs4support-5.57.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kdesignerplugin-5.56.0.tar.xz";
-      sha256 = "05nqayzafn2zz74lx8zj7hi7knclcip7zbqmpk1g3nriysc39x4v";
-      name = "kdesignerplugin-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kdesignerplugin-5.57.0.tar.xz";
+      sha256 = "9e85a4ac798122b459722773a6e81f639be6dfe9c9714a16704f555c88334393";
+      name = "kdesignerplugin-5.57.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kdesu-5.56.0.tar.xz";
-      sha256 = "0fc77rbkd1m7rv4rq56g0fg4vg0siamdm5g788816ig9gn1j76ll";
-      name = "kdesu-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kdesu-5.57.0.tar.xz";
+      sha256 = "76d98db52f7f375991cd7ccbbf1dc100716f99a5792b71ef31a75cc33cf45b19";
+      name = "kdesu-5.57.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kdewebkit-5.56.0.tar.xz";
-      sha256 = "1c1mxs30182ilxybp0xwaljrjg5y9j1ri79169hn8664xs3wcbc2";
-      name = "kdewebkit-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kdewebkit-5.57.0.tar.xz";
+      sha256 = "809e9df4ac3ca8b59799c8781694092cb1793f03af0b87a347a1c6019f96a592";
+      name = "kdewebkit-5.57.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kdnssd-5.56.0.tar.xz";
-      sha256 = "1gskwc8sbj6cicblmrxh7qnh1gap0qivs8k5zf5qs94p1xc864vy";
-      name = "kdnssd-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kdnssd-5.57.0.tar.xz";
+      sha256 = "5a61b942fd14c9d96370e19fd7a29594bfcbd3074e12625caac083206fce2789";
+      name = "kdnssd-5.57.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kdoctools-5.56.0.tar.xz";
-      sha256 = "01y06rf1nhw2p8s0j60anr2qvssrqfimddvp2mqqkvx9xkx3py74";
-      name = "kdoctools-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kdoctools-5.57.0.tar.xz";
+      sha256 = "649dbaff4f1559302e7da07f423a0bc9e3faa1c7a93dfeb170e50bf452d8def2";
+      name = "kdoctools-5.57.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kemoticons-5.56.0.tar.xz";
-      sha256 = "00hbd09gnwyfszdwa9yf5m8wpbbapc4kwhs3qxhbvvmll0jv9vl2";
-      name = "kemoticons-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kemoticons-5.57.0.tar.xz";
+      sha256 = "c07b69c9275c117507166622e185c2bf0f36e1e4e8ad7b25fa3e1d793da4711b";
+      name = "kemoticons-5.57.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kfilemetadata-5.56.0.tar.xz";
-      sha256 = "04pmd2f77zxi14l3rhw4dyrh9dafchxqw1xjyv60j97gmm1b9796";
-      name = "kfilemetadata-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kfilemetadata-5.57.0.tar.xz";
+      sha256 = "49e6c281fdffd4f5fe363c6cefdb6c3022ef57c935d7d6b135607cdde9b2d116";
+      name = "kfilemetadata-5.57.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kglobalaccel-5.56.0.tar.xz";
-      sha256 = "0pmgvizc2dwrwr7m49125ybcpsc95r9riwxnihf37napyaacd9y3";
-      name = "kglobalaccel-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kglobalaccel-5.57.0.tar.xz";
+      sha256 = "46370dcd4f110e6ccde3b3bf9c075deb1f22ad54016137925e4aea97b03cc2fe";
+      name = "kglobalaccel-5.57.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kguiaddons-5.56.0.tar.xz";
-      sha256 = "0gp2i29y1vws8i3q8s1bhyxksa42l6q55m459yczddcvcw0vd45i";
-      name = "kguiaddons-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kguiaddons-5.57.0.tar.xz";
+      sha256 = "744eb0ec35c936c17c3d11a08d19014e2166c4a307370207e0f5a38f01a91ebd";
+      name = "kguiaddons-5.57.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kholidays-5.56.0.tar.xz";
-      sha256 = "0lm2ls3a15qbsfhamh2ldzvr62wi9nrhxd83rhyk3ifsgac4mg18";
-      name = "kholidays-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kholidays-5.57.0.tar.xz";
+      sha256 = "f7db45906623c33dfbb297810082f8ff30c949e6a7d477f3b72de0521b0c9452";
+      name = "kholidays-5.57.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/portingAids/khtml-5.56.0.tar.xz";
-      sha256 = "1wmcqc4546mqagqpgb97h3yd7nxaq4si2484li5hnw8mglm1qf3x";
-      name = "khtml-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/portingAids/khtml-5.57.0.tar.xz";
+      sha256 = "63d22fbc8cad3075a0b7ef195291c4b79ebc65da5de81b4885cac1063d783da3";
+      name = "khtml-5.57.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/ki18n-5.56.0.tar.xz";
-      sha256 = "0hdfad9vmyzfni9ln0dc9p26gpjksk754z28v35hww6z9kgbr1dq";
-      name = "ki18n-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/ki18n-5.57.0.tar.xz";
+      sha256 = "bbd60981c9a0c1f9d9a52c8dd86adef7c4c30caf603f806d8730febaa36f0dd9";
+      name = "ki18n-5.57.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kiconthemes-5.56.0.tar.xz";
-      sha256 = "0rdpvbqsb2wqi3glmggilm1mhpy6nc80am5hl4c34269mxd55q8a";
-      name = "kiconthemes-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kiconthemes-5.57.0.tar.xz";
+      sha256 = "09abb03a97027948a1116bfb2ca9842d3f8fb2def83b0b02aaed194dd5bd16f3";
+      name = "kiconthemes-5.57.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kidletime-5.56.0.tar.xz";
-      sha256 = "09184bi8fvq34hwkldyibji7r79wd2wvhxk1i4kzkjg177dnaa95";
-      name = "kidletime-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kidletime-5.57.0.tar.xz";
+      sha256 = "e99a07f814573526ed5141fc9e4bc2df12298df53a0d2787c3b7a4c3af915665";
+      name = "kidletime-5.57.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kimageformats-5.56.0.tar.xz";
-      sha256 = "1cgh32jkg0ybfp8z6qwn7y6yr9mb0fiqly4pb0qc1lcm6awdx3d5";
-      name = "kimageformats-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kimageformats-5.57.0.tar.xz";
+      sha256 = "d7ce6c4737ae2846f015633e7479b60460d960a3a578777c2a884d499bd6cc14";
+      name = "kimageformats-5.57.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kinit-5.56.0.tar.xz";
-      sha256 = "1ihrannyaj33wsir20qy363vdjafhlsmj45qzl3xkl4rbyl6ngs7";
-      name = "kinit-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kinit-5.57.0.tar.xz";
+      sha256 = "7d5ca84d7bd554531aa6d720d3dc41ac091cf047a52d097a23e5c8fad08b684c";
+      name = "kinit-5.57.0.tar.xz";
     };
   };
   kio = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kio-5.56.0.tar.xz";
-      sha256 = "1m2c3a5isj966snmzs97i9kyhwnbzlwf61lqw5yxck25x7d0pyyn";
-      name = "kio-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kio-5.57.0.tar.xz";
+      sha256 = "d68151d58f1ed2e0724074c6bca42510dd3e19617baa4b4130198ad3a36a64ab";
+      name = "kio-5.57.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.56.1";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kirigami2-5.56.1.tar.xz";
-      sha256 = "0npq65kslwkdsylmv5hgcqsa5i9386dmnx8ig79rlf3409awn2f8";
-      name = "kirigami2-5.56.1.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kirigami2-5.57.0.tar.xz";
+      sha256 = "3cdbea0e472293e85e625820f6b9e2d20f59cff263ed150904b6b2acad81062b";
+      name = "kirigami2-5.57.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kitemmodels-5.56.0.tar.xz";
-      sha256 = "13m1bvhljyc1jb9hdlz5v009kmkz7q0qf06l5zkck5k0fq41rkrg";
-      name = "kitemmodels-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kitemmodels-5.57.0.tar.xz";
+      sha256 = "b0eef30ce3e5f2fe9afb60d589bea16a0d0e4a57ffffb37ae0e14a54f1681464";
+      name = "kitemmodels-5.57.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kitemviews-5.56.0.tar.xz";
-      sha256 = "1ar492jpyprxvzcgnq0gnbyxlndb3rd0z32drk7xsx19vpk3ch58";
-      name = "kitemviews-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kitemviews-5.57.0.tar.xz";
+      sha256 = "6b499a21c88d5998c903e8e4dd480c612b96e5e31d17430a507c07566febdd30";
+      name = "kitemviews-5.57.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kjobwidgets-5.56.0.tar.xz";
-      sha256 = "1dh4ilry575k6z0glqb60ldjfkwpnkvijdzfyrc22bn84hbh19iy";
-      name = "kjobwidgets-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kjobwidgets-5.57.0.tar.xz";
+      sha256 = "4b98e7cd9b8d877326854addcee300071afc92f4378d3a94734e470271638002";
+      name = "kjobwidgets-5.57.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/portingAids/kjs-5.56.0.tar.xz";
-      sha256 = "1b3l76ipf0fr8bvp3f4njimmg5yw9ciwzzgvb34ds65aycplagln";
-      name = "kjs-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/portingAids/kjs-5.57.0.tar.xz";
+      sha256 = "865fb86566a0ea904ab0a3bd6a63787161b28578660d475fc316c50c8a7b1e90";
+      name = "kjs-5.57.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/portingAids/kjsembed-5.56.0.tar.xz";
-      sha256 = "0lkfq7099yiwvlycrix3s0dbk860rqfnix5fiw5vmi855is7mpkv";
-      name = "kjsembed-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/portingAids/kjsembed-5.57.0.tar.xz";
+      sha256 = "741aae8db274febe7e5d0d10dc99271efc590b2465d2c4d4e4a9162d2b36e3b4";
+      name = "kjsembed-5.57.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/portingAids/kmediaplayer-5.56.0.tar.xz";
-      sha256 = "0blqbi40l1pk8qf9054ha4a8r7cb4pddbqydsqlsscl4gm8530jh";
-      name = "kmediaplayer-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/portingAids/kmediaplayer-5.57.0.tar.xz";
+      sha256 = "521dcb4b3f9a67203e9eac27b8d777cb22557861b9fae0006c2aecda96d9bad4";
+      name = "kmediaplayer-5.57.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/knewstuff-5.56.0.tar.xz";
-      sha256 = "0r0ia0521vfri7mc6wpg3ihryqj48s3krgmliwbh635rfd3lcj9j";
-      name = "knewstuff-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/knewstuff-5.57.0.tar.xz";
+      sha256 = "6a9d77a62b036b4ed0f32ffaa9f204db1403030d01dbe8fb055d02361db2f981";
+      name = "knewstuff-5.57.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/knotifications-5.56.0.tar.xz";
-      sha256 = "05nf2870fq9cwacgyy8iky5v37fq4jrsh4hl9xy9928d19qnmb24";
-      name = "knotifications-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/knotifications-5.57.0.tar.xz";
+      sha256 = "7de068f4cf9bcefef54ae1cb180e2c0af9be951afbcaa960245507259620cf15";
+      name = "knotifications-5.57.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/knotifyconfig-5.56.0.tar.xz";
-      sha256 = "0zwq0p779482sxxjg62z1rkpiiyn6b3r47l450dm6hm56vkf7vxl";
-      name = "knotifyconfig-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/knotifyconfig-5.57.0.tar.xz";
+      sha256 = "e7fe39ed72b7f79d8cafe6c30d5c62ade0f33be37a62d9e5b929064dd1750ac1";
+      name = "knotifyconfig-5.57.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kpackage-5.56.0.tar.xz";
-      sha256 = "037r0ldp70q0yafld1ddff1d4wipb5ras88r72qazjcfqfg9rzjr";
-      name = "kpackage-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kpackage-5.57.0.tar.xz";
+      sha256 = "2d2d497d50e8ce986d6de4462391122963d9b7605889fd20cd3ceb4dd6910814";
+      name = "kpackage-5.57.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kparts-5.56.0.tar.xz";
-      sha256 = "1vj5ard5ff0wzpjqzrkd2kb31dkjly1cf4ww1ljrrwi7qgzxgw0z";
-      name = "kparts-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kparts-5.57.0.tar.xz";
+      sha256 = "5a079986963d186e98a1174e19e490731012732ad5ad31a431a8f7a31c6b6ed2";
+      name = "kparts-5.57.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kpeople-5.56.0.tar.xz";
-      sha256 = "0h456kjhx4ylbkiv3706g8ccdq55aamrhj5rgiql2gaw3d5dbrkr";
-      name = "kpeople-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kpeople-5.57.0.tar.xz";
+      sha256 = "7c239b80b7976e3bfa46338e05a048aecb9c1972548dc33cc8a17e66eb08a85c";
+      name = "kpeople-5.57.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kplotting-5.56.0.tar.xz";
-      sha256 = "1hrk3iv77s46lcs6c5mfiyzr80vpg9261mlixc3qwps0mww43r1r";
-      name = "kplotting-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kplotting-5.57.0.tar.xz";
+      sha256 = "c2c35030b1a2ca25f503c1a2df7ca225d156a9ea80f52883e136679aea6efc8e";
+      name = "kplotting-5.57.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kpty-5.56.0.tar.xz";
-      sha256 = "1dzp4a6rz6hsp1y8m5l73i8v2a3bpwkv4rrypkd00051ajcch47k";
-      name = "kpty-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kpty-5.57.0.tar.xz";
+      sha256 = "14a0f9d5ecc387c88d24270dbf4c128deb8ad18ab64b39766b335ad03a47c3b6";
+      name = "kpty-5.57.0.tar.xz";
     };
   };
   kross = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/portingAids/kross-5.56.0.tar.xz";
-      sha256 = "0ry6fpl0rb8z5r08bzh6kj14mp7l94calvdk3vrnc89cpm5gxymv";
-      name = "kross-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/portingAids/kross-5.57.0.tar.xz";
+      sha256 = "3b0f92751bb70c64b2ac25b466f886cc8b02babf02c744bcc909aa3ce6915a66";
+      name = "kross-5.57.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/krunner-5.56.0.tar.xz";
-      sha256 = "1gs0fr78zbhxl8c08zj4s98zshc42zxzwv7p9l7rmq8h21spc8ga";
-      name = "krunner-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/krunner-5.57.0.tar.xz";
+      sha256 = "40f52d4d883748f5b9a78b5bd7dd6aaa52eae88b89d7a33eafbcbb9ccf6f4805";
+      name = "krunner-5.57.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kservice-5.56.0.tar.xz";
-      sha256 = "1hsc8pagigwspyv9ipl3l2b9mf8amfksk8a2k3iic9nw1hmpxinv";
-      name = "kservice-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kservice-5.57.0.tar.xz";
+      sha256 = "531940baa47273714fbc35941f2ef5fbdb801b7a5ed5fef5a8ff1d86bf1dae14";
+      name = "kservice-5.57.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/ktexteditor-5.56.0.tar.xz";
-      sha256 = "1a2r97v3xwh61q688jvwkk99bphfd0v0ldqms5d73q3m6w1x122c";
-      name = "ktexteditor-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/ktexteditor-5.57.0.tar.xz";
+      sha256 = "aa510656f632ef09c18af4263386265c293cb929f139786acd102881250314c3";
+      name = "ktexteditor-5.57.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/ktextwidgets-5.56.0.tar.xz";
-      sha256 = "1km19z577y29di8zp6amlccqdavxk4f4sg1dblj6gp64zkw9dbqp";
-      name = "ktextwidgets-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/ktextwidgets-5.57.0.tar.xz";
+      sha256 = "b74036eea1ec19a22aa0e76cd1a8338f55e5c32a30dc47d602783c6bc5ba54bf";
+      name = "ktextwidgets-5.57.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kunitconversion-5.56.0.tar.xz";
-      sha256 = "1kf5dc6p77mkx2i23ppfs0k3laybmx5vqq7aq1bxnkxj1ws75144";
-      name = "kunitconversion-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kunitconversion-5.57.0.tar.xz";
+      sha256 = "157f4d21e83a6e92e30894f472b65452ecd2183ac2e25e24f740e971befed383";
+      name = "kunitconversion-5.57.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kwallet-5.56.0.tar.xz";
-      sha256 = "02i6xkq9ki6sybjvcxkznf5v8b34pqxysg9pi5v4z6jkw2jpr5fj";
-      name = "kwallet-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kwallet-5.57.0.tar.xz";
+      sha256 = "ad089026f4d5b10d567d0fd56f8b63749acd214fb8029d43187ba42afaf36975";
+      name = "kwallet-5.57.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kwayland-5.56.0.tar.xz";
-      sha256 = "1779in51z63sv6607xd7y30wprs9vs8nnqa28fxg1q4nicwnvrxv";
-      name = "kwayland-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kwayland-5.57.0.tar.xz";
+      sha256 = "f00d2997163f559cecf30f5e945d5456628a0d120acafba49fa14af28c22b1d6";
+      name = "kwayland-5.57.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kwidgetsaddons-5.56.0.tar.xz";
-      sha256 = "0flmw1wfzs49dmmlbbimizjwj09wp4qwr9znxn3h5yfn0mxfc1lv";
-      name = "kwidgetsaddons-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kwidgetsaddons-5.57.0.tar.xz";
+      sha256 = "abd80a566e1003bca7c72d3a0dc1ee470bc9935d11371cfff0d960f11e1ef5c2";
+      name = "kwidgetsaddons-5.57.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kwindowsystem-5.56.0.tar.xz";
-      sha256 = "0dk9ymlpdpvra2zm1f2rcx2dwnn9qc49n2y7p6iw094fwk5rzczc";
-      name = "kwindowsystem-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kwindowsystem-5.57.0.tar.xz";
+      sha256 = "0c8a009dde7ca1722810777b99aa4e1a3471687460c25e0f41645c9e11daf274";
+      name = "kwindowsystem-5.57.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kxmlgui-5.56.0.tar.xz";
-      sha256 = "1ipa0qnkh6gs3f6ygvb7cf0yv1m89m3cdl1z23br4fn14d5mxbrl";
-      name = "kxmlgui-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kxmlgui-5.57.0.tar.xz";
+      sha256 = "325124518e8fa4847c898dee193d96b76a7ba27d7c79d875f34c632f46fe1f90";
+      name = "kxmlgui-5.57.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/kxmlrpcclient-5.56.0.tar.xz";
-      sha256 = "1bjnpl4521gv35zghaanz6v5bap2b9n2kz7b0rif1bf6iak018ql";
-      name = "kxmlrpcclient-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/kxmlrpcclient-5.57.0.tar.xz";
+      sha256 = "d47d5cc49f050dda3a26f7654226c0d124ca5ba5503a60e606307426bbe43b9d";
+      name = "kxmlrpcclient-5.57.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/modemmanager-qt-5.56.0.tar.xz";
-      sha256 = "1xwx6yybij8nlaqfpz76pindfxshcyg9p21nqm6ddpgyzh74klbc";
-      name = "modemmanager-qt-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/modemmanager-qt-5.57.0.tar.xz";
+      sha256 = "030bfcfafd5079f25a165aaa5f52693a8fe4b3c15c1345a641716c4329e0929d";
+      name = "modemmanager-qt-5.57.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/networkmanager-qt-5.56.0.tar.xz";
-      sha256 = "0p0b3rq7s1yzy6zspd6xnzjc0hza9d7fixm8pw369kn5k3pi5lk1";
-      name = "networkmanager-qt-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/networkmanager-qt-5.57.0.tar.xz";
+      sha256 = "4d2da2556bfeef4be03833d707284573b469a1f6ad66ba73eae80835bd2e1982";
+      name = "networkmanager-qt-5.57.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/oxygen-icons5-5.56.0.tar.xz";
-      sha256 = "17cjcfmc8vywh8n2ck0s3b0i88ilamdah0gipicn7vj65l4wc1qb";
-      name = "oxygen-icons5-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/oxygen-icons5-5.57.0.tar.xz";
+      sha256 = "2b12a9de3767d233b4b01bc97e23899d94c02b13fee4d20483d3f5d2baaaa1e5";
+      name = "oxygen-icons5-5.57.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.56.1";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/plasma-framework-5.56.1.tar.xz";
-      sha256 = "0wn7q2cfrgzcprzgqj1d4calc0mmrrn615698fish7x9s1n7ag6w";
-      name = "plasma-framework-5.56.1.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/plasma-framework-5.57.0.tar.xz";
+      sha256 = "b886aeee6691911ead25e6fd5631fa41ce2330b0fbbdc040717fa576bacae2ca";
+      name = "plasma-framework-5.57.0.tar.xz";
     };
   };
   prison = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/prison-5.56.0.tar.xz";
-      sha256 = "05hy6fz05snpgjz6bnm3qcr7smg65a0m6rdmyv7avrpbs4qpbghx";
-      name = "prison-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/prison-5.57.0.tar.xz";
+      sha256 = "6613decb2e0b61af5af3a3a9995970c2fdaa72f36bcfd7e9db547017ee4ca235";
+      name = "prison-5.57.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/purpose-5.56.0.tar.xz";
-      sha256 = "0rvywfkhqbmd39g950mpnn35i3kg7j63ylvdy2px2d71am6acal8";
-      name = "purpose-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/purpose-5.57.0.tar.xz";
+      sha256 = "4b38f1b88e6e621bc20c04a5f7bc7293fba6c851209167c5e794b6becaea244e";
+      name = "purpose-5.57.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/qqc2-desktop-style-5.56.0.tar.xz";
-      sha256 = "08afy1gsy0lvpzqmv5azzfiy5x9lvffsf6qvzxxab4v5ch8fn00b";
-      name = "qqc2-desktop-style-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/qqc2-desktop-style-5.57.0.tar.xz";
+      sha256 = "ff40fd6d48815c39e46e19eadf4048f04e79f34f7522a9ba655e6d4a1690546e";
+      name = "qqc2-desktop-style-5.57.0.tar.xz";
     };
   };
   solid = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/solid-5.56.0.tar.xz";
-      sha256 = "17kfwj0y41pkd0kxj2fj9m9qs7bq05vka9ngfr022lfwdhs907c4";
-      name = "solid-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/solid-5.57.0.tar.xz";
+      sha256 = "fbdb0678a5a1b9f902661b4823dbae4629a88708b729d827dd0598799f727209";
+      name = "solid-5.57.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/sonnet-5.56.0.tar.xz";
-      sha256 = "0r8bsf7a9rjvv4jirycwf3xvkqa9iax23p93m301x82hdvmkjr9w";
-      name = "sonnet-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/sonnet-5.57.0.tar.xz";
+      sha256 = "08e13a707b64055f512bba982ec5e69a9e7c62c02d1ee8b6fdc67c67b1265334";
+      name = "sonnet-5.57.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/syndication-5.56.0.tar.xz";
-      sha256 = "0wnrhfp5b4wgmigqh39c0f2qfblgmc3x6018b4wcayfs8gb4m1q9";
-      name = "syndication-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/syndication-5.57.0.tar.xz";
+      sha256 = "251b2333bd3e49f833ef5ac12e0d2540a7640c84625090a85d99715927653728";
+      name = "syndication-5.57.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/syntax-highlighting-5.56.0.tar.xz";
-      sha256 = "0gl0v1bscqd6xhl3644wix8ix04lax0h1zzr1v65704c4qp87h8l";
-      name = "syntax-highlighting-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/syntax-highlighting-5.57.0.tar.xz";
+      sha256 = "e82261e791005a55414fc81a396ca33ee8c061acd66c2c351492d866b3592e9f";
+      name = "syntax-highlighting-5.57.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.56.0";
+    version = "5.57.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.56/threadweaver-5.56.0.tar.xz";
-      sha256 = "1gyvj0v1zhfk8shi31pivvf5rwxkgv9bjmy2vippk2vxvkh0qc5x";
-      name = "threadweaver-5.56.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.57/threadweaver-5.57.0.tar.xz";
+      sha256 = "83969d0f6e4a337fba6b554708f867654af86368066ccef75a4fde85569d1ee0";
+      name = "threadweaver-5.57.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/lib3mf/default.nix b/pkgs/development/libraries/lib3mf/default.nix
index 7292debfc3f..7e41743e1e0 100644
--- a/pkgs/development/libraries/lib3mf/default.nix
+++ b/pkgs/development/libraries/lib3mf/default.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
   postPatch = ''
     rmdir UnitTests/googletest
     ln -s ${gtest.src} UnitTests/googletest
+
+    # fix libdir=''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+    sed -i 's,=''${\(exec_\)\?prefix}/,=,' lib3MF.pc.in
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index b79cad7cb69..c0fadfeb679 100644
--- a/pkgs/development/libraries/libidn2/default.nix
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libidn2-${version}";
-  version = "2.1.1";
+  version = "2.1.1a";
 
   src = fetchurl {
     url = "mirror://gnu/gnu/libidn/${name}.tar.gz";
-    sha256 = "1cbq439dzf14jjpayk5mk0yyq32k3c27acg1d4ra364j6a060hcm";
+    sha256 = "0wlb0jrkccsdxlx90wx6ax5raqcm6y9c75dcgc6j6m6gdv7nnrjp";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 24a708f8277..0682bc32630 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libinput-${version}";
-  version = "1.12.6";
+  version = "1.13.1";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "0pgla0mc6mvyr1ljy10mcqvfz8i5z6yp7dbx2bcd70y67wx05d0j";
+    sha256 = "1as190kl5mnlpqab4qvkxnm4h8vz5cf22r0ai4cb2azfg3a8gm71";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 3f678e0eb96..0ecd568c376 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libmicrohttpd-${version}";
-  version = "0.9.62";
+  version = "0.9.63";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "0jfvi1fb4im3a3m8qishbmzx3zch993c0mhvl2k92l1zf1yhjgmx";
+    sha256 = "173lj66crwvhzwp1r812sc5h1hda7g6lb9l1y5zf7w3pw4dnzhrp";
   };
 
   outputs = [ "out" "dev" "devdoc" "info" ];
diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix
index 4369169014c..10d438500a6 100644
--- a/pkgs/development/libraries/libopus/default.nix
+++ b/pkgs/development/libraries/libopus/default.nix
@@ -2,14 +2,14 @@
 , fixedPoint ? false, withCustomModes ? true }:
 
 let
-  version = "1.3";
+  version = "1.3.1";
 in
 stdenv.mkDerivation rec {
   name = "libopus-${version}";
 
   src = fetchurl {
     url = "https://archive.mozilla.org/pub/opus/opus-${version}.tar.gz";
-    sha256 = "0l651n19h0vhc0sn6w2c95hgqks1i8m4b3j04ncaznzjznp6jgag";
+    sha256 = "17gz8kxs4i7icsc1gj713gadiapyklynlwqlf0ai98dj4lg8xdb5";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix
index e11527ca10c..eabf2d2a106 100644
--- a/pkgs/development/libraries/libpipeline/default.nix
+++ b/pkgs/development/libraries/libpipeline/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libpipeline-1.5.0";
+  name = "libpipeline-1.5.1";
 
   src = fetchurl {
     url = "mirror://savannah/libpipeline/${name}.tar.gz";
-    sha256 = "0avg525wvifcvjrwa6i1r6kvahmsswj0mpxrsxzzdzra9wpf2whd";
+    sha256 = "0bwh5xz5f2czwb7f564jz1mp4znm8pldnvf65fs0hpw4gmmp0cyn";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./fix-on-osx.patch ];
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 21eeb1848d9..d46c7f7367a 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -5,14 +5,14 @@
 
 let
   pname = "librsvg";
-  version = "2.45.5";
+  version = "2.44.13";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "001phhq3dd9i6mkbjnmw468vjlqvs1330nwdzldy1rcgc3f74230";
+    sha256 = "13ybdfx1agp0is81hy699nqvzb4zg1msjyvsmqcx0hb41jzn1mnj";
   };
 
   outputs = [ "out" "dev" "installedTests" ];
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index d3b07dfb049..6c2723bbd90 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -21,6 +21,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ libgcrypt ];
   # optional: build docs with gtk-doc? (probably needs a flag as well)
 
+  configureFlags = [
+    "--with-libgcrypt-prefix=${libgcrypt.dev}"
+  ];
+
   enableParallelBuilding = true;
 
   installCheckInputs = [ python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb_run dbus gnome3.gjs ];
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index fbff51b5ffb..51f779bca6b 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libsodium-1.0.16";
+  name = "libsodium-1.0.17";
 
   src = fetchurl {
     url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
-    sha256 = "0cq5pn7qcib7q70mm1lgjwj75xdxix27v0xl1xl0kvxww7hwgbgf";
+    sha256 = "1cf2d9v1gylz1qcy2zappbf526qfmph6gd6fnn3w2b347vixmhqc";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index f1b9d349a42..4d293e6fb39 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, cmake, zlib, openssl, libsodium }:
 
 stdenv.mkDerivation rec {
-  name = "libssh-0.8.5";
+  name = "libssh-0.8.7";
 
   src = fetchurl {
     url = "https://www.libssh.org/files/0.8/${name}.tar.xz";
-    sha256 = "0dd3nmd20jw4z116qbz3wbffxbzrczi6mcxw0rmqzj0g4hqw9lh7";
+    sha256 = "14nmwfnnrhkwcfk5hn7azl905ivbh4wllmsbw5abd80b5yi4qc23";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index a699ad48a8a..483a56dcdce 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libssh2";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchurl {
     url = "${meta.homepage}/download/${pname}-${version}.tar.gz";
-    sha256 = "0ngif3ynk6xqzy5nlfjs7bsmfm81g9f145av0z86kf0vbgrigda0";
+    sha256 = "0rqd37pc80nm2pz4sa2m9pfc48axys7jwq1l7z0vii5nyvchg0q8";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/liburing/default.nix b/pkgs/development/libraries/liburing/default.nix
new file mode 100644
index 00000000000..143919d148e
--- /dev/null
+++ b/pkgs/development/libraries/liburing/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchgit
+}:
+
+stdenv.mkDerivation rec {
+  name = "liburing-${version}";
+  version = "1.0.0pre821_${builtins.substring 0 7 src.rev}";
+
+  src = fetchgit {
+    url    = "http://git.kernel.dk/liburing";
+    rev    = "39e0ebd4fc66046bf733a47aaa899a556093ebc6";
+    sha256 = "00c72fizxmwxd2jzmlzi4l82cw7h75lfpkkwzwcjpw9zdg9w0ci7";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "lib" "dev" "man" ];
+
+  installFlags =
+    [ "prefix=$(out)"
+      "includedir=$(dev)/include"
+      "libdir=$(lib)/lib"
+    ];
+
+  # Copy the examples into $out and man pages into $man. This should be handled
+  # by the build system in the future and submitted upstream.
+  postInstall = ''
+    mkdir -p $out/bin $man/share/man/man2/
+    cp -R ./man/* $man/share/man/man2
+    cp ./examples/io_uring-cp examples/io_uring-test $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Userspace library for the Linux io_uring API";
+    homepage    = http://git.kernel.dk/cgit/liburing/;
+    license     = licenses.lgpl21;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice ];
+    badPlatforms = [ "aarch64-linux" ];
+  };
+}
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 0a75fcbeda6..7b8ea82e03d 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchpatch, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.26.0";
+  version = "1.27.0";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "08jvjyn5bp4xnzd5g4pi534mklm6hz5pw6wbzbaq3cnwb6a04iwj";
+    sha256 = "1nhd3772qymlv0b251wg9rrqz279vki4hnd4s23yyll0kpmzkpac";
   };
 
   postPatch = let
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index da367b52cc0..a1e10b6d003 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libwacom-${version}";
-  version = "0.32";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "15fz2z2h2awh2l08cv663s1zk4z8bmvvivwnnfvx2q8lkqgfkr7f";
+    sha256 = "0np0a7rpnlm9iqw1i8ycz5mprin6bb99p4h522v9vjk4lhzsp34m";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/development/libraries/ndpi/default.nix b/pkgs/development/libraries/ndpi/default.nix
index 0fd531fa282..913a4a087a9 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 = "2.2"; in
+let version = "2.8"; in
 
 stdenv.mkDerivation rec {
   name = "ndpi-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "ntop";
     repo = "nDPI";
     rev = "${version}";
-    sha256 = "06gg8lhn944arlczmv5i40jkjdnl1nrvsmvm843l9ybcswpayv4m";
+    sha256 = "0lc4vga89pm954vf92g9fa6xwsjkb13jd6wrcc35zy5j04nf9rzf";
   };
 
   configureScript = "./autogen.sh";
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 9dfb3d3851f..4772f1111ac 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -2,14 +2,14 @@
 , CoreServices ? null
 , buildPackages }:
 
-let version = "4.20"; in
+let version = "4.21"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "0vjms4j75zvv5b2siyafg7hh924ysx2cwjad8spzp7x87n8n929c";
+    sha256 = "0nkbgk0x31nfm4xl8la0a3vrnpa8gzkh7g4k65p7n880n73k5shm";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/openjpeg/2.x.nix b/pkgs/development/libraries/openjpeg/2.x.nix
index 3aa2fdf0dd2..e865e2e8549 100644
--- a/pkgs/development/libraries/openjpeg/2.x.nix
+++ b/pkgs/development/libraries/openjpeg/2.x.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchpatch, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2.3.0";
+  version = "2.3.1";
   branch = "2.3";
   revision = "v${version}";
-  sha256 = "08plxrnfl33sn2vh5nwbsngyv6b1sfpplvx881crm1v1ai10m2lz";
+  sha256 = "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb";
 
   extraFlags = [
     "-DOPENJPEG_INSTALL_INCLUDE_DIR=${placeholder "dev"}/include/openjpeg-${branch}"
@@ -12,20 +12,6 @@ callPackage ./generic.nix (args // rec {
   ];
 
   patches = [
-    (fetchpatch {
-      name = "CVE-2018-7648.patch";
-      url = "https://github.com/uclouvain/openjpeg/commit/cc3824767bde397fedb8a1ae4786a222ba860c8d.patch";
-      sha256 = "1j5nxmlgyfkxldk2f1ij6h850xw45q3b5brxqa04dxsfsv8cdj5j";
-    })
-    (fetchpatch {
-      name = "CVE-2017-17480+CVE-2018-18088.patch";
-      url = "https://github.com/uclouvain/openjpeg/commit/92023cd6c377e0384a7725949b25655d4d94dced.patch";
-      sha256 = "0rrxxqcp3vjkmvywxj9ac766m3fppy0x0nszrkf8irrqy1gnp38k";
-    })
-    (fetchpatch {
-      url = https://github.com/uclouvain/openjpeg/commit/24fd3ce777a64b8b315cfe1ee642ec7b1cc6aa97.patch;
-      sha256 = "1sl5wplgdfiqw8qbd8s5j5hq3ynbwgsnv8nxqfrk5s7vyrzx9pxv";
-    })
     ./fix-cmake-config-includedir.patch
   ];
 })
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 0a5f83d1c7c..04988debb72 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, cyrus_sasl, db, groff, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "openldap-2.4.46";
+  name = "openldap-2.4.47";
 
   src = fetchurl {
     url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz";
-    sha256 = "0bab1km8f2nan1x0zgwliknbxg0zlf2pafxrr867kblrdfwdr44s";
+    sha256 = "02sj0p1pq12hqq29b22m3f5zs2rykgvc0q3wlynxjcsjhrvmhk7m";
   };
 
   # TODO: separate "out" and "bin"
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index f9bd4ae91b4..6d2896ac339 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -8,7 +8,7 @@ with stdenv.lib;
 assert elem variant [ null "cpp" "pcre16" "pcre32" ];
 
 let
-  version = "8.42";
+  version = "8.43";
   pname = if (variant == null) then "pcre"
     else  if (variant == "cpp") then "pcre-cpp"
     else  variant;
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://ftp.pcre.org/pub/pcre/pcre-${version}.tar.bz2";
-    sha256 = "00ckpzlgyr16bnqx8fawa3afjgqxw5yxgs2l081vw23qi1y4pl1c";
+    sha256 = "0sxg1wlknq05ryq63h21cchjmcjkin9lmnqsmhs3h08301965rwi";
   };
 
   outputs = [ "bin" "dev" "out" "doc" "man" ];
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index 82574864ec4..4d68d3718c0 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -6,7 +6,7 @@
 with lib;
 
 let
-  v = "4.10.1";
+  v = "4.10.2";
 
   soname = if withQt5 then "phonon4qt5" else "phonon";
   buildsystemdir = "share/cmake/${soname}";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz";
-    sha256 = "1dwdw0hm6685psrp7v9frhkhqvsxrbdnm3gw794j5z7g3brqvag5";
+    sha256 = "02c8fyyvg5qb0lxwxmnxc5grkg6p3halakjf02vmwmvqaycb3v9l";
   };
 
   buildInputs =
diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix
index 415e57e5d3c..ba6827bf694 100644
--- a/pkgs/development/libraries/science/math/or-tools/default.nix
+++ b/pkgs/development/libraries/science/math/or-tools/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchFromGitHub, cmake, google-gflags, which
-, lsb-release, glog, protobuf, cbc, zlib, python3 }:
+{ stdenv, fetchFromGitHub, cmake, abseil-cpp, google-gflags, which
+, lsb-release, glog, protobuf, cbc, zlib
+, ensureNewerSourcesForZipFilesHook, python, swig
+, pythonProtobuf }:
 
 stdenv.mkDerivation rec {
   name = "or-tools-${version}";
-  version = "v6.10";
+  version = "v7.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "or-tools";
     rev = version;
-    sha256 = "11k3671rpv968dsglc6bgarr9yi8ijaaqm2wq3m0rn4wy8fj7za2";
+    sha256 = "09rs2j3w4ljw9qhhnsjlvfii297njjszwvkbgj1i6kns3wnlr7cp";
   };
 
   # The original build system uses cmake which does things like pull
@@ -18,6 +20,7 @@ stdenv.mkDerivation rec {
   # dependencies straight from nixpkgs and use the make build method.
   configurePhase = ''
     cat <<EOF > Makefile.local
+    UNIX_ABSL_DIR=${abseil-cpp}
     UNIX_GFLAGS_DIR=${google-gflags}
     UNIX_GLOG_DIR=${glog}
     UNIX_PROTOBUF_DIR=${protobuf}
@@ -25,23 +28,36 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  makeFlags = [ "prefix=${placeholder "out"}" ];
-  buildFlags = [ "cc" ];
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+    "PROTOBUF_PYTHON_DESC=${pythonProtobuf}/${python.sitePackages}/google/protobuf/descriptor_pb2.py"
+  ];
+  buildFlags = [ "cc" "pypi_archive" ];
 
   checkTarget = "test_cc";
   doCheck = true;
 
   installTargets = [ "install_cc" ];
+  # The upstream install_python target installs to $HOME.
+  postInstall = ''
+    mkdir -p "$python/${python.sitePackages}"
+    (cd temp_python/ortools; PYTHONPATH="$python/${python.sitePackages}:$PYTHONPATH" python setup.py install '--prefix=$python')
+  '';
 
   nativeBuildInputs = [
-    cmake lsb-release which zlib python3
+    cmake lsb-release swig which zlib python
+    ensureNewerSourcesForZipFilesHook
+    python.pkgs.setuptools python.pkgs.wheel
   ];
   propagatedBuildInputs = [
-    google-gflags glog protobuf cbc
+    abseil-cpp google-gflags glog protobuf cbc
+    pythonProtobuf python.pkgs.six
   ];
 
   enableParallelBuilding = true;
 
+  outputs = [ "out" "python" ];
+
   meta = with stdenv.lib; {
     homepage = https://github.com/google/or-tools;
     license = licenses.asl20;
diff --git a/pkgs/development/libraries/science/math/or-tools/gflags-include.patch b/pkgs/development/libraries/science/math/or-tools/gflags-include.patch
deleted file mode 100644
index 08f76180638..00000000000
--- a/pkgs/development/libraries/science/math/or-tools/gflags-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/ortools/data/jobshop_scheduling_parser.cc b/ortools/data/jobshop_scheduling_parser.cc
-index cb0a360b..c2f055eb 100644
---- a/ortools/data/jobshop_scheduling_parser.cc
-+++ b/ortools/data/jobshop_scheduling_parser.cc
-@@ -14,6 +14,7 @@
- #include "ortools/data/jobshop_scheduling_parser.h"
- 
- #include <cmath>
-+#include <gflags/gflags.h>
- 
- #include "google/protobuf/wrappers.pb.h"
- #include "ortools/base/filelineiter.h"
diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix
index 4780ffb7519..14d49c3d0f0 100644
--- a/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/pkgs/development/libraries/vaapi-intel/default.nix
@@ -5,13 +5,16 @@
 
 stdenv.mkDerivation rec {
   name = "intel-vaapi-driver-${version}";
-  version = "2.3.0"; # generally try to match libva version, but not required
+  # TODO: go back to stable releases with the next stable release after 2.3.0.
+  #       see: https://github.com/NixOS/nixpkgs/issues/55975 (and the libva comment v)
+  rev = "329975c63123610fc750241654a3bd18add75beb"; # generally try to match libva version, but not required
+  version = "git-20190211";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "intel-vaapi-driver";
-    rev    = version;
-    sha256 = "0s6cz9grymll96s7n2rpzvb3b566a2n21nfp6b23r926db089kjd";
+    rev    = rev;
+    sha256 = "10333wh2d0hvz5lxl3gjvqs71s7v9ajb0269b3bj5kbflj03v3n5";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 04266361ea5..7d53065ba32 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -2,7 +2,7 @@
 , xlibsWrapper, libxcb, libXrandr, libXext, wayland, libGL_driver }:
 
 let
-  version = "1.1.101.0";
+  version = "1.1.106";
 in
 
 assert version == vulkan-headers.version;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-Loader";
     rev = "sdk-${version}";
-    sha256 = "0x891bha9mlsh4cvq59d1qnb4fnalwf6ml2b9y221cr7hikilamw";
+    sha256 = "0zhrwj1gi90x2w8gaaaw5h4b969a8gfy244kn0drrplhhb1nqz3b";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix
index 0110ea0223c..23585ad009c 100644
--- a/pkgs/development/ocaml-modules/cohttp/default.nix
+++ b/pkgs/development/ocaml-modules/cohttp/default.nix
@@ -1,27 +1,27 @@
-{ stdenv, fetchFromGitHub, buildDunePackage
+{ lib, fetchFromGitHub, buildDunePackage
 , ppx_fields_conv, ppx_sexp_conv, ppx_deriving
 , base64, fieldslib, jsonm, re, stringext, uri
 }:
 
 buildDunePackage rec {
   pname = "cohttp";
-	version = "1.1.1";
+	version = "2.0.0";
 
 	src = fetchFromGitHub {
 		owner = "mirage";
 		repo = "ocaml-cohttp";
 		rev = "v${version}";
-		sha256 = "1dzd6vy43b7p9xplzg2whylz5br59zxaqywa14b4l377f31gnwq1";
+		sha256 = "0nz9y7l5s9a2rq5sb1m5705h99wvf4dk3fhcgragwhy5nwwzcya8";
 	};
 
 	buildInputs = [ jsonm ppx_fields_conv ppx_sexp_conv ];
 
-	propagatedBuildInputs = [ ppx_deriving base64 fieldslib re stringext uri ];
+	propagatedBuildInputs = [ base64 fieldslib re stringext uri ];
 
 	meta = {
 		description = "HTTP(S) library for Lwt, Async and Mirage";
-		license = stdenv.lib.licenses.isc;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
+		license = lib.licenses.isc;
+		maintainers = [ lib.maintainers.vbgl ];
 		inherit (src.meta) homepage;
 	};
 }
diff --git a/pkgs/development/ocaml-modules/cohttp/lwt.nix b/pkgs/development/ocaml-modules/cohttp/lwt.nix
index 37348c55262..93ba084703e 100644
--- a/pkgs/development/ocaml-modules/cohttp/lwt.nix
+++ b/pkgs/development/ocaml-modules/cohttp/lwt.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildDunePackage, cohttp, ocaml_lwt, uri, ppx_sexp_conv }:
+{ stdenv, buildDunePackage, cohttp, ocaml_lwt, uri, ppx_sexp_conv, logs }:
 
 if !stdenv.lib.versionAtLeast cohttp.version "0.99"
 then cohttp
@@ -10,5 +10,5 @@ buildDunePackage rec {
 
 	buildInputs = [ uri ppx_sexp_conv ];
 
-	propagatedBuildInputs = [ cohttp ocaml_lwt ];
+	propagatedBuildInputs = [ cohttp ocaml_lwt logs ];
 }
diff --git a/pkgs/development/ocaml-modules/uri/default.nix b/pkgs/development/ocaml-modules/uri/default.nix
index 6073411a24d..0f3578806d8 100644
--- a/pkgs/development/ocaml-modules/uri/default.nix
+++ b/pkgs/development/ocaml-modules/uri/default.nix
@@ -1,24 +1,39 @@
-{ stdenv, fetchurl, buildDunePackage, ppx_sexp_conv, ounit
-, re, sexplib, stringext
+{ lib, fetchurl, buildDunePackage, ppx_sexp_conv, ounit
+, re, sexplib0, sexplib, stringext
+, legacy ? false
 }:
 
+let params =
+  if legacy then rec {
+    version = "1.9.6";
+    archive = version;
+    sha256 = "1m845rwd70wi4iijkrigyz939m1x84ba70hvv0d9sgk6971w4kz0";
+    inherit sexplib;
+  } else rec {
+    version = "2.2.0";
+    archive = "v${version}";
+    sha256 = "1q0xmc93l46dilxclkmai7w952bdi745rhvsx5vissaigcj9wbwi";
+    sexplib = sexplib0;
+  }
+; in
+
 buildDunePackage rec {
   pname = "uri";
-  version = "1.9.6";
+  inherit (params) version;
 
   src = fetchurl {
-    url = "https://github.com/mirage/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "1m845rwd70wi4iijkrigyz939m1x84ba70hvv0d9sgk6971w4kz0";
+    url = "https://github.com/mirage/ocaml-${pname}/releases/download/v${version}/${pname}-${params.archive}.tbz";
+    inherit (params) sha256;
   };
 
   buildInputs = [ ounit ];
-  propagatedBuildInputs = [ ppx_sexp_conv re sexplib stringext ];
+  propagatedBuildInputs = [ ppx_sexp_conv re params.sexplib stringext ];
   doCheck = true;
 
   meta = {
     homepage = "https://github.com/mirage/ocaml-uri";
     description = "RFC3986 URI parsing library for OCaml";
-    license = stdenv.lib.licenses.isc;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index 55c6c6ec95f..06bcde602a7 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -19,7 +19,6 @@
 , PyRSS2Gen
 , Logbook
 , blinker
-, setuptools
 , natsort
 , requests
 , piexif
@@ -28,7 +27,6 @@
 , jinja2
 , Babel
 , freezegun
-, pyyaml
 , toml
 , notebook
 , ruamel_yaml
@@ -46,9 +44,11 @@ buildPythonPackage rec {
   checkInputs = [ pytest pytestcov mock glibcLocales freezegun ];
 
   propagatedBuildInputs = [
-    pygments pillow dateutil docutils Mako unidecode lxml Yapsy PyRSS2Gen
-    Logbook blinker setuptools natsort requests piexif markdown phpserialize
-    jinja2 doit Babel pyyaml toml notebook ruamel_yaml
+    # requirements.txt
+    doit pygments pillow dateutil docutils Mako markdown unidecode
+    lxml Yapsy PyRSS2Gen Logbook blinker natsort requests piexif Babel
+    # requirements-extras.txt
+    phpserialize jinja2 toml notebook ruamel_yaml
   ];
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/canmatrix/default.nix b/pkgs/development/python-modules/canmatrix/default.nix
index 3e07188986d..a6c3f485d74 100644
--- a/pkgs/development/python-modules/canmatrix/default.nix
+++ b/pkgs/development/python-modules/canmatrix/default.nix
@@ -1,40 +1,54 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, python
+, pythonOlder
+, attrs
+, bitstruct
+, future
+, pathlib2
+, typing
 , lxml
 , xlwt
 , xlrd
 , XlsxWriter
 , pyyaml
-, future }:
+, pytest
+}:
 
 buildPythonPackage rec {
   pname = "canmatrix";
-  version = "0.6";
+  version = "0.7";
 
   # uses fetchFromGitHub as PyPi release misses test/ dir
   src = fetchFromGitHub {
     owner = "ebroecker";
     repo = pname;
     rev = version;
-    sha256 = "1lb0krhchja2jqfsh5lsfgmqcchs1pd38akvc407jfmll96f4yqz";
+    sha256 = "0q8qb282nfgirl8r2i9c8whm3hvr14ig2r42ssgnv2hya971cwjq";
   };
 
+  propagatedBuildInputs = [
+    # required
+    attrs
+    bitstruct
+    future
+    pathlib2
+    # optional
+    lxml
+    xlwt
+    xlrd
+    XlsxWriter
+    pyyaml
+  ] ++ lib.optional (pythonOlder "3.5") typing;
+
+  checkInputs = [
+    pytest
+  ];
+
   checkPhase = ''
-    cd test
-    ${python.interpreter} ./test.py
+    pytest -s src/canmatrix
   '';
 
-  propagatedBuildInputs =
-    [ lxml
-      xlwt
-      xlrd
-      XlsxWriter
-      pyyaml
-      future
-    ];
-
   meta = with lib; {
     homepage = https://github.com/ebroecker/canmatrix;
     description = "Support and convert several CAN (Controller Area Network) database formats .arxml .dbc .dbf .kcd .sym fibex xls(x)";
diff --git a/pkgs/development/python-modules/cysignals/default.nix b/pkgs/development/python-modules/cysignals/default.nix
index c1f85ce75ac..1cd55acdbeb 100644
--- a/pkgs/development/python-modules/cysignals/default.nix
+++ b/pkgs/development/python-modules/cysignals/default.nix
@@ -31,12 +31,13 @@ buildPythonPackage rec {
     export PATH="$out/bin:$PATH"
   '';
 
-  buildInputs = lib.optionals pariSupport [
-    pari
-  ];
-
   propagatedBuildInputs = [
     cython
+  ] ++ lib.optionals pariSupport [
+    # When cysignals is built with pari, including cysignals into the
+    # buildInputs of another python package will cause cython to link against
+    # pari.
+    pari
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/docutils/default.nix b/pkgs/development/python-modules/docutils/default.nix
index f427f95ffaa..b4a4953eb94 100644
--- a/pkgs/development/python-modules/docutils/default.nix
+++ b/pkgs/development/python-modules/docutils/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   # Only Darwin needs LANG, but we could set it in general.
   # It's done here conditionally to prevent mass-rebuilds.
-  checkPhase = lib.optionalString (isPy3k && stdenv.isDarwin) ''LANG="en_US.UTF-8" '' + (if isPy3k then ''
+  checkPhase = lib.optionalString (isPy3k && stdenv.isDarwin) ''LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" '' + (if isPy3k then ''
     ${python.interpreter} test3/alltests.py
   '' else ''
     ${python.interpreter} test/alltests.py
diff --git a/pkgs/development/python-modules/execnet/default.nix b/pkgs/development/python-modules/execnet/default.nix
index df78bff6f1d..7ad1f4267d0 100644
--- a/pkgs/development/python-modules/execnet/default.nix
+++ b/pkgs/development/python-modules/execnet/default.nix
@@ -1,5 +1,7 @@
 { stdenv
+, lib
 , buildPythonPackage
+, isPyPy
 , fetchPypi
 , pytest_3
 , setuptools_scm
@@ -15,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "a7a84d5fa07a089186a329528f127c9d73b9de57f1a1131b82bb5320ee651f6a";
   };
 
-  checkInputs = [ pytest_3  ];
+  checkInputs = [ pytest_3 ];
   nativeBuildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ apipkg ];
 
@@ -25,6 +27,7 @@ buildPythonPackage rec {
     rm -v testing/test_channel.py
     rm -v testing/test_xspec.py
     rm -v testing/test_gateway.py
+    ${lib.optionalString isPyPy "rm -v testing/test_multi.py"}
   '';
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/gmpy2/default.nix b/pkgs/development/python-modules/gmpy2/default.nix
index a03188bb8f2..fc554906409 100644
--- a/pkgs/development/python-modules/gmpy2/default.nix
+++ b/pkgs/development/python-modules/gmpy2/default.nix
@@ -1,8 +1,16 @@
-{ stdenv, buildPythonPackage, fetchurl, isPyPy, gmp, mpfr, libmpc } :
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, isPyPy
+, gmp
+, mpfr
+, libmpc
+}:
 
 let
   pname = "gmpy2";
-  version = "2.0.8";
+  version = "2.1a4";
 in
 
 buildPythonPackage {
@@ -10,11 +18,24 @@ buildPythonPackage {
 
   disabled = isPyPy;
 
-  src = fetchurl {
-    url = "mirror://pypi/g/gmpy2/${pname}-${version}.zip";
-    sha256 = "0grx6zmi99iaslm07w6c2aqpnmbkgrxcqjrqpfq223xri0r3w8yx";
+  src = fetchFromGitHub {
+    owner = "aleaxit";
+    repo = "gmpy";
+    rev = "gmpy2-${version}";
+    sha256 = "1wg4w4q2l7n26ksrdh4rwqmifgfm32n7x29cgdvmmbv5lmilb5hz";
   };
 
+  patches = [
+    # Backport of two bugfixes (including a segfault):
+    # https://github.com/aleaxit/gmpy/pull/217
+    # https://github.com/aleaxit/gmpy/pull/218
+    (fetchpatch {
+      name = "bugfixes.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gmpy2/patches/PR217_PR218_conversion_methods.patch?id=b7fbb9a4dac5d6882f6b83a57447dd79ecafb84c";
+      sha256 = "1x3gwvqac36k4ypclxq37fcvi6p790k4xdpm2bj2b3xsvjb80ycz";
+    })
+  ];
+
   buildInputs = [ gmp mpfr libmpc ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/intake/default.nix b/pkgs/development/python-modules/intake/default.nix
index 4434ea0edc1..2646ee1b936 100644
--- a/pkgs/development/python-modules/intake/default.nix
+++ b/pkgs/development/python-modules/intake/default.nix
@@ -21,12 +21,12 @@
 
 buildPythonPackage rec {
   pname = "intake";
-  version = "0.4.1";
+  version = "0.4.4";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f47e53aa764eeadf6adcc667b9817b1ad32496477476da0b982d4fc0744b40ef";
+    sha256 = "3fc1b7c2949c9b4200ecbbfdff17da126981a1d8d95ccb7b7bcca3e3dd849d5e";
   };
 
   checkInputs = [ pytest ];
@@ -47,8 +47,9 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    # single test assumes python for executable name
-    PATH=$out/bin:$PATH HOME=$(mktemp -d) pytest --ignore=intake/catalog/tests/test_default.py
+    # test_filtered_compressed_cache requires calvert_uk_filter.tar.gz, which is not included in tarball
+    # test_which assumes python for executable name
+    PATH=$out/bin:$PATH HOME=$(mktemp -d) pytest -k "not test_filtered_compressed_cache and not test_which"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/kaptan/default.nix b/pkgs/development/python-modules/kaptan/default.nix
index 35194294e9d..aada19dd45b 100644
--- a/pkgs/development/python-modules/kaptan/default.nix
+++ b/pkgs/development/python-modules/kaptan/default.nix
@@ -13,6 +13,12 @@ buildPythonPackage rec {
     sha256 = "8403d6e48200c3f49cb6d6b3dcb5898aa5ab9d820831655bf9a2403e00cd4207";
   };
 
+  # https://github.com/emre/kaptan/pull/151
+  postPatch = ''
+    substituteInPlace requirements/base.txt \
+      --replace "PyYAML>=3.13,<4" "PyYAML>=3.13"
+  '';
+
   propagatedBuildInputs = [ pyyaml ];
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix b/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
index a553a3bf433..5ddece686fa 100644
--- a/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   checkInputs = [ mock ];
 
   checkPhase = ''
-    python -m twisted.trial wormhole_transit_relay
+    ${twisted}/bin/trial wormhole_transit_relay
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/mock/default.nix b/pkgs/development/python-modules/mock/default.nix
index 142383b8db7..8ab724144f7 100644
--- a/pkgs/development/python-modules/mock/default.nix
+++ b/pkgs/development/python-modules/mock/default.nix
@@ -20,6 +20,12 @@ buildPythonPackage rec {
   buildInputs = [ unittest2 ];
   propagatedBuildInputs = [ funcsigs six pbr ];
 
+  # On PyPy for Python 2.7 in particular, Mock's tests have a known failure.
+  # Mock upstream has a decoration to disable the failing test and make
+  # everything pass, but it is not yet released. The commit:
+  # https://github.com/testing-cabal/mock/commit/73bfd51b7185#diff-354f30a63fb0907d4ad57269548329e3L12
+  doCheck = !(python.isPyPy && python.isPy27);
+
   checkPhase = ''
     ${python.interpreter} -m unittest discover
   '';
diff --git a/pkgs/development/python-modules/moviepy/default.nix b/pkgs/development/python-modules/moviepy/default.nix
index 693d5cf5d7f..7171409bec8 100644
--- a/pkgs/development/python-modules/moviepy/default.nix
+++ b/pkgs/development/python-modules/moviepy/default.nix
@@ -1,25 +1,48 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, pythonAtLeast
 , numpy
 , decorator
 , imageio
+, imageio-ffmpeg
 , isPy3k
+, proglog
+, requests
 , tqdm
+# Advanced image processing (triples size of output)
+, advancedProcessing ? false
+, opencv ? null
+, scikitimage ? null
+, scikitlearn ? null
+, scipy ? null
+, matplotlib ? null
+, youtube-dl ? null
 }:
 
+assert advancedProcessing -> (
+  opencv != null && scikitimage != null && scikitlearn != null
+  && scipy != null && matplotlib != null && youtube-dl != null);
+
 buildPythonPackage rec {
   pname = "moviepy";
   version = "1.0.0";
 
+  disabled = !(pythonAtLeast "3.4");
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "16c7ffca23d90c76dd7b163f648c8166dfd589b7c180b8ff75aa327ae0a2fc6d";
   };
 
-  # No tests
+  # No tests, require network connection
   doCheck = false;
-  propagatedBuildInputs = [ numpy decorator imageio tqdm ];
+
+  propagatedBuildInputs = [
+    numpy decorator imageio imageio-ffmpeg tqdm requests proglog
+  ] ++ (stdenv.lib.optionals advancedProcessing [
+    opencv scikitimage scikitlearn scipy matplotlib youtube-dl
+  ]);
 
   meta = with stdenv.lib; {
     description = "Video editing with Python";
diff --git a/pkgs/development/python-modules/mt-940/default.nix b/pkgs/development/python-modules/mt-940/default.nix
index 820b4c1696b..f3965b8a74a 100644
--- a/pkgs/development/python-modules/mt-940/default.nix
+++ b/pkgs/development/python-modules/mt-940/default.nix
@@ -1,36 +1,27 @@
-{ buildPythonPackage, stdenv, pyyaml, pytest, enum34
-, pytestpep8, pytest-flakes, fetchFromGitHub, isPy3k, lib, glibcLocales
+{ lib, buildPythonPackage, fetchPypi, isPy3k
+, enum34, pyyaml, pytest
 }:
 
 buildPythonPackage rec {
-  version = "4.13.2";
+  version = "4.15.0";
   pname = "mt-940";
 
-  # No tests in PyPI tarball
-  # See https://github.com/WoLpH/mt940/pull/72
-  src = fetchFromGitHub {
-    owner = "WoLpH";
-    repo = "mt940";
-    rev = "v${version}";
-    sha256 = "1lvw3qyv7qhjabcvg55br8x4pnc7hv8xzzaf6wnr8cfjg0q7dzzg";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4c1d5c23a9c3fec12a61ce3f61d8be107b4693be4a4b97381eca23f4a4dca8ed";
   };
 
-  postPatch = ''
-    # No coverage report
-    sed -i "/--\(no-\)\?cov/d" pytest.ini
-  '';
-
   propagatedBuildInputs = lib.optional (!isPy3k) enum34;
 
-  checkInputs = [ pyyaml pytestpep8 pytest-flakes pytest ];
+  checkInputs = [ pyyaml pytest ];
 
   checkPhase = ''
     py.test
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A library to parse MT940 files and returns smart Python collections for statistics and manipulation";
-    inherit (src.meta) homepage;
+    homepage = https://github.com/WoLpH/mt940;
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index b74bbf581d8..e479542c509 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchPypi, python, buildPythonPackage, isPyPy, gfortran, pytest, blas, writeTextFile }:
+{ stdenv, lib, fetchPypi, python, buildPythonPackage, gfortran, pytest, blas, writeTextFile }:
 
 let
   blasImplementation = lib.nameFromURL blas.name "-";
@@ -24,7 +24,6 @@ in buildPythonPackage rec {
     sha256 = "1c4inssky16p6ab63n1gass6dik1dzxrp3y7kmxbdq6xg4w2wsbc";
   };
 
-  disabled = isPyPy;
   nativeBuildInputs = [ gfortran pytest ];
   buildInputs = [ blas ];
 
diff --git a/pkgs/development/python-modules/parse/default.nix b/pkgs/development/python-modules/parse/default.nix
index 004b58fec6a..2bbf92f40d4 100644
--- a/pkgs/development/python-modules/parse/default.nix
+++ b/pkgs/development/python-modules/parse/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "parse";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "870dd675c1ee8951db3e29b81ebe44fd131e3eb8c03a79483a58ea574f3145c2";
+    sha256 = "0hkic57kaxd5s56ylbwslmngqnpab864mjj8c0ayawfk6is6as0v";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/pplpy/default.nix b/pkgs/development/python-modules/pplpy/default.nix
new file mode 100644
index 00000000000..6f118a51c87
--- /dev/null
+++ b/pkgs/development/python-modules/pplpy/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, python
+, fetchPypi
+, buildPythonPackage
+, gmp
+, mpfr
+, libmpc
+, ppl
+, pari
+, cython
+, cysignals
+, gmpy2
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "pplpy";
+  version = "0.8.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0dk8l5r3f2jbkkasddvxwvhlq35pjsiirh801lrapv8lb16r2qmr";
+  };
+
+  buildInputs = [
+    gmp
+    mpfr
+    libmpc
+    ppl
+  ];
+
+  nativeBuildInputs = [
+    sphinx # docbuild, called by make
+  ];
+
+  propagatedBuildInputs = [
+    cython
+    cysignals
+    gmpy2
+  ];
+
+  outputs = [ "out" "doc" ];
+
+  postBuild = ''
+    # Find the build result in order to put it into PYTHONPATH. The doc
+    # build needs to import pplpy.
+    build_result="$PWD/$( find build/ -type d -name 'lib.*' | head -n1 )"
+
+    echo "Building documentation"
+    PYTHONPATH="$build_result:$PYTHONPATH" make -C docs html
+  '';
+
+  postInstall = ''
+    mkdir -p "$doc/share/doc"
+    mv docs/build/html "$doc/share/doc/pplpy"
+  '';
+
+  meta = with lib; {
+    description = "A Python wrapper for ppl";
+    homepage = https://gitlab.com/videlec/pplpy;
+    maintainers = with maintainers; [ timokau ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/proglog/default.nix b/pkgs/development/python-modules/proglog/default.nix
new file mode 100644
index 00000000000..d6fe22e1754
--- /dev/null
+++ b/pkgs/development/python-modules/proglog/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchPypi, buildPythonPackage, tqdm }:
+
+buildPythonPackage rec {
+  pname = "proglog";
+  version = "0.1.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13diln950wk6nnn4rpmzx37rvrnpa7f803gwygiwbq1q46zwri6q";
+  };
+
+  propagatedBuildInputs = [ tqdm ];
+
+  meta = with stdenv.lib; {
+    description = "Logs and progress bars manager for Python";
+    homepage = https://github.com/Edinburgh-Genome-Foundry/Proglog;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pyasn1-modules/default.nix b/pkgs/development/python-modules/pyasn1-modules/default.nix
index 0bef3f9e69f..6ab9d3c7c3a 100644
--- a/pkgs/development/python-modules/pyasn1-modules/default.nix
+++ b/pkgs/development/python-modules/pyasn1-modules/default.nix
@@ -3,7 +3,6 @@
 buildPythonPackage rec {
   pname = "pyasn1-modules";
   version = "0.2.4";
-  disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycdio/default.nix b/pkgs/development/python-modules/pycdio/default.nix
index 6d670006014..4a5577d7e0b 100644
--- a/pkgs/development/python-modules/pycdio/default.nix
+++ b/pkgs/development/python-modules/pycdio/default.nix
@@ -23,8 +23,8 @@ buildPythonPackage rec {
     patchShebangs .
   '';
 
-  nativeBuildInputs = [ pkgs.pkgconfig ];
-  buildInputs = [ setuptools nose pkgs.swig pkgs.libcdio ]
+  nativeBuildInputs = [ nose pkgs.pkgconfig pkgs.swig ];
+  buildInputs = [ setuptools pkgs.libcdio ]
     ++ stdenv.lib.optional stdenv.isDarwin pkgs.libiconv;
 
   # Run tests using nosetests but first need to install the binaries
diff --git a/pkgs/development/python-modules/pycryptopp/default.nix b/pkgs/development/python-modules/pycryptopp/default.nix
index 06045a58393..8bb472d8fde 100644
--- a/pkgs/development/python-modules/pycryptopp/default.nix
+++ b/pkgs/development/python-modules/pycryptopp/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchPypi
 , isPy3k
-, isPyPy
 , setuptoolsDarcs
 , darcsver
 , pkgs
@@ -11,7 +10,7 @@
 buildPythonPackage rec {
   pname = "pycryptopp";
   version = "0.7.1.869544967005693312591928092448767568728501330214";
-  disabled = isPy3k || isPyPy;  # see https://bitbucket.org/pypy/pypy/issue/1190/
+  disabled = isPy3k;  # see https://bitbucket.org/pypy/pypy/issue/1190/
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyramid_chameleon/default.nix b/pkgs/development/python-modules/pyramid_chameleon/default.nix
index 257be31f32d..398869e467b 100644
--- a/pkgs/development/python-modules/pyramid_chameleon/default.nix
+++ b/pkgs/development/python-modules/pyramid_chameleon/default.nix
@@ -16,6 +16,11 @@ buildPythonPackage rec {
     sha256 = "d176792a50eb015d7865b44bd9b24a7bd0489fa9a5cebbd17b9e05048cef9017";
   };
 
+  patches = [
+    # https://github.com/Pylons/pyramid_chameleon/pull/25
+    ./test-renderers-pyramid-import.patch
+  ];
+
   propagatedBuildInputs = [ chameleon pyramid zope_interface setuptools ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch b/pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch
new file mode 100644
index 00000000000..635ed3510fc
--- /dev/null
+++ b/pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch
@@ -0,0 +1,11 @@
+--- a/pyramid_chameleon/tests/test_renderers.py
++++ b/pyramid_chameleon/tests/test_renderers.py
+@@ -258,7 +258,7 @@ class TestChameleonRendererLookup(unittest.TestCase):
+         self.assertRaises(ValueError, lookup.__call__, info)
+ 
+     def test___call__spec_alreadyregistered(self):
+-        from pyramid import tests
++        from pyramid_chameleon import tests
+         module_name = tests.__name__
+         relpath = 'test_renderers.py'
+         spec = '%s:%s' % (module_name, relpath)
diff --git a/pkgs/development/python-modules/pytest-shutil/default.nix b/pkgs/development/python-modules/pytest-shutil/default.nix
index fedf5010b2b..c5444708be8 100644
--- a/pkgs/development/python-modules/pytest-shutil/default.nix
+++ b/pkgs/development/python-modules/pytest-shutil/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi
+{ stdenv, lib, isPyPy, buildPythonPackage, fetchPypi
 , pytest_3, cmdline, pytestcov, coverage, setuptools-git, mock, pathpy, execnet
 , contextlib2, termcolor }:
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ pytest_3 ];
 
   checkPhase = ''
-    py.test
+    py.test ${lib.optionalString isPyPy "-k'not (test_run or test_run_integration)'"}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pytoml/default.nix b/pkgs/development/python-modules/pytoml/default.nix
index 91661a1fb51..d65de812323 100644
--- a/pkgs/development/python-modules/pytoml/default.nix
+++ b/pkgs/development/python-modules/pytoml/default.nix
@@ -1,23 +1,29 @@
 { stdenv
 , buildPythonPackage
-, fetchgit
+, fetchFromGitHub
 , python
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "pytoml";
-  version = "0.1.14";
+  version = "0.1.20";
+
+  src = fetchFromGitHub {
+    owner = "avakar";
+    repo = "pytoml";
+    rev = "v${version}";
+    fetchSubmodules = true; # ensure test submodule is available
+    sha256 = "02hjq44zhh6z0fsbm3hvz34sav6fic90sjrw8g1pkdvskzzl46mz";
+  };
+
+  checkInputs = [ pytest ];
 
   checkPhase = ''
     ${python.interpreter} test/test.py
+    pytest test
   '';
 
-  # fetchgit used to ensure test submodule is available
-  src = fetchgit {
-    url = "${meta.homepage}.git";
-    rev = "refs/tags/v${version}";
-    sha256 = "1ip71yqxnyi4jhw5x1q7a0za61ndhpfh0vbx08jfv0w4ayng6rgv";
-  };
 
   meta = with stdenv.lib; {
     description = "A TOML parser/writer for Python";
diff --git a/pkgs/development/python-modules/pyyaml/default.nix b/pkgs/development/python-modules/pyyaml/default.nix
index b4732e34c4e..84dfb549fe1 100644
--- a/pkgs/development/python-modules/pyyaml/default.nix
+++ b/pkgs/development/python-modules/pyyaml/default.nix
@@ -1,17 +1,22 @@
-{ lib, buildPythonPackage, fetchPypi, libyaml, buildPackages }:
+{ lib, buildPythonPackage, fetchPypi, cython, libyaml, buildPackages }:
 
 buildPythonPackage rec {
   pname = "PyYAML";
-  version = "3.13";
+  version = "5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf";
+    sha256 = "436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95";
   };
 
-  nativeBuildInputs = [ buildPackages.stdenv.cc ];
+  # force regeneration using Cython
+  postPatch = ''
+    rm ext/_yaml.c
+  '';
 
-  propagatedBuildInputs = [ libyaml ];
+  nativeBuildInputs = [ cython buildPackages.stdenv.cc ];
+
+  buildInputs = [ libyaml ];
 
   meta = with lib; {
     description = "The next generation YAML parser and emitter for Python";
diff --git a/pkgs/development/python-modules/snscrape/default.nix b/pkgs/development/python-modules/snscrape/default.nix
index 972ea3149f9..40b2626bade 100644
--- a/pkgs/development/python-modules/snscrape/default.nix
+++ b/pkgs/development/python-modules/snscrape/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "snscrape";
-  version = "0.1.3";
+  version = "0.2.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mnhqqc7xfwg2wrzpj1pjbcisjjwxrgmy21f53p80xbx2iz8b9n1";
+    sha256 = "02mlpzkvpl2mv30cknq6ngw02y7gj2614qikq25ncrpg5vb903d9";
   };
 
   # There are no tests; make sure the executable works.
diff --git a/pkgs/development/python-modules/typing/default.nix b/pkgs/development/python-modules/typing/default.nix
index e363ca22cf2..5c5ecd8949a 100644
--- a/pkgs/development/python-modules/typing/default.nix
+++ b/pkgs/development/python-modules/typing/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy3k, python }:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy3k, isPyPy, python }:
 
 let
   testDir = if isPy3k then "src" else "python2";
@@ -14,7 +14,8 @@ in buildPythonPackage rec {
 
   # Error for Python3.6: ImportError: cannot import name 'ann_module'
   # See https://github.com/python/typing/pull/280
-  doCheck = pythonOlder "3.6";
+  # Also, don't bother on PyPy: AssertionError: TypeError not raised
+  doCheck = pythonOlder "3.6" && !isPyPy;
 
   checkPhase = ''
     cd ${testDir}
diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix
index 19945785eed..d0397d61605 100644
--- a/pkgs/development/python-modules/werkzeug/default.nix
+++ b/pkgs/development/python-modules/werkzeug/default.nix
@@ -14,6 +14,13 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ itsdangerous ];
   checkInputs = [ pytest requests hypothesis ];
 
+  # Hi! New version of Werkzeug? Please double-check that this commit is
+  # inclucded, and then remove the following patch.
+  # https://github.com/pallets/werkzeug/commit/1cfdcf9824cb20e362979e8f7734012926492165
+  patchPhase = ''
+    substituteInPlace "tests/test_serving.py" --replace "'python'" "sys.executable"
+  '';
+
   checkPhase = ''
     pytest ${stdenv.lib.optionalString stdenv.isDarwin "-k 'not test_get_machine_id'"}
   '';
diff --git a/pkgs/development/python-modules/zfec/default.nix b/pkgs/development/python-modules/zfec/default.nix
index 0e18de7d502..9193c2ddc08 100644
--- a/pkgs/development/python-modules/zfec/default.nix
+++ b/pkgs/development/python-modules/zfec/default.nix
@@ -3,13 +3,11 @@
 , fetchPypi
 , setuptoolsDarcs
 , pyutil
-, isPyPy
 }:
 
 buildPythonPackage rec {
   pname = "zfec";
   version = "1.5.3";
-  disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index 8ae56834702..ed7babf4933 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -37,6 +37,13 @@ let newPython = python3.override {
         sha256 = "c0abe3218b86533cca287e7057a37481883c07acef7814b70583406938214cc8";
       };
     });
+    pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
+      version = "3.13";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf";
+      };
+    });
   };
 };
 
diff --git a/pkgs/development/tools/glslviewer/default.nix b/pkgs/development/tools/glslviewer/default.nix
index e8315e7b60c..d85060add5e 100644
--- a/pkgs/development/tools/glslviewer/default.nix
+++ b/pkgs/development/tools/glslviewer/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "glslviewer-${version}";
-  version = "2018-01-31";
+  version = "2019-04-22";
 
   src = fetchFromGitHub {
     owner = "patriciogonzalezvivo";
     repo = "glslViewer";
-    rev = "cac40f6984dbeb638950744c9508aa88591fea6c";
-    sha256 = "1bykpp68hdxjlxvi1xicyb6822mz69q0adz24faaac372pls4bk0";
+    rev = "fa3e2ed4810927d189e480b704366cca22f281f3";
+    sha256 = "1888jxi84f2nnc0kpzqrn2cada1z4zqyq8ss4ppb5y3wy7d87qjn";
   };
 
   nativeBuildInputs = [ pkgconfig ensureNewerSourcesForZipFilesHook ];
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index b70fcc6f392..c287e40d823 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -11,13 +11,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2019.03.11";
+  version = "2019.04.16";
 
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "fa1c932452e8efe1dfcc6ff095e3f7130a7906b1";
-    sha256 = "06rc1sfpdb2682dr1df3hk4m9padjnhjn0p35xq872kil276gnsk";
+    rev    = "d9ea2e15fccebbbce59409b0ae7a1481d78aab86";
+    sha256 = "1qa37p7hm7c2ga26xcvsd8xkqrp4hm0w6yh7cvz2q988yjzal5ky";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/remarshal/default.nix b/pkgs/development/tools/remarshal/default.nix
index 6632d062633..10bfd0c2f2d 100644
--- a/pkgs/development/tools/remarshal/default.nix
+++ b/pkgs/development/tools/remarshal/default.nix
@@ -2,13 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "remarshal";
-  version = "0.8.0";
+  version = "0.9.1";
 
-  src = fetchFromGitHub {
-    owner  = "dbohdan";
-    repo   = "remarshal";
-    rev    = "v${version}";
-    sha256 = "192r1mfd5yj6kg6fqmkjngdlgn25g5rkvm0p6xaflpvavnhvhnsj";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "564ffe9cbde85bd28a9c184b90c764abd2003abd6101a30802262198b5c7fc40";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/development/tools/rust/cargo-bloat/default.nix b/pkgs/development/tools/rust/cargo-bloat/default.nix
new file mode 100644
index 00000000000..d3ded6e9f58
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-bloat/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-bloat";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "RazrFalcon";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0wf86r1s9skv0m4gp66g388847309nw9z1h8gadfg2c5w5idh3fb";
+  };
+
+  cargoSha256 = "1mmfcvpwwi6fjb47fz1azrpdkg1x5p3qn5bx4p6dyjcs1fmpdbbq";
+
+  meta = with stdenv.lib; {
+    description = "A tool and Cargo subcommand that helps you find out what takes most of the space in your executable";
+    homepage = https://github.com/RazrFalcon/cargo-bloat;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ xrelkd ];
+  };
+}
+
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index ab88aff0ea1..88fd212dad2 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "0.4.10";
+  version = "0.4.11";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "1f90v67clmql2bb32sgs7c48q8nhyw2pfk4hpkiy8qll8fypjgik";
+    sha256 = "051hy2320mqdxvafhafwnk1n8q2sq2d7jyhx5bbxvqmjjm55lg8h";
   };
 
-  cargoSha256 = "042s28p68jz3my2q1crmq7xzcajwxmcprgg9z7r9ffhrybk4jvwz";
+  cargoSha256 = "0d1j01nrq5j0yrgd85lnvg1mzalcd8xadkza3yvwnqzf554idrcy";
 
   meta = with stdenv.lib; {
-    description = ''A utility and Cargo subcommand designed to let people expand macros in their Rust source code'';
+    description = "A utility and Cargo subcommand designed to let people expand macros in their Rust source code";
     homepage = https://github.com/dtolnay/cargo-expand;
     license = with licenses; [ mit asl20 ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/trellis/default.nix b/pkgs/development/tools/trellis/default.nix
index d8fc3770e34..a348e295933 100644
--- a/pkgs/development/tools/trellis/default.nix
+++ b/pkgs/development/tools/trellis/default.nix
@@ -8,14 +8,14 @@ let
 in
 stdenv.mkDerivation rec {
   name = "trellis-${version}";
-  version = "2019.04.02";
+  version = "2019.04.22";
 
   srcs = [
     (fetchFromGitHub {
        owner  = "symbiflow";
        repo   = "prjtrellis";
-       rev    = "7848ab8db85194cb822bc27af5b50a6fe2db55c6";
-       sha256 = "1c9085idsnpw279ddshh58yv920vpcnymzznzj2n5z5vcnkbrr3v";
+       rev    = "5eb0ad870f30422b95d090ac9a476343809c62b9";
+       sha256 = "10jkjfhqdr2bff41mh3w8a7kszf2whqqgk5s1z5z07mlh6zfdjlg";
        name   = "trellis";
      })
     (fetchFromGitHub {
diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix
index 4cfac27451b..5040886eaa0 100644
--- a/pkgs/games/brogue/default.nix
+++ b/pkgs/games/brogue/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, ncurses, libtcod }:
+{ stdenv, fetchurl, SDL, ncurses, libtcod, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   name = "brogue-${version}";
@@ -19,8 +19,21 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL ncurses libtcod ];
 
+  desktopItem = makeDesktopItem {
+    name = "brogue";
+    desktopName = "Brogue";
+    genericName = "Roguelike";
+    comment = "Brave the Dungeons of Doom!";
+    icon = "brogue";
+    exec = "brogue";
+    categories = "Game;AdventureGame;";
+    terminal = "false";
+  };
+
   installPhase = ''
     install -m 555 -D bin/brogue $out/bin/brogue
+    install -m 444 -D ${desktopItem}/share/applications/brogue.desktop $out/share/applications/brogue.desktop
+    install -m 444 -D bin/brogue-icon.png $out/share/icons/hicolor/256x256/apps/brogue.png
     mkdir -p $out/share/brogue
     cp -r bin/fonts $out/share/brogue/
   '';
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index 2bf41a3cc32..c5c239fc04f 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -53,11 +53,11 @@ let
     x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
       alpha = {
         stable        = bdist { sha256 = "0b4hbpdcrh5hgip9q5dkmw22p66lcdhnr0kmb0w5dw6yi7fnxxh0"; version = "0.16.51"; withAuth = true; };
-        experimental  = bdist { sha256 = "11vwyyf3him2bi0c5cgv0h0k304kvw667ygqplq5giyzcvadjix8"; version = "0.17.16"; withAuth = true; };
+        experimental  = bdist { sha256 = "0xgvvmyh49992y2r8yhafi80j3j4pcsp7pf0fg3rbc6zi1ariwsr"; version = "0.17.32"; withAuth = true; };
       };
       headless = {
         stable        = bdist { sha256 = "0zrnpg2js0ysvx9y50h3gajldk16mv02dvrwnkazh5kzr1d9zc3c"; version = "0.16.51"; };
-        experimental  = bdist { sha256 = "1sxv4kc5vg53lgjrm5c250hvbg6hqz0ijfxpvfjk7bzps5g6n1fx"; version = "0.17.16"; };
+        experimental  = bdist { sha256 = "1jfjbb0v7yiqpn7nxkr4fcd1rsz59s8k6qcl82d1j320l3y7nl9w"; version = "0.17.32"; };
       };
       demo = {
         stable        = bdist { sha256 = "0zf61z8937yd8pyrjrqdjgd0rjl7snwrm3xw86vv7s7p835san6a"; version = "0.16.51"; };
diff --git a/pkgs/games/hyperrogue/default.nix b/pkgs/games/hyperrogue/default.nix
index 8c32e164afa..760d82c026d 100644
--- a/pkgs/games/hyperrogue/default.nix
+++ b/pkgs/games/hyperrogue/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, SDL, SDL_ttf, SDL_gfx, SDL_mixer, autoreconfHook,
-  libpng, glew }:
+  libpng, glew, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   name = "hyperrogue-${version}";
@@ -16,6 +16,33 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ autoreconfHook SDL SDL_ttf SDL_gfx SDL_mixer libpng glew ];
 
+  desktopItem = makeDesktopItem {
+    name = "hyperrogue";
+    desktopName = "HyperRogue";
+    genericName = "HyperRogue";
+    comment = meta.description;
+    icon = "hyperrogue";
+    exec = "hyperrogue";
+    categories = "Game;AdventureGame;";
+  };
+
+  postInstall = ''
+    install -m 444 -D ${desktopItem}/share/applications/hyperrogue.desktop \
+      $out/share/applications/hyperrogue.desktop
+    install -m 444 -D hyperroid/app/src/main/res/drawable-ldpi/icon.png \
+      $out/share/icons/hicolor/36x36/apps/hyperrogue.png
+    install -m 444 -D hyperroid/app/src/main/res/drawable-mdpi/icon.png \
+      $out/share/icons/hicolor/48x48/apps/hyperrogue.png
+    install -m 444 -D hyperroid/app/src/main/res/drawable-hdpi/icon.png \
+      $out/share/icons/hicolor/72x72/apps/hyperrogue.png
+    install -m 444 -D hyperroid/app/src/main/res/drawable-xhdpi/icon.png \
+      $out/share/icons/hicolor/96x96/apps/hyperrogue.png
+    install -m 444 -D hyperroid/app/src/main/res/drawable-xxhdpi/icon.png \
+      $out/share/icons/hicolor/144x144/apps/hyperrogue.png
+    install -m 444 -D hyperroid/app/src/main/res/drawable-xxxhdpi/icon.png \
+      $out/share/icons/hicolor/192x192/apps/hyperrogue.png
+  '';
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/riko4/default.nix b/pkgs/games/riko4/default.nix
new file mode 100644
index 00000000000..7cbfacd0b40
--- /dev/null
+++ b/pkgs/games/riko4/default.nix
@@ -0,0 +1,68 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU, luajit, curl, curlpp }:
+
+let
+  # Newer versions of sdl-gpu don't work with Riko4 (corrupted graphics),
+  # and this library does not have a proper release version, so let the
+  # derivation for this stay next to the Riko4 derivation for now.
+  sdl-gpu = stdenv.mkDerivation rec {
+    name = "sdl-gpu-${version}";
+    version = "2018-11-01";
+    src = fetchFromGitHub {
+      owner = "grimfang4";
+      repo = "sdl-gpu";
+      rev = "a4ff1ab02410f154b004c29ec46e07b22890fa1f";
+      sha256 = "1wdwg331s7r4dhq1l8w4dvlqf4iywskpdrscgbwrz9j0c6nqqi3v";
+    };
+    buildInputs = [ SDL2 libGLU ];
+    nativeBuildInputs = [ cmake ];
+    enableParallelBuilding = true;
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/grimfang4/sdl-gpu;
+      description = "A library for high-performance, modern 2D graphics with SDL written in C";
+      license = licenses.mit;
+      maintainers = with maintainers; [ CrazedProgrammer ];
+    };
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "riko4-${version}";
+  version = "0.1.0";
+  src = fetchFromGitHub {
+    owner = "incinirate";
+    repo = "Riko4";
+    rev = "v${version}";
+    sha256 = "008i9991sn616dji96jfwq6gszrspbx4x7cynxb1cjw66phyy5zp";
+  };
+
+  buildInputs = [ SDL2 luajit sdl-gpu curl curlpp ];
+  nativeBuildInputs = [ cmake ];
+
+  hardeningDisable = [ "fortify" ];
+  cmakeFlags = [ "-DSDL2_gpu_INCLUDE_DIR=\"${sdl-gpu}/include\"" ];
+
+  # Riko4 needs the data/ and scripts/ directories to be in its PWD.
+  installPhase = ''
+    install -Dm0755 riko4 $out/bin/.riko4-unwrapped
+    mkdir -p $out/lib/riko4
+    cp -r ../data $out/lib/riko4
+    cp -r ../scripts $out/lib/riko4
+    cat > $out/bin/riko4 <<EOF
+    #!/bin/sh
+    pushd $out/lib/riko4 > /dev/null
+    exec $out/bin/.riko4-unwrapped "\$@"
+    popd > /dev/null
+    EOF
+    chmod +x $out/bin/riko4
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/incinirate/Riko4;
+    description = "Fantasy console for pixel art game development";
+    license = licenses.mit;
+    maintainers = with maintainers; [ CrazedProgrammer ];
+  };
+}
diff --git a/pkgs/games/steam/runtime-generated.nix b/pkgs/games/steam/runtime-generated.nix
index d5532c051d4..76a472eb3b3 100644
--- a/pkgs/games/steam/runtime-generated.nix
+++ b/pkgs/games/steam/runtime-generated.nix
@@ -5,7 +5,7 @@
   amd64 = [
     rec {
       name = "dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt1_amd64";
-      sha256 = "0qbr4jfqyda0fi3giwizfv3ainsvld9fl4vd7sylpi490yw7yymh";
+      sha256 = "b07a7fb80789c44bbd3e6d13ea52a35bdba8c6763ff2f8467440358f9d247961";
       url = "mirror://steamrt/pool/main/d/d-conf/dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -14,7 +14,7 @@
     }
     rec {
       name = "freeglut3_2.6.0-1ubuntu3+srt5_amd64";
-      sha256 = "08mpxxd12c2kwlab47nfz25vpn7ag2xkmxp2zn48ymxab7qhvr5r";
+      sha256 = "b9e40df159aa578f88fde2f63abb78ead8bb8bf8ce1eb214e55330115aefb722";
       url = "mirror://steamrt/pool/main/f/freeglut/freeglut3_2.6.0-1ubuntu3+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -23,7 +23,7 @@
     }
     rec {
       name = "gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt1_amd64";
-      sha256 = "16dlf5zdy9njyaj9c9gdqcq73hd49lfm3ivwizs6i4jgfi44a2q0";
+      sha256 = "000b4548744f9268f48f7cc7511d4da4c17130c3ed2596a4f2d226df7e71b499";
       url = "mirror://steamrt/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -31,9 +31,9 @@
       };
     }
     rec {
-      name = "gcc-5-base_5.4.0-7.really.6+steamrt1.1+srt2_amd64";
-      sha256 = "1vpdmgq0vbh7x4r6n1b5cxlz6yl2lfy5bwp89xph640kip1j1xax";
-      url = "mirror://steamrt/pool/main/g/gcc-5/gcc-5-base_5.4.0-7.really.6+steamrt1.1+srt2_amd64.deb";
+      name = "gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt1_amd64";
+      sha256 = "9e49b2fade9ab9f7befdfe96655c4fa259d323ed70e948f81b49c9abd1a194ab";
+      url = "mirror://steamrt/pool/main/g/gcc-5/gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gcc-5-base.deb";
@@ -41,7 +41,7 @@
     }
     rec {
       name = "gtk2-engines_2.20.2-1ubuntu1+srt5_amd64";
-      sha256 = "1w2aaddcrfg37fw7bl2jcbx14bp7ar8lyaq25j9pi8298wvbikly";
+      sha256 = "9eceb8364749a078932c022b4f5156e72e12fa6252d075b83be3b9cc5a534af0";
       url = "mirror://steamrt/pool/main/g/gtk2-engines/gtk2-engines_2.20.2-1ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -50,7 +50,7 @@
     }
     rec {
       name = "gtk2-engines-murrine_0.98.2-0ubuntu1+srt5_amd64";
-      sha256 = "0fqbm6502zqw64lbzywz0cllxkj9n44fxb2gg8q160vcqzyvb8jf";
+      sha256 = "4ea2b5fdc76c0313307a4facee08b149ce4e29039ffbbf28311c7f018aa90b3b";
       url = "mirror://steamrt/pool/main/g/gtk2-engines-murrine/gtk2-engines-murrine_0.98.2-0ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -59,7 +59,7 @@
     }
     rec {
       name = "gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt5_amd64";
-      sha256 = "05d43583lj3ffskvmzcr6yb8a3jz1l8gc12mrmaix8w71bv81nr1";
+      sha256 = "21db80f60a87a31e55cd5504f6100d5f0e85963799fdbaa7766e483a5019a415";
       url = "mirror://steamrt/pool/main/g/gtk+2.0/gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -68,7 +68,7 @@
     }
     rec {
       name = "libacl1_2.2.51-5ubuntu1+steamrt1.1+srt2_amd64";
-      sha256 = "0anp6yvp59ian96pkzp899sjxl7l86gp0q5lfmwdiv74asixj52j";
+      sha256 = "5214d9a356e4ecd87875b460709f41f4d02e754ae8fe794db22aa672b737d72a";
       url = "mirror://steamrt/pool/main/a/acl/libacl1_2.2.51-5ubuntu1+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -77,7 +77,7 @@
     }
     rec {
       name = "libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt1_amd64";
-      sha256 = "19s3s3fc4vcj5cg7fh40w35vjyhi7097vv83lwjzrzhz5jlgczmp";
+      sha256 = "b77ef6a82c1ffefc25a703ed7d1238117ab9cbe08040771e2b926dc2dcd043a7";
       url = "mirror://steamrt/pool/main/liba/libappindicator/libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -86,7 +86,7 @@
     }
     rec {
       name = "libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "0mib9hy38mbiz40dr7x7c9c0liqswmnnykij7xpp7kbfqlvlshb8";
+      sha256 = "68414d37c56ecd736f3f324e6f6de51a470a5862a79fdc00f97155343c4c2b56";
       url = "mirror://steamrt/pool/main/h/heimdal/libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -95,7 +95,7 @@
     }
     rec {
       name = "libasound2_1.1.0-0ubuntu1+steamos1+srt2_amd64";
-      sha256 = "05d4ijlc20ss4rm2jxr5lxkgwbn0qcv5a7pj9aizl66klpbzsgay";
+      sha256 = "5e3dfdd7a5d318faa34af21e5536c3c02efe66a72577296a265a03c1a88ca415";
       url = "mirror://steamrt/pool/main/a/alsa-lib/libasound2_1.1.0-0ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -104,7 +104,7 @@
     }
     rec {
       name = "libasound2-plugins_1.1.0-0ubuntu1+srt2_amd64";
-      sha256 = "1dsa9z7ssf39c039a60axh36wgykyapv65gmlxnvxpkhqnw4zywm";
+      sha256 = "95fb4fb8c570debe6da7f515b3aff2d33f6e06ec0a189506606938adcf4f4ab7";
       url = "mirror://steamrt/pool/main/a/alsa-plugins/libasound2-plugins_1.1.0-0ubuntu1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -113,7 +113,7 @@
     }
     rec {
       name = "libasyncns0_0.8-4+srt5_amd64";
-      sha256 = "00nglm7sryy3y1pagjhv1mq6rvqiawmhf3kgwv0g7bqwgxcpia7p";
+      sha256 = "f7a878597f1caff3c0e66f0e072b5711ef6c700d1bcaa76ef0c3fbac4fa5cf02";
       url = "mirror://steamrt/pool/main/liba/libasyncns/libasyncns0_0.8-4+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -122,7 +122,7 @@
     }
     rec {
       name = "libatk1.0-0_2.18.0-1+steamrt1+srt1_amd64";
-      sha256 = "1rs9k9pcxmpwlwbxgalsqhiv7baqylaxpkhy4524a4b8dw1qx0k4";
+      sha256 = "64828e036f68114544211ecedb15f558adb323c49aaad717a7fcd6ce6e9a49e7";
       url = "mirror://steamrt/pool/main/a/atk1.0/libatk1.0-0_2.18.0-1+steamrt1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -131,7 +131,7 @@
     }
     rec {
       name = "libattr1_2.4.46-5ubuntu1+steamrt1.1+srt1_amd64";
-      sha256 = "1d19qccdzn82iqql513xgg0yb9w9frbq7v24v2i17140c0w0jhvn";
+      sha256 = "7643093860808413a2d844ec83577689a7e5c17b7d8442318e02d9df18c329b4";
       url = "mirror://steamrt/pool/main/a/attr/libattr1_2.4.46-5ubuntu1+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -140,7 +140,7 @@
     }
     rec {
       name = "libavahi-client3_0.6.30-5ubuntu2.2+srt1_amd64";
-      sha256 = "04rkaiapl13rxlr2bwxz2q7z6i0091nm1c49kjnl1yckg64d7548";
+      sha256 = "8894d3887993f940ad9c89b0506d480044f30f16bff32532ed79047a55543313";
       url = "mirror://steamrt/pool/main/a/avahi/libavahi-client3_0.6.30-5ubuntu2.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -149,7 +149,7 @@
     }
     rec {
       name = "libavahi-common3_0.6.30-5ubuntu2.2+srt1_amd64";
-      sha256 = "1a2x57s3072na65gr7ys0wl5cm2f1j2m5kkhlhq4i8ms6hxssgrk";
+      sha256 = "333fad3b34baa24830a470ce52850c4e54562807da9ffc8a51561c30f4295da8";
       url = "mirror://steamrt/pool/main/a/avahi/libavahi-common3_0.6.30-5ubuntu2.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -158,7 +158,7 @@
     }
     rec {
       name = "libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "0wpmnsnq5njv65iwq2g6819m2j5fda7jm8450qs3lmyc963ds0i2";
+      sha256 = "2202dd8649cc573a340685a02a8f6aae48515340e609cc63315bda82adb6f572";
       url = "mirror://steamrt/pool/main/liba/libav/libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -167,7 +167,7 @@
     }
     rec {
       name = "libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "1xpxmhhhgc7ap7f2ijlsgx9p58qqyvk2lgfn61dhlibq046px816";
+      sha256 = "26a07e0d0178450a5b30d63d2ae6f618a372537f9aca28dcb9eab00721acfdf6";
       url = "mirror://steamrt/pool/main/liba/libav/libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -176,7 +176,7 @@
     }
     rec {
       name = "libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "0b8vx5lhsbynivm58zhxd0w6g7c7bqjvsr891wbqizbi325yja2b";
+      sha256 = "4b28e98b1871fd88170f0965bd255e879d6738681d7e54ea8ed62f0d69e91b2d";
       url = "mirror://steamrt/pool/main/liba/libav/libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -185,7 +185,7 @@
     }
     rec {
       name = "libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "1g3bdnfs0rgwnzrnwpj5hamynj1z0qs8wmxlfd0iqkah74ymgaaa";
+      sha256 = "4aa9573d39504d1c4173b4578e34063f48ebab82455e6ef3b7fc65a09d6d6bbc";
       url = "mirror://steamrt/pool/main/liba/libav/libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -194,7 +194,7 @@
     }
     rec {
       name = "libbz2-1.0_1.0.6-1+srt5_amd64";
-      sha256 = "046y04ynczpydlrablks51mx4jc1313k89hsi8x4sj2a355819nz";
+      sha256 = "dfa6804a194a484d3a8a1a263447188149d26b287ad2a5326dfe7e663d01de10";
       url = "mirror://steamrt/pool/main/b/bzip2/libbz2-1.0_1.0.6-1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -203,7 +203,7 @@
     }
     rec {
       name = "libcairo2_1.10.2-6.1ubuntu3+srt5_amd64";
-      sha256 = "1j82gzl9hfxsrk2s3nxx1dpq6jlmkz5y5mkvxw9d166v0mlvxkq4";
+      sha256 = "04cfbe6905db98d012ef7bd6e2cb9f954a836f0bbddba1c5ccba3b98e87f02c9";
       url = "mirror://steamrt/pool/main/c/cairo/libcairo2_1.10.2-6.1ubuntu3+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -212,7 +212,7 @@
     }
     rec {
       name = "libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt1_amd64";
-      sha256 = "10mfqks3zw2cqn2kbcc0abswnx886bnrgaf51q5r919vwrm11vi6";
+      sha256 = "26ee106ae63b85940b0ec5a997ed320875cbf55280b13585c54cf03ff4c4ae82";
       url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -221,7 +221,7 @@
     }
     rec {
       name = "libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt1_amd64";
-      sha256 = "1im7a6z47dwlwcvcafg3bmh055fjzrar6zl207hj9h8hkw3gdnxq";
+      sha256 = "b8dbf6069f10c124e101827e9355fed29502605de339c536e394b743be51a7c6";
       url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -230,7 +230,7 @@
     }
     rec {
       name = "libcanberra0_0.28-3ubuntu3+steamrt1.1+srt1_amd64";
-      sha256 = "1blld717yb6npjswczs06khm3b6vp4r0yzlwfxjp76gvmazgc3iq";
+      sha256 = "380ef6beaafb997365779c7e0f32b9dbac51e134407fc6b5bcd62c7fc26994ae";
       url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra0_0.28-3ubuntu3+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -239,7 +239,7 @@
     }
     rec {
       name = "libcap2_2.22-1ubuntu3+srt5_amd64";
-      sha256 = "0bsjpbv2p7ir6w7dpjvs8y25skha72406mhgjrff9dvdvc9mwwpy";
+      sha256 = "fe725e13db6db7e45c960f560388380a4e5d84477acbdb0e37399e2bf6ba522f";
       url = "mirror://steamrt/pool/main/libc/libcap2/libcap2_2.22-1ubuntu3+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -248,7 +248,7 @@
     }
     rec {
       name = "libcg_3.0.0016-0ubuntu1+srt5_amd64";
-      sha256 = "1d4lc4krkphvmlvmd4z60l6cg37gd62x9m700s83jxbsz0fhwmrb";
+      sha256 = "2b570e1df87a75399006e0d4d48569ef8cc70c05e6935637ad1bde99276194b4";
       url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -256,9 +256,9 @@
       };
     }
     rec {
-      name = "libcomerr2_1.42-1ubuntu2.3+srt1_amd64";
-      sha256 = "0ar9lzaxlmhqxpp6v2b3jz3lblkqhqwy0ywbwkdq4zs5za69kh1b";
-      url = "mirror://steamrt/pool/main/e/e2fsprogs/libcomerr2_1.42-1ubuntu2.3+srt1_amd64.deb";
+      name = "libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt1_amd64";
+      sha256 = "326c086493ea51a5aad78d52994dcae849124d5ed52cb89de5da8c6e848b766b";
+      url = "mirror://steamrt/pool/main/e/e2fsprogs/libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcomerr2.deb";
@@ -266,7 +266,7 @@
     }
     rec {
       name = "libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt2_amd64";
-      sha256 = "012fv3d528iz1xdrqlk1xckaslda6kq1sm64kwb5zzm9bzzgnl29";
+      sha256 = "4950fbfe5fa9fe5f169fc4541df034aa51ad26eb61529c5b0f3f2251dad84e04";
       url = "mirror://steamrt/pool/main/c/cups/libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -275,7 +275,7 @@
     }
     rec {
       name = "libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt4_amd64";
-      sha256 = "1zjy6vqay9ssaxvq11gnf9kr8y94idbx7abcrr4nbx7xkdijz0zi";
+      sha256 = "f1832f639bfdf46549ce6ca9d3578b2479946772f6858077575a27aff0365efe";
       url = "mirror://steamrt/pool/main/c/curl/libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt4_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -284,7 +284,7 @@
     }
     rec {
       name = "libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt4_amd64";
-      sha256 = "1599nmpk68cn9awqfq0picwclap7fwfsm8gagz95y5a5nsmldii8";
+      sha256 = "28c646abb645155fd27feaa1aa1d77e72aca388b176087b94a9621336fb52995";
       url = "mirror://steamrt/pool/main/c/curl/libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt4_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -293,7 +293,7 @@
     }
     rec {
       name = "libdbus-1-3_1.4.18-1ubuntu1.8+srt1_amd64";
-      sha256 = "1m1q2q2s6b98x1zbk31hnd80dakfqg2g8yaj662vxrdrr85j6nza";
+      sha256 = "ea5b230bcab9e5be85315279f4c4c36eaa0650b3308cb97ee8282da3051638d4";
       url = "mirror://steamrt/pool/main/d/dbus/libdbus-1-3_1.4.18-1ubuntu1.8+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -302,7 +302,7 @@
     }
     rec {
       name = "libdbus-glib-1-2_0.98-1ubuntu1.1+srt5_amd64";
-      sha256 = "1f36vyq505hrfqmhizgplvvk17zhf1230wlrzibdwi04j275sahk";
+      sha256 = "132a5d8e900444de56fc9972304470f09f30f7a6f7fd082b76191650b0df66b8";
       url = "mirror://steamrt/pool/main/d/dbus-glib/libdbus-glib-1-2_0.98-1ubuntu1.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -311,7 +311,7 @@
     }
     rec {
       name = "libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt5_amd64";
-      sha256 = "064wwqbjrdvwkjpyi0k6vj7rrwkwcy49mrlsgrv3q4gckiqhjhbz";
+      sha256 = "7f4109719cec113c767e9ae69a88677cf29c8fdc6682e8af9c7cb72c17e69c18";
       url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -320,7 +320,7 @@
     }
     rec {
       name = "libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt5_amd64";
-      sha256 = "0vagal7jh6biarjf9sy219p2njb5k8ycv4v7glni8prli0c1zzxq";
+      sha256 = "b8ff1f1888345f142d7d6793cd3c9a65492b6e0ac2ebe464567119280f554f6d";
       url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -329,7 +329,7 @@
     }
     rec {
       name = "libexif12_0.6.20-2ubuntu0.1+srt5_amd64";
-      sha256 = "15rk2yfvsy16azpcwl8xsxigmrdhl0pkg6dvyq2pknp08c72r5r7";
+      sha256 = "27972c0e43e0da7905f6bb99372fa0b0e5fa62d71d51ceee572678bd9d173397";
       url = "mirror://steamrt/pool/main/libe/libexif/libexif12_0.6.20-2ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -338,7 +338,7 @@
     }
     rec {
       name = "libexpat1_2.0.1-7.2ubuntu1.4+srt2_amd64";
-      sha256 = "0pdn5f20pbmklnvsyl83x0rjafsjy8vxn4zd2nl7h0aabzng9vy2";
+      sha256 = "c2eff4ec5f4a0178a815ed13db37f2523b2533e80351afb7a5b3ae0b842bb65d";
       url = "mirror://steamrt/pool/main/e/expat/libexpat1_2.0.1-7.2ubuntu1.4+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -347,7 +347,7 @@
     }
     rec {
       name = "libffi6_3.0.11~rc1-5+srt5_amd64";
-      sha256 = "0i428a37s9lma09psy0d7vj2amnimwgx4izmmac4dlzyy6qpfn9s";
+      sha256 = "3a5977b1f1fed34698aaf547d21fafd15625e43e0d787d135095267d86428244";
       url = "mirror://steamrt/pool/main/libf/libffi/libffi6_3.0.11~rc1-5+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -356,7 +356,7 @@
     }
     rec {
       name = "libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt1_amd64";
-      sha256 = "13hkikwbxsm3nf91rc1xa98apwx9y4mr9h20cd0206gm43qfyvh2";
+      sha256 = "026eeff020f51920406340c0942bf1a9f3ab50523db01c92b3a3eabef88c138e";
       url = "mirror://steamrt/pool/main/f/flac/libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -365,7 +365,7 @@
     }
     rec {
       name = "libfltk1.1_1.1.10-10+srt5_amd64";
-      sha256 = "0zrx2mb5rl5hcyh6p0sglark6rh7s993sg26klizkswn2w53rv8j";
+      sha256 = "12ed3c0a1796ebf9239d463c3d52d2076633b3a24f836ba067b0d05c56153d7f";
       url = "mirror://steamrt/pool/main/f/fltk1.1/libfltk1.1_1.1.10-10+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -374,7 +374,7 @@
     }
     rec {
       name = "libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt1_amd64";
-      sha256 = "1q3sk9ad8y1x6nbd86i417zp0j624m7b7yj6xp4gm96g8l443asj";
+      sha256 = "52ab410845cfa4fac8ed46fab34e25c24870ff09241ad496353d78d4549a7ae0";
       url = "mirror://steamrt/pool/main/f/fontconfig/libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -383,7 +383,7 @@
     }
     rec {
       name = "libfreetype6_2.4.8-1ubuntu2.6+srt1_amd64";
-      sha256 = "01z4dwib9d7i7187yw1b0vji587hrj354cz6ll2iybrbg25w510w";
+      sha256 = "1c84c28b782b2f1f05a5e6335286ccf0a012e5062b707f5038f1b4b4226fe407";
       url = "mirror://steamrt/pool/main/f/freetype/libfreetype6_2.4.8-1ubuntu2.6+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -391,9 +391,9 @@
       };
     }
     rec {
-      name = "libgcc1_5.4.0-7.really.6+steamrt1.1+srt2_amd64";
-      sha256 = "1r6nviva9jnkwyg28lxjcr142lda88f3r2312wgdfhry69szw2ld";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libgcc1_5.4.0-7.really.6+steamrt1.1+srt2_amd64.deb";
+      name = "libgcc1_5.4.0-7.really.6+steamrt1.2+srt1_amd64";
+      sha256 = "900c11735725034c857c79b59f35f53bf0eeec8d3e59faef01163dd3ab7af4b7";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libgcc1_5.4.0-7.really.6+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgcc1.deb";
@@ -401,7 +401,7 @@
     }
     rec {
       name = "libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt1_amd64";
-      sha256 = "1psyh5bcf3k28ziw0b2sxjyy2va6xahb0696rz0r6y9m924n0dn7";
+      sha256 = "c736608948357993c1cf2619b0a0ea466de1bdec5a2cc0e347620ec756815edf";
       url = "mirror://steamrt/pool/main/g/gconf/libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -410,7 +410,7 @@
     }
     rec {
       name = "libgcrypt11_1.5.0-3ubuntu0.6+srt2_amd64";
-      sha256 = "0p1vywfx5l9zhibr8c20by9w646przfjfaci5c6ifi7f4v5nn9hc";
+      sha256 = "0c266bcb26ee44170d2b912927ddcfd710c3935f40309457843fd1d21df73b5c";
       url = "mirror://steamrt/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-3ubuntu0.6+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -419,7 +419,7 @@
     }
     rec {
       name = "libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt5_amd64";
-      sha256 = "1km2w0haybwal9zkhwsrx4i9yi2zkhbbfhh2xljhfw5m5g6s4mq5";
+      sha256 = "0557a2cd2bb5700725ed0242b7169c5f449f22e95973387fa28a2faf20e0a2ce";
       url = "mirror://steamrt/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -427,8 +427,26 @@
       };
     }
     rec {
+      name = "libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt5_amd64";
+      sha256 = "fc7c92ec95943ea6f904fcc477821e99f8127786dbebe19f39d562414684f341";
+      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt5_amd64.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "libgl1-mesa-dri.deb";
+      };
+    }
+    rec {
+      name = "libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt5_amd64";
+      sha256 = "7257a5ef7a5e0bb0a70f435e17a50989e497dbe02bc0a15d9dd1747a2ae2cb39";
+      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt5_amd64.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "libgl1-mesa-glx.deb";
+      };
+    }
+    rec {
       name = "libglew1.10_1.10.0-3+srt6_amd64";
-      sha256 = "19w95wfzzr909jgjg8w6fqff8x00izawqicw896fqbf44zmsc2l0";
+      sha256 = "800aa6eb27c42dec4c429c45ccd58f0074e41c7686a3279f4c20e5ff1d2f89a7";
       url = "mirror://steamrt/pool/main/g/glew/libglew1.10_1.10.0-3+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -437,7 +455,7 @@
     }
     rec {
       name = "libglew1.6_1.6.0-4+steamrt1.1+srt1_amd64";
-      sha256 = "0vh45a8dp2mqmkswam2rssawg0l0karbymqks3f3gj591d0d6fcv";
+      sha256 = "9b39d3400ba9c837dcd01357bfb29a8082c795d65954c5f5acb88adb902a046e";
       url = "mirror://steamrt/pool/main/g/glew1.6/libglew1.6_1.6.0-4+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -446,7 +464,7 @@
     }
     rec {
       name = "libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt2_amd64";
-      sha256 = "1zhb0cpyl3vq5hg63j7wgw6bmwrn8xnq1ybnbigw439c0nq4f333";
+      sha256 = "630c47b0052c0dc25f5c76f9806d4736f3ba0c7ffcc8611e2c780fea2f030bfe";
       url = "mirror://steamrt/pool/main/g/glib2.0/libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -455,7 +473,7 @@
     }
     rec {
       name = "libglu1-mesa_8.0.4-0ubuntu0.7+srt5_amd64";
-      sha256 = "02fywg8h5jlkrh1qiqd0hpjv4v1hxggm3vjhnfn5rdj3xxmbvr2y";
+      sha256 = "5ee4bd6aef43b65cacb350ee51dfeb306cb2e585a0e18803cc93ca02d1e3de09";
       url = "mirror://steamrt/pool/main/m/mesa/libglu1-mesa_8.0.4-0ubuntu0.7+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -464,7 +482,7 @@
     }
     rec {
       name = "libgmp10_6.1.0+dfsg-2+srt1_amd64";
-      sha256 = "1q0qgpldz25pzbnmhw1vxqd0azp9qai9arydmw66f6kwflx6s7as";
+      sha256 = "5a1d6d3a757c1a670cafcd6795a2c2e97e051aee3b7058edfab788dfe87d18e0";
       url = "mirror://steamrt/pool/main/g/gmp/libgmp10_6.1.0+dfsg-2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -473,7 +491,7 @@
     }
     rec {
       name = "libgnutls26_2.12.14-5ubuntu3.14+srt1_amd64";
-      sha256 = "19jl1ril1h2r66ilwi45j49g2ag9b4x5090ld0gqp4hbx6f67x9g";
+      sha256 = "2ff5639ce90b928b1f681424503a59e929f1129185444ea33159c040630e54a6";
       url = "mirror://steamrt/pool/main/g/gnutls26/libgnutls26_2.12.14-5ubuntu3.14+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -482,7 +500,7 @@
     }
     rec {
       name = "libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt3_amd64";
-      sha256 = "1a1m1h7x0acympf7lsdn9k30crff4gkg31n82fxsf5mwbg5rzsy4";
+      sha256 = "c4eb9fcb5bbc16a7bb13c886f1e623ce6506c64cb6697adcad9e29d00f0c35a8";
       url = "mirror://steamrt/pool/main/g/gnutls28/libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -490,9 +508,9 @@
       };
     }
     rec {
-      name = "libgomp1_5.4.0-7.really.6+steamrt1.1+srt2_amd64";
-      sha256 = "1pcc8jj73bgs2ks0pkxhn3hc43yk0h97jsss6ckhmp3j5mg9szq7";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libgomp1_5.4.0-7.really.6+steamrt1.1+srt2_amd64.deb";
+      name = "libgomp1_5.4.0-7.really.6+steamrt1.2+srt1_amd64";
+      sha256 = "2ce27527cf3da680305e7f1488ccb85a18b270551e69839b4dcbec817e8dd511";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libgomp1_5.4.0-7.really.6+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgomp1.deb";
@@ -500,7 +518,7 @@
     }
     rec {
       name = "libgpg-error0_1.10-2ubuntu1+srt5_amd64";
-      sha256 = "1pgv5svrqvsyiakqqnbb1ph6sk5yd6lgk53k2isyyz44vdjch9py";
+      sha256 = "fe26c864db847cef75147394f9a869be4c6de00d6b598ca78a5e6f9cb72efbdd";
       url = "mirror://steamrt/pool/main/libg/libgpg-error/libgpg-error0_1.10-2ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -509,7 +527,7 @@
     }
     rec {
       name = "libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64";
-      sha256 = "1nv973s0h9vmnmslxyddd28p4yv8k47d685m8lxv1irc4skqxzzc";
+      sha256 = "ecff8ea7262cc7b03b45b520d30e99687b729168adf94e75b5752708f43869db";
       url = "mirror://steamrt/pool/main/k/krb5/libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -518,7 +536,7 @@
     }
     rec {
       name = "libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "02h7fqwwg7jpz8b86dbjhh067ah34x3ys9n5df1rksbzpvmqcbiy";
+      sha256 = "3e2e86ebbe7fe999836bc526ed472703aa63008472358316fa579ec73976070a";
       url = "mirror://steamrt/pool/main/h/heimdal/libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -527,7 +545,7 @@
     }
     rec {
       name = "libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt1_amd64";
-      sha256 = "186hxj0jvgbxki0v6fx499pp796kcwiz86gqfhkd94k434aaqz1f";
+      sha256 = "2e7cac14196492d42674f819f42367d3a4736f4aa43bb3419c7dbd2d81ecd0a0";
       url = "mirror://steamrt/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -536,7 +554,7 @@
     }
     rec {
       name = "libgstreamer0.10-0_0.10.36-1ubuntu1+srt5_amd64";
-      sha256 = "1ddfd661703jgd8xai2ysh2gdvf0pkbvg46iazlg5jqr17i1b1sx";
+      sha256 = "5d8715e20919cbf2e857d190b7d7bcc0edf604d45e44d5517b7280138c69aeb5";
       url = "mirror://steamrt/pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -545,7 +563,7 @@
     }
     rec {
       name = "libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt5_amd64";
-      sha256 = "1bb7yf3ld99a9amdb6r8slw7g3xnj72za2nbpsrm6cwlw9nyxli0";
+      sha256 = "20d2ee6de2943353b3becb0af5c591b68f7738d5289bd5aa4a2aa54687f367ad";
       url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -554,7 +572,7 @@
     }
     rec {
       name = "libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt5_all";
-      sha256 = "0rw8iy16ij86abh444jk1xw78b5z81qjxm1292jin3sfhck4bd4x";
+      sha256 = "9db44526834e0f1ba54822d42e7140bf2c74780f531242e05206c968828f8867";
       url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt5_all.deb";
       source = fetchurl {
         inherit url sha256;
@@ -563,7 +581,7 @@
     }
     rec {
       name = "libgudev-1.0-0_175-0ubuntu9.10+srt1_amd64";
-      sha256 = "1i8k7y464zj3vb17kwim69kh57y9hnlx40xfs0hrfvjjlj3ih30w";
+      sha256 = "1c0c1887a4526e9721d0ae03d2a985c99f02673235f279c2da437e62883f13c5";
       url = "mirror://steamrt/pool/main/u/udev/libgudev-1.0-0_175-0ubuntu9.10+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -572,7 +590,7 @@
     }
     rec {
       name = "libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "1ihzd3ihylrbrwxqx8sam6lwkhkk2c9ys7vxah2yvj43fl8piiz8";
+      sha256 = "e8c778117583c8ed05547d1fed131373c2c9a9a94aa38e3bcf2b530fe3681fc6";
       url = "mirror://steamrt/pool/main/h/heimdal/libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -581,7 +599,7 @@
     }
     rec {
       name = "libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "1z4h6zdh5h9yvq4dfizy8ndskny94c86m5b4g9lpypfpzj259kpi";
+      sha256 = "f1ce5484fcd75d7f697a64956a1023c9dba99b45fe47d708de3ec102db3790fc";
       url = "mirror://steamrt/pool/main/h/heimdal/libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -590,7 +608,7 @@
     }
     rec {
       name = "libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "13fgm887ycb1l5w1hxvlf906wr4k834drykg36ink6g9fi1smn79";
+      sha256 = "e9d8aa4374e99969a3196ffadcc84093646e407274771878a161317f10aacf8d";
       url = "mirror://steamrt/pool/main/h/heimdal/libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -599,7 +617,7 @@
     }
     rec {
       name = "libhogweed4_3.2-1ubuntu0.16.04.1+srt1_amd64";
-      sha256 = "1d9746bfwajafd28292q0fl6mwj51in9qg7mbd583y459jyb0ffd";
+      sha256 = "cd39b0bc4c85f8814a5bf53c9c6c0c45f26aa80358248144734a2aee962127b5";
       url = "mirror://steamrt/pool/main/n/nettle/libhogweed4_3.2-1ubuntu0.16.04.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -608,7 +626,7 @@
     }
     rec {
       name = "libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "0alagksf7h181r86iiddvb9sil9zwf7d8lhnikq2x1i1ncxnwbj9";
+      sha256 = "492e6e3bb321862ef08c1652d48ee33fd1a8d3daadc568500e28c0e3f47c8a2a";
       url = "mirror://steamrt/pool/main/h/heimdal/libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -617,7 +635,7 @@
     }
     rec {
       name = "libice6_1.0.7-2build1+srt5_amd64";
-      sha256 = "0v1a4dbs6by8n3yi23xqs4qqvjjdhh1qqmacc2bybjd2qi8dps8y";
+      sha256 = "1ee9db50c4a2c9e597604c558c03844dca8d31d1b80f11fdb0c82fa357232a6c";
       url = "mirror://steamrt/pool/main/libi/libice/libice6_1.0.7-2build1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -626,7 +644,7 @@
     }
     rec {
       name = "libidn11_1.32-3ubuntu1.2+steamrt1.1+srt1_amd64";
-      sha256 = "1qlpfhwvx4m72541rlk934h72hczb0gwiyiav8sd4kcwwkcacqml";
+      sha256 = "b462a6d8e49c4dd234da2afac81f589f4171201969d21c4811a792be397497e2";
       url = "mirror://steamrt/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.2+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -635,7 +653,7 @@
     }
     rec {
       name = "libindicator7_0.5.0-0ubuntu1+steamrt1+srt1_amd64";
-      sha256 = "0fcj1fmk70y8j1jcbr9dian2zrwf5m7yis4zpq8cc77838cdx0pg";
+      sha256 = "ef82de181ae81cc610be9fe8e84f2d8ee72fac8a2de5c56490c88333ab0b9239";
       url = "mirror://steamrt/pool/main/libi/libindicator/libindicator7_0.5.0-0ubuntu1+steamrt1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -644,7 +662,7 @@
     }
     rec {
       name = "libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt4_amd64";
-      sha256 = "0qpipr1anfy4y6m1syznmarsh3ni6db9dc7a1w0n11zfhp8lpihg";
+      sha256 = "0fc64bd185ee8760010feab0965633d10ea8b3aaf67b1daaf1c43bab42bef162";
       url = "mirror://steamrt/pool/main/j/jackd2/libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt4_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -653,7 +671,7 @@
     }
     rec {
       name = "libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt5_amd64";
-      sha256 = "10r393m5xxqjd6hpvlnfvnba081crhs88x1knhi3s6mhg2xhg35y";
+      sha256 = "be8c07bb78b01a3d22b433748434cc2c20a096ddced27da16912f75eea482383";
       url = "mirror://steamrt/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -662,7 +680,7 @@
     }
     rec {
       name = "libjpeg62_6b1-2ubuntu1.1+srt5_amd64";
-      sha256 = "0wn9lgqc95gvck5k8qds9908j5ip3s3bz85a8l2bdprgg1q4rsrl";
+      sha256 = "34eb4c70782fdfb60445aaa0bf861e371689404aba6134cb64fb95c4f0a3c972";
       url = "mirror://steamrt/pool/main/libj/libjpeg6b/libjpeg62_6b1-2ubuntu1.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -671,7 +689,7 @@
     }
     rec {
       name = "libjson0_0.9-1ubuntu1.1+srt3_amd64";
-      sha256 = "1pqncc63z9w3jg41xqklappyirajfrchdjp81bldrnmbpbj69xha";
+      sha256 = "0af664e4baabdadce80ae8ca06597652e5e8ef5574e21ec89383a73f0c6316df";
       url = "mirror://steamrt/pool/main/j/json-c/libjson0_0.9-1ubuntu1.1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -680,7 +698,7 @@
     }
     rec {
       name = "libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64";
-      sha256 = "18xfi5c04s3z9brj1rrmvl9s67apd4d6ax7vfwwjzwh7ygnkp8h8";
+      sha256 = "08a23bedf307f22f3977fb74651a69571da313dd35e720f34a7f68025889aea3";
       url = "mirror://steamrt/pool/main/k/krb5/libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -689,7 +707,7 @@
     }
     rec {
       name = "libkeyutils1_1.5.2-2+srt5_amd64";
-      sha256 = "14mv4r05r0fzkbl3r4jaa7wwmmaprv3q5w36pyf3xqc3iynxnj2p";
+      sha256 = "5748dbad8f83e13e9cbf66f082c7ce57d5caf9514a923ce89adf815c4026bb92";
       url = "mirror://steamrt/pool/main/k/keyutils/libkeyutils1_1.5.2-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -698,7 +716,7 @@
     }
     rec {
       name = "libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "0xhz42f7lnsc69sfnj2w0917jwm82nbc9i56qq3s1g2sw7z6kb3q";
+      sha256 = "78ac69fee15abca007c6a6c4c49615a8727942025c48eb74324c5b7a9c201f76";
       url = "mirror://steamrt/pool/main/h/heimdal/libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -707,7 +725,7 @@
     }
     rec {
       name = "libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64";
-      sha256 = "1k3d1775ran10y79s7n5lmdlqlr7kscvxmj1887bnn4yxbwlgy73";
+      sha256 = "e3f847f9ea9e58bb0e4241d6be999e27534c5ba5c51e9d8e07c1aa5cce096dcc";
       url = "mirror://steamrt/pool/main/k/krb5/libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -716,7 +734,7 @@
     }
     rec {
       name = "libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64";
-      sha256 = "1xml3gfn253lydqaqk27209sr1x0vvrbbkmb63z5cyy4i1yfpvmr";
+      sha256 = "b9eeeb7c88c47b56fe30abceb5f2dea087ac1310474cac70f3741461dd1bb4f6";
       url = "mirror://steamrt/pool/main/k/krb5/libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -725,7 +743,7 @@
     }
     rec {
       name = "liblcms2-2_2.2+git20110628-2ubuntu3.1+srt5_amd64";
-      sha256 = "0wj24yi2ws12lfs0pi0bq9rbr1gyk2nv30rf46bav41mpn2fj9mg";
+      sha256 = "af26e984bd3590ad96212e83b1ad98fe85bc72c20bc40bb4a322682ea2274272";
       url = "mirror://steamrt/pool/main/l/lcms2/liblcms2-2_2.2+git20110628-2ubuntu3.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -734,7 +752,7 @@
     }
     rec {
       name = "libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt3_amd64";
-      sha256 = "02w5h7hbapwwsya468v6wcizm9nra5c9nbbf86666mlkgb6y6z20";
+      sha256 = "407ce3cd7a9356638c416e2d9b5851d9a6fa23e366234394d79c5fb5e081850b";
       url = "mirror://steamrt/pool/main/o/openldap/libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -743,7 +761,7 @@
     }
     rec {
       name = "libltdl7_2.4.2-1ubuntu1+srt5_amd64";
-      sha256 = "0ly9p5xilsf0d214mrx96nc3gn1xm1b68dzizsimhqa3bfpckzbb";
+      sha256 = "6bfdc9ae5b436158a3fef1376456a83dd8379835a9e74a8268c0691a7bb9c953";
       url = "mirror://steamrt/pool/main/libt/libtool/libltdl7_2.4.2-1ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -751,9 +769,9 @@
       };
     }
     rec {
-      name = "libmikmod2_3.1.12-2+srt5_amd64";
-      sha256 = "1i6kwzy1dz0a78jm0vpa0hjqahkwnj8yab8aky2srsf07y8bz2r8";
-      url = "mirror://steamrt/pool/main/libm/libmikmod/libmikmod2_3.1.12-2+srt5_amd64.deb";
+      name = "libmikmod2_3.1.12-5+srt1_amd64";
+      sha256 = "7535ce4399ceb6e8c54cdab7221805ea2e03ff5c2e994a215c57fff71b8fb04e";
+      url = "mirror://steamrt/pool/main/libm/libmikmod/libmikmod2_3.1.12-5+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libmikmod2.deb";
@@ -761,7 +779,7 @@
     }
     rec {
       name = "libmpg123-0_1.25.10-1+steamrt1+srt1_amd64";
-      sha256 = "1szlchrl7vmclk80jpjj799in0fnx5263dqlh896qprl63zjnnx3";
+      sha256 = "a35b2bff30345f6c128214b76144e9d6011b533a525e09d0a4acee433364f4eb";
       url = "mirror://steamrt/pool/main/m/mpg123/libmpg123-0_1.25.10-1+steamrt1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -770,7 +788,7 @@
     }
     rec {
       name = "libncurses5_5.9-4+srt5_amd64";
-      sha256 = "1b4j17npqdhj6afcw7cj37k6dr2kmbgpjyv7c0viq82165bjacfp";
+      sha256 = "d73125573141201c3760677b79dfaa53e466e619921dce9c3212367ced0992ac";
       url = "mirror://steamrt/pool/main/n/ncurses/libncurses5_5.9-4+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -779,7 +797,7 @@
     }
     rec {
       name = "libncursesw5_5.9-4+srt5_amd64";
-      sha256 = "0gavz5rh8hz6ir3x09p57balxl8zprjsglgf2craq340qpgqw4s6";
+      sha256 = "46138edfc5800cac3213eed1a765be1fd14ed53ae526d0478ee6430473f95b3d";
       url = "mirror://steamrt/pool/main/n/ncurses/libncursesw5_5.9-4+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -788,7 +806,7 @@
     }
     rec {
       name = "libnettle6_3.2-1ubuntu0.16.04.1+srt1_amd64";
-      sha256 = "18f9ymqkmnnx2hxfms2ph7hajl0ghk8ywav5vaihaii47wfzkdww";
+      sha256 = "9cb7f91d3f244605a3da652beed1840f50a9e08157e8ea3a14ddda3a71f5c9a1";
       url = "mirror://steamrt/pool/main/n/nettle/libnettle6_3.2-1ubuntu0.16.04.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -797,7 +815,7 @@
     }
     rec {
       name = "libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt1_amd64";
-      sha256 = "0dw0mfwia3z6icj01558xgdjmi7g6g4nig4vrjbmlz05f9l2rck3";
+      sha256 = "63b22c6872057c5a97cc9bbc68c933efc42adbeba89400248be60f15b9ab8037";
       url = "mirror://steamrt/pool/main/n/network-manager/libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -806,7 +824,7 @@
     }
     rec {
       name = "libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt1_amd64";
-      sha256 = "1r9qw0mx38zisj6lr9bk8yv9f3yf2l80y4rvgxq6k28ccz5sahvs";
+      sha256 = "7a43a5cb670c8969707f3b130f1015ce0f97b64773a54c8dd4f1a3d12be038e5";
       url = "mirror://steamrt/pool/main/n/network-manager/libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -815,7 +833,7 @@
     }
     rec {
       name = "libnotify4_0.7.5-1+srt5_amd64";
-      sha256 = "15ny5m925wrn0m394gn88288zgdjf99m5jg9pxyfirhvjmpp8pmf";
+      sha256 = "ae5e746f951be6e87cbfe9c9525372b2bd8f9040c83e92460536f322522dde96";
       url = "mirror://steamrt/pool/main/libn/libnotify/libnotify4_0.7.5-1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -824,7 +842,7 @@
     }
     rec {
       name = "libnspr4_4.12-0ubuntu0.12.04.1+srt2_amd64";
-      sha256 = "11y0nj7pc94gs3ndxph50whs1yx8lys48c44vj1207m2mkw3xdq7";
+      sha256 = "07b73ef8aca21e2082dc843044b4a7a8fba0210705dedeecd08f24768fb4c087";
       url = "mirror://steamrt/pool/main/n/nspr/libnspr4_4.12-0ubuntu0.12.04.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -833,7 +851,7 @@
     }
     rec {
       name = "libnss3_3.26.2-0ubuntu0.12.04.1+srt1_amd64";
-      sha256 = "0a5mqk6fry96jgpn27fv66mzg7s7mn00jhiayh73q4ddlv52p1r6";
+      sha256 = "26872bcaa6ad113c0ef42a420980ad479ff7ab31db1d61ef9326f9ecccc4b528";
       url = "mirror://steamrt/pool/main/n/nss/libnss3_3.26.2-0ubuntu0.12.04.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -842,7 +860,7 @@
     }
     rec {
       name = "libogg0_1.3.2-1+srt1_amd64";
-      sha256 = "1x8nrq4gm3n996zqgdy8msbgpflpl2gaqsm68nbfv703gxbzfi5p";
+      sha256 = "b744f7577f039ced9645a66aac9ea097bafb96aec8b787bf49c98efa08ce16f5";
       url = "mirror://steamrt/pool/main/libo/libogg/libogg0_1.3.2-1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -851,7 +869,7 @@
     }
     rec {
       name = "libopenal1_1.16.0-3+srt1_amd64";
-      sha256 = "02dc0xfwh1jmhm0l4wig3ybs2yy48hdarnbfjv69m9aryjpbh6gj";
+      sha256 = "f219b8aef459a59acc966ed9ac1a44c47ba1971f2f724241855506c85d07ac09";
       url = "mirror://steamrt/pool/main/o/openal-soft/libopenal1_1.16.0-3+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -860,7 +878,7 @@
     }
     rec {
       name = "libopus0_1.3-0+steamrt1.1+srt2_amd64";
-      sha256 = "1hjff7lm9vjs3rkjmqwchnrli4bwpbx46jy4ngahiywcw3n94959";
+      sha256 = "a92492ece08cfb08d5b3c44b43faba7c9148b3858ce32a671e5aee54e9714ec2";
       url = "mirror://steamrt/pool/main/o/opus/libopus0_1.3-0+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -869,7 +887,7 @@
     }
     rec {
       name = "libopusfile0_0.11-0+steamrt1.2+srt1_amd64";
-      sha256 = "1q5n474br6k0l5xhr1b7bclrmdqpcd98dq4yd92rsybjnf9xiqgq";
+      sha256 = "f8e1d893b372799d456a9ee086526317b79a295b67850c7ba1609abcc821b6e0";
       url = "mirror://steamrt/pool/main/o/opusfile/libopusfile0_0.11-0+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -878,7 +896,7 @@
     }
     rec {
       name = "liborc-0.4-0_0.4.16-1ubuntu2+srt5_amd64";
-      sha256 = "13s7ni24igdkvmcs3d13ncll36clfmm14ggjqd23dsgyzmip5n18";
+      sha256 = "28d87263fdfee93644c3f23d126a7594994129b323b4a159ddb3bd4844b4478f";
       url = "mirror://steamrt/pool/main/o/orc/liborc-0.4-0_0.4.16-1ubuntu2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -887,7 +905,7 @@
     }
     rec {
       name = "libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt1_amd64";
-      sha256 = "1hm1lqphdp0vk1zyyyxz78k15lqw7w6vmv64pp27cwm8zkqmvj4q";
+      sha256 = "98c85df1fca87276c4bdc4ecba0d3f1cd312263abf7bef7f981bdc062fa6a1c2";
       url = "mirror://steamrt/pool/main/p/p11-kit/libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -896,7 +914,7 @@
     }
     rec {
       name = "libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt5_amd64";
-      sha256 = "0dcimf6vsiv51lkavwbw980fll3vpki86i3rqm8vr37iz59798zf";
+      sha256 = "eea37452f9f18cbc51c5794483e2bc7b50ea004a7cf1ad260d6547bd8dab9135";
       url = "mirror://steamrt/pool/main/p/pango1.0/libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -905,7 +923,7 @@
     }
     rec {
       name = "libpci3_3.1.8-2ubuntu6+srt1_amd64";
-      sha256 = "167a5rgzyss746s07fkal7vy89i0m5syjm2vdwfiln3ncil4s86y";
+      sha256 = "de204d686476581a1d6f5b54e975a92026e4f7a16aba03b421476bff5f2eea98";
       url = "mirror://steamrt/pool/main/p/pciutils/libpci3_3.1.8-2ubuntu6+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -914,7 +932,7 @@
     }
     rec {
       name = "libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt1_amd64";
-      sha256 = "0x3yzmxvlg2xyy2sm03vvr4c46r7ywbns7gqbshzgn656zqdid00";
+      sha256 = "00b4d8f037c5d8f7a15ef81d6d17f7271bc248de7b80aa85f75d3cba7bfd7e74";
       url = "mirror://steamrt/pool/main/p/pcre3/libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -923,7 +941,7 @@
     }
     rec {
       name = "libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt1_amd64";
-      sha256 = "1rlkj982w99x0mz008snkyqr1v13h165yj2z4jwdczpd1bsrra9h";
+      sha256 = "30a99cf50aed7ed6b8245f485f4c8023ec90b19f5623007e053d252e509293e6";
       url = "mirror://steamrt/pool/main/p/pcre3/libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -932,7 +950,7 @@
     }
     rec {
       name = "libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt2_amd64";
-      sha256 = "15sa863fia26lclp821j0c747dv8a8igz5l86n5ff1m3dmlb5hp3";
+      sha256 = "e3c2b2686da306e78a358896ff225268b7430e0332087429a346a8e886414a97";
       url = "mirror://steamrt/pool/main/p/pixman/libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -941,7 +959,7 @@
     }
     rec {
       name = "libpng12-0_1.2.46-3ubuntu4.2+srt2_amd64";
-      sha256 = "0gnjsh72c9w1229fk5fx753lpmcqzizx7dizrdh3wk1qmivhddl1";
+      sha256 = "81b60677ac384c3e60cb3fb6d37ffc98d54b4739dd95e992108127260ed4d23e";
       url = "mirror://steamrt/pool/main/libp/libpng/libpng12-0_1.2.46-3ubuntu4.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -950,7 +968,7 @@
     }
     rec {
       name = "libpulse0_1.1-0ubuntu15.2+steamrt1+srt5_amd64";
-      sha256 = "17d3f6gwbdyn058bbd8f0hj4ywp8rmhy9wsf2pnfkh219r5b98h2";
+      sha256 = "02a2b44a4e41c0e9ec154ef3e461cde8724f24040eb5b55001d6b7c59f71a39d";
       url = "mirror://steamrt/pool/main/p/pulseaudio/libpulse0_1.1-0ubuntu15.2+steamrt1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -959,7 +977,7 @@
     }
     rec {
       name = "libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "16j666k8l85icbgy9ds9hdmcm60axsp8nxjc1n11jd64d9slb792";
+      sha256 = "229d45756ac43419820d4c768baeee0a98ca6a8349b7e4df62b1208aa631469a";
       url = "mirror://steamrt/pool/main/h/heimdal/libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -968,7 +986,7 @@
     }
     rec {
       name = "librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt3_amd64";
-      sha256 = "05wm9ddpy2axf0a7vsrfc7prhaqf7npbcfrsy57f66aachpj778r";
+      sha256 = "199d232f644a19e34ef13a3bb6ae3d0e2b98ef612eeb7d14705d097f5b4b9517";
       url = "mirror://steamrt/pool/main/r/rtmpdump/librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -977,7 +995,7 @@
     }
     rec {
       name = "libsamplerate0_0.1.8-4+srt5_amd64";
-      sha256 = "1xr5k6zyfw8lc5s6sbg57d7v33045hg9l6a1rh5f46v99hi8k1rr";
+      sha256 = "398789224c691be20acc41199a1e2c048cb14f3be52d6d74611471e7bf9925f7";
       url = "mirror://steamrt/pool/main/libs/libsamplerate/libsamplerate0_0.1.8-4+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -986,7 +1004,7 @@
     }
     rec {
       name = "libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt5_amd64";
-      sha256 = "1i7hh43fiadg1y35dmjm03s8mcbanv8jfnnjrcccabahsk8fpdj0";
+      sha256 = "40b6ebd0d4502dc518cbd25a27d1b66ab18af40055d656860fafa9e80681f0c4";
       url = "mirror://steamrt/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -995,7 +1013,7 @@
     }
     rec {
       name = "libsdl-image1.2_1.2.10-3+srt5_amd64";
-      sha256 = "180sia6zc48y2f3l1sywp8am0gqzc9swm711fq8b2kdd4rn3wicm";
+      sha256 = "95453e6c26ad4db11076219cca75621f3f5015badceb4087131e11f68d8a1aa0";
       url = "mirror://steamrt/pool/main/s/sdl-image1.2/libsdl-image1.2_1.2.10-3+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1004,7 +1022,7 @@
     }
     rec {
       name = "libsdl-mixer1.2_1.2.11-7+steamrt1+srt5_amd64";
-      sha256 = "0z3zxvsvlnvzsvprvy5q4y99irjkzm4ilv0znaic5x967k3zpjp0";
+      sha256 = "e0cafbc73c26f5c2a2b21f6c1a49fd53e6989227b8f89defd67f5bbaf5ee7f7c";
       url = "mirror://steamrt/pool/main/s/sdl-mixer1.2/libsdl-mixer1.2_1.2.11-7+steamrt1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1013,7 +1031,7 @@
     }
     rec {
       name = "libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt5_amd64";
-      sha256 = "11ks71izg46k2pjnd5jdk03xkzz7jmxm5k3mkwq8b42grdiadd6a";
+      sha256 = "cab4a662cb4f9085309f75cc527b95e7ffd907984d9666e515d390f763387a86";
       url = "mirror://steamrt/pool/main/s/sdl-ttf2.0/libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1022,7 +1040,7 @@
     }
     rec {
       name = "libsdl1.2debian_1.2.15-5+steamrt1+srt5_amd64";
-      sha256 = "1i2072wzjmrz97pqxm9mfdqqvx6q6x6w8xqa5f4jxmhm9sb7x7wb";
+      sha256 = "8b9f7e964e15d62e892b0a77c44d37d8f48d717335d58eef493f57f9b93840c4";
       url = "mirror://steamrt/pool/main/libs/libsdl1.2/libsdl1.2debian_1.2.15-5+steamrt1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1031,7 +1049,7 @@
     }
     rec {
       name = "libsdl2_2.0.9.~reimport-0+steamrt1.1+srt1_amd64";
-      sha256 = "0iahnd0z5qpdgznq1w88m9b7ham3yr0rcidxm9459qpyan7ny2yc";
+      sha256 = "cc0b6f8f55fee25448aabd459641f6a32a7856aa08f180ed7fede2f241b35045";
       url = "mirror://steamrt/pool/main/libs/libsdl2/libsdl2_2.0.9.~reimport-0+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1040,7 +1058,7 @@
     }
     rec {
       name = "libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt1_amd64";
-      sha256 = "1xy9l0jzrxr0vz0kgys2g055vdzw3hxkj1xmmzd57bn8dq0yxwfx";
+      sha256 = "ddf1ee016ec8ae53daafb507393b1cfcb75d0a7842fb37c1df20f7fc25a0c9f7";
       url = "mirror://steamrt/pool/main/libs/libsdl2-image/libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1049,7 +1067,7 @@
     }
     rec {
       name = "libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt1_amd64";
-      sha256 = "06i3g17rqm729mpgkl24rlbkx4ya4mmqjlsndsznymabk5ly5pz5";
+      sha256 = "e5dfe269994b556fbf6e5653896b25ca933e17cd44d0f96e4de2549c4f78231a";
       url = "mirror://steamrt/pool/main/libs/libsdl2-mixer/libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1058,7 +1076,7 @@
     }
     rec {
       name = "libsdl2-net_2.0.1+srt2_amd64";
-      sha256 = "1850n1zv9cpbnv5n3nk5knk30pm0f4g8x2cx70kyxbprfkq7894v";
+      sha256 = "9b2474f074f9aeee27389d898e1e71a05e30a69d65da61cbb6ebb2b47fb0a0a0";
       url = "mirror://steamrt/pool/main/libs/libsdl2-net/libsdl2-net_2.0.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1067,7 +1085,7 @@
     }
     rec {
       name = "libsdl2-ttf_2.0.14+srt2_amd64";
-      sha256 = "1bwhm58zqh452szjjj3m3ny2samx19qw3x6q7f18h7164d5vvm4a";
+      sha256 = "8ad4bd4b23261c88823bd8f4c1710abd2a2dbc1d754829bf168540fc51a990af";
       url = "mirror://steamrt/pool/main/libs/libsdl2-ttf/libsdl2-ttf_2.0.14+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1076,7 +1094,7 @@
     }
     rec {
       name = "libselinux1_2.1.0-4.1ubuntu1+srt5_amd64";
-      sha256 = "001wfrryd549gh1qd4v8fz3m78vpjwdx1vh34cw0dgi3kxmjxp0q";
+      sha256 = "18dc2e6b9f23be06382303eed01b9777a353c777689386037c8994e673763c00";
       url = "mirror://steamrt/pool/main/libs/libselinux/libselinux1_2.1.0-4.1ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1085,7 +1103,7 @@
     }
     rec {
       name = "libsm6_1.2.0-2build1+srt5_amd64";
-      sha256 = "0k0hyh6b36wvcn8ss24f7lqp2pb0wdvb5zh57y7zfxglgr9vj083";
+      sha256 = "0301b9537ef475f78f3f05feb276e3605d71313d8e08ad91659b9bb10cf4104c";
       url = "mirror://steamrt/pool/main/libs/libsm/libsm6_1.2.0-2build1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1094,7 +1112,7 @@
     }
     rec {
       name = "libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt1_amd64";
-      sha256 = "17sds50cyvpfrm6x8hddb0ir5xsch79k8gyghkzi59dav2j4j2f4";
+      sha256 = "c40949a4d8aaa512ff84cf3f34d3814cf7922358ad41d44dcdee6ecf40d14d9f";
       url = "mirror://steamrt/pool/main/libs/libsndfile/libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1103,7 +1121,7 @@
     }
     rec {
       name = "libspeex1_1.2~rc1-3ubuntu2+srt5_amd64";
-      sha256 = "0b0lrg7arrnszc1hzya04ch3j4lbcrpxqf5hxxz2wm5k5qb9f6rv";
+      sha256 = "3b1b97162eb3542e7eefb038dc6f668b1239202340f90f03fbdae6accecb142c";
       url = "mirror://steamrt/pool/main/s/speex/libspeex1_1.2~rc1-3ubuntu2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1112,7 +1130,7 @@
     }
     rec {
       name = "libspeexdsp1_1.2~rc1-3ubuntu2+srt5_amd64";
-      sha256 = "1vks6i3ipggcd2b4ayhkpzj70rdwvlmgh20z7ac8hcnhfnsmvmbc";
+      sha256 = "6cd55db575d03288983a1f08f82addbc6570e4bf137a459668ecbd1b47347aee";
       url = "mirror://steamrt/pool/main/s/speex/libspeexdsp1_1.2~rc1-3ubuntu2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1121,7 +1139,7 @@
     }
     rec {
       name = "libsqlite3-0_3.7.9-2ubuntu1.2+srt2_amd64";
-      sha256 = "0yavzpx56kf27pfjif6s86bg9wmr9078d7p34dpvbzp0aibjifs8";
+      sha256 = "48bb285754e0feb56f23e39e860e48b9f2f49641dab828dd3dc24d53fafd5b79";
       url = "mirror://steamrt/pool/main/s/sqlite3/libsqlite3-0_3.7.9-2ubuntu1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1130,7 +1148,7 @@
     }
     rec {
       name = "libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt1_amd64";
-      sha256 = "1s82s5ylmsbbx567bdjv9dh53nzzwqskfpry3a61naw8nsbxg5kb";
+      sha256 = "6b96d797b6882b1b8c1a3e5f3735e6ffdb51604b5bb6754ce96be94a7dd102e9";
       url = "mirror://steamrt/pool/main/o/openssl/libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1138,9 +1156,9 @@
       };
     }
     rec {
-      name = "libstdc++6_5.4.0-7.really.6+steamrt1.1+srt2_amd64";
-      sha256 = "09gn89qdjpwhh4yzydrpjbpwgbfhc0xmy56113an0rk9hs43ym1i";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libstdc++6_5.4.0-7.really.6+steamrt1.1+srt2_amd64.deb";
+      name = "libstdc++6_5.4.0-7.really.6+steamrt1.2+srt1_amd64";
+      sha256 = "11f083de451efdda7a41385edcc110d4155e85233bd3d873e2d773b1e3caf655";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libstdc++6_5.4.0-7.really.6+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libstdc++6.deb";
@@ -1148,7 +1166,7 @@
     }
     rec {
       name = "libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt1_amd64";
-      sha256 = "175qkx9blsjidsbg7dkp6anyhfdpv1njqs2hzhjnfnsdz0hsy5pp";
+      sha256 = "f716af21f84d5b6725fc50682c6dd8b739e8ad3277b6f3966e516aba529fb89c";
       url = "mirror://steamrt/pool/main/g/gcc-4.6/libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1157,7 +1175,7 @@
     }
     rec {
       name = "libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "1shni0sdcv1jqkfsqy5j3kkr73lifb3ip9lqz8cxx23dlvbllly9";
+      sha256 = "c9534ad7a66d88de19fa98a61bc772918e93e71cb278acddc4326cd6348816ea";
       url = "mirror://steamrt/pool/main/liba/libav/libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1166,7 +1184,7 @@
     }
     rec {
       name = "libtasn1-3_2.10-1ubuntu1.5+srt2_amd64";
-      sha256 = "1sjklhs977mrvs7qci0hc3w6x3gjrq5c6lfxjma7bjg731xwdivp";
+      sha256 = "77c7c67b18e7c9755495dd51c30acef28d6ef8601044868fdeb99e9334a453ea";
       url = "mirror://steamrt/pool/main/libt/libtasn1-3/libtasn1-3_2.10-1ubuntu1.5+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1175,7 +1193,7 @@
     }
     rec {
       name = "libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt1_amd64";
-      sha256 = "0s6rljgvgcawws574ka2kn944w64fwjan1lri1anszg0m274n5na";
+      sha256 = "ca164b8ea8e07d6d55889906ab2477c47042929d424d728ae65cb1b79fa4d968";
       url = "mirror://steamrt/pool/main/libt/libtasn1-6/libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1184,7 +1202,7 @@
     }
     rec {
       name = "libtbb2_4.0+r233-1+steamrt2+srt1_amd64";
-      sha256 = "18rc6jhkpqnqvrw29zffahmjihrdrwmh4ydnx3433j6wc29m8p4v";
+      sha256 = "9b5c549360dcc831c8e8b679022bcf2dc3282b54cefd2478ded8e23ba1342ca3";
       url = "mirror://steamrt/pool/main/t/tbb/libtbb2_4.0+r233-1+steamrt2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1193,7 +1211,7 @@
     }
     rec {
       name = "libtdb1_1.2.9-4+srt5_amd64";
-      sha256 = "1wq2956jmq9zhd7gcpgvqq7d1rdjk954hgcx540zwgxs57brzkrw";
+      sha256 = "3ccf9fd729ba3ffe01299d3d484a9ab2e5d00ec6fb5df64e833fe12a4d4902f3";
       url = "mirror://steamrt/pool/main/t/tdb/libtdb1_1.2.9-4+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1202,7 +1220,7 @@
     }
     rec {
       name = "libtheora0_1.1.1+dfsg.1-3ubuntu2+srt5_amd64";
-      sha256 = "15b6sg3dhamlgaq28w3zlwif5aps0ybi0hc29k3vv2s48f6vqfi8";
+      sha256 = "283abc8d43448bbdc74c8241109707faaae222a77f7024b07ab42ad8c6d36695";
       url = "mirror://steamrt/pool/main/libt/libtheora/libtheora0_1.1.1+dfsg.1-3ubuntu2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1211,7 +1229,7 @@
     }
     rec {
       name = "libtiff4_3.9.5-2ubuntu1.9+srt2_amd64";
-      sha256 = "038wcp777pj2y3scwkqfdnb6yjsag5dnqajrdiv7pxmvkgn3bc2l";
+      sha256 = "54b035ec9bbbf67b766c592a6c5b794a4b6f966d0e4fcef4f042de73ce651c0d";
       url = "mirror://steamrt/pool/main/t/tiff/libtiff4_3.9.5-2ubuntu1.9+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1220,7 +1238,7 @@
     }
     rec {
       name = "libtinfo5_5.9-4+srt5_amd64";
-      sha256 = "1w22aqm9zla5cfcvkridgzwnkhj3lyjqf61dl8ppnnbk8rhj07x4";
+      sha256 = "a41f20614673597b2fa22d1887a5a743c269f97f2de6b9996345d19f2a5642f0";
       url = "mirror://steamrt/pool/main/n/ncurses/libtinfo5_5.9-4+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1228,8 +1246,17 @@
       };
     }
     rec {
+      name = "libtxc-dxtn-s2tc0_0~git20131104-1.1+srt1_amd64";
+      sha256 = "55b812f82eef7eed9cefb1e42e6f2c8da112f9fe909a4d8ecc7b90901c29b01f";
+      url = "mirror://steamrt/pool/main/s/s2tc/libtxc-dxtn-s2tc0_0~git20131104-1.1+srt1_amd64.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "libtxc-dxtn-s2tc0.deb";
+      };
+    }
+    rec {
       name = "libudev0_175-0ubuntu9.10+srt1_amd64";
-      sha256 = "146kdj719rkgj5v2g0lzs7qqb59a2xgplkqrrafpkssqangvfmq1";
+      sha256 = "0157b79f5558eb799dca194f7a5f172a9585f1d19f822776916fe6148e6cd390";
       url = "mirror://steamrt/pool/main/u/udev/libudev0_175-0ubuntu9.10+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1238,7 +1265,7 @@
     }
     rec {
       name = "libusb-1.0-0_1.0.19-1+srt2_amd64";
-      sha256 = "0vnsr4syd7alas356hv1radm5rb8vlh69h5ljlh24sqs923vgg28";
+      sha256 = "48bcb787481a6b222095b4c06420dd68e5529bca6143538656549de635c9da6e";
       url = "mirror://steamrt/pool/main/libu/libusb-1.0/libusb-1.0-0_1.0.19-1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1247,7 +1274,7 @@
     }
     rec {
       name = "libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt1_amd64";
-      sha256 = "17f8cqf20fm9yak1i3d25x4a7pznhsc6xj3949zk2pbn4jiz1q3h";
+      sha256 = "70e0f0a324765d317f2269c86e9886f6dfa3482fa28d18a6f2a93a201c66c89d";
       url = "mirror://steamrt/pool/main/u/util-linux/libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1256,7 +1283,7 @@
     }
     rec {
       name = "libva-glx1_1.7.0-1+steamos1+srt1_amd64";
-      sha256 = "15scnb989xybb4l8gspbjvs058kjfw0r7ajqak3gxrx7vgqb3i92";
+      sha256 = "22c5b1f0dba7e7fec65458aa93017772a202f496ebea872859cbf784d2b24c97";
       url = "mirror://steamrt/pool/main/libv/libva/libva-glx1_1.7.0-1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1265,7 +1292,7 @@
     }
     rec {
       name = "libva-x11-1_1.7.0-1+steamos1+srt1_amd64";
-      sha256 = "0f1hmz4218isrwx8823sm7v08dlvyjwphvbjqsgg9qgim0f13j8a";
+      sha256 = "0ac9111ca8f1e1f49ec6726d78b9f49b3604f6a97a08843acf3aa220c8af3038";
       url = "mirror://steamrt/pool/main/libv/libva/libva-x11-1_1.7.0-1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1274,7 +1301,7 @@
     }
     rec {
       name = "libva1_1.7.0-1+steamos1+srt1_amd64";
-      sha256 = "0p3548fnf47vj5kxzrqqpdxvip35xyydkxj7d5iiw9f26fz06drd";
+      sha256 = "2d3703be33c2251e636947f6d9bcef65dcb87bbb18e7df6791fb10671d22655c";
       url = "mirror://steamrt/pool/main/libv/libva/libva1_1.7.0-1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1283,7 +1310,7 @@
     }
     rec {
       name = "libvdpau1_0.4.1-3ubuntu1.2+srt2_amd64";
-      sha256 = "1f1h77y6mf7xs8biaz77kfimp98v9cpjrbfg0qyi4wafwn7jmnsr";
+      sha256 = "59db2a8fe54e71123d06cfad2c2f4b1ba55ba39be77c1517d2fdb86afc3930b8";
       url = "mirror://steamrt/pool/main/libv/libvdpau/libvdpau1_0.4.1-3ubuntu1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1292,7 +1319,7 @@
     }
     rec {
       name = "libvorbis0a_1.3.5-4.2+srt1_amd64";
-      sha256 = "1dxl9k7x3vm9zagd03z73k6v86ybp94zilsdg29nsx86g77x87gz";
+      sha256 = "ff1dd4cf7906756d93784dd3f849bacb1bb4cd1ce70fd09efaa9eed1cf4cb4b7";
       url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbis0a_1.3.5-4.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1301,7 +1328,7 @@
     }
     rec {
       name = "libvorbisenc2_1.3.5-4.2+srt1_amd64";
-      sha256 = "1b49vbmc7b7113h555s4lrx8j4x2kn90x8g25744z13fbq3ac6qz";
+      sha256 = "1f1ba6065e6e844fc829e2a10e929da213897aa6449752e008e1acc3eada89ac";
       url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisenc2_1.3.5-4.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1310,7 +1337,7 @@
     }
     rec {
       name = "libvorbisfile3_1.3.5-4.2+srt1_amd64";
-      sha256 = "1gws44n84b3rj5pmzc58b3bfmm38nrcij39krnx2x8d10627c3cv";
+      sha256 = "9b0d768401a1a12ebacd330d1959b668d4ead658a8b05f6f91792c822c219abf";
       url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisfile3_1.3.5-4.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1319,7 +1346,7 @@
     }
     rec {
       name = "libvpx1_1.0.0-2+srt1_amd64";
-      sha256 = "02r8yklax0nd9z9s0c2iv1pdnwaq7h3ys46vf0wcwfc8n1p6jj9j";
+      sha256 = "3249696eb08839ce3870db10ed073c5871db6ed85130a0d34fcd82aee8f4280b";
       url = "mirror://steamrt/pool/main/libv/libvpx/libvpx1_1.0.0-2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1328,7 +1355,7 @@
     }
     rec {
       name = "libvulkan1_1.1.73+dfsg-1+steamosc2+srt1_amd64";
-      sha256 = "1f58xi83frcxpq62yfyqjhxzg2ali4hafv8zinial4ixh5nk2a07";
+      sha256 = "0728316d813d12aaa28d1f6da720895489f73b94d83b2f0cbe9d653750eca8b8";
       url = "mirror://steamrt/pool/main/v/vulkan/libvulkan1_1.1.73+dfsg-1+steamosc2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1337,7 +1364,7 @@
     }
     rec {
       name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "0wfs33djnx2k5clhwn6rq17pmqv7d2xyr5mihhylc4fs7q179pg0";
+      sha256 = "e0dd74023eda11463d84b196ecbb6867e37a4fc0d9580e292b53742bdb18da71";
       url = "mirror://steamrt/pool/main/h/heimdal/libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1346,7 +1373,7 @@
     }
     rec {
       name = "libwrap0_7.6.q-21+srt5_amd64";
-      sha256 = "1rvgmwh2m633mmz78lccs97sr489bc2qv1vvwl1gf6rd01cmgd99";
+      sha256 = "29b55759002d1bf702e57b878d055b0991ac4fd28c51747ead63982a20af6fe7";
       url = "mirror://steamrt/pool/main/t/tcp-wrappers/libwrap0_7.6.q-21+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1355,7 +1382,7 @@
     }
     rec {
       name = "libx11-6_1.6.3-1ubuntu2.1+srt1_amd64";
-      sha256 = "0lf1k902i59f3v9jgjav9gzsiq7pnrfnlzmlmyxkcfwkd8pvkign";
+      sha256 = "f6c5b92f6a933b36bbafb47e6a5db6f7e0a8ff4b5bc927d31e2e9528409ac151";
       url = "mirror://steamrt/pool/main/libx/libx11/libx11-6_1.6.3-1ubuntu2.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1363,17 +1390,8 @@
       };
     }
     rec {
-      name = "libx11-data_1.6.3-1ubuntu2.1+srt1_all";
-      sha256 = "1imsbk4mg6n1083gjjv6kssm5g842xlbg40vsc4dw97myxycpncw";
-      url = "mirror://steamrt/pool/main/libx/libx11/libx11-data_1.6.3-1ubuntu2.1+srt1_all.deb";
-      source = fetchurl {
-        inherit url sha256;
-        name = "libx11-data.deb";
-      };
-    }
-    rec {
       name = "libx11-xcb1_1.6.3-1ubuntu2.1+srt1_amd64";
-      sha256 = "0l9zprciyrgn4aq91ddmmfhffvms8p9258vv109l62bar4mmg9sz";
+      sha256 = "5fa7572bc96a094313087ba322d245ba6ee7a0abb5b590b022f6651f59be3f51";
       url = "mirror://steamrt/pool/main/libx/libx11/libx11-xcb1_1.6.3-1ubuntu2.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1382,7 +1400,7 @@
     }
     rec {
       name = "libxau6_1.0.6-4+srt5_amd64";
-      sha256 = "1l4ij8c6gmv54yfv24dw9903zjczasd6z9lvzd07c5zj4rj7gx62";
+      sha256 = "c2f4776426f2177640fb9ba66f9a569fc93f404abc11b19d2765d767189291d0";
       url = "mirror://steamrt/pool/main/libx/libxau/libxau6_1.0.6-4+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1391,7 +1409,7 @@
     }
     rec {
       name = "libxaw7_1.0.9-3ubuntu1+srt5_amd64";
-      sha256 = "1a15brx602gg6jq708ymngyr3rcbapmk5620wdx094vdclc665g9";
+      sha256 = "e9156318656d93047ae3409832eb558be591fdb3d52370b034ef09607a5e25a8";
       url = "mirror://steamrt/pool/main/libx/libxaw/libxaw7_1.0.9-3ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1400,7 +1418,7 @@
     }
     rec {
       name = "libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "0h0yfv4ana590x038lwbz4cxfb3smcqbd394ggir0kv9m1przp78";
+      sha256 = "e8dc9f6fa8694f90e37b248db630ab7a2cd719f98b53344007a928abc8761e40";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1409,7 +1427,7 @@
     }
     rec {
       name = "libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1431qrr9kg3mdbag9sfdcqy0g84w074k01r2nyr3bq0w5q8px15l";
+      sha256 = "b4847e112e1ce035b2b7220730c9019ca0073c66cde9f4d46a75bc9972c66190";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1418,7 +1436,7 @@
     }
     rec {
       name = "libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1p2hd14zb1zvqkvgs0apc6m2dwh7kwbxv12py10nr6rzmkr75z1k";
+      sha256 = "33fc72f2ac3f9b6c41f05784dd179f07f226aa615701fdf6c4fb87f5496850dc";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1427,7 +1445,7 @@
     }
     rec {
       name = "libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1ixndxxr7ff48p4sp6rim5bjjvncyc2qcld13az56hjybyq90ka1";
+      sha256 = "414d90b05f5e4253be1aa1518605f3cc6e2957a9319babc945c4b9937b6fb6c7";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1436,7 +1454,7 @@
     }
     rec {
       name = "libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "0l4j5ydzfnzl5wmabwh8jv2qcdgi5blks8ys06cjri8dq4fqq3gg";
+      sha256 = "ef0d8c1dc10dc52c9901da233de92af13586c59608f2a52a2ff45bf79b2f9250";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1445,7 +1463,7 @@
     }
     rec {
       name = "libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1shd1g43pq5hqpmxkfp8lykpqzzdn0a0w53m20bkz133jgjwqq1i";
+      sha256 = "3160cce59363843f171075140e14b0ed7f7ca7a7e8bad9ebc5b0e03bc80b0dea";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1454,7 +1472,7 @@
     }
     rec {
       name = "libxcb-present0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1m3xf4vkbk2iwy64y8ak51b8wrd5g8hyfbankvfaf123dyyk8z7x";
+      sha256 = "fd7c34bd6f4304a7dc9e562de7217aa5658e562853214f8ce751cc3537717dd4";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-present0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1463,7 +1481,7 @@
     }
     rec {
       name = "libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "047j08nl310s4m8d2gk555bhf1q0s78pq882dqqla2skhfslg645";
+      sha256 = "859847b583530b45316e02217cd1d10007075729653ed150251a84412d02f210";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1472,7 +1490,7 @@
     }
     rec {
       name = "libxcb-record0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "0qfh1wnd11z8r9a7zyrvsa4banisvmi3vj5zvihppz2698ln53rv";
+      sha256 = "3b8f62294a46fc7b61dcbfc83d62dd3a5ab588d23bfb7f54cae887d02c0fd061";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-record0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1481,7 +1499,7 @@
     }
     rec {
       name = "libxcb-render0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1yj9hxmdjqqinkx8a1gm7nwyxpj6adxphl2f3i863m0gp679bvag";
+      sha256 = "4fed958eb90fd461501c4e50787b5346deeeb93df50585fab41163d96a8749fa";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-render0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1490,7 +1508,7 @@
     }
     rec {
       name = "libxcb-res0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1v8ipbhabg72mc3rf378l0c8x5apndkgjqbvg5qzp4s591w251np";
+      sha256 = "d7862278484593fb71797b61f966b357958e18a0e80c9707abe2bca5e0ba11ed";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-res0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1499,7 +1517,7 @@
     }
     rec {
       name = "libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "04cm77may727miynsqw0937cvs5kjbh85csrdr86yyayvlqygs02";
+      sha256 = "02e8e731dd5e796f506e59b382e092b3e8cdce4880636d7dac471cafea399511";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1508,7 +1526,7 @@
     }
     rec {
       name = "libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1z0jlvv25ya5v4rn7cmpwpdbafjmhrb9b7hp6x9nlwrhbpwjh6q2";
+      sha256 = "021b28f95d30736a5337179e955686553ab5dae5b7b26333d945f922f6a612fc";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1517,7 +1535,7 @@
     }
     rec {
       name = "libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "0sdajn0sxkvqpy69ccl3l7f7ky4yhj4z304b19wplqfy0qal2gn7";
+      sha256 = "c73e411506de617a790a8b80f189849ef879dca18332968cbf78cfae8195aa69";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1526,7 +1544,7 @@
     }
     rec {
       name = "libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1dvq7n1jrsj07hikqvbbbc4wmmk5i9vsvgfcg39vaywmx5fdmfw8";
+      sha256 = "88bbda5ce9957bb5d378ccbdad778a65d6ca095b6b6d3c233c40ea2c833d78b7";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1535,7 +1553,7 @@
     }
     rec {
       name = "libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "07qsfdyym47shm3n6m7i9flb339xannxlch2h0i5p9ca2z1a34g2";
+      sha256 = "e291a1c2178aa55b22800232daad553d8db1a84bf154634785fa90ea7d731a1f";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1544,7 +1562,7 @@
     }
     rec {
       name = "libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "06ha588as5j1njqga4xamfnw79z6y13i596syl0h34pdmsqd2jll";
+      sha256 = "944ad1b0aeed920101f5daa41247f0e6a7c3adabaa13f5b0b44116ad102a0a1a";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1553,7 +1571,7 @@
     }
     rec {
       name = "libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1npk19k2qhqm89hk2jhf49acig330myvksamd3xw2gjxa99xz7lz";
+      sha256 = "9f9edf53525d3ec1fb6855e9b97d0563bcc854220e4a31614215432c660af3da";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1562,7 +1580,7 @@
     }
     rec {
       name = "libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "0s117w3a3ql7d6k2bp88hzni3k9cg24qcmbqz50z8b1gqhpw9y6b";
+      sha256 = "cbf8c42fc42f2cf441f978558689782ccd11ed8708dd25a66987e2a1063f2168";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1571,7 +1589,7 @@
     }
     rec {
       name = "libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "0kximpl89ks2simxnz10z836rnvaysys7c2jddhsy1z7z30gpb9h";
+      sha256 = "30adfbc0f8e707af616b52b0a3bdf66adb6c06fa207cdb6bd442cf84e8adb14f";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1580,7 +1598,7 @@
     }
     rec {
       name = "libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1l2lxnwp129sa268n3xbrifq8yyfn292nz9arqp95za091zj2rri";
+      sha256 = "3167217f4840fd922ece2a7d2b92b0ce7b845dccab0f8b8c503a8970b9ed54d0";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1589,7 +1607,7 @@
     }
     rec {
       name = "libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1pybcn6rwwg6b4l7a1sn0nxkp2lb5ar9vzwn6ggd8vwrwnppjvq4";
+      sha256 = "046f79afe5996fd4de3396ff9db22a8b8a3bbb055607752859e6719e8d65cbdf";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1598,7 +1616,7 @@
     }
     rec {
       name = "libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "13jyd5jkz8wmbz6n7azxdnbw48c9i5zkwysza50d1c3rlxalpq82";
+      sha256 = "02e14b55a779b0d040515f7b3e7f898921c2976dfdab63cd5f95a33f65695e8e";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1607,7 +1625,7 @@
     }
     rec {
       name = "libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "0l4wagp619qar8g9yji1sf4schlclyl1zvdmp3w2cp9lnnwx1p1w";
+      sha256 = "3cdcd0b9b5345d26f8b8b5ed1fa8a78c42a689d3214a9f1eca0aa760ee539c50";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1616,7 +1634,7 @@
     }
     rec {
       name = "libxcb1_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "1a8x128bgbz9gy2wsmhijg4di99k18ybs9mwvv37hkpw6mlfaxdx";
+      sha256 = "bd75e56835fc4e78c6debc26bd3c0a33a5d8c8931156cd857fe9afb790081da9";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb1_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1625,7 +1643,7 @@
     }
     rec {
       name = "libxcomposite1_0.4.3-2build1+srt5_amd64";
-      sha256 = "01kkvnndzkzqx9pacrlirn435z7dky7lkm0clv7yya3xaw5fslv4";
+      sha256 = "6453ed0a577d28efcfa60cd4498f9fedfc3288cd9166a66eeaf8cfdfacdd7306";
       url = "mirror://steamrt/pool/main/libx/libxcomposite/libxcomposite1_0.4.3-2build1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1634,7 +1652,7 @@
     }
     rec {
       name = "libxcursor1_1.1.12-1ubuntu0.1+srt5_amd64";
-      sha256 = "0n9dgdi8hb1w5dpasi2pmm5ysrckfch930yvx9grs026dgz3s2g7";
+      sha256 = "e7093dfe6b46009d5feadb839120739365ed4bad5744ad6e2b3c2c88627b2d59";
       url = "mirror://steamrt/pool/main/libx/libxcursor/libxcursor1_1.1.12-1ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1643,7 +1661,7 @@
     }
     rec {
       name = "libxdamage1_1.1.3-2build1+srt5_amd64";
-      sha256 = "0l088wzpyn15nmy8c6nx3p97qhklxhyaxm8bhafv9sddpr407p4k";
+      sha256 = "93dc0348beade9b49d820bd5ae3cec74427cd21ddd1a867cb525587f3f470850";
       url = "mirror://steamrt/pool/main/libx/libxdamage/libxdamage1_1.1.3-2build1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1652,7 +1670,7 @@
     }
     rec {
       name = "libxdmcp6_1.1.0-4+srt5_amd64";
-      sha256 = "1jx1i0i6vrm6h2sq99f61dix0v8j1f6nq4d2a1hqaw5f1bsra4q7";
+      sha256 = "071395f50aae70856150a2116c8d0b126dd0630bc6a584b580a6e66d2288a1cb";
       url = "mirror://steamrt/pool/main/libx/libxdmcp/libxdmcp6_1.1.0-4+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1661,7 +1679,7 @@
     }
     rec {
       name = "libxext6_1.3.0-3ubuntu0.2+steamrt1+srt2_amd64";
-      sha256 = "0ip72ys964g5569rbgsrcv8b1afmwm1mrskgrgiqjs93bhr5i4c4";
+      sha256 = "849158325c236989e3cb6fea5c43e5d5a9b0d06659bf959329e51193b417e746";
       url = "mirror://steamrt/pool/main/libx/libxext/libxext6_1.3.0-3ubuntu0.2+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1670,7 +1688,7 @@
     }
     rec {
       name = "libxfixes3_5.0-4ubuntu4.4+srt2_amd64";
-      sha256 = "1x2255fch7g2skiz1x94vrm63ahcwf258w2qjkadnbqwivyf8crz";
+      sha256 = "3f33e4fc8e1c2fdbd49458705484e30caa616ade24f5f0e3d4e21dc85c2942f4";
       url = "mirror://steamrt/pool/main/libx/libxfixes/libxfixes3_5.0-4ubuntu4.4+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1679,7 +1697,7 @@
     }
     rec {
       name = "libxft2_2.2.0-3ubuntu2+srt5_amd64";
-      sha256 = "0ylsvvd28qwz442scylrp9gmmp1y6lvyj1bcjd5d4g0fc9iwm37d";
+      sha256 = "ed8cca63620e3cd24a936c05e937353edc5a5fba997aa605219f6324dade9a7a";
       url = "mirror://steamrt/pool/main/x/xft/libxft2_2.2.0-3ubuntu2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1688,7 +1706,7 @@
     }
     rec {
       name = "libxi6_1.7.1.901-1ubuntu1~precise3+srt2_amd64";
-      sha256 = "0g3nazw6w77q91c0dsn040y79d1rmg4njg2n3cv871630zghz6rs";
+      sha256 = "3a9b0fdf07c38483361b563c69c9ab39b4743c20c0ea065848f81c6ef857763c";
       url = "mirror://steamrt/pool/main/libx/libxi/libxi6_1.7.1.901-1ubuntu1~precise3+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1697,7 +1715,7 @@
     }
     rec {
       name = "libxinerama1_1.1.1-3ubuntu0.1+srt5_amd64";
-      sha256 = "1icp7syxhfgwpiabl7503ylw66m7z3sq5pn7wkxb2yriqxfj3nmp";
+      sha256 = "b7da215dc7317bb1fae4c7de82f5f8a71ac3a91fa01cba54bcfc39d8bd3e97c5";
       url = "mirror://steamrt/pool/main/libx/libxinerama/libxinerama1_1.1.1-3ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1706,7 +1724,7 @@
     }
     rec {
       name = "libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt1_amd64";
-      sha256 = "0k5wagjkf60ys0cg639758c1h0cjmziyxvp5597vavbds32sl2hm";
+      sha256 = "150aaac5d06d6db54f2ae5eeeee3af920118182a270df318d01e1837e553bc4c";
       url = "mirror://steamrt/pool/main/libx/libxml2/libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1715,7 +1733,7 @@
     }
     rec {
       name = "libxmu6_1.1.0-3+srt5_amd64";
-      sha256 = "0pabx6pyazssqfs775k4l19frqv20225n7jmr1ncvwfikiw48gsl";
+      sha256 = "543f44789cd1f1cd6cc8551e5b840062e3ec52a0649673b4c35a7fe5afe94b5d";
       url = "mirror://steamrt/pool/main/libx/libxmu/libxmu6_1.1.0-3+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1724,7 +1742,7 @@
     }
     rec {
       name = "libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt1_amd64";
-      sha256 = "0nv7v30mh3j53h7lcvqm2ixnsbn8328vcfbd2ysx2r2fac9waw7j";
+      sha256 = "f270c513534e64d1b5176d39b69118c82e6d7b14156f460f1c450e58c1d8675b";
       url = "mirror://steamrt/pool/main/libx/libxpm/libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1733,7 +1751,7 @@
     }
     rec {
       name = "libxrandr2_1.5.0-1+srt1_amd64";
-      sha256 = "1i55vzgaalxlm0mgi7c52nmpmksyffbf93isg3i2syg5nzain8v2";
+      sha256 = "62231bd5b7e5792de2783a8ee496735ecf7aab15859df82aa8b453a5dedfa5c4";
       url = "mirror://steamrt/pool/main/libx/libxrandr/libxrandr2_1.5.0-1+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1742,7 +1760,7 @@
     }
     rec {
       name = "libxrender1_0.9.6-2ubuntu0.2+srt2_amd64";
-      sha256 = "0zd4kd5235vn575msfgl48j4czfp4fc44y439gcclpadkhvciviz";
+      sha256 = "3feec8369c4d5dcad84b8378429823d77d462422f4395dcb297697214a9ba47d";
       url = "mirror://steamrt/pool/main/libx/libxrender/libxrender1_0.9.6-2ubuntu0.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1751,7 +1769,7 @@
     }
     rec {
       name = "libxss1_1.2.1-2+srt5_amd64";
-      sha256 = "1k7248hb63ml79nqzij65rmg8x0ayi41zpl9ls6my87a6gzswyhr";
+      sha256 = "197aaeff33ea205f8da689de1f48f40a74f46a2e46c68f6d3ab40eb32022e2cc";
       url = "mirror://steamrt/pool/main/libx/libxss/libxss1_1.2.1-2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1760,7 +1778,7 @@
     }
     rec {
       name = "libxt6_1.1.1-2ubuntu0.1+srt5_amd64";
-      sha256 = "0gd81vk2bzjc9zcdbgj57hwhs6v9dmzajrmngmaxavyzv2fgamka";
+      sha256 = "6a56f59cd8df6fd5557db666a97e6d691b0d393c45bed5d84f4cfe25e60ea83d";
       url = "mirror://steamrt/pool/main/libx/libxt/libxt6_1.1.1-2ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1769,7 +1787,7 @@
     }
     rec {
       name = "libxtst6_1.2.0-4ubuntu0.1+srt5_amd64";
-      sha256 = "1l1l2073b9cd76ckn5f2d4qb4w1k48s0dlki93bfikph8ms6px8d";
+      sha256 = "0df56b7445f0cee8d64871d20634223370b23069c2153b99398da5350e1034d0";
       url = "mirror://steamrt/pool/main/libx/libxtst/libxtst6_1.2.0-4ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1778,7 +1796,7 @@
     }
     rec {
       name = "libxxf86vm1_1.1.1-2ubuntu0.1+srt5_amd64";
-      sha256 = "1diqhhj91knlz02b6ha940091yjris46d5swy3zi3r389w2b2crm";
+      sha256 = "3533b1044f68e411fff05c9766888e59fa9000204941b304f8d4ce90248438b6";
       url = "mirror://steamrt/pool/main/libx/libxxf86vm/libxxf86vm1_1.1.1-2ubuntu0.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1787,7 +1805,7 @@
     }
     rec {
       name = "nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt5_amd64";
-      sha256 = "0cr24gybxz7h8s9rijr75dayahy1kx4i6gn5q2q6h4z29v046nc4";
+      sha256 = "845943c04ee21368b0c0c53e13499fc143e5552b27cb989346f0fcbefc232233";
       url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1795,8 +1813,26 @@
       };
     }
     rec {
+      name = "steamrt-legacy_1.20190320.0+srt1_amd64";
+      sha256 = "35ec5e34502ceb6b6bedbd22db8d3e1ab3bc3e3298d227a89a8edb8128bb86eb";
+      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20190320.0+srt1_amd64.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "steamrt-legacy.deb";
+      };
+    }
+    rec {
+      name = "steamrt-libs_1.20190320.0+srt1_amd64";
+      sha256 = "bdc4ea575b1227e830707ae5caddcf8ea10df6955e5591459607548e1bb9460d";
+      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20190320.0+srt1_amd64.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "steamrt-libs.deb";
+      };
+    }
+    rec {
       name = "zenity_3.4.0-0ubuntu4+steamrt2+srt5_amd64";
-      sha256 = "0ajisfqvlajw0m6kq3yv8j6f38dfhlavrmmfdq5yqmb70wmmkk71";
+      sha256 = "e1cc592b076755ec0b6eaed6bc1585aea1e18c44db0f3c4d055c2abab1d3512a";
       url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1804,8 +1840,17 @@
       };
     }
     rec {
+      name = "zenity-common_3.4.0-0ubuntu4+steamrt2+srt5_all";
+      sha256 = "27c90bd85c4ff3c9593088d62a19537f7250910dcdd28c278bd6c71157e8be88";
+      url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt2+srt5_all.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "zenity-common.deb";
+      };
+    }
+    rec {
       name = "zlib1g_1.2.3.4.dfsg-3ubuntu4+srt6_amd64";
-      sha256 = "0962hhdg3knxnjinkv7m3h510fq8vghjyaxnsnsyijqzfawi4rfj";
+      sha256 = "d26512b9721fcbe8b5d5b62b2fe1db083b100a1cf5ec69a3b4ddcef11a84c224";
       url = "mirror://steamrt/pool/main/z/zlib/zlib1g_1.2.3.4.dfsg-3ubuntu4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1816,7 +1861,7 @@
   i386 = [
     rec {
       name = "dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt1_i386";
-      sha256 = "134fv1d73hnlfn14asgmi36pwbs3mlri290jbl0621mih1iq8b7i";
+      sha256 = "f12c846380b10661005d12241133ad432f7ecd88f569458275d4c2715ad88e8c";
       url = "mirror://steamrt/pool/main/d/d-conf/dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1825,7 +1870,7 @@
     }
     rec {
       name = "freeglut3_2.6.0-1ubuntu3+srt5_i386";
-      sha256 = "0jdn9nvjmhphv9iw1h589cy5q1iq0gp9q4ibm0m69lkazi2v1blb";
+      sha256 = "8baeb045fc6ad2642aa82b129cee0338065c3c4ba8c0c063daf0c22ab74db649";
       url = "mirror://steamrt/pool/main/f/freeglut/freeglut3_2.6.0-1ubuntu3+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1834,7 +1879,7 @@
     }
     rec {
       name = "gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt1_i386";
-      sha256 = "0lq2bm237vwjkclxjqldw4cy1mirbw6lx6ryqmjwzwq1ya5490sr";
+      sha256 = "5983448af201f3cf65c53e9b4e0d5f39d6e019e18d62d9299b92ef33445d0253";
       url = "mirror://steamrt/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1842,9 +1887,9 @@
       };
     }
     rec {
-      name = "gcc-5-base_5.4.0-7.really.6+steamrt1.1+srt2_i386";
-      sha256 = "1jlyq99j7rgw6m4rvrxcrpk5l386sps36isld18bg7hb67qm5gzy";
-      url = "mirror://steamrt/pool/main/g/gcc-5/gcc-5-base_5.4.0-7.really.6+steamrt1.1+srt2_i386.deb";
+      name = "gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt1_i386";
+      sha256 = "f99dfc360aa9b1cd0dde113b8b81167b78dcb527fa3c5b7c10eb628720a2525e";
+      url = "mirror://steamrt/pool/main/g/gcc-5/gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gcc-5-base.deb";
@@ -1852,7 +1897,7 @@
     }
     rec {
       name = "gtk2-engines_2.20.2-1ubuntu1+srt5_i386";
-      sha256 = "06h5229y2md6d73imgy5wg4msv6s9vl056p97jq2hrf4di0q6a76";
+      sha256 = "e62883416cc46528b03ce99a02e84eda6c5dc9e3c5bf1ac769a655e19310051a";
       url = "mirror://steamrt/pool/main/g/gtk2-engines/gtk2-engines_2.20.2-1ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1861,7 +1906,7 @@
     }
     rec {
       name = "gtk2-engines-murrine_0.98.2-0ubuntu1+srt5_i386";
-      sha256 = "1fyha082h0jr26gjnsxzj1c6rl63c9xc2kgf6cfb86dmsmbvpqqg";
+      sha256 = "0fe3bb57d5b519b41c33ee4dc17a62c3d06c5890bf6b2b9f115902281050d0bb";
       url = "mirror://steamrt/pool/main/g/gtk2-engines-murrine/gtk2-engines-murrine_0.98.2-0ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1870,7 +1915,7 @@
     }
     rec {
       name = "gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt5_i386";
-      sha256 = "0ix60pix5cnzd807v8q9mqhyhhksqndd7vc6brs1daknhxn5dsi4";
+      sha256 = "24ea566c8776aa16745e86edd39ac57a42e821ae09a37d006adfb2d2e305a647";
       url = "mirror://steamrt/pool/main/g/gtk+2.0/gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1879,7 +1924,7 @@
     }
     rec {
       name = "libacl1_2.2.51-5ubuntu1+steamrt1.1+srt2_i386";
-      sha256 = "01cmbrlgzx7djy0xgf4950936s596rp8cn51qadbfz0sad5w7sd9";
+      sha256 = "a9e9c34b531a7cb79ac2a158866e36a96833122889b8d78197edf4ff685e9505";
       url = "mirror://steamrt/pool/main/a/acl/libacl1_2.2.51-5ubuntu1+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1888,7 +1933,7 @@
     }
     rec {
       name = "libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt1_i386";
-      sha256 = "1bbf9k50d3df4sjn2idizk2bcpkcxkg0wz8mczgzkh634753pkld";
+      sha256 = "8dce3bca21c3c0f9df67157d0edeec6c5eb6c4fcb14561a526ae8d06ca4c6ead";
       url = "mirror://steamrt/pool/main/liba/libappindicator/libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1897,7 +1942,7 @@
     }
     rec {
       name = "libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "1qgap0ha5vlpz1fnf2fppprzh4lyrvy7k9sj0whhb3f48ass8mh5";
+      sha256 = "0556a4b542c48d05210752a779fcce9e12f8f3bdd709675df897eea220b8eae1";
       url = "mirror://steamrt/pool/main/h/heimdal/libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1906,7 +1951,7 @@
     }
     rec {
       name = "libasound2_1.1.0-0ubuntu1+steamos1+srt2_i386";
-      sha256 = "0wa019012di6slf29ambq249fn6w9ldmyxx80k564j9s1k510ivc";
+      sha256 = "6c4710ca0c3a4962ca04a8775f1b4ddc589788c0abaa241cd5263611400a4071";
       url = "mirror://steamrt/pool/main/a/alsa-lib/libasound2_1.1.0-0ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1915,7 +1960,7 @@
     }
     rec {
       name = "libasound2-plugins_1.1.0-0ubuntu1+srt2_i386";
-      sha256 = "0hrrpjp4wg13vfam863hwkhzv7ngcydx0iysmfkxjzhmpf3j4ghd";
+      sha256 = "0d3e2287bb157ed9a7abda47d09b67cf9efde1e470185495db233c4eaebc3943";
       url = "mirror://steamrt/pool/main/a/alsa-plugins/libasound2-plugins_1.1.0-0ubuntu1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1924,7 +1969,7 @@
     }
     rec {
       name = "libasyncns0_0.8-4+srt5_i386";
-      sha256 = "0k8rngiq74b574fc1jqfwf77f57qcflimbs63pa2jx1jqg7gxjx2";
+      sha256 = "a2cbfecec3327429d41d46af1aa963f814778ee30ecbc01c39659183e3b3194d";
       url = "mirror://steamrt/pool/main/liba/libasyncns/libasyncns0_0.8-4+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1933,7 +1978,7 @@
     }
     rec {
       name = "libatk1.0-0_2.18.0-1+steamrt1+srt1_i386";
-      sha256 = "0ldl3jsmf16mbf1bs94zkmaa1b1p9d9rvajlyp7iqkbqw6qkszlz";
+      sha256 = "9f7e3db1e1784d1ccff554aa9d534b37aca0549d9f24bd825bd50457b51cb451";
       url = "mirror://steamrt/pool/main/a/atk1.0/libatk1.0-0_2.18.0-1+steamrt1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1942,7 +1987,7 @@
     }
     rec {
       name = "libattr1_2.4.46-5ubuntu1+steamrt1.1+srt1_i386";
-      sha256 = "0crgd6ww9z1b69g9x1acxnlxaw3nyymq1fhjpxzs1x0vrlhj8wsg";
+      sha256 = "4f732421cd1bf4a07fbf12ba80abf77670d5a9ed4c859e5e322bfcc4b9692f33";
       url = "mirror://steamrt/pool/main/a/attr/libattr1_2.4.46-5ubuntu1+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1951,7 +1996,7 @@
     }
     rec {
       name = "libavahi-client3_0.6.30-5ubuntu2.2+srt1_i386";
-      sha256 = "1yyq436zsx8hbfhhv4l8ji85narl6ws8flhfcbqvxldaxlzv4ls7";
+      sha256 = "4753b23fedaad1bef1620e52873437342b5b509488920da15b1075fdcd20d8fb";
       url = "mirror://steamrt/pool/main/a/avahi/libavahi-client3_0.6.30-5ubuntu2.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1960,7 +2005,7 @@
     }
     rec {
       name = "libavahi-common3_0.6.30-5ubuntu2.2+srt1_i386";
-      sha256 = "0lhvj64i4dqy0lh73kyk32992fqkhxxr7k1cr97a03hdpaa06ycq";
+      sha256 = "98790394ba0d0ea04eca2ccc937b87133b919218d3cf7120051e371289911b52";
       url = "mirror://steamrt/pool/main/a/avahi/libavahi-common3_0.6.30-5ubuntu2.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1969,7 +2014,7 @@
     }
     rec {
       name = "libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "129g8jgy4va5gszrq9pxd4p51zja9svcm0hqx8g12ryx5lfkjjc5";
+      sha256 = "8549391d2ddd67111eea1882cab64e4afe502e69fd269cbf7e456de29f442f89";
       url = "mirror://steamrt/pool/main/liba/libav/libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1978,7 +2023,7 @@
     }
     rec {
       name = "libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "1vnj97sl686wlkkxbhvn5s3ck60nzrqr60y4wxg9a2hxxf7ba1gf";
+      sha256 = "ee05b58eeb1d0a955ee7c4039371fe1698c9862e76c3d5e7a4dc2043f549d2ee";
       url = "mirror://steamrt/pool/main/liba/libav/libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1987,7 +2032,7 @@
     }
     rec {
       name = "libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "12zikl29fcq5vc0k5n4l8db8q0f95h13hlqgka3cy13nf31kbk06";
+      sha256 = "06cc35c3707604cf869a0f5338022cc9018c564394d83201db053397049df18b";
       url = "mirror://steamrt/pool/main/liba/libav/libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -1996,7 +2041,7 @@
     }
     rec {
       name = "libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "1brfvbqwga1hmmyarbwksbrj6kabnfnrk8hv9xrvd99jak3wsipl";
+      sha256 = "f446cdc75432a5b6734f1ba299adb34b4d23f3d293afac7cad30a8c7f1da2eaf";
       url = "mirror://steamrt/pool/main/liba/libav/libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2005,7 +2050,7 @@
     }
     rec {
       name = "libbz2-1.0_1.0.6-1+srt5_i386";
-      sha256 = "1nngc07hwr96n1k56bi3i2yffad8dhf1zfblqlz8pffi1yl92vjz";
+      sha256 = "5f6e91a80fd1b98b3ec574b91f1c6ca829e7bc88232e5366b026650e0f60cfda";
       url = "mirror://steamrt/pool/main/b/bzip2/libbz2-1.0_1.0.6-1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2014,7 +2059,7 @@
     }
     rec {
       name = "libcairo2_1.10.2-6.1ubuntu3+srt5_i386";
-      sha256 = "0vnz2d66q9pkn8ry2ixbmqcyz0kpqqmimaxnrfq42g1lz8k44cs6";
+      sha256 = "46334226fa343c41b0cbb6ab1a2bc67782ef19aeab47e133b2f3266c4c13df6e";
       url = "mirror://steamrt/pool/main/c/cairo/libcairo2_1.10.2-6.1ubuntu3+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2023,7 +2068,7 @@
     }
     rec {
       name = "libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt1_i386";
-      sha256 = "1lg98x7cr66nq48k3klah9apskvk2cqdpj3g52z5yffkrrd1sqci";
+      sha256 = "91611d5aced3395fbe286fc8db3013734f7d55828ace3111c1d698cc4e47e9d1";
       url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2032,7 +2077,7 @@
     }
     rec {
       name = "libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt1_i386";
-      sha256 = "0jnqzfshd1f16f3gcq3fw955i6w9pfizli0l0zxl6fl58ad6g9as";
+      sha256 = "5aa5679a42853a43fb071444faa3bb899b584ae26e60f68633c18506b5fbd84a";
       url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2041,7 +2086,7 @@
     }
     rec {
       name = "libcanberra0_0.28-3ubuntu3+steamrt1.1+srt1_i386";
-      sha256 = "0kfw2ghb47ysww9wrp9gjq449j82a22f5w5xn1vk17bq0kk2vg8c";
+      sha256 = "0cbd2de604789d3077b0bdf0e2845002c94408962fddcc13e7da1fb2e013dc4d";
       url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra0_0.28-3ubuntu3+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2050,7 +2095,7 @@
     }
     rec {
       name = "libcap2_2.22-1ubuntu3+srt5_i386";
-      sha256 = "1qy9ggswl8cbp0zbaryc7cd4bcq17qb4llv8v3zcj08wxr6v2ram";
+      sha256 = "5565b14dee1c01c9fed868534a163e01b3451a3bcc67b53eb88b21caf57bc9e3";
       url = "mirror://steamrt/pool/main/libc/libcap2/libcap2_2.22-1ubuntu3+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2059,7 +2104,7 @@
     }
     rec {
       name = "libcg_3.0.0016-0ubuntu1+srt5_i386";
-      sha256 = "0gs2q5ql7wq28y2qrs9v9gs75r6ycq7c6xghf4s6g5s8q4cq205k";
+      sha256 = "b3008119c14897673471f075c30e66dee472f44b3be98c854702f34371c1423f";
       url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2067,9 +2112,9 @@
       };
     }
     rec {
-      name = "libcomerr2_1.42-1ubuntu2.3+srt1_i386";
-      sha256 = "12c8gxi0l0qysbiw81hbysf5hn1kgv956csvrn71yf52zwqwr388";
-      url = "mirror://steamrt/pool/main/e/e2fsprogs/libcomerr2_1.42-1ubuntu2.3+srt1_i386.deb";
+      name = "libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt1_i386";
+      sha256 = "b971589adbdefc969637f8c9bb9dc76b196cb89dd663181a7a7d7a4bd22f7046";
+      url = "mirror://steamrt/pool/main/e/e2fsprogs/libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcomerr2.deb";
@@ -2077,7 +2122,7 @@
     }
     rec {
       name = "libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt2_i386";
-      sha256 = "02p2svhf5zr2q5pga2qbnk5v6v6isjymli8arfarqcawgw8x8abg";
+      sha256 = "6f29d4117f5c319c95cb0a455abdd4d16cb3cbb40b0bf56ec122ffe2e0d6e20a";
       url = "mirror://steamrt/pool/main/c/cups/libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2086,7 +2131,7 @@
     }
     rec {
       name = "libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt4_i386";
-      sha256 = "18kysm6nj8jfankkarphpzk03cab126pnili4p3kfglw2z7dxci0";
+      sha256 = "20b2dece179c3e37c72591467b8d084bb101e6bff06635a7554e22694dd57ea2";
       url = "mirror://steamrt/pool/main/c/curl/libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt4_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2095,7 +2140,7 @@
     }
     rec {
       name = "libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt4_i386";
-      sha256 = "166mcqrwh86qx2dpsi5qx9nczzwyyih51d0ssrbnxzabshkyzmsx";
+      sha256 = "5dd7ef27d44bfd6e57d61ab45060f49effcf6ceab8447d9be8d820c83366d598";
       url = "mirror://steamrt/pool/main/c/curl/libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt4_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2104,7 +2149,7 @@
     }
     rec {
       name = "libdbus-1-3_1.4.18-1ubuntu1.8+srt1_i386";
-      sha256 = "1m8aqb9hvprl0hbswha0raz6pp3gs84cmqg40fblbfqya8nibdlk";
+      sha256 = "93b6152d521ebb459703e4e1ca08d26fdc6bbeca4041ae170434df0dd3c20ad5";
       url = "mirror://steamrt/pool/main/d/dbus/libdbus-1-3_1.4.18-1ubuntu1.8+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2113,7 +2158,7 @@
     }
     rec {
       name = "libdbus-glib-1-2_0.98-1ubuntu1.1+srt5_i386";
-      sha256 = "0slsk7cqdrbnm35zqir21ms0vv1hv44i184x8ip1lg936vrvbxka";
+      sha256 = "6af6b5f336233d1a6e449da01009d930ec0d740d2247fccba876e586d9999a6a";
       url = "mirror://steamrt/pool/main/d/dbus-glib/libdbus-glib-1-2_0.98-1ubuntu1.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2122,7 +2167,7 @@
     }
     rec {
       name = "libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt5_i386";
-      sha256 = "0g4zmrwpifl4kxv311spwyia1xrd76m0aizb3jzv6q8cc4hla3ii";
+      sha256 = "310e4521610c61b3bf1ceb4705aa392df7a0a2e7578730769f84ba7879ae9f3c";
       url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2131,7 +2176,7 @@
     }
     rec {
       name = "libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt5_i386";
-      sha256 = "0kj6pfpgybkkb5bjfr9qgczwddx5lkbwhknlcymhhi94jcfbcnbc";
+      sha256 = "6c59b61c93244508ab67d44ec8d7a4a5b7c63f7b3865275759732effaebb464e";
       url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2140,7 +2185,7 @@
     }
     rec {
       name = "libexif12_0.6.20-2ubuntu0.1+srt5_i386";
-      sha256 = "06br49sn30hrxlq479xi3vxw3blkr558kz4d7gym3fxnwfa6im9w";
+      sha256 = "3cd56894e3b6bb51fd3b8dfc894ac993aec1fb1eb1a74330ed19826175227919";
       url = "mirror://steamrt/pool/main/libe/libexif/libexif12_0.6.20-2ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2149,7 +2194,7 @@
     }
     rec {
       name = "libexpat1_2.0.1-7.2ubuntu1.4+srt2_i386";
-      sha256 = "0av7wcy104jz6pci7lgwpmvb528v9idx660qrrabdqhpd1m4hv8s";
+      sha256 = "1a6d486a6817e2b654ce1818d35b4c1b89b276bdfcd113d9355f12103ce3672b";
       url = "mirror://steamrt/pool/main/e/expat/libexpat1_2.0.1-7.2ubuntu1.4+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2158,7 +2203,7 @@
     }
     rec {
       name = "libffi6_3.0.11~rc1-5+srt5_i386";
-      sha256 = "0gvhndr5y4zl097h105fr4q60sg38mhkhlw8ha51ypzcm9f8na6d";
+      sha256 = "cd288b5caaec5f1f8a828853386145e3696030c9ae80004f02f4135f72b3703f";
       url = "mirror://steamrt/pool/main/libf/libffi/libffi6_3.0.11~rc1-5+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2167,7 +2212,7 @@
     }
     rec {
       name = "libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt1_i386";
-      sha256 = "1rdfykm113vps893xdkcrpphb06winv2566yb9myg9m3aybcldrx";
+      sha256 = "3d37ca9657a3a6e76b5ade9822b68ddc8005efcd6cb63e12d2778f10eaf4aee5";
       url = "mirror://steamrt/pool/main/f/flac/libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2176,7 +2221,7 @@
     }
     rec {
       name = "libfltk1.1_1.1.10-10+srt5_i386";
-      sha256 = "1j0bhpgsaw6rphy1wqp40wn8yr6qzrxdmwarc2amryqw7bqslmy5";
+      sha256 = "c557aaf13a1cfb5c956059f1da7afed8648f2c07e4621e3cbcd970a5df850bc8";
       url = "mirror://steamrt/pool/main/f/fltk1.1/libfltk1.1_1.1.10-10+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2185,7 +2230,7 @@
     }
     rec {
       name = "libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt1_i386";
-      sha256 = "19mqzn0p0x282wvh4njykiar10rc5zd43cl7pji9hkrq4xlv0s3j";
+      sha256 = "7268b06927384f98a2bc87b241da2f2c8390559c5e5a02371748747081fdb8a6";
       url = "mirror://steamrt/pool/main/f/fontconfig/libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2194,7 +2239,7 @@
     }
     rec {
       name = "libfreetype6_2.4.8-1ubuntu2.6+srt1_i386";
-      sha256 = "1zahvr5h833mppcpg648jv28dywx9jiqdv58wlv1vpsk6d9599bh";
+      sha256 = "70a554523353df1d36e5a8ec86a34c9dfb86c496889877d9bd750c044bde50fd";
       url = "mirror://steamrt/pool/main/f/freetype/libfreetype6_2.4.8-1ubuntu2.6+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2202,9 +2247,9 @@
       };
     }
     rec {
-      name = "libgcc1_5.4.0-7.really.6+steamrt1.1+srt2_i386";
-      sha256 = "0x9sssiqkdpbya6v5slw6lv3ad0w7k4j25bxh0zqxgjfpf3np8m7";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libgcc1_5.4.0-7.really.6+steamrt1.1+srt2_i386.deb";
+      name = "libgcc1_5.4.0-7.really.6+steamrt1.2+srt1_i386";
+      sha256 = "c406f08ae1033994424617cd9d07e8f13fc61e0728ecbb314325a540f9f21b3f";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libgcc1_5.4.0-7.really.6+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgcc1.deb";
@@ -2212,7 +2257,7 @@
     }
     rec {
       name = "libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt1_i386";
-      sha256 = "1rf64kxpbjp0dvd0l5ip8qlrla69zj4h4wsx5hjhbrx2qhf9h31z";
+      sha256 = "3f0c981cc4a2e705252c5d730289fcc9289a294637160ada6ee0ca75fb24c6e5";
       url = "mirror://steamrt/pool/main/g/gconf/libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2221,7 +2266,7 @@
     }
     rec {
       name = "libgcrypt11_1.5.0-3ubuntu0.6+srt2_i386";
-      sha256 = "1wbaml6cjdijcaq6c9m0lcdlh350fk9a2prh6z4k7fjhsms60ppc";
+      sha256 = "ec5e6074d550ba33c937305fa1d274a00c481ba3a02666b0623236c90cad6af1";
       url = "mirror://steamrt/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-3ubuntu0.6+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2230,7 +2275,7 @@
     }
     rec {
       name = "libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt5_i386";
-      sha256 = "0fis055pnc01rb5v9vdqc17w4ijdb6sksf2qjysc4q2j33gvh6d5";
+      sha256 = "a519b8df185260c2b49758383db5594d46c24f60b8edb4cbca01307b4b013a3a";
       url = "mirror://steamrt/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2238,8 +2283,26 @@
       };
     }
     rec {
+      name = "libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt5_i386";
+      sha256 = "632514d7d5295fa89185050a3b6628f14bccea5602f5ebfcaec98d3581ec8cfd";
+      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt5_i386.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "libgl1-mesa-dri.deb";
+      };
+    }
+    rec {
+      name = "libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt5_i386";
+      sha256 = "abfe42d2d9a41397571b8b04391e3b41b9ef75f41ff990e965de2c617dfb4fe7";
+      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt5_i386.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "libgl1-mesa-glx.deb";
+      };
+    }
+    rec {
       name = "libglew1.10_1.10.0-3+srt6_i386";
-      sha256 = "17ki8vb4nbg140fg7vdfyb092lcr3hpsjx0z1gz13bvmzxcff3lf";
+      sha256 = "8e0ee758ff75af11fe0b1f74a92f1c995191c0f2aeedf31c20e12d4bd646719e";
       url = "mirror://steamrt/pool/main/g/glew/libglew1.10_1.10.0-3+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2248,7 +2311,7 @@
     }
     rec {
       name = "libglew1.6_1.6.0-4+steamrt1.1+srt1_i386";
-      sha256 = "1rpxqc5a0ys26ckzgsk7725wdvq2warcfyjabl1a4r1vikqj2nsz";
+      sha256 = "5f5b21f18c3b64a2025d4a7ac7b2e202efc68b3867eaf72733427ba00ac3fde6";
       url = "mirror://steamrt/pool/main/g/glew1.6/libglew1.6_1.6.0-4+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2257,7 +2320,7 @@
     }
     rec {
       name = "libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt2_i386";
-      sha256 = "0l0vjcff86mw1mv5kizg3pcjr8rk9bn2gjf0d22jgljisq47f607";
+      sha256 = "07187708d651d2278568c0c927ec4a33a32cd91defc759760dbc1ae41c931b50";
       url = "mirror://steamrt/pool/main/g/glib2.0/libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2266,7 +2329,7 @@
     }
     rec {
       name = "libglu1-mesa_8.0.4-0ubuntu0.7+srt5_i386";
-      sha256 = "1bc2hb2cb05j4iw9lrskrqkdh8iy7wv3d1sknqn1ya847w98h9hr";
+      sha256 = "192688123f04291f2cb6538736363f3e22d826ce53679a7824b280c5c48282ad";
       url = "mirror://steamrt/pool/main/m/mesa/libglu1-mesa_8.0.4-0ubuntu0.7+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2275,7 +2338,7 @@
     }
     rec {
       name = "libgmp10_6.1.0+dfsg-2+srt1_i386";
-      sha256 = "0x0ipagi7z9s4cf5wsp1h5vbgx1czsnv3z9rvcz289fb88b7vn2f";
+      sha256 = "4ed87d1642cb25243edb39fdb1adfe2cf4b77681e16a5e1c233afd139fba1174";
       url = "mirror://steamrt/pool/main/g/gmp/libgmp10_6.1.0+dfsg-2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2284,7 +2347,7 @@
     }
     rec {
       name = "libgnutls26_2.12.14-5ubuntu3.14+srt1_i386";
-      sha256 = "1f5dv4bk2g9ldqfjm7a2a6mx2ignzgxy42ghl9yny6x9xz39g56h";
+      sha256 = "d09497c6efa91b6f7da2f009e2fbfbf645d1ab51429d2a1d6e343d3117d9adb8";
       url = "mirror://steamrt/pool/main/g/gnutls26/libgnutls26_2.12.14-5ubuntu3.14+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2293,7 +2356,7 @@
     }
     rec {
       name = "libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt3_i386";
-      sha256 = "12xzkh2fzlnqdpyf18a13dc92pk9fmakcsm89zs1lfq68ad7zlb6";
+      sha256 = "66d17f9a42063b1af44fa86a365575695e91581b41a1e0fc6dd8d2ef049cbf8b";
       url = "mirror://steamrt/pool/main/g/gnutls28/libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2301,9 +2364,9 @@
       };
     }
     rec {
-      name = "libgomp1_5.4.0-7.really.6+steamrt1.1+srt2_i386";
-      sha256 = "0z73ay26wi49hg74lwn13gyraqvdim7q79rpckvk7p7cimb65ina";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libgomp1_5.4.0-7.really.6+steamrt1.1+srt2_i386.deb";
+      name = "libgomp1_5.4.0-7.really.6+steamrt1.2+srt1_i386";
+      sha256 = "21d5c39c52a6d544ce3d8093858bbbbd960b37748ce004dd83e18c1bcd138fc9";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libgomp1_5.4.0-7.really.6+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgomp1.deb";
@@ -2311,7 +2374,7 @@
     }
     rec {
       name = "libgpg-error0_1.10-2ubuntu1+srt5_i386";
-      sha256 = "19wh8hdp5lcf68w2hwmj8z55j2bcp61ydf37cs796rvzsxbsbamr";
+      sha256 = "b9aaa557d77f67938e6667b8e683b96c0959ca47b2722838328ed1721b4490a7";
       url = "mirror://steamrt/pool/main/libg/libgpg-error/libgpg-error0_1.10-2ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2320,7 +2383,7 @@
     }
     rec {
       name = "libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386";
-      sha256 = "1zkvqbm3i297b6pj0japgs3jcvps8my6icsh2n1ka6nvflvdr87h";
+      sha256 = "f0a0dc3675db1a35831550b3687c45fa6e26877e574920af59278938eac27bfe";
       url = "mirror://steamrt/pool/main/k/krb5/libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2329,7 +2392,7 @@
     }
     rec {
       name = "libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "0q2r4fmpql34hpd061289ijl40y66wp8rlh78b2ysg8dkvycni0k";
+      sha256 = "1344cbfc9e0d3dedc54207d28c2e37c60342654c480403da8564507cab235960";
       url = "mirror://steamrt/pool/main/h/heimdal/libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2338,7 +2401,7 @@
     }
     rec {
       name = "libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt1_i386";
-      sha256 = "0nq6hvv00b3s5fmay2nm4s869y6lws8v2w9lrqlpgs08z6fh6mjp";
+      sha256 = "5756039df908e87729ce3471b191e6d4f8649026d50aafaa2b7a2c00f686065b";
       url = "mirror://steamrt/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2347,7 +2410,7 @@
     }
     rec {
       name = "libgstreamer0.10-0_0.10.36-1ubuntu1+srt5_i386";
-      sha256 = "0arypn4k1wvaiqqxc271r5w7bkdk0f4mh88l4np3ngfyzn2w6z61";
+      sha256 = "c17cc385fdde3d3bae251421588903b3cd7578c9e108d6318e6af33089bd3e2b";
       url = "mirror://steamrt/pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2356,7 +2419,7 @@
     }
     rec {
       name = "libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt5_i386";
-      sha256 = "0swmpdf7872z0nb3rsfixspg11nvf0k7sm4xcdgvcliaqjhyv570";
+      sha256 = "e094eda1c42a52b65f639d547d2670db86f0aeeed1e93c96055f1c745cbb956b";
       url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2365,7 +2428,7 @@
     }
     rec {
       name = "libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt5_all";
-      sha256 = "0rw8iy16ij86abh444jk1xw78b5z81qjxm1292jin3sfhck4bd4x";
+      sha256 = "9db44526834e0f1ba54822d42e7140bf2c74780f531242e05206c968828f8867";
       url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt5_all.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2374,7 +2437,7 @@
     }
     rec {
       name = "libgudev-1.0-0_175-0ubuntu9.10+srt1_i386";
-      sha256 = "09gjla6gsx8whbvhzwvgjnm19md7bgpvb76kjfmxzm54hakcjxla";
+      sha256 = "8a76c9a682a4d4dfab93d39cb5ef5ba7d514aa956ff30ff7821c75fd8ca2f225";
       url = "mirror://steamrt/pool/main/u/udev/libgudev-1.0-0_175-0ubuntu9.10+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2383,7 +2446,7 @@
     }
     rec {
       name = "libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "18v3rqaclhdmbh25p48sa6qidi3birnymdfzg2c8z5bpg1giis83";
+      sha256 = "03e9185f7877958f9878dfb5ea6d8e6bc416b1511a915b045cb541ca14ce63a3";
       url = "mirror://steamrt/pool/main/h/heimdal/libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2392,7 +2455,7 @@
     }
     rec {
       name = "libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "1546i5h5137ysvcgvyi6hplfx54wqya8sr233vgn838xd2bz024r";
+      sha256 = "9908f097681d0d64df1e43648d94c79c94eee88526fafdd8d6fe8c5060898694";
       url = "mirror://steamrt/pool/main/h/heimdal/libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2401,7 +2464,7 @@
     }
     rec {
       name = "libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "1yk0ap8wsi5k2wz5i9vcdw332kbhnlbf5hb8la9pckfrxy6bca82";
+      sha256 = "0229b68cefd94d7693a268c1e216b5704d31066f6ca7583e17b344cdd15560fa";
       url = "mirror://steamrt/pool/main/h/heimdal/libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2410,7 +2473,7 @@
     }
     rec {
       name = "libhogweed4_3.2-1ubuntu0.16.04.1+srt1_i386";
-      sha256 = "1d3p11al48d1ig6kn74wkx298kizvw9i0s25rs1433k9cx5aissp";
+      sha256 = "57eba84a67698e4182ce45681013df3f4e94449f9c1c3bcd8ba12142550877b4";
       url = "mirror://steamrt/pool/main/n/nettle/libhogweed4_3.2-1ubuntu0.16.04.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2419,7 +2482,7 @@
     }
     rec {
       name = "libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "0y6awbyl4w56qa8vkn9dzsnb3162x4p5nr1cf7ir119nl05987cp";
+      sha256 = "971d940aa0368590e3712c645b2ee9c284b1acfe2dd9b991c2a67042fde2ca78";
       url = "mirror://steamrt/pool/main/h/heimdal/libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2428,7 +2491,7 @@
     }
     rec {
       name = "libice6_1.0.7-2build1+srt5_i386";
-      sha256 = "02nygw4q330jgrfgbp46fjpa97bmgzk7sg9ikh97k4c743lshija";
+      sha256 = "4a46a8e920879179129c313d7de67f759da4ae7486dcf55c7e128c81097fde0a";
       url = "mirror://steamrt/pool/main/libi/libice/libice6_1.0.7-2build1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2437,7 +2500,7 @@
     }
     rec {
       name = "libidn11_1.32-3ubuntu1.2+steamrt1.1+srt1_i386";
-      sha256 = "0zx078d5ycbmy56lcl3j71r9ygfj1b18msrik36ya5qkqm9335rj";
+      sha256 = "32973152c51317e5cd9831eb8ac20ad23d9f72387250464df175315f1a3aa07f";
       url = "mirror://steamrt/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.2+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2446,7 +2509,7 @@
     }
     rec {
       name = "libindicator7_0.5.0-0ubuntu1+steamrt1+srt1_i386";
-      sha256 = "1qiyw54y8yra871vzvdlj2cqhf1yvg68h9zckyyv87s753x98kkq";
+      sha256 = "784e94fa28471fb4bd9fec2788ccdb3e38889990b4edbfc3412a7be449e13ee2";
       url = "mirror://steamrt/pool/main/libi/libindicator/libindicator7_0.5.0-0ubuntu1+steamrt1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2455,7 +2518,7 @@
     }
     rec {
       name = "libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt4_i386";
-      sha256 = "02c4fj82svlkh9whsasclshjlvgbcabsz64ac47hvs2ccaap0gis";
+      sha256 = "3a3e7095624ce80d0f618a98af9762eb6d2aa1a64c2b0d7982936e2d90748409";
       url = "mirror://steamrt/pool/main/j/jackd2/libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt4_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2464,7 +2527,7 @@
     }
     rec {
       name = "libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt5_i386";
-      sha256 = "0bcp6bxrgdbcgwrg2qgrax111w6xfwyf3rwrpf8j9mwd91hzm0c8";
+      sha256 = "8881fa61488dd72491bb99e7e13c77ddf0104257f961f1327f6cb597fb32972d";
       url = "mirror://steamrt/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2473,7 +2536,7 @@
     }
     rec {
       name = "libjpeg62_6b1-2ubuntu1.1+srt5_i386";
-      sha256 = "1l3hm9p30w2kwbjyri452h9v0nprznsl9jh32l9hg4php8kjfidw";
+      sha256 = "bc452727baf09207131503ca44b5fdf95ab0131485c4ece5e25370306eaa70d0";
       url = "mirror://steamrt/pool/main/libj/libjpeg6b/libjpeg62_6b1-2ubuntu1.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2482,7 +2545,7 @@
     }
     rec {
       name = "libjson0_0.9-1ubuntu1.1+srt3_i386";
-      sha256 = "0jnbwf7j7fmrylav1dck17kajxdyc67gfmpn09wrrqy0zgdbg3zi";
+      sha256 = "f18fb7dafbc0e39c7902f656f78e61be75a9e60993b5b015f5b9ba238fe3cb4a";
       url = "mirror://steamrt/pool/main/j/json-c/libjson0_0.9-1ubuntu1.1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2491,7 +2554,7 @@
     }
     rec {
       name = "libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386";
-      sha256 = "0czc7vf1q84k252wsx9v9na2jn8vqym62dnb100992cpzj2956c1";
+      sha256 = "81999284fc9789940008cb3661aac71b5929944d3b75cd451193201cdc3eec33";
       url = "mirror://steamrt/pool/main/k/krb5/libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2500,7 +2563,7 @@
     }
     rec {
       name = "libkeyutils1_1.5.2-2+srt5_i386";
-      sha256 = "0vmd87b8kk579fi99di79p94nkl0584bsdhgw2gw03czbainq9rx";
+      sha256 = "3d276ca35a9f0dc09fe00f36bd082a804e4bd24d27b694a24ba7cc89d641ad6e";
       url = "mirror://steamrt/pool/main/k/keyutils/libkeyutils1_1.5.2-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2509,7 +2572,7 @@
     }
     rec {
       name = "libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "1hjdfsvqzvssxiamjq9dddlzjjz54grzva2a7rsipbmmvnw254yd";
+      sha256 = "cd9322b8ddb5ae1b753e4aa8fdf323e54bf9696b2d615955ec5aef8fb7764dc2";
       url = "mirror://steamrt/pool/main/h/heimdal/libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2518,7 +2581,7 @@
     }
     rec {
       name = "libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386";
-      sha256 = "1cr6z0jv6mchs82p6iyskdq6ppbfpyixanxwdbjdg76cpb5as3ii";
+      sha256 = "310eadcabacc9cd7e46abc5bd5a3bf6edd6b709bda477305d29055b325f826b3";
       url = "mirror://steamrt/pool/main/k/krb5/libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2527,7 +2590,7 @@
     }
     rec {
       name = "libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386";
-      sha256 = "11v68jp8f24abx7i6b69jimlmv0lvpb5hnlxnj3f281zsz2smpyw";
+      sha256 = "dcdfaac5d73f20e186b49d5a58d6dd14ec4a6b94c92c134f5f8a0887ae446687";
       url = "mirror://steamrt/pool/main/k/krb5/libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2536,7 +2599,7 @@
     }
     rec {
       name = "liblcms2-2_2.2+git20110628-2ubuntu3.1+srt5_i386";
-      sha256 = "1bpb8gfach74nibzzd2mk7mkdhlw1j27yrgckpl9pgzq8jd0ch70";
+      sha256 = "e040069a44f8bf9be89dec657f840c9cc236eb9955b4ff57b4e440a6dc43ebae";
       url = "mirror://steamrt/pool/main/l/lcms2/liblcms2-2_2.2+git20110628-2ubuntu3.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2545,7 +2608,7 @@
     }
     rec {
       name = "libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt3_i386";
-      sha256 = "072vkbk177xxr0g50vban143m1r67ana3abkv4ha0wk4z8wvvw13";
+      sha256 = "23f0bd39fa6472a020d973a9a1ac3a26873a48b06a6d501ec8bd9f13e69a5b1c";
       url = "mirror://steamrt/pool/main/o/openldap/libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2554,7 +2617,7 @@
     }
     rec {
       name = "libltdl7_2.4.2-1ubuntu1+srt5_i386";
-      sha256 = "1jv01xk4bf0sbq8jawa0zm1q0imc7nmzdwcmkhgscld02rzwwffs";
+      sha256 = "da39ce7f16a051a61f9c95f1f6ab3dac468043fd407125115e1ab845660f60cb";
       url = "mirror://steamrt/pool/main/libt/libtool/libltdl7_2.4.2-1ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2562,9 +2625,9 @@
       };
     }
     rec {
-      name = "libmikmod2_3.1.12-2+srt5_i386";
-      sha256 = "12dmbmkv3gmi1cz0bs3fsbhgnhzvf8cjp0b6zj2a2dgplw1h6qdr";
-      url = "mirror://steamrt/pool/main/libm/libmikmod/libmikmod2_3.1.12-2+srt5_i386.deb";
+      name = "libmikmod2_3.1.12-5+srt1_i386";
+      sha256 = "4e0baef8a32d0688d9e45945ae140b42fe7974385c9e8817f95bd15399112ba2";
+      url = "mirror://steamrt/pool/main/libm/libmikmod/libmikmod2_3.1.12-5+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libmikmod2.deb";
@@ -2572,7 +2635,7 @@
     }
     rec {
       name = "libmpg123-0_1.25.10-1+steamrt1+srt1_i386";
-      sha256 = "0rk7z6ps3gy6jl4v0apz8sdbfpb6xbwf9fniqii559wkhrr2hfn5";
+      sha256 = "c53a28728693a75262c4d1bae4f8ea665db79a46ff2ab00995c6bfa1aff96766";
       url = "mirror://steamrt/pool/main/m/mpg123/libmpg123-0_1.25.10-1+steamrt1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2581,7 +2644,7 @@
     }
     rec {
       name = "libncurses5_5.9-4+srt5_i386";
-      sha256 = "1jsi7qvwy4h1z1mf9qlhp5pizbn84qgnpgi2y1qjlgym8428k0ga";
+      sha256 = "ea81890441d53f2a71f022be6b1f26c8ae1f6fb990e2e46af80112cf373e51cb";
       url = "mirror://steamrt/pool/main/n/ncurses/libncurses5_5.9-4+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2590,7 +2653,7 @@
     }
     rec {
       name = "libncursesw5_5.9-4+srt5_i386";
-      sha256 = "17hfrf97qcrw1n7p4nwwwiw3jpqpjphqwnq73pb7p8bsp53qa4h4";
+      sha256 = "04128547b97aa17bd61d075b8ee195175f3978e49c5b728f0d3c337c92cb0e9e";
       url = "mirror://steamrt/pool/main/n/ncurses/libncursesw5_5.9-4+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2599,7 +2662,7 @@
     }
     rec {
       name = "libnettle6_3.2-1ubuntu0.16.04.1+srt1_i386";
-      sha256 = "0rpw9fg2xfccdvbq0ji66a52rb401r05cs16z9py9r6b0brrxvsf";
+      sha256 = "4eef9ef302cbe4e46ffa266856400e80ac2c8a32264a80d76e8cb92e9e4bfc66";
       url = "mirror://steamrt/pool/main/n/nettle/libnettle6_3.2-1ubuntu0.16.04.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2608,7 +2671,7 @@
     }
     rec {
       name = "libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt1_i386";
-      sha256 = "0vsd00x0wvqw84zqlqrbmdxfmzshrvwbr2az3ynkaz8azkxj1d6d";
+      sha256 = "cdb420fbfc0a7d35ad1f5f89bcf8ce50ffea7aab2b638a3f411c6f0e3a004d6f";
       url = "mirror://steamrt/pool/main/n/network-manager/libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2617,7 +2680,7 @@
     }
     rec {
       name = "libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt1_i386";
-      sha256 = "1vaqqgxzvixvh8cvdspyr7azfn8dmknvsypz628h2xvbldf0p156";
+      sha256 = "a6840b5ca36b77019130ff7abdedac0d59f7d5c9feeab61982bbc7fdfbc358ed";
       url = "mirror://steamrt/pool/main/n/network-manager/libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2626,7 +2689,7 @@
     }
     rec {
       name = "libnotify4_0.7.5-1+srt5_i386";
-      sha256 = "0420awfss4r2j8ncrvnapdj9gbh68z7qlp1vbq9wiaqraqy7zccw";
+      sha256 = "9cb17f3c5619abc8135e3b5c8acf4706ae9764bbcaeecc2c922213ad1d574010";
       url = "mirror://steamrt/pool/main/libn/libnotify/libnotify4_0.7.5-1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2635,7 +2698,7 @@
     }
     rec {
       name = "libnspr4_4.12-0ubuntu0.12.04.1+srt2_i386";
-      sha256 = "1kfs3afaqrfhajbp6dlwzcbzvl8xsg2c04c6b5l1bby1l4ynmqv2";
+      sha256 = "62e36a3da1c1af1568598611c0c4d31dd1fd17fb9c36739754d065ac9c1adacd";
       url = "mirror://steamrt/pool/main/n/nspr/libnspr4_4.12-0ubuntu0.12.04.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2644,7 +2707,7 @@
     }
     rec {
       name = "libnss3_3.26.2-0ubuntu0.12.04.1+srt1_i386";
-      sha256 = "00m55f14ih9xyri197hnslw2mnzgl0dxwqvwiba0hnhfl3qvqi99";
+      sha256 = "2945bcf1a00e5a08d48a7c63de1ba0efdb2a38d5169e1462f63dc148822ba502";
       url = "mirror://steamrt/pool/main/n/nss/libnss3_3.26.2-0ubuntu0.12.04.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2653,7 +2716,7 @@
     }
     rec {
       name = "libogg0_1.3.2-1+srt1_i386";
-      sha256 = "09acap6ghv0rf6cavrnqbfphz69sqs1nqacv8flh8sqnxjbrryr1";
+      sha256 = "21fb9c97ec166b04a9439b296c83c63a990faf5bd8e6ad9871196cf8cc554c25";
       url = "mirror://steamrt/pool/main/libo/libogg/libogg0_1.3.2-1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2662,7 +2725,7 @@
     }
     rec {
       name = "libopenal1_1.16.0-3+srt1_i386";
-      sha256 = "1barqvh4klpdabc1v9kb2q4l8pnmdx97h00hln32zca5z4y5ff9i";
+      sha256 = "3139573cf945b12f86a5100078526fd55e4409166ba61dd852edd249e0c659ad";
       url = "mirror://steamrt/pool/main/o/openal-soft/libopenal1_1.16.0-3+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2671,7 +2734,7 @@
     }
     rec {
       name = "libopus0_1.3-0+steamrt1.1+srt2_i386";
-      sha256 = "1s4n86hjka5cxkn4znm5jvic89rqsky05bs8nlbyv3a1z4sqh83c";
+      sha256 = "6c208835f9418ded17b548af02fcd43827c4e296a5da4fececaca829a14196e8";
       url = "mirror://steamrt/pool/main/o/opus/libopus0_1.3-0+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2680,7 +2743,7 @@
     }
     rec {
       name = "libopusfile0_0.11-0+steamrt1.2+srt1_i386";
-      sha256 = "19hsl0h0pgx6qc4sizpgj4mcipq2wk6w316mahv05iskkshwb2il";
+      sha256 = "348ac5a19e53c7023654d584c1cde402dfc82a91effea809c3a6bf0b20a01aa6";
       url = "mirror://steamrt/pool/main/o/opusfile/libopusfile0_0.11-0+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2689,7 +2752,7 @@
     }
     rec {
       name = "liborc-0.4-0_0.4.16-1ubuntu2+srt5_i386";
-      sha256 = "0n9fkxs3qkd4mwhm4cwlnljww1yalwqjcgia420ls3h7i4p7ss4v";
+      sha256 = "9b687d2e89070e4d81202a3e2631a7ca07ce25b594335221afa44d3c749f2e59";
       url = "mirror://steamrt/pool/main/o/orc/liborc-0.4-0_0.4.16-1ubuntu2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2698,7 +2761,7 @@
     }
     rec {
       name = "libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt1_i386";
-      sha256 = "0bvp8xslxfag2kpfyhhgsldb7687q11bj365z2m5xmwlk5ihf0bk";
+      sha256 = "730107639994d75eaaf8c50cb942c00799b31ad50f42efee144fb94e7547772f";
       url = "mirror://steamrt/pool/main/p/p11-kit/libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2707,7 +2770,7 @@
     }
     rec {
       name = "libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt5_i386";
-      sha256 = "0w6m9ycpmlir2wvb7jj0w1p6sh84bjng9i0549bn0afq58f05biw";
+      sha256 = "3cae021c2ad82960572205c4f4ac5c04416d6ee040cab3361739d27a994fd570";
       url = "mirror://steamrt/pool/main/p/pango1.0/libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2716,7 +2779,7 @@
     }
     rec {
       name = "libpci3_3.1.8-2ubuntu6+srt1_i386";
-      sha256 = "1jdakz038hxpkfh0g10acwlaaiqys7c546srdjhmhl9jxizw9ck8";
+      sha256 = "68b2c47fec325158a16c591b52d8d11e47a528670a8407a09bb74334c09faac9";
       url = "mirror://steamrt/pool/main/p/pciutils/libpci3_3.1.8-2ubuntu6+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2725,7 +2788,7 @@
     }
     rec {
       name = "libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt1_i386";
-      sha256 = "12ycdj8pwxlhhqbg89h6smgvnik2pvy6bqyx9szqmpdcjzddagp5";
+      sha256 = "e53ed5da97acdd8abf4edde365fcbe6246bb5fd50626f4168690767e916ccc8b";
       url = "mirror://steamrt/pool/main/p/pcre3/libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2734,7 +2797,7 @@
     }
     rec {
       name = "libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt1_i386";
-      sha256 = "0ml6bh7banikn75hzy68s2yx6y6924if4zar10lra1akl63by80l";
+      sha256 = "1420bf86a15305952908597de22211c978d3bdd0c8f80fcbb1335ab50e5c8656";
       url = "mirror://steamrt/pool/main/p/pcre3/libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2743,7 +2806,7 @@
     }
     rec {
       name = "libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt2_i386";
-      sha256 = "06ch7dsjmjx2c67f932930rawn1cil6vxfnc0xcx937iwd3sq8i7";
+      sha256 = "2722ac47e3f18cd45907ccbabe0d8d2c58ae3218498ce48e61a2cb2a753b9019";
       url = "mirror://steamrt/pool/main/p/pixman/libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2752,7 +2815,7 @@
     }
     rec {
       name = "libpng12-0_1.2.46-3ubuntu4.2+srt2_i386";
-      sha256 = "0vv10bzxqxnfmp1p4wl9c19kravqa7pcpcc6xar5przgwfv75fd8";
+      sha256 = "a8b972b6e3efe75bb2ea86b1cbee5178ab3c5360897272c3adce76dcff02616f";
       url = "mirror://steamrt/pool/main/libp/libpng/libpng12-0_1.2.46-3ubuntu4.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2761,7 +2824,7 @@
     }
     rec {
       name = "libpulse0_1.1-0ubuntu15.2+steamrt1+srt5_i386";
-      sha256 = "0frhw8cw2ima5j40grmdk0hjf6hg6b029wr3f2g2252wzbhzx6ac";
+      sha256 = "4c99fee1fa5c14219e7023f324c0320f1a272198ade607882caa46c119e2303b";
       url = "mirror://steamrt/pool/main/p/pulseaudio/libpulse0_1.1-0ubuntu15.2+steamrt1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2770,7 +2833,7 @@
     }
     rec {
       name = "libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "1284xglgq9j0dqrgggs6455p0qidq5dxd7axgvi22zhzq3h5adfd";
+      sha256 = "cd3555e0c01f7e21e27e5d9dd65bc12d62704b2146bff7326e4026fce8eb0489";
       url = "mirror://steamrt/pool/main/h/heimdal/libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2779,7 +2842,7 @@
     }
     rec {
       name = "librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt3_i386";
-      sha256 = "0c9y8m7ynnchs7mj9nmp7y681mkphqy4p7vca7i5vw2cacd7bbv7";
+      sha256 = "67af751a534cf05de2516c9f4b3c8677d6808c3fb7da24ebd19059eb4f453e31";
       url = "mirror://steamrt/pool/main/r/rtmpdump/librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2788,7 +2851,7 @@
     }
     rec {
       name = "libsamplerate0_0.1.8-4+srt5_i386";
-      sha256 = "070cz870znj9584a9y9npp7zzkkcb049ar2g6m3v1dzf8ijha38x";
+      sha256 = "1d0d056544eeb7b047354f649508586cceffcfbd36f9a4082a49da0f0efa0c1c";
       url = "mirror://steamrt/pool/main/libs/libsamplerate/libsamplerate0_0.1.8-4+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2797,7 +2860,7 @@
     }
     rec {
       name = "libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt5_i386";
-      sha256 = "10hnrhzfxbg2ka3wlhbvg1qd15k5vdbpfxhdi3ip6yynr00zb9zs";
+      sha256 = "faa7f501c8d67b73e3880d767757db6596d070787b41ca879ae2adee3ecc1682";
       url = "mirror://steamrt/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2806,7 +2869,7 @@
     }
     rec {
       name = "libsdl-image1.2_1.2.10-3+srt5_i386";
-      sha256 = "0iam5axnl4is7avn37jc95c3qxb5zacl5kl2zg5mbnm4wgcywr08";
+      sha256 = "0864eed9e3a4da55cbfb82ce4299fa65753c58494c9e61b73a3a126abb2a5545";
       url = "mirror://steamrt/pool/main/s/sdl-image1.2/libsdl-image1.2_1.2.10-3+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2815,7 +2878,7 @@
     }
     rec {
       name = "libsdl-mixer1.2_1.2.11-7+steamrt1+srt5_i386";
-      sha256 = "1zv4iq7743y2g0zmycq1aj48s06lcmv60f0xig5s9zj8kj5nbg36";
+      sha256 = "66bc658b9c48fea4cb8b1d38607665d4008d885401335f3f78c20f720e8e64ff";
       url = "mirror://steamrt/pool/main/s/sdl-mixer1.2/libsdl-mixer1.2_1.2.11-7+steamrt1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2824,7 +2887,7 @@
     }
     rec {
       name = "libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt5_i386";
-      sha256 = "15rbl3zbmg053ach4d25c988m3kj4gjndj5bz1v1spv46798lya8";
+      sha256 = "48798ad231645f1d76f8abc866e523728e8a5062453402991a05bcbafea02b97";
       url = "mirror://steamrt/pool/main/s/sdl-ttf2.0/libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2833,7 +2896,7 @@
     }
     rec {
       name = "libsdl1.2debian_1.2.15-5+steamrt1+srt5_i386";
-      sha256 = "1da6gg64n9x86ldxns4dfnixxa4sc6bci34sgy08fa3r05aqh84a";
+      sha256 = "8a20885501792887807f9a8cc896619aa8dea3758d68db1b35a8274bcc7b46b5";
       url = "mirror://steamrt/pool/main/libs/libsdl1.2/libsdl1.2debian_1.2.15-5+steamrt1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2842,7 +2905,7 @@
     }
     rec {
       name = "libsdl2_2.0.9.~reimport-0+steamrt1.1+srt1_i386";
-      sha256 = "1y5qnxyrsvzqklhdvk6wihmfsxvfd6c93r8fw192zr3f5awvksg3";
+      sha256 = "e3e9b9b92a6ee42f52e00ee59198696e77ed2a8cdcccdd209df86f9d7db7b8f8";
       url = "mirror://steamrt/pool/main/libs/libsdl2/libsdl2_2.0.9.~reimport-0+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2851,7 +2914,7 @@
     }
     rec {
       name = "libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt1_i386";
-      sha256 = "1l3x865fm2jf1lzj2b5n0w24jykw3vsdqhj6xz5nzp49jksffwps";
+      sha256 = "fa72e7f49489dc6fcbef4642dcf41e7c7a490407b62c213f0d4e8aea8a417dd0";
       url = "mirror://steamrt/pool/main/libs/libsdl2-image/libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2860,7 +2923,7 @@
     }
     rec {
       name = "libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt1_i386";
-      sha256 = "0d97ggcbssd07fdan6jzd8j7cp3v6apgysbwgaz5c6bn6g61kj9k";
+      sha256 = "33c919cc33761956be7a7c69ffae327b5c76246a5f1aab9a3ba069bdd87b2735";
       url = "mirror://steamrt/pool/main/libs/libsdl2-mixer/libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2869,7 +2932,7 @@
     }
     rec {
       name = "libsdl2-net_2.0.1+srt2_i386";
-      sha256 = "0fk45d366021s31b8vlry93crm1c30fqiq2r4a4yvp9gkhlkww4a";
+      sha256 = "8a703e299c2fdded892259e0881d182cd4cc46f2996eb4c2d0410063462b643a";
       url = "mirror://steamrt/pool/main/libs/libsdl2-net/libsdl2-net_2.0.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2878,7 +2941,7 @@
     }
     rec {
       name = "libsdl2-ttf_2.0.14+srt2_i386";
-      sha256 = "0v9myv9d04h5rs9x216qjg2lf6pwnngsbyylzc0fs5rlzshwdk9s";
+      sha256 = "3acdc6a1fe3417ed00fbd4fba59fb5fc1a47c593d804d193ce0512d0d2f6356d";
       url = "mirror://steamrt/pool/main/libs/libsdl2-ttf/libsdl2-ttf_2.0.14+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2887,7 +2950,7 @@
     }
     rec {
       name = "libselinux1_2.1.0-4.1ubuntu1+srt5_i386";
-      sha256 = "0s5x224hx0q6j49pvb3bflzyzzi4ryl60sx6sf7y6wi7kplvibvg";
+      sha256 = "6fafb8e99d2772e38fd3a66b60a8cf24feef3f756bac7d139106830e8910bd68";
       url = "mirror://steamrt/pool/main/libs/libselinux/libselinux1_2.1.0-4.1ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2896,7 +2959,7 @@
     }
     rec {
       name = "libsm6_1.2.0-2build1+srt5_i386";
-      sha256 = "07vrs3rarjah3q06yfqqpb38j67s7dv2p30izhjzps7xxj2qfw6d";
+      sha256 = "cd708785ecfde8fb25fc118c2b763bfa1889c6ba183b6f001e50c9acf2d0791f";
       url = "mirror://steamrt/pool/main/libs/libsm/libsm6_1.2.0-2build1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2905,7 +2968,7 @@
     }
     rec {
       name = "libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt1_i386";
-      sha256 = "0y4hlf67cdlgcfsw03sjsvm2vch8gsasid58y77rzix43saay229";
+      sha256 = "4908af941ea4c79fcff1a8b4a8957e08b22dead6520fc0b5638f36768ca39078";
       url = "mirror://steamrt/pool/main/libs/libsndfile/libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2914,7 +2977,7 @@
     }
     rec {
       name = "libspeex1_1.2~rc1-3ubuntu2+srt5_i386";
-      sha256 = "0d662dxr5dh6dvnz49pii1mqd8k2xk0jaw07sgl7nnd01926xa9p";
+      sha256 = "37a96e440aa0597be8d3077025c1ec62a2866b88f126f2ed6e06b6927b13c634";
       url = "mirror://steamrt/pool/main/s/speex/libspeex1_1.2~rc1-3ubuntu2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2923,7 +2986,7 @@
     }
     rec {
       name = "libspeexdsp1_1.2~rc1-3ubuntu2+srt5_i386";
-      sha256 = "1924dczm2sxlfn9ibmp7yvn0chd3y201zhw0a6dv65fwngmzk725";
+      sha256 = "459cf9ebb3dc15b39b5180c31f80f0a34106ecf6e7d6159375b46b513f6b44a4";
       url = "mirror://steamrt/pool/main/s/speex/libspeexdsp1_1.2~rc1-3ubuntu2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2932,7 +2995,7 @@
     }
     rec {
       name = "libsqlite3-0_3.7.9-2ubuntu1.2+srt2_i386";
-      sha256 = "05cihfj3ap1xwpnlmvl3wdbqrbbm6ic10zbja98c429xxx7y8bgv";
+      sha256 = "fb2de44fef3d09c25052727d10583475ad8c57e383ee4aede53d5c35a4839115";
       url = "mirror://steamrt/pool/main/s/sqlite3/libsqlite3-0_3.7.9-2ubuntu1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2941,7 +3004,7 @@
     }
     rec {
       name = "libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt1_i386";
-      sha256 = "1kwi96xyjf2gz021zg2hkd6ks9l2087r9ghh8iqgwqivbvcizvr7";
+      sha256 = "27ef1fd95e3b62fe704410be940f0282263d4d9b50bc1f04f84f38e9bb4991cf";
       url = "mirror://steamrt/pool/main/o/openssl/libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2949,9 +3012,9 @@
       };
     }
     rec {
-      name = "libstdc++6_5.4.0-7.really.6+steamrt1.1+srt2_i386";
-      sha256 = "0l60yc1i7p20gaih1mzjk8c62zq9ba4zvmfmrk5w8xr05dpyq9a6";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libstdc++6_5.4.0-7.really.6+steamrt1.1+srt2_i386.deb";
+      name = "libstdc++6_5.4.0-7.really.6+steamrt1.2+srt1_i386";
+      sha256 = "27521064164b077fa43707dedce92a1c07205163e1095cb823d9e848eddcfd7e";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libstdc++6_5.4.0-7.really.6+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libstdc++6.deb";
@@ -2959,7 +3022,7 @@
     }
     rec {
       name = "libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt1_i386";
-      sha256 = "1a5hyz5185fhh64hw8kf6mav7jz07l9c9v3m9wwd92xj39sp0vzw";
+      sha256 = "fc6f70751ab28bd4384f75ecc4123de0cbb355356e220e8981d01514caf7b0a8";
       url = "mirror://steamrt/pool/main/g/gcc-4.6/libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2968,7 +3031,7 @@
     }
     rec {
       name = "libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "1cj7zfhxrb6mvsd8np6q1s1wja2rdd85h2cs9b2pbnlffbr0b9ad";
+      sha256 = "4da505f2728eda75c54a9a0958506b5928c9830ed85c8b9aded5acdca1fb47b2";
       url = "mirror://steamrt/pool/main/liba/libav/libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2977,7 +3040,7 @@
     }
     rec {
       name = "libtasn1-3_2.10-1ubuntu1.5+srt2_i386";
-      sha256 = "12lfinrk76laq7hiddsvi0gskyfgrf7nk2kflqryxwrpf1y34bcl";
+      sha256 = "942d327c7037f3ee33a66e8a698fcbcff9a91f885bb716e1c18a9a33b38d8e8a";
       url = "mirror://steamrt/pool/main/libt/libtasn1-3/libtasn1-3_2.10-1ubuntu1.5+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2986,7 +3049,7 @@
     }
     rec {
       name = "libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt1_i386";
-      sha256 = "11bdwhyzzy5xa4p0rrirh7wqg3q1iwbw460nh4ya5aafysiw71il";
+      sha256 = "3486c3a3f64ea9a23c811618c2178f018f87f98139e60c2e51bdf8ff3de46d85";
       url = "mirror://steamrt/pool/main/libt/libtasn1-6/libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -2995,7 +3058,7 @@
     }
     rec {
       name = "libtbb2_4.0+r233-1+steamrt2+srt1_i386";
-      sha256 = "0ap5ar8v4ljv138p6kga1vzy96v5ilicxsk8lhp1scvcrcaqfppz";
+      sha256 = "ff5e8715cb6c331d2ea468eace228d659be4ff0eea4d73d1085b52b25156e52a";
       url = "mirror://steamrt/pool/main/t/tbb/libtbb2_4.0+r233-1+steamrt2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3004,7 +3067,7 @@
     }
     rec {
       name = "libtdb1_1.2.9-4+srt5_i386";
-      sha256 = "0snf08x6fsjqxs2gzfa7sdxbznq7h347ndawmras84zi0g0bgj6q";
+      sha256 = "d8c8b7c003f113a455ae5c357bc88007dbbf7ad347b9ff84ee586a673a02ce6a";
       url = "mirror://steamrt/pool/main/t/tdb/libtdb1_1.2.9-4+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3013,7 +3076,7 @@
     }
     rec {
       name = "libtheora0_1.1.1+dfsg.1-3ubuntu2+srt5_i386";
-      sha256 = "1jjbd6yyyw5v5wnvsdc3s4gywm9q0mq32n2dr444qs030nkfvcrp";
+      sha256 = "37b3eda60503684c08c94d583170053855ee1fd18335bd2d2fbb70efbd694bca";
       url = "mirror://steamrt/pool/main/libt/libtheora/libtheora0_1.1.1+dfsg.1-3ubuntu2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3022,7 +3085,7 @@
     }
     rec {
       name = "libtiff4_3.9.5-2ubuntu1.9+srt2_i386";
-      sha256 = "0law24ini5ailgykff6blxqfj6zz0lfx5a2s5fzgf06s4j1n2cjv";
+      sha256 = "5b32618324da00f7be2b5aa8d21d05ff1be970a7cb3837fda351956823115c51";
       url = "mirror://steamrt/pool/main/t/tiff/libtiff4_3.9.5-2ubuntu1.9+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3031,7 +3094,7 @@
     }
     rec {
       name = "libtinfo5_5.9-4+srt5_i386";
-      sha256 = "1476jzkd5mcipafc8cfb03z9yzkxvdxnfc0qa34xq5rbjwcximmd";
+      sha256 = "add6d819972b17dcc9501830677bdb7d7e9ffe00cb31c49cba91d5d2e697e690";
       url = "mirror://steamrt/pool/main/n/ncurses/libtinfo5_5.9-4+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3039,8 +3102,17 @@
       };
     }
     rec {
+      name = "libtxc-dxtn-s2tc0_0~git20131104-1.1+srt1_i386";
+      sha256 = "780c81b3238a510da420b7e463b9dce4a8eded30785b02ab313a93dbd57f5b5c";
+      url = "mirror://steamrt/pool/main/s/s2tc/libtxc-dxtn-s2tc0_0~git20131104-1.1+srt1_i386.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "libtxc-dxtn-s2tc0.deb";
+      };
+    }
+    rec {
       name = "libudev0_175-0ubuntu9.10+srt1_i386";
-      sha256 = "089z7vv229w6gnnzwwagixxwn2qcl8gfim1zbagg266vlwqvcyka";
+      sha256 = "6a7ab631a7db18f19e5a3fd4e81ea20c0bcb7b8f4f71fead7d862721f63e3f21";
       url = "mirror://steamrt/pool/main/u/udev/libudev0_175-0ubuntu9.10+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3049,7 +3121,7 @@
     }
     rec {
       name = "libusb-1.0-0_1.0.19-1+srt2_i386";
-      sha256 = "1rjnir1gm768xhn4lqb4rdai6wabdfysnlzb47qxxzshpfphycmh";
+      sha256 = "b0320fafbb50ffdef121eb53abbd6b4b711355cb64614a2cecc89cfa428e56e6";
       url = "mirror://steamrt/pool/main/libu/libusb-1.0/libusb-1.0-0_1.0.19-1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3058,7 +3130,7 @@
     }
     rec {
       name = "libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt1_i386";
-      sha256 = "1xs58z4431ybrmnks0camc4svqpnd4zd814czchi0cs4h1vfvvb8";
+      sha256 = "68eded768044331021fb8c04d43e69f6e2ad09ab8a013d6dcdcb8741c84745f7";
       url = "mirror://steamrt/pool/main/u/util-linux/libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3067,7 +3139,7 @@
     }
     rec {
       name = "libva-glx1_1.7.0-1+steamos1+srt1_i386";
-      sha256 = "1q1aasyqlllhj0jhkf7mfcs4n83kj7yddxlsldl77v5x2rhn6ksx";
+      sha256 = "5d4f636116bdec7368a39af6d6fc9173204b3473f5b809259090528abd562ae0";
       url = "mirror://steamrt/pool/main/libv/libva/libva-glx1_1.7.0-1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3076,7 +3148,7 @@
     }
     rec {
       name = "libva-x11-1_1.7.0-1+steamos1+srt1_i386";
-      sha256 = "1pk78g722w8j2zl0hij59p4v3j70am167mdd7f58d179j34v7y8p";
+      sha256 = "17f9b3c990e984868a3badd5634255e0c8b1c94d454608e817127121ce4367de";
       url = "mirror://steamrt/pool/main/libv/libva/libva-x11-1_1.7.0-1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3085,7 +3157,7 @@
     }
     rec {
       name = "libva1_1.7.0-1+steamos1+srt1_i386";
-      sha256 = "17rlsh8sv8qymd17c8k1mlk5gb8fkjlgi2swxiaqnyzw40k52bi5";
+      sha256 = "252e512620fc7b8b55ec5c8bf8a89c0ead5726ad61227642ab1ea3ad11d4349f";
       url = "mirror://steamrt/pool/main/libv/libva/libva1_1.7.0-1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3094,7 +3166,7 @@
     }
     rec {
       name = "libvdpau1_0.4.1-3ubuntu1.2+srt2_i386";
-      sha256 = "1qa6bssw4rnyjxw79pfpbhhlwzkxcxg2cx5i8lns5sxg072as5sj";
+      sha256 = "5217adc401afeba22d45b174265e677d7e4e215cd7dd747897de66c2b55e46e1";
       url = "mirror://steamrt/pool/main/libv/libvdpau/libvdpau1_0.4.1-3ubuntu1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3103,7 +3175,7 @@
     }
     rec {
       name = "libvorbis0a_1.3.5-4.2+srt1_i386";
-      sha256 = "1xx0w861k72k7ksjcizm2j54wiqyvf59r82hcsii96gpx5zc2my4";
+      sha256 = "c457c17ee9f79914a36650a09c8adb1e474e8a14f54726f53c539c190ce2a0f7";
       url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbis0a_1.3.5-4.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3112,7 +3184,7 @@
     }
     rec {
       name = "libvorbisenc2_1.3.5-4.2+srt1_i386";
-      sha256 = "02zcqm71dnsxdbgcwcs5ay73y9mp0248pvd2ma8h7rb3waiigky1";
+      sha256 = "c1cf17a3e263e50391aaa2ed8b8800b7263f8e574533cede6a5ddb164ec5ec0b";
       url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisenc2_1.3.5-4.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3121,7 +3193,7 @@
     }
     rec {
       name = "libvorbisfile3_1.3.5-4.2+srt1_i386";
-      sha256 = "0703pgi72lrm46nmzpcn723x5m88ki0drm546ng37whs99ca9cb4";
+      sha256 = "64b1a4584a1af2339e35a4d4dc409c08d5d2873896dd5fad21355371e2bb031c";
       url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisfile3_1.3.5-4.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3130,7 +3202,7 @@
     }
     rec {
       name = "libvpx1_1.0.0-2+srt1_i386";
-      sha256 = "08yngwr92m787ycpsc798kgpyw6ixks55kmqmadjp8zx43pjzaai";
+      sha256 = "51a92fef20fda32b9baab8ce52f4ecd1707fdf44e9307d993fe85491327fd623";
       url = "mirror://steamrt/pool/main/libv/libvpx/libvpx1_1.0.0-2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3139,7 +3211,7 @@
     }
     rec {
       name = "libvulkan1_1.1.73+dfsg-1+steamosc2+srt1_i386";
-      sha256 = "0g9f3nk2bq8knqqs6qplw39p729zxqnxyyhipnziqy8h38bilj86";
+      sha256 = "06491a171a10791cbfbd117adf2dee3f8973d3e0f462a331b613e125a61d2e3d";
       url = "mirror://steamrt/pool/main/v/vulkan/libvulkan1_1.1.73+dfsg-1+steamosc2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3148,7 +3220,7 @@
     }
     rec {
       name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "1xzj4q5wk1pjflqqd85cx1788sd89fjdjgwv4qlwyn76magxi7kh";
+      sha256 = "709ed89faae658cf29269b3fd9a44ba869844ee8aca0863175f286c90b26f2f7";
       url = "mirror://steamrt/pool/main/h/heimdal/libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3157,7 +3229,7 @@
     }
     rec {
       name = "libwrap0_7.6.q-21+srt5_i386";
-      sha256 = "1lhp9v9cpi5dgk0wdrivr50b0g3l4fy8cjgnjai25hb65w2hj33n";
+      sha256 = "760c09052f66c122a292f64986bc23743cb040c93be6c6c17cadc4cbd24e17d2";
       url = "mirror://steamrt/pool/main/t/tcp-wrappers/libwrap0_7.6.q-21+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3166,7 +3238,7 @@
     }
     rec {
       name = "libx11-6_1.6.3-1ubuntu2.1+srt1_i386";
-      sha256 = "0mvg378ja1znf6qf5228bmijrznhhzw3r7lxizk9iwhz5pm6h2pm";
+      sha256 = "f50a68ea2d1ff298e68f9d9e3cf887d0fe2c635d4888e2b071f60725d1196f57";
       url = "mirror://steamrt/pool/main/libx/libx11/libx11-6_1.6.3-1ubuntu2.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3174,17 +3246,8 @@
       };
     }
     rec {
-      name = "libx11-data_1.6.3-1ubuntu2.1+srt1_all";
-      sha256 = "1imsbk4mg6n1083gjjv6kssm5g842xlbg40vsc4dw97myxycpncw";
-      url = "mirror://steamrt/pool/main/libx/libx11/libx11-data_1.6.3-1ubuntu2.1+srt1_all.deb";
-      source = fetchurl {
-        inherit url sha256;
-        name = "libx11-data.deb";
-      };
-    }
-    rec {
       name = "libx11-xcb1_1.6.3-1ubuntu2.1+srt1_i386";
-      sha256 = "0vpnnsa4ayvin11c9gl5c8bbaplz1z6pm28k0fhfhla5ggq1kd46";
+      sha256 = "86b419f07b4551e8a00313897acd0f9f5eb5166285bec442b0717b4594b6f66e";
       url = "mirror://steamrt/pool/main/libx/libx11/libx11-xcb1_1.6.3-1ubuntu2.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3193,7 +3256,7 @@
     }
     rec {
       name = "libxau6_1.0.6-4+srt5_i386";
-      sha256 = "1q5qryha5ng0cjcalz5qxd38djxd5n7kb2fnz9mnp4cy2vk5jhmq";
+      sha256 = "b84259e6169e916b6bfad689358f2dadcb8646ebb87caa9864e0d9a2a0cfb8e0";
       url = "mirror://steamrt/pool/main/libx/libxau/libxau6_1.0.6-4+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3202,7 +3265,7 @@
     }
     rec {
       name = "libxaw7_1.0.9-3ubuntu1+srt5_i386";
-      sha256 = "17085yj7x9hncbgxw5jsi4inn17f6wzdx2akzv9v3l6hvhy8kmkl";
+      sha256 = "74d6893cdcd0d0b1d3fe5389de3e37ee046b23895a16dedf6216a67ea42f089c";
       url = "mirror://steamrt/pool/main/libx/libxaw/libxaw7_1.0.9-3ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3211,7 +3274,7 @@
     }
     rec {
       name = "libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "00zfy06nf78gs7ji222lcy1cwzsqfbng9119cgkw5c1z25x0q6a5";
+      sha256 = "45190c7a113fb0c2e7632984f4ec72587fce8267540811e5d10f1d670df0ee03";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3220,7 +3283,7 @@
     }
     rec {
       name = "libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "09y48s64kp0maldv9bwwpj8ahrssvrik8xmqzjgvxcxpblb1zfb7";
+      sha256 = "67b91f165db7b3be9ffcb8763463de5a67a890bc9cafb41b5515dc498c46c427";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3229,7 +3292,7 @@
     }
     rec {
       name = "libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "085b0qhf15kaw9msmsk8jxp4rk7fym506jmiaqxh1i6wgr66ys86";
+      sha256 = "06696f4c7edcc4003b56b14a034af5eecc4c6e9768eaaa6be26a96e02006ab20";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3238,7 +3301,7 @@
     }
     rec {
       name = "libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1nwdr550axxca7p438c3g9jb4y2zf8gxyd3756vav4jp1n57i1rq";
+      sha256 = "3887788a0d5792adb6296734df1f725f78b2647a83a141ee51ac77054ac98ddb";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3247,7 +3310,7 @@
     }
     rec {
       name = "libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1vjklblpkdrki48dn890920nx8gcj25sxqp24qkpxja8samvl6gr";
+      sha256 = "f919baabd248c97e2726e2e2ae8b90eca16e81482021db108933b779e9a253ee";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3256,7 +3319,7 @@
     }
     rec {
       name = "libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0zwc8c896bka6wi5jri78q1pq5ppsi5dwih9rwfl5c96p6r4lbr6";
+      sha256 = "262f4ab2b926b1421dcf0946de4ad4f7167c034627665922376a2e9310438c7f";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3265,7 +3328,7 @@
     }
     rec {
       name = "libxcb-present0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0cd4jsyj1r6b7nm8g6342f8dafghzd1dc0k61iw3qncwx949j3gy";
+      sha256 = "fe0d9948ea9c593c780c6602d642fbf039d59013649887aa3dcbe420bd96a431";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-present0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3274,7 +3337,7 @@
     }
     rec {
       name = "libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1vfrbkq1qqjp0278j70jcldls2g9rmkh9ifb6pnqznagqsrrhwy7";
+      sha256 = "c77398b3c64fd98fed35cbc50467cde9094d1b65121c898e0057621cf05cd9ed";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3283,7 +3346,7 @@
     }
     rec {
       name = "libxcb-record0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0gy7l161idc59a6q8vhgq1krknwmd1cyh5ss2vhp7qznxwh9bd7j";
+      sha256 = "f2b49520eff6e373e1165a17e8596895db9967c00f6e848d4a85b5184ca0c73f";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-record0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3292,7 +3355,7 @@
     }
     rec {
       name = "libxcb-render0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0gl7389h5ppfd3p30v8vmwl4kxvsqjhmhazszs7mdgalfjwkf9rf";
+      sha256 = "2e2737b97454bd568ffefa2b58a1c47af74928af1b6d30ee68eede02131a873e";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-render0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3301,7 +3364,7 @@
     }
     rec {
       name = "libxcb-res0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1ca5lk12qncrfkjakjb7yl5f5x41b3ynn3d9wk6paqrchhfn7yir";
+      sha256 = "39fa631d842c6375cde4a90d6bfd5881f4e20af567c9a9e47499592cc2a445b1";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-res0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3310,7 +3373,7 @@
     }
     rec {
       name = "libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0sz49j0z7zl2mx7cf6kw4ljzsbik92az35yj9i0426p1zaqzx0vs";
+      sha256 = "7a83feb1fae11a41404cd297f19548332efd25257c1ac74eaf82fef3814ce46b";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3319,7 +3382,7 @@
     }
     rec {
       name = "libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1mycsk8ixdn7c8c4ma4vbrilhcdjxqz92nzv9rwxf96vr0dj4bhd";
+      sha256 = "0d2e221bc8db24d7794efb5b913eeeb23148635e9ba84a1862c7b61ed1d4ccd7";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3328,7 +3391,7 @@
     }
     rec {
       name = "libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1w0d53d8hgzr5ql9is7x4dap6ny6bfp041qa6hldmg8jbw3x8wc3";
+      sha256 = "8371d4075f12bdda28340a0702ae5bc65b735523fde898282ef93f88da280df0";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3337,7 +3400,7 @@
     }
     rec {
       name = "libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1pd0pw5q7h28p0j6h4889dq7fpvkjwclsmg96m6sl7a3459cp6b0";
+      sha256 = "6099cb5221431daa4d35e9554d1997735f77704b08116824b848c0830bbfa0dd";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3346,7 +3409,7 @@
     }
     rec {
       name = "libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0nf3s5jff5psab8mv9avkflgwfj2pmbrvc3pyy743b9cwzv7q85p";
+      sha256 = "b7207cf6e72cad418ef777b09d57bd423afea89b5ba55dd152fa16e764d1c359";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3355,7 +3418,7 @@
     }
     rec {
       name = "libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "149dgslf6hhngjjkhdvrsl3hjx3l2llvnwv6jgnc8hqvz7ck1i1h";
+      sha256 = "30c430d9f91b43c4ec936673bb291574740907d5793738a57c1642e3a87e2d91";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3364,7 +3427,7 @@
     }
     rec {
       name = "libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1rjynbvfxxzm5x07xxfq40qhs7b5pwassn1f7j02q3685swqmk0z";
+      sha256 = "1fcc8ab92ec80c2c803c2e58ad15bf651d0d3120d8f57e402ff5f7eef6b25ee6";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3373,7 +3436,7 @@
     }
     rec {
       name = "libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0m0v4c50104c2khx9vcsf3v3xyl031xv2yladxfp168gchrczyk9";
+      sha256 = "69facf32640f99705d6f8a7ab17b1880fa3ef6709aedd4e1148c80000a231b54";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3382,7 +3445,7 @@
     }
     rec {
       name = "libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0d56vivs4ykanc1v3pbn9mzgcyw4ffx7c59ck1758g2vxfvi837w";
+      sha256 = "fc0c14b7eb5b3c544e982c1576ba73847bf67e4d76ddb103b36a7aa277dca634";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3391,7 +3454,7 @@
     }
     rec {
       name = "libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0gclf7sgd661820bqqj3aabykxp0m38y3wd9m25znqgqqg5bk6im";
+      sha256 = "359ab9cac3f861fb8ba8a9f1e1d1a8e0f6e997524362bc8040c198f6f471943d";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3400,7 +3463,7 @@
     }
     rec {
       name = "libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0swkpx39gd9n553qrc8dhdv4vvnan1byrkvy935zzimzxv8phxfm";
+      sha256 = "d57578d1eebfc6ffcb487ecfec57b0caee4d76830db18c472936b59746bf936b";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3409,7 +3472,7 @@
     }
     rec {
       name = "libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0mi49k0xfk34x71ap4q9wy4p7cs31z25pg0p41yr859q4y49461r";
+      sha256 = "39189288273815947d2017bc5bc40f43b37389e70993abc2e9644cd7c14c2456";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3418,7 +3481,7 @@
     }
     rec {
       name = "libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "068y30y9ry4hlfc4dsza47z6lakfz2cy0zkdq5rn3nbs59d7f2nh";
+      sha256 = "d00a775a2a7ad96173c16d7ee099f86e2a6afe21eaeb4698a390f89c3c181e19";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3427,7 +3490,7 @@
     }
     rec {
       name = "libxcb1_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0sga5mjr5bk5w0mdq0y2hxfdhpfpzv9m9anfy2zkaw60gy6n0qk6";
+      sha256 = "6662608d7fc07035bff0ceaa54d3fed75dd85c87c203dc2ae065ae92652dea69";
       url = "mirror://steamrt/pool/main/libx/libxcb/libxcb1_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3436,7 +3499,7 @@
     }
     rec {
       name = "libxcomposite1_0.4.3-2build1+srt5_i386";
-      sha256 = "1c23iswcyi5axg5hql3kkfmcvxkzjl1db9klrlsqb2c0455pjlsf";
+      sha256 = "4e53794b2180898535cd74a6d502957ff6cdaa9b73500ccbebaa44cfb88e43b0";
       url = "mirror://steamrt/pool/main/libx/libxcomposite/libxcomposite1_0.4.3-2build1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3445,7 +3508,7 @@
     }
     rec {
       name = "libxcursor1_1.1.12-1ubuntu0.1+srt5_i386";
-      sha256 = "18321skl4h2s3izzaaw1jk2blfq93ygk4b2f2g4mnkipn1i9rybx";
+      sha256 = "7df99c62b0374e5bc9134e2c329f1f093bbac494812bf57f1c5a4042a70e62a0";
       url = "mirror://steamrt/pool/main/libx/libxcursor/libxcursor1_1.1.12-1ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3454,7 +3517,7 @@
     }
     rec {
       name = "libxdamage1_1.1.3-2build1+srt5_i386";
-      sha256 = "01pam4srj0d3vyrrhlsnfkznpxgil3p674i0armxqfydzh4bww8q";
+      sha256 = "1871be08fccd3bdc6b56209263eea0f1f56bff74565398b3dfa3019935a9ea06";
       url = "mirror://steamrt/pool/main/libx/libxdamage/libxdamage1_1.1.3-2build1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3463,7 +3526,7 @@
     }
     rec {
       name = "libxdmcp6_1.1.0-4+srt5_i386";
-      sha256 = "0vz6w11yld3ii0b3i68wwzx7qsgd64yj8709h32db08izc1a2wdh";
+      sha256 = "b071a102fb1181d5c480091c243d31ed697cfae71c993816887134ea43e0e66f";
       url = "mirror://steamrt/pool/main/libx/libxdmcp/libxdmcp6_1.1.0-4+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3472,7 +3535,7 @@
     }
     rec {
       name = "libxext6_1.3.0-3ubuntu0.2+steamrt1+srt2_i386";
-      sha256 = "11jjds6qk9wvx446rph5n2qsr9b36jlr99ayw98zr89b3y6y8lyf";
+      sha256 = "ce53e48d1f2ba1fc51e25ea594a93463a5acb1b005de6c08e99ba7898d6e5286";
       url = "mirror://steamrt/pool/main/libx/libxext/libxext6_1.3.0-3ubuntu0.2+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3481,7 +3544,7 @@
     }
     rec {
       name = "libxfixes3_5.0-4ubuntu4.4+srt2_i386";
-      sha256 = "19rm8s1dq7vysijlksbac04045x5j4g30s377im4ydljjh2vajh6";
+      sha256 = "064ab5059492364f6a3c6768301e91a5170208606ae94965d47e1fdc824635a7";
       url = "mirror://steamrt/pool/main/libx/libxfixes/libxfixes3_5.0-4ubuntu4.4+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3490,7 +3553,7 @@
     }
     rec {
       name = "libxft2_2.2.0-3ubuntu2+srt5_i386";
-      sha256 = "0pcd8bvdlh41bixbdkrl0sm6libgns7ndjzyvj86s3qks7k11g97";
+      sha256 = "27bd10e6d1130f6d90dcfecb668fb66f456aaa0634cfb67a5c8140daf6428d5d";
       url = "mirror://steamrt/pool/main/x/xft/libxft2_2.2.0-3ubuntu2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3499,7 +3562,7 @@
     }
     rec {
       name = "libxi6_1.7.1.901-1ubuntu1~precise3+srt2_i386";
-      sha256 = "0pykpahh9j7cp91mbkqw22drl5npq3pbd712chbrmkdjdqm14x9p";
+      sha256 = "3775122a6eb2cd9a1764229cb6eec0d7169a9b101ccf5543baecc804a1bad35f";
       url = "mirror://steamrt/pool/main/libx/libxi/libxi6_1.7.1.901-1ubuntu1~precise3+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3508,7 +3571,7 @@
     }
     rec {
       name = "libxinerama1_1.1.1-3ubuntu0.1+srt5_i386";
-      sha256 = "0xd0rfr6h25s3h6n8in5kby4fm88s1ykw2y8clymk79znmgby0av";
+      sha256 = "5b01bf5eb53f9d593d65c80b3e7dd0085547fc9ac546640d1cba0868b2cba075";
       url = "mirror://steamrt/pool/main/libx/libxinerama/libxinerama1_1.1.1-3ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3517,7 +3580,7 @@
     }
     rec {
       name = "libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt1_i386";
-      sha256 = "1ss7fpdqdgm8hmcgm1d59x5mfr4n7zps8bjg1304nn29a3cck26z";
+      sha256 = "df88c9d85049584bc0084f2ea4ef3f9664574b4fa585fa5885a8be86db7547eb";
       url = "mirror://steamrt/pool/main/libx/libxml2/libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3526,7 +3589,7 @@
     }
     rec {
       name = "libxmu6_1.1.0-3+srt5_i386";
-      sha256 = "0z39zacqis2cq1gdwam1wk5xmisdhsrly7r1a8g5h8h6hbrri72w";
+      sha256 = "5c9c98f3820622581e52211f4fb3864dc7dacbe4a12ade5ec04ce88899fa697c";
       url = "mirror://steamrt/pool/main/libx/libxmu/libxmu6_1.1.0-3+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3535,7 +3598,7 @@
     }
     rec {
       name = "libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt1_i386";
-      sha256 = "02k70n6v245l0kqf7gjjv4bm12zmxcw8cayjv9xh8cp6svsxdzsq";
+      sha256 = "58ffd6f5d6e632047bdad22b8638ebf58b5017d952bee3f004b410b18d05670a";
       url = "mirror://steamrt/pool/main/libx/libxpm/libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3544,7 +3607,7 @@
     }
     rec {
       name = "libxrandr2_1.5.0-1+srt1_i386";
-      sha256 = "10nqrxs2dxs06wah8dy48v7v8vdllpg9wwhcn67i7dkgfli27ykj";
+      sha256 = "72fa2322756fb6138fb10c729edea5b46db4cf46c43704153740f72674cfd882";
       url = "mirror://steamrt/pool/main/libx/libxrandr/libxrandr2_1.5.0-1+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3553,7 +3616,7 @@
     }
     rec {
       name = "libxrender1_0.9.6-2ubuntu0.2+srt2_i386";
-      sha256 = "0i48bi4zfv90dgc190mr8wd8hymbhdldrk1q2qag0l9fmn5hkwqv";
+      sha256 = "1bf3098bad2e51f0141638ccdc6883ab7a881a47b98214d86b206df7495c8844";
       url = "mirror://steamrt/pool/main/libx/libxrender/libxrender1_0.9.6-2ubuntu0.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3562,7 +3625,7 @@
     }
     rec {
       name = "libxss1_1.2.1-2+srt5_i386";
-      sha256 = "015n1l1hl4vvgb53zx6gisl44p2pjj339adabqlfy1fqwjf0ff4z";
+      sha256 = "9f38079ce4d805ef285eaaa9348694575c42a88ecff43fca7a7b130a030db604";
       url = "mirror://steamrt/pool/main/libx/libxss/libxss1_1.2.1-2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3571,7 +3634,7 @@
     }
     rec {
       name = "libxt6_1.1.1-2ubuntu0.1+srt5_i386";
-      sha256 = "0yqb6j6rh9y65bfbqv1hrggl1719lsm6yzydbmpnilz15p3f4sa9";
+      sha256 = "4969e2c62de1d3686f5dcd7f6faaa6299c40dfcb306cbcdc2ac627988d340b7b";
       url = "mirror://steamrt/pool/main/libx/libxt/libxt6_1.1.1-2ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3580,7 +3643,7 @@
     }
     rec {
       name = "libxtst6_1.2.0-4ubuntu0.1+srt5_i386";
-      sha256 = "1h21nyc2bigm3brpzmdaafvry4wszmykbs13vagmibwhb6rls7xd";
+      sha256 = "ad1f4db35990af589fda23e8357dfd9a139fb753aad57ff31af5c52598b741c0";
       url = "mirror://steamrt/pool/main/libx/libxtst/libxtst6_1.2.0-4ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3589,7 +3652,7 @@
     }
     rec {
       name = "libxxf86vm1_1.1.1-2ubuntu0.1+srt5_i386";
-      sha256 = "133xi181g1pcd08px9yz7wqz93axy0cq9x5y76qp34dj7i9pscsg";
+      sha256 = "4f337d533cb29171b139bef48419f05d8df4313fdfa77e1168ec861750887d8c";
       url = "mirror://steamrt/pool/main/libx/libxxf86vm/libxxf86vm1_1.1.1-2ubuntu0.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3598,7 +3661,7 @@
     }
     rec {
       name = "nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt5_i386";
-      sha256 = "0nvhk0xyi1cc12j2j97x763irk2d9l8n0p3fjyg7s3jgm4va3yjj";
+      sha256 = "52faa136a94f0e7d9e976e5c60114d4dcc1c8739fd2429a4088c85e83b98705b";
       url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3606,8 +3669,26 @@
       };
     }
     rec {
+      name = "steamrt-legacy_1.20190320.0+srt1_i386";
+      sha256 = "d66cb2c0dd90b32198adf6700e22e2b2da7d5bfc2e7e6f25fdd1beeaac5f8caf";
+      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20190320.0+srt1_i386.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "steamrt-legacy.deb";
+      };
+    }
+    rec {
+      name = "steamrt-libs_1.20190320.0+srt1_i386";
+      sha256 = "abe0f70b7b165e6d9a0aa4d8238921a5a9f32beb94c4a4bbce7a15c8c40a9d11";
+      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20190320.0+srt1_i386.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "steamrt-libs.deb";
+      };
+    }
+    rec {
       name = "zenity_3.4.0-0ubuntu4+steamrt2+srt5_i386";
-      sha256 = "04j0mbdcv8891apw3lak161fbvpyl8qykvqvn6ljl3mimf3qabcd";
+      sha256 = "8d2d8587abb10e2aa9b11befe931a2feeee5820953d1c1af0a09a1cddaaa4012";
       url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
@@ -3615,8 +3696,17 @@
       };
     }
     rec {
+      name = "zenity-common_3.4.0-0ubuntu4+steamrt2+srt5_all";
+      sha256 = "27c90bd85c4ff3c9593088d62a19537f7250910dcdd28c278bd6c71157e8be88";
+      url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt2+srt5_all.deb";
+      source = fetchurl {
+        inherit url sha256;
+        name = "zenity-common.deb";
+      };
+    }
+    rec {
       name = "zlib1g_1.2.3.4.dfsg-3ubuntu4+srt6_i386";
-      sha256 = "1qbqclnhhwfxj5ajsb05c3pg5iq5imf4pl6yisx5hw5jndgmzch7";
+      sha256 = "07b25f5fb3b27058ba8eded04b5c8d05c7f2ee60052c2d5591dd71082d6578e1";
       url = "mirror://steamrt/pool/main/z/zlib/zlib1g_1.2.3.4.dfsg-3ubuntu4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
diff --git a/pkgs/games/steam/update-runtime.py b/pkgs/games/steam/update-runtime.py
index aed42cdd566..d33165b309d 100755
--- a/pkgs/games/steam/update-runtime.py
+++ b/pkgs/games/steam/update-runtime.py
@@ -35,12 +35,11 @@ def parse_args():
 	parser.add_argument("--repo", help="source repository", default=REPO)
 	return parser.parse_args()
 
-def download_file(file_base, file_name, file_url):
+def download_file(file_base, file_name, file_url, sha256):
 	file_shortname = file_base + ".deb"
-	sha256 = subprocess.check_output(["nix-prefetch-url", "--type", "sha256", "--name", file_shortname, file_url])
 	out.write("    rec {\n")
 	out.write("      name = \"%s\";\n" % file_name)
-	out.write("      sha256 = \"%s\";\n" % sha256.strip())
+	out.write("      sha256 = \"%s\";\n" % sha256)
 	out.write("      url = \"%s\";\n" % file_url.replace(REPO, "mirror://steamrt", 1))
 	out.write("      source = fetchurl {\n")
 	out.write("        inherit url sha256;\n")
@@ -49,8 +48,20 @@ def download_file(file_base, file_name, file_url):
 	out.write("    }\n")
 
 
+def parse_dependencies (arch, binarylist):
+	packages_url = "%s/dists/%s/%s/binary-%s/Packages" % (REPO, DIST, COMPONENT, arch)
+	for stanza in deb822.Packages.iter_paragraphs(urllib.urlopen(packages_url)):
+		p = stanza['Package']
+		if p in binarylist:
+			for deps in stanza.relations['depends']:
+				for dep in deps:
+					binarylist.add(dep['name'])
+	return binarylist
+
 def install_binaries (arch, binarylist):
-	installset = binarylist.copy()
+	installset = parse_dependencies(arch, binarylist.copy())
+	# Steam doesn't start if we include their libc
+	installset.remove("libc6")
 
 	#
 	# Load the Packages file so we can find the location of each binary package
@@ -66,7 +77,7 @@ def install_binaries (arch, binarylist):
 			# Download the package and install it
 			#
 			file_url="%s/%s" % (REPO,stanza['Filename'])
-			download_file(p, os.path.splitext(os.path.basename(stanza['Filename']))[0], file_url)
+			download_file(p, os.path.splitext(os.path.basename(stanza['Filename']))[0], file_url, stanza["SHA256"])
 			installset.remove(p)
 
 	for p in installset:
@@ -108,22 +119,13 @@ if args.debug:
 	COMPONENT = "debug"
 
 # Process packages.txt to get the list of source and binary packages
-source_pkgs = set()
 binary_pkgs = set()
 
 print ("Creating runtime-generated.nix")
 
-pkgs_list = urllib.urlopen("https://raw.githubusercontent.com/ValveSoftware/steam-runtime/master/packages.txt").readlines()
-for line in pkgs_list:
-	if line[0] != '#':
-		toks = line.split()
-		if len(toks) > 1:
-			source_pkgs.add(toks[0])
-			binary_pkgs.update(toks[1:])
-
-# remove development packages for end-user runtime
-if not args.debug:
-	binary_pkgs -= {x for x in binary_pkgs if re.search('-dbg$|-dev$|-multidev$',x)}
+# https://github.com/ValveSoftware/steam-runtime/blob/173ef028fb6b84e804f4e1b0ef11c12ffd4f3a8e/build-runtime.py#L264
+binary_pkgs.add("steamrt-libs")
+binary_pkgs.add("steamrt-legacy")
 
 for arch in arches:
 	out.write("  %s = [\n" % arch)
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index a81d7f33d43..351c24f5f79 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -1,27 +1,26 @@
 { stdenv, fetchFromGitHub, fetchsvn, fetchpatch, cmake, pkgconfig
 , openal, freealut, libGLU_combined, libvorbis, libogg, gettext, curl, freetype
-, fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr }:
+, fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr, enet }:
 
 let
   dir = "stk-code";
 
 in stdenv.mkDerivation rec {
-  name = "supertuxkart-${version}";
-
-  version = "0.9.3";
+  pname = "supertuxkart";
+  version = "1.0";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "supertuxkart";
       repo   = "stk-code";
       rev    = version;
-      sha256 = "1smnanjjaj4yq2ywikv0l6xysh6n2h1cm549plbg5xdk9mx2sfia";
+      sha256 = "03mrnzrvfdgjc687n718f5zsray6vbdlv4irzy2mfi78bz3bkjll";
       name   = dir;
     })
     (fetchsvn {
       url    = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets";
-      rev    = "17448";
-      sha256 = "0lxbb4k57gv4gj12l5hnvhwdycpzcxjwg7qdfwglj2bdvaxf9f21";
+      rev    = "18212";
+      sha256 = "1dyj8r5rfifhnhayga8w8irkpa99vw57xjmy74cp8xz8g7zvdzqf";
       name   = "stk-assets";
     })
   ];
@@ -31,15 +30,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     libX11 libXrandr
     openal freealut libGLU_combined libvorbis libogg zlib freetype
-    curl fribidi bluez libjpeg libpng
-  ];
-
-  # https://github.com/supertuxkart/stk-code/issues/3557#issuecomment-440794379
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/supertuxkart/stk-code/commit/3a3953f38c3555e87f3608d0291dbfccf34e9775.patch";
-      sha256 = "13mr5pwf45g7frpxzlxiyiq39qi3z9spd7l6gi8i3dr3li9wrb1k";
-    })
+    curl fribidi bluez libjpeg libpng enet
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/teeworlds/default.nix b/pkgs/games/teeworlds/default.nix
index 846054765e0..0b87d752a83 100644
--- a/pkgs/games/teeworlds/default.nix
+++ b/pkgs/games/teeworlds/default.nix
@@ -3,13 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "teeworlds-0.7.2";
+  pname = "teeworlds";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "teeworlds";
     repo = "teeworlds";
-    rev = "0.7.2";
-    sha256 = "15l988qcsqgb6rjais0qd5sd2rjanm2708jmzvkariqzz0d6pb93";
+    rev = version;
+    sha256 = "1pg5js5f0mfi38zq9zrcw7gvz39b38sk8n2pccxbp8nmbw21zpwl";
   };
 
   postPatch = ''
diff --git a/pkgs/misc/base16-shell-preview/default.nix b/pkgs/misc/base16-shell-preview/default.nix
new file mode 100644
index 00000000000..72b7de3b9a2
--- /dev/null
+++ b/pkgs/misc/base16-shell-preview/default.nix
@@ -0,0 +1,23 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "base16-shell-preview";
+  version = "0.3.0";
+
+  src = python3Packages.fetchPypi {
+    inherit version;
+    pname = "base16_shell_preview";
+    sha256 = "0x2fbicrcqgf2dl7dqzm14dz08vjjziabaaw33wah3v9wv4rw7jq";
+  };
+
+  # No tests
+  # If enabled, will attempt to run '__init__.py, and will fail with "/homeless-shelter" as HOME
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Browse and preview Base16 Shell themes in your terminal";
+    homepage = https://github.com/nvllsvm/base16-shell-preview;
+    license = licenses.mit;
+    maintainers = [ maintainers.rencire ];
+  };
+}
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 3089fe93dea..ef39e9f2fb5 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   name = "cups-${version}";
 
   # After 2.2.6, CUPS requires headers only available in macOS 10.12+
-  version = if stdenv.isDarwin then "2.2.6" else "2.2.10";
+  version = if stdenv.isDarwin then "2.2.6" else "2.2.11";
 
   passthru = { inherit version; };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
     sha256 = if version == "2.2.6"
              then "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20"
-             else "1fq52aw1mini3ld2czv5gg37wbbvh4n7yc7wzzxvbs3zpfrv5j3p";
+             else "0v5p10lyv8wv48s8ghkhjmdrxg6iwj8hn36v1ilkz46n7y0i107m";
   };
 
   outputs = [ "out" "lib" "dev" "man" ];
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index d063ec912b9..40e6f907bf0 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "cups-filters-${version}";
-  version = "1.22.2";
+  version = "1.22.5";
 
   src = fetchurl {
     url = "https://openprinting.org/download/cups-filters/${name}.tar.xz";
-    sha256 = "06gy3wv6p7kswz3mjn17f17mqpadvqj2riwc42kksnvp8x0h08cw";
+    sha256 = "19h7yy92wjfs401jzwyr03f3lp2xwg7sw83728r302rg2ni57m1h";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix
index 878e98fa166..fb63554871a 100644
--- a/pkgs/misc/emulators/dosbox/default.nix
+++ b/pkgs/misc/emulators/dosbox/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU_combined, libpng }:
+{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU_combined, libpng, graphicsmagick }:
 
 stdenv.mkDerivation rec {
   name = "dosbox-0.74-2";
@@ -12,11 +12,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL SDL_net SDL_sound libGLU_combined libpng ];
 
+  nativeBuildInputs = [ graphicsmagick ];
+
   configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
 
   desktopItem = makeDesktopItem {
     name = "dosbox";
     exec = "dosbox";
+    icon = "dosbox";
     comment = "x86 emulator with internal DOS";
     desktopName = "DOSBox";
     genericName = "DOS emulator";
@@ -26,6 +29,9 @@ stdenv.mkDerivation rec {
   postInstall = ''
      mkdir -p $out/share/applications
      cp ${desktopItem}/share/applications/* $out/share/applications
+
+     mkdir -p $out/share/icons/hicolor/256x256/apps
+     gm convert src/dosbox.ico $out/share/icons/hicolor/256x256/apps/dosbox.png
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/misc/emulators/vbam/default.nix
index 66e17fd3a7a..72eb537bf18 100644
--- a/pkgs/misc/emulators/vbam/default.nix
+++ b/pkgs/misc/emulators/vbam/default.nix
@@ -15,12 +15,12 @@
 
 stdenv.mkDerivation rec {
   name = "visualboyadvance-m-${version}";
-  version = "2.1.1";
+  version = "2.1.2";
   src = fetchFromGitHub {
     owner = "visualboyadvance-m";
     repo = "visualboyadvance-m";
     rev = "v${version}";
-    sha256 = "03cs7wn01flx925sxhpz1j5sxa6s7wfxq71955kasn7a3xr1kxwn";
+    sha256 = "0bgb9r6qc4g1biymayknj1fccwrdmn772i4qnc9zs3f9jrs0b34g";
   };
 
   buildInputs = [
diff --git a/pkgs/misc/screensavers/light-locker/default.nix b/pkgs/misc/screensavers/light-locker/default.nix
index f38851d6fa0..0b840448f2c 100644
--- a/pkgs/misc/screensavers/light-locker/default.nix
+++ b/pkgs/misc/screensavers/light-locker/default.nix
@@ -1,43 +1,68 @@
 { stdenv
 , fetchFromGitHub
-, which
-, xfce
-, glib
+, meson
+, ninja
 , pkgconfig
-, libX11
-, libXScrnSaver
-, libXxf86misc
 , gtk3
+, glib
+, intltool
 , dbus-glib
+, libX11
+, libXScrnSaver
+, libXxf86vm
+, libXext
 , systemd
+, pantheon
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
-  name = "${basename}-${version}";
-  basename = "light-locker";
-  version = "1.8.0";
+  pname = "light-locker";
+  version = "1.9.0";
+
+  outputs = [ "out" "man" ];
 
   src = fetchFromGitHub {
     owner = "the-cavalry";
-    repo = basename;
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1zsafc10bmliknf12h3mgy7f73lvgph0q0wkaqp42iagmw11yaj8";
+    sha256 = "1z5lcd02gqax65qc14hj5khifg7gr53zy3s5i6apba50lbdlfk46";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ which xfce.xfce4-dev-tools glib systemd
-                  libX11 libXScrnSaver libXxf86misc gtk3 dbus-glib wrapGAppsHook ];
+  nativeBuildInputs = [
+    intltool
+    meson
+    ninja
+    pkgconfig
+  ];
 
-  preConfigure = ''
-    ./autogen.sh
-  '';
+  buildInputs = [
+    dbus-glib
+    glib
+    gtk3
+    libX11
+    libXScrnSaver
+    libXext
+    libXxf86vm
+    systemd
+    wrapGAppsHook
+  ];
 
-  configureFlags = [ "--with-xf86gamma-ext" "--with-mit-ext"
-                     "--with-dpms-ext" "--with-systemd"
-                     # ConsoleKit and UPower were dropped in favor
-                     # of systemd replacements
-                     "--without-console-kit" "--without-upower" ];
+  mesonFlags = [
+    "-Dmit-ext=true"
+    "-Ddpms-ext=true"
+    "-Dxf86gamma-ext=true"
+    "-Dsystemd=true"
+    "-Dupower=true"
+    "-Dlate-locking=true"
+    "-Dlock-on-suspend=true"
+    "-Dlock-on-lid=true"
+    "-Dgsettings=true"
+  ];
+
+  postInstall = ''
+    ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/the-cavalry/light-locker;
@@ -52,7 +77,7 @@ stdenv.mkDerivation rec {
       ConsoleKit/UPower or logind/systemd.
     '';
     license = licenses.gpl2;
-    maintainers = with maintainers; [ obadz ];
+    maintainers = with maintainers; [ obadz ] ++ pantheon.maintainers;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/themes/equilux-theme/default.nix b/pkgs/misc/themes/equilux-theme/default.nix
index 21016eba844..66e88630342 100644
--- a/pkgs/misc/themes/equilux-theme/default.nix
+++ b/pkgs/misc/themes/equilux-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }:
+{ stdenv, fetchFromGitHub, gnome3, glib, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }:
 
 stdenv.mkDerivation rec {
   name = "equilux-theme-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0lv2yyxhnmnkwxp576wnb01id4fp734b5z5n0l67sg5z7vc2h8fc";
   };
 
-  nativeBuildInputs = [ gnome3.glib libxml2 bc ];
+  nativeBuildInputs = [ glib libxml2 bc ];
 
   buildInputs = [ gnome3.gnome-themes-extra gdk_pixbuf librsvg ];
 
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 3932a491242..d097f6ea011 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -61,12 +61,12 @@ let
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2019-04-13";
+    version = "2019-04-17";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "495bce32e957dcf45d6d6acf183599e18c92b09d";
-      sha256 = "0kiflcafiaz3r5a721551n8fa9sx94hwgh5dr50fbgbzjgpshn54";
+      rev = "fcc2c3ba71afa2a7965f3c1e9ec8c03381178180";
+      sha256 = "1xwm7rn9jz4xa4hyky07skqhlc9g13zggckyi6g3hq4qhamzjsvw";
     };
   };
 
@@ -403,23 +403,23 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-04-07";
+    version = "2019-04-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "fbde64c2be0482e9505a3fbdf4cb701f17662e51";
-      sha256 = "1z7506ch0b5lim098v4n52fhz7mqxrfgywanavpgppyas496sdp0";
+      rev = "91a7df99f0f7fc992c0d1a97bc69b931aea3d728";
+      sha256 = "0s4gvyrp7gm5gs3wk14hmss91gy1hppwn9vqbfs8hwpxamm76b9f";
     };
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2019-03-17";
+    version = "2019-04-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "aa2b5a5ac602dd7035324533f07a63da73e9aadd";
-      sha256 = "0ypdb1v0ykmn1k95nyi7cjaw2zsnw7cdylkilg4k2hhm5n9ih4la";
+      rev = "98e1d68336a757dd736a10f1dc7564458d52f5b7";
+      sha256 = "09fgyh8yipgcd525jgjj3ci6xsg7zqq7rwlfx593mw5afsnwa7gi";
     };
   };
 
@@ -435,6 +435,17 @@ let
     };
   };
 
+  deoplete-fish = buildVimPluginFrom2Nix {
+    pname = "deoplete-fish";
+    version = "2018-09-15";
+    src = fetchFromGitHub {
+      owner = "ponko2";
+      repo = "deoplete-fish";
+      rev = "9b9a686186e6484163b34eb6e620b83be355e82c";
+      sha256 = "1v7ay0isrgcz0hgyggdqvmrldz0in26prj7p9l8ygkyrjq2w6b8a";
+    };
+  };
+
   deoplete-go = buildVimPluginFrom2Nix {
     pname = "deoplete-go";
     version = "2019-03-02";
@@ -494,12 +505,12 @@ let
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2019-04-07";
+    version = "2019-04-15";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "5c50f254175ee1e815a47761c50abec861afcc61";
-      sha256 = "133zlaha0lvibrcd4ci7h353pgv64yyvvh211g8pdlq8vd9qbrhn";
+      rev = "9d4e88f6cce63ed1b52ca2401d809c55ab443b25";
+      sha256 = "165vxlr2zjh0p7mcqaj60axpnffcrjfx6rvp786nxch4kmfhrz5p";
     };
   };
 
@@ -527,12 +538,12 @@ let
 
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc-vim";
-    version = "2019-04-04";
+    version = "2019-04-15";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "1dfd4d45eb169bba4a5d5a3a4210e663e4a18dfe";
-      sha256 = "021qx04ka3w3w7wlv0p3lrpwxnlvxn0xkv7qwx6fk6594xfbaxi7";
+      rev = "ff8d60d631a66de5bcad8325eb50f2cd20fa163d";
+      sha256 = "1v63yii2d2ccij2cyz1n1vsfl27r70g0hj68pmcfmx4azfb8yxa7";
     };
   };
 
@@ -561,16 +572,27 @@ let
 
   emmet-vim = buildVimPluginFrom2Nix {
     pname = "emmet-vim";
-    version = "2019-02-10";
+    version = "2019-04-15";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "emmet-vim";
-      rev = "d698f1658770ca5fa58c87e80421c8d65bbe9065";
-      sha256 = "12dk21ddjw9dz87bw8hq37v1nd4q7q452sn5pa4sa289b9v0ik8q";
+      rev = "ae7d31f29080ad18073dda3530582dacb18475e6";
+      sha256 = "0ip4qrbbamdw9rmzh3w29bw9gx8gqlnxgyrdj4z9a1cpxp0cd5k3";
       fetchSubmodules = true;
     };
   };
 
+  emodeline = buildVimPluginFrom2Nix {
+    pname = "emodeline";
+    version = "2010-10-18";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "emodeline";
+      rev = "19550795743876c2256021530209d83592f5924a";
+      sha256 = "0x9y7rzbk6g8cq6jkn37wi95wzhq0abban6w10652v4kdmjrxrr0";
+    };
+  };
+
   ensime-vim = buildVimPluginFrom2Nix {
     pname = "ensime-vim";
     version = "2018-10-10";
@@ -584,12 +606,12 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2019-04-08";
+    version = "2019-04-18";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "8d1cfd1b700c9945bf98a29d3713a9f1e0e9e5e6";
-      sha256 = "0asm7wvvj3z5zvjm61kj7qg5k8jkqncdrd1snbb34nq4vayr5y7a";
+      rev = "b0b5f19042685cd3ec3b3f388f64aaed489889db";
+      sha256 = "0rikl448c1ps3phivb0xpx8a085wk5fz2xj1b6n24g88xfay1psm";
     };
   };
 
@@ -783,12 +805,12 @@ let
 
   iceberg-vim = buildVimPluginFrom2Nix {
     pname = "iceberg-vim";
-    version = "2019-01-04";
+    version = "2019-04-19";
     src = fetchFromGitHub {
       owner = "cocopon";
       repo = "iceberg.vim";
-      rev = "8b5ca0059c0f5f0bf0f78d7c5fbd3e83b7a5d5b6";
-      sha256 = "1522psnakmcsm781lpnq09i3ylrg0lj8kx3nb7xm4wi6m100zzlk";
+      rev = "24fd10b301e406ea2e6fb77c649688a3b34dc8c8";
+      sha256 = "1i1k6cpv0nrliwf32m07ycsxx1h2m47c52wfb9bdbfk4pp9w62fp";
     };
   };
 
@@ -858,6 +880,17 @@ let
     };
   };
 
+  jdaddy-vim = buildVimPluginFrom2Nix {
+    pname = "jdaddy-vim";
+    version = "2014-02-22";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "jdaddy.vim";
+      rev = "3e44c2e6d22e2d6fc94863379b5b4f5424537321";
+      sha256 = "1ch12bffrs3gqqzdj9vh0i2azhc5d06i5vwds4rqcx797lqh7pzb";
+    };
+  };
+
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
     version = "2019-04-05";
@@ -883,12 +916,12 @@ let
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2019-01-29";
+    version = "2019-04-19";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "84104d0d55db347be045927e71cf9b0a88e72c2f";
-      sha256 = "1bbpi9ndapp14qvbk7qr2xzih0sg6i7rx4sadf3zryasjaxxbfv4";
+      rev = "386371f4b35d68c7ec55c09c78cf687ddfafd69b";
+      sha256 = "0b3hrqlw7nvcv1w9ir0fsda6crx0a68012a6pii8awdgaw086hzi";
     };
   };
 
@@ -1114,34 +1147,34 @@ let
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2019-04-08";
+    version = "2019-04-21";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "5b9ed55b55009bed806aaef0eb8fa01fee134082";
-      sha256 = "0glwy2rrh9f35sya3sffic94fm8j54mhhx7hkin6x0d497jplm6y";
+      rev = "924dee18e7ca547e105ab8d800069fc5829b019b";
+      sha256 = "0n9lr63a7dhg3ghi705jshxnq6yx0w145jx2n3zr9435qf31z4xx";
     };
   };
 
   neoinclude-vim = buildVimPluginFrom2Nix {
     pname = "neoinclude-vim";
-    version = "2018-05-21";
+    version = "2019-04-17";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neoinclude.vim";
-      rev = "2fa77b9211d3f10c29559b715b6863da67ae7d3a";
-      sha256 = "0pdahb2z9q4dk67xkwvaqrlpai86slhncfb4gn88x40dlnd7rkbg";
+      rev = "9baaab193f461193e737dd1342a43d43a380bca6";
+      sha256 = "0gh2sdz32hp7wa5rvnrgwp8ga75sxpb4d3fxszkf8vd3gdxkxsq4";
     };
   };
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2019-04-09";
+    version = "2019-04-21";
     src = fetchFromGitHub {
       owner = "benekastah";
       repo = "neomake";
-      rev = "9ccc5d6662fb35383fe7fa7ea9e33467d28a0372";
-      sha256 = "1j2jr5ilcws1bpbnhch2y6jh6303w305c06rncgawibxyqsxvnmw";
+      rev = "2e5755aa7829c429b3d858036621b6807754a6ba";
+      sha256 = "1lrn9bwghm7y03lshfyfxqac5gkh6gl4klw4kccb0grnm2yx5a08";
     };
   };
 
@@ -1158,12 +1191,12 @@ let
 
   neosnippet-snippets = buildVimPluginFrom2Nix {
     pname = "neosnippet-snippets";
-    version = "2019-03-16";
+    version = "2019-04-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet-snippets";
-      rev = "38024eceb05df57c1a3dbf64079f1120f51deb3c";
-      sha256 = "16ppys1hvxbh1wivz3z0yyhd77l277lkp6xnsp2q1nwk70cwsag3";
+      rev = "ed18d979d76709036f6c4f7a2bdbfb29b11e3e0e";
+      sha256 = "1f7d174pbwfppaa0fsk0imfg1j1c463fniypqjs8c1djbw698m37";
     };
   };
 
@@ -1178,6 +1211,17 @@ let
     };
   };
 
+  NeoSolarized = buildVimPluginFrom2Nix {
+    pname = "NeoSolarized";
+    version = "2018-05-07";
+    src = fetchFromGitHub {
+      owner = "icymind";
+      repo = "NeoSolarized";
+      rev = "1af4bf6835f0fbf156c6391dc228cae6ea967053";
+      sha256 = "1l98yh3438anq33a094p5qrnhcm60nr28crs0v4nfah7lfdy5mc2";
+    };
+  };
+
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
     version = "2019-03-11";
@@ -1213,23 +1257,23 @@ let
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2019-03-07";
+    version = "2019-04-17";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdcommenter";
-      rev = "f46226bcd679a2d656b3179c54cc6b88f1db3b27";
-      sha256 = "1l4wh87zdsw5k0anjwjkrbhscpbsl56v0nndvwjhlwimw4jxx390";
+      rev = "17b68e47d781b9fcbf1c77495e535eab366f20ca";
+      sha256 = "0slv0dfcxx44b795bg4b8w7wmny7jax4h9vivb9jsbxjrj0zcygl";
     };
   };
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2019-03-26";
+    version = "2019-04-16";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdtree";
-      rev = "7513f256aa1d59b6a749cefe5ac505375b1b8a6a";
-      sha256 = "0163bvsmnnw598x2nyi9lzdk6akzj62cbsldp8prhl6d7x3gdmaf";
+      rev = "e126b8745dc40931ae8da03d92c78264e8e4b029";
+      sha256 = "1f43a04alrb5k5k7kys3i6ld7cxzcz9yz6il95z0xi9lwbb8mnid";
     };
   };
 
@@ -1257,12 +1301,12 @@ let
 
   nord-vim = buildVimPluginFrom2Nix {
     pname = "nord-vim";
-    version = "2019-03-21";
+    version = "2019-04-18";
     src = fetchFromGitHub {
       owner = "arcticicestudio";
       repo = "nord-vim";
-      rev = "bfa069b12b3af000b07eb23c01ff516bab452db7";
-      sha256 = "1wyslhazi9vwnk3z68ibd4gswvc340mwnffg9lnpskqi56qpw005";
+      rev = "39e0742d57c8f4b5442939362942a7c5afa20a62";
+      sha256 = "0mp5mf0bzkq6rsh23s1912vwkmdhx1nc4q81nyf0y32m84lrjx1w";
     };
   };
 
@@ -1334,12 +1378,12 @@ let
 
   papercolor-theme = buildVimPluginFrom2Nix {
     pname = "papercolor-theme";
-    version = "2019-03-17";
+    version = "2019-04-16";
     src = fetchFromGitHub {
       owner = "NLKNguyen";
       repo = "papercolor-theme";
-      rev = "6f34e06ac4b3e1ac7c5755a0216791066fbe74c8";
-      sha256 = "13kdglkxdwxpmv0xwcwgzivb8x74bfypw2xn8w237niryvxg4y7z";
+      rev = "129608399ad3cc49dde798741a64c14131dfc908";
+      sha256 = "1jvazpk51azklm3la590k3318mnz2v4pg7sdjj5z9dsdvd69qi3y";
     };
   };
 
@@ -1433,12 +1477,12 @@ let
 
   rainbow = buildVimPluginFrom2Nix {
     pname = "rainbow";
-    version = "2019-03-04";
+    version = "2019-04-17";
     src = fetchFromGitHub {
       owner = "luochen1990";
       repo = "rainbow";
-      rev = "d08e167596511d40a0d3451931b52cc62d9001eb";
-      sha256 = "0mq2kcx5rwav5az2w7cbhws0kqp0jm7mpskbmhcd7x352xh0308d";
+      rev = "78afcbe5395fac8fab2d4bb122ae638c4485bf69";
+      sha256 = "1j7ymlvlgvwklvxjjm2ab86d1frlss560ms4gs9dh73qyjfjr3p2";
     };
   };
 
@@ -1895,12 +1939,12 @@ let
 
   vim = buildVimPluginFrom2Nix {
     pname = "vim";
-    version = "2019-04-07";
+    version = "2019-04-15";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "34efabac145c06cda8084aea11bf46382a3d2254";
-      sha256 = "1qswcnjl60gw8grgy0gym5lmx29rqxhz5p01dibpcv1qq1ij2msg";
+      rev = "d8ca3b52b07529f4a55da451291fe0ca8e18d02d";
+      sha256 = "153pmg4x0yrc9npwjk9zyzd347r2xkr3r72nmhh1cfy0n0lg10gg";
     };
   };
 
@@ -2126,12 +2170,12 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-04-09";
+    version = "2019-04-18";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "cbf264ff5f323ab8a8cf02f59f79bf858d496047";
-      sha256 = "11clk44jpdc4v67hrv0m5isjd4hxxr4figxj1ck0v0bkcd714jcm";
+      rev = "ead2cd63bbe4ceec161f9634c8b52048551f91b4";
+      sha256 = "0x0mv047r2li57l2b9cdlpdjl5fy0qhcs973w40kwp8pxnzrs332";
     };
   };
 
@@ -2201,6 +2245,17 @@ let
     };
   };
 
+  vim-beancount = buildVimPluginFrom2Nix {
+    pname = "vim-beancount";
+    version = "2017-10-28";
+    src = fetchFromGitHub {
+      owner = "nathangrigg";
+      repo = "vim-beancount";
+      rev = "8054352c43168ece62094dfc8ec510e347e19e3c";
+      sha256 = "0fd4fbdmhapdhjr3f9bhd4lqxzpdwwvpf64vyqwahkqn8hrrbc4m";
+    };
+  };
+
   vim-better-whitespace = buildVimPluginFrom2Nix {
     pname = "vim-better-whitespace";
     version = "2019-01-25";
@@ -2234,6 +2289,17 @@ let
     };
   };
 
+  vim-choosewin = buildVimPluginFrom2Nix {
+    pname = "vim-choosewin";
+    version = "2018-06-11";
+    src = fetchFromGitHub {
+      owner = "t9md";
+      repo = "vim-choosewin";
+      rev = "4ac141a9bb7188ebbbff90bb0a0bccd52eaa83f8";
+      sha256 = "08glj4fk4jlcdqbyd77dwy3rbn3vc0fqz077fwvkxym47hfg9rqk";
+    };
+  };
+
   vim-closetag = buildVimPluginFrom2Nix {
     pname = "vim-closetag";
     version = "2019-02-14";
@@ -2247,12 +2313,12 @@ let
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2019-03-27";
+    version = "2019-04-17";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "b4aafd5b0f7e5c2b44ba6d92a18196331ac1003a";
-      sha256 = "0plr53xaavwwxvzk1rb724i1cpknh6z09zvbg2y0bgl5cj51b665";
+      rev = "fc45c30907106801f0bf443a9fa20300fc6ce100";
+      sha256 = "0rnlcvv6jw0q9hhy0f5l52hv8kajymii8c1qlc04bpwm8ibkxjkn";
     };
   };
 
@@ -2379,12 +2445,12 @@ let
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2019-04-01";
+    version = "2019-04-21";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "ae60a79106dd32d75d3c5cf4dfe44fd658d634ec";
-      sha256 = "1dpyavqhsn7japg5li2fflhn4rq5y5c5m24772550awzd5nx0bif";
+      rev = "8901782b58f5613d6c1b45456c9f130f30df2dc7";
+      sha256 = "0wmqcfiysp6nhspqv1lyvjvpkxpkslrg9rqa8kjf04vcggipdr5g";
     };
   };
 
@@ -2467,12 +2533,12 @@ let
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2019-03-18";
+    version = "2019-04-17";
     src = fetchFromGitHub {
       owner = "elixir-lang";
       repo = "vim-elixir";
-      rev = "d51d5f7eb5c46992ac718ac648e02e38322e073e";
-      sha256 = "1n95zybvncfz5w4h77li22dcskb3xpf0jlfrw9g5ix80w1n41aar";
+      rev = "7e00da6033b7847c6bb71df18f852342946eab42";
+      sha256 = "0v3agkkdwpzi8gys1nysrm6jisjd42v5ipbvd5w5kn3qhr28n1d5";
     };
   };
 
@@ -2520,6 +2586,17 @@ let
     };
   };
 
+  vim-fish = buildVimPluginFrom2Nix {
+    pname = "vim-fish";
+    version = "2017-11-22";
+    src = fetchFromGitHub {
+      owner = "dag";
+      repo = "vim-fish";
+      rev = "50b95cbbcd09c046121367d49039710e9dc9c15f";
+      sha256 = "1yvjlm90alc4zsdsppkmsja33wsgm2q6kkn9dxn6xqwnq4jw5s7h";
+    };
+  };
+
   vim-flagship = buildVimPluginFrom2Nix {
     pname = "vim-flagship";
     version = "2018-08-15";
@@ -2559,8 +2636,8 @@ let
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "60eac8c97457af5a96eb06ad4b564e4c813d806e";
-      sha256 = "1hqz6hbnvazwq7ngffg638w9qf0b3a0y2wl34ddp5ffkjzxjhr8l";
+      rev = "1ac2c707e53b4f598ce6502c7bd9a028f1ec5ce4";
+      sha256 = "1r63zfba81adwsxqxqasjcpszdn2r4snbpj52d9p6sb4lqf84qg9";
     };
   };
 
@@ -2621,12 +2698,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-04-13";
+    version = "2019-04-21";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "473636c94cf0887a39839c82c4dcde0faab34f85";
-      sha256 = "1khzkpyg3hvz5brmzbrdxf33fdk62dfrss4q9gsfai61k1inrbfn";
+      rev = "c166037dbe06980199b0f93b0d10f8cdb7340c01";
+      sha256 = "0m824gqh99ga82r3prn3c84vm7k5c75vsnwbi29jfky564v3m8p6";
     };
   };
 
@@ -2852,12 +2929,12 @@ let
 
   vim-javascript = buildVimPluginFrom2Nix {
     pname = "vim-javascript";
-    version = "2019-03-26";
+    version = "2019-04-16";
     src = fetchFromGitHub {
       owner = "pangloss";
       repo = "vim-javascript";
-      rev = "24c896e13d9241024bdb79f48e811748654d7ba2";
-      sha256 = "1c89n4rzjdq12h6wjz04np14hnd33i7fyrxlxv3yyl3hdcvs8bk1";
+      rev = "ee445807a71ee6933cd6cbcd74940bc288815793";
+      sha256 = "0x4cscpfll8m7f9hvx4fjxff5vscz4kzvs14ai1sdg75b6dngxl0";
     };
   };
 
@@ -3007,12 +3084,12 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2019-04-09";
+    version = "2019-04-19";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "4fd4668966e430946a864eb4e973634b3f506ded";
-      sha256 = "0gz1w7lcvy3rv4h4bfk8fdsa0k1nhxfkzrn2ncapkl210gw0v7zq";
+      rev = "c0514ddfdc9b1205e6f0952bf19b8d7105972a52";
+      sha256 = "04w46nv8bqqc7kjxhs63blwqs787n0x3kgy5xrgg7h20vwbq5a5s";
     };
   };
 
@@ -3205,12 +3282,12 @@ let
 
   vim-pandoc-syntax = buildVimPluginFrom2Nix {
     pname = "vim-pandoc-syntax";
-    version = "2017-04-13";
+    version = "2019-04-17";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-syntax";
-      rev = "56e8e41ef863a0a7d33d85c3c0c895aa6e9e62d3";
-      sha256 = "19ll4zrw5yd0frgsbi7pg9b68lmy4bfiwbnwgzii7inifrqsykfw";
+      rev = "e1ce4ff92afd23139759e7322ebeb434bbad88b0";
+      sha256 = "1wa2gwkq5d5mb97dklyl6q81f0irr8bmbwcdn39x5sxwsahck83c";
     };
   };
 
@@ -3359,12 +3436,12 @@ let
 
   vim-racer = buildVimPluginFrom2Nix {
     pname = "vim-racer";
-    version = "2019-03-16";
+    version = "2019-04-21";
     src = fetchFromGitHub {
       owner = "racer-rust";
       repo = "vim-racer";
-      rev = "a8771a84d7f7305c14ba16e817d7cea8f26030d9";
-      sha256 = "0d84mg6k23xwj94fyq37s76z0jh8af3z44y4qjxa4sngcks3w3nj";
+      rev = "4649e13a1f5a9c31781db570ac7de97e57dc0b3c";
+      sha256 = "07ywhrlhh5vvxrnwac05q75a0vjrmhdjvcql88qrxwg88na6db7i";
     };
   };
 
@@ -3546,12 +3623,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2019-04-12";
+    version = "2019-04-19";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "1ba4a66c11d8fd4309656bc2994d683580d54de3";
-      sha256 = "0cdphdscz6hbaj53gras13f1rfhzcrhlwff2rfbx4hxnsqgndph5";
+      rev = "a79d5b062427a4acfd665b2f5498e7052ebc29e5";
+      sha256 = "0si5gl0v5f2jhvx03n5vz41kjzbhzqvxwd3p6kg7z3c8r4bac7zh";
     };
   };
 
@@ -3689,12 +3766,12 @@ let
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2019-04-07";
+    version = "2019-04-16";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "9c38bb948e7a08fc35b5235535a27fe45777d0e4";
-      sha256 = "0b7n89rnrk70bh67xlb6wm2fpww8s7v86kia29bfirs5mrii3kqf";
+      rev = "f54101bb7e190186df39442f87ea66c08e73a1da";
+      sha256 = "13x0jwk8hv6z52dhgh7w6ism2z0pydlhcxh9qpb3yk42mns57pyd";
     };
   };
 
@@ -3777,12 +3854,12 @@ let
 
   vim-vinegar = buildVimPluginFrom2Nix {
     pname = "vim-vinegar";
-    version = "2018-08-06";
+    version = "2019-04-20";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-vinegar";
-      rev = "c38ea2195a43747aedf0bb4b7eb5aa8870260296";
-      sha256 = "1bcpi4m7ng9jaipf8xjf74469lgk34bs5ajjpv9dnkcrsalm28nf";
+      rev = "e48cc1d71b838e6223a0ece54b9457ed76f92676";
+      sha256 = "16cx1j76b9kdrcjs8hhl15kfhpgan69qs9djda0c1pvzphj4bbgp";
     };
   };
 
@@ -3931,12 +4008,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-04-12";
+    version = "2019-04-20";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "51892b2b592331ce05b9b95e342cf5312b4f210b";
-      sha256 = "1chb8l9w2lnqpnjxy7h4ylmrqlyzfl5l1jj1x42bnc0l3mj62pa0";
+      rev = "3deabe2c16c9231703b58c5c24e16e0ceebebf40";
+      sha256 = "1xazc1z8lrz0084v54fv238sbvz9pfpskm6z259ma00y8iswz0ds";
     };
   };
 
@@ -3953,12 +4030,12 @@ let
 
   vimwiki = buildVimPluginFrom2Nix {
     pname = "vimwiki";
-    version = "2019-03-24";
+    version = "2019-04-20";
     src = fetchFromGitHub {
       owner = "vimwiki";
       repo = "vimwiki";
-      rev = "6766c37ce09a623b3de7ddb86ca30278eea37a82";
-      sha256 = "0qz4yx8l0mmwv3s3s4l03af32dymj4b1sz2x4fpdx42g04k1avy2";
+      rev = "be793e28bea4ac30c19c15c4db3fd42d26a5debe";
+      sha256 = "18jkhpxmg5crbjsy4bnymgggsd73dqjvjb74kirxj86hh1khfqnh";
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 4a4ef14f67c..68ec903e613 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -140,6 +140,10 @@ self: super: {
     '';
   });
 
+  deoplete-fish = super.deoplete-fish.overrideAttrs(old: {
+    dependencies = with super; [ deoplete-nvim vim-fish ];
+  });
+
   deoplete-go = super.deoplete-go.overrideAttrs(old: {
     buildInputs = [ python3 ];
     buildPhase = ''
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index b296cd0a827..a23ce78bd45 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -41,6 +41,7 @@ christoomey/vim-tmux-navigator
 cocopon/iceberg.vim
 ctjhoa/spacevim
 ctrlpvim/ctrlp.vim
+dag/vim-fish
 dag/vim2hs
 dannyob/quickfixstatus
 davidhalter/jedi-vim
@@ -93,6 +94,7 @@ HerringtonDarkholme/yats.vim
 honza/vim-snippets
 hsanson/vim-android
 ianks/vim-tsx
+icymind/NeoSolarized
 idris-hackers/idris-vim
 inkarkat/vim-SyntaxRange
 int3/vim-extradite
@@ -203,6 +205,7 @@ motus/pig.vim
 mpickering/hlint-refactor-vim
 natebosch/vim-lsc
 nathanaelkane/vim-indent-guides
+nathangrigg/vim-beancount
 navicore/vissort.vim
 nbouscal/vim-stylish-haskell
 ncm2/ncm2
@@ -231,6 +234,7 @@ peder2tm/sved
 peterhoeg/vim-qml
 phanviet/vim-monokai-pro
 plasticboy/vim-markdown
+ponko2/deoplete-fish
 posva/vim-vue
 powerman/vim-plugin-AnsiEsc
 PProvost/vim-ps1
@@ -285,6 +289,7 @@ sjl/splice.vim
 sk1418/last256
 slashmili/alchemist.vim
 sonph/onehalf
+t9md/vim-choosewin
 t9md/vim-smalls
 takac/vim-hardtime
 ternjs/tern_for_vim
@@ -345,6 +350,7 @@ vim-scripts/a.vim
 vim-scripts/bats.vim
 vim-scripts/changeColorScheme.vim
 vim-scripts/Colour-Sampler-Pack
+vim-scripts/emodeline
 vim-scripts/Improved-AnsiEsc
 vim-scripts/matchit.zip
 vim-scripts/mayansmoke
@@ -354,6 +360,7 @@ vim-scripts/Rename
 vim-scripts/ReplaceWithRegister
 vim-scripts/tabmerge
 vim-scripts/taglist.vim
+vim-scripts/jdaddy.vim
 vim-scripts/wombat256.vim
 vim-scripts/YankRing.vim
 vim-utils/vim-husk
diff --git a/pkgs/os-specific/darwin/osxfuse/default.nix b/pkgs/os-specific/darwin/osxfuse/default.nix
new file mode 100644
index 00000000000..404e752c279
--- /dev/null
+++ b/pkgs/os-specific/darwin/osxfuse/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, runCommand, fetchFromGitHub, autoreconfHook }:
+
+let
+  version = "3.8.3";
+
+  headers = runCommand "osxfuse-common-${version}" {
+    src = fetchFromGitHub {
+      owner = "osxfuse";
+      repo = "osxfuse";
+      rev = "osxfuse-${version}";
+      sha256 = "13lmg41zcyiajh8m42w7szkbg2is4551ryx2ia2mmzvvd23pag0z";
+    };
+  } ''
+    mkdir -p $out/include
+    cp --target-directory=$out/include $src/common/*.h
+  '';
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  pname = "osxfuse";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "osxfuse";
+    repo = "fuse";
+    rev = "1a1977a"; # Submodule reference from osxfuse/osxfuse at tag osxfuse-${version}
+    sha256 = "101fw8j40ylfbbrjycnwr5qp422agyf9sfbczyb9w5ivrkds3rfw";
+  };
+
+  postPatch = ''
+    touch config.rpath
+  '';
+
+  postInstall = ''
+    ln -s osxfuse.pc $out/lib/pkgconfig/fuse.pc
+  '';
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ headers ];
+
+  meta = with stdenv.lib; {
+    homepage = https://osxfuse.github.io;
+    description = "C-based FUSE for macOS SDK";
+    platforms = platforms.darwin;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index c8edd865479..d05eaf4b84e 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -6,11 +6,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "audit-2.8.4";
+  name = "audit-2.8.5";
 
   src = fetchurl {
     url = "https://people.redhat.com/sgrubb/audit/${name}.tar.gz";
-    sha256 = "0f4ci6ffznnmgblwgv7ich9mjfk3p6y5l6m6h3chhmzw156nj454";
+    sha256 = "1dzcwb2q78q7x41shcachn7f4aksxbxd470yk38zh03fch1l2p8f";
   };
 
   outputs = [ "bin" "dev" "out" "man" ];
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
     # and pulls in an extra openldap dependency otherwise
     "--disable-zos-remote"
     (if enablePython then "--with-python" else "--without-python")
+    "--with-arm"
+    "--with-aarch64"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index c00fc1761d5..ea4e041d43a 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -12,7 +12,7 @@ let
       inherit sha256;
     };
 
-    ARCH = stdenvNoCC.hostPlatform.platform.kernelArch or (throw "missing kernelArch");
+    ARCH = stdenvNoCC.hostPlatform.platform.kernelArch or stdenvNoCC.hostPlatform.kernelArch;
 
     # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc.
     # We do this so we have a build->build, not build->host, C compiler.
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 768d06bb053..84789b7389e 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.112";
+  version = "4.14.113";
 
   # 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;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0wp40cr3gpj8g2hghcvhz669qshd7zkfjkq78gkdg840rki02q9j";
+    sha256 = "1hnsmlpfbcy52dax7g194ksr9179kpigj1y5k44jkwmagziz4kdj";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 9bdbdf4558f..ed3d80f2379 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.35";
+  version = "4.19.36";
 
   # 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;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1q2742sbi9vgk791xr1rbi5mr3ra4k1bdzq9dr610870y1hfb9rg";
+    sha256 = "1g7jcgg4889vj567jjl0q7ycksnm05xxzfd3jj6ji7bz2w4ba25q";
   };
 } // (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 afeaac91ba8..4857e80292d 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, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.169";
+  version = "4.9.170";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1c6nz27q0m6nbb7v7kba6zrhzav5bqqllvwzzqf9cmd5cdn66xmp";
+    sha256 = "078k8dz3nmici7rs7x25h4vr1qaa588zwymv4gs722wfzi07p21k";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.0.nix b/pkgs/os-specific/linux/kernel/linux-5.0.nix
index 11a7287fdb8..594c89f232b 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.0.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.0.8";
+  version = "5.0.9";
 
   # 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;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0dalr3vym2ixmblnlrw10dfx0icdf2aab38z2j9y1qfcx128140i";
+    sha256 = "0n5s0nwk786qyzwkjs5sv0ldhi8wry6xrsy9vldxp17qbcvv2j07";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 9b1369351e0..19195733853 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "5.1-rc5";
-  modDirVersion = "5.1.0-rc5";
+  version = "5.1-rc6";
+  modDirVersion = "5.1.0-rc6";
   extraMeta.branch = "5.1";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "171caaf8zrjx124431a94sv25c0ka6b3ni194l7fpisn4n3x8y47";
+    sha256 = "0s751wb4xdcnljid03a3gi9pkql7fcvixh32aiclbmfz6gyvbykv";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kexectools/default.nix b/pkgs/os-specific/linux/kexectools/default.nix
index 7cbf6cb7cee..d68e538d671 100644
--- a/pkgs/os-specific/linux/kexectools/default.nix
+++ b/pkgs/os-specific/linux/kexectools/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "kexec-tools-${version}";
-  version = "2.0.18";
+  version = "2.0.19";
 
   src = fetchurl {
     urls = [
       "mirror://kernel/linux/utils/kernel/kexec/${name}.tar.xz"
       "http://horms.net/projects/kexec/kexec-tools/${name}.tar.xz"
     ];
-    sha256 = "0f5jnb0470nmxyl1cz2687hqjr8cwqniqc1ycq9bazlp85rz087h";
+    sha256 = "03jyi4c47ywclycf3a253xpqs7p6ys8inz9q66b8m3xc6nrh307d";
   };
 
   hardeningDisable = [ "format" "pic" "relro" "pie" ];
diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index 9db581ad527..1f2a7d3edf2 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "linux-pam-${version}";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchurl {
-    url = "http://www.linux-pam.org/library/Linux-PAM-${version}.tar.bz2";
-    sha256 = "1fyi04d5nsh8ivd0rn2y0z83ylgc0licz7kifbb6xxi2ylgfs6i4";
+    url    = "https://github.com/linux-pam/linux-pam/releases/download/v1.3.1/Linux-PAM-${version}.tar.xz";
+    sha256 = "1nyh9kdi3knhxcbv5v4snya0g3gff0m671lnvqcbygw3rm77mx7g";
   };
 
   patches = stdenv.lib.optionals (stdenv.hostPlatform.libc == "musl") [
@@ -18,10 +18,9 @@ stdenv.mkDerivation rec {
       url = "https://git.alpinelinux.org/cgit/aports/plain/main/linux-pam/libpam-fix-build-with-eglibc-2.16.patch?id=05a62bda8ec255d7049a2bd4cf0fdc4b32bdb2cc";
       sha256 = "1ib6shhvgzinjsc603k2x1lxh9dic6qq449fnk110gc359m23j81";
     })
-    (fetchpatch {
-      url = "https://git.alpinelinux.org/cgit/aports/plain/main/linux-pam/musl-fix-pam_exec.patch?id=05a62bda8ec255d7049a2bd4cf0fdc4b32bdb2cc";
-      sha256 = "04dx6s9d8cxl40r7m7dc4si47ds4niaqm7902y1d6wcjvs11vrf0";
-    })
+    # From adelie's package repo, using local copy since it seems to be currently offline.
+    # (we previously used similar patch from void, but stopped working with update to 1.3.1)
+    ./musl-fix-pam_exec.patch
   ];
 
   outputs = [ "out" "doc" "man" /* "modules" */ ];
diff --git a/pkgs/os-specific/linux/pam/musl-fix-pam_exec.patch b/pkgs/os-specific/linux/pam/musl-fix-pam_exec.patch
new file mode 100644
index 00000000000..194e47b9e5b
--- /dev/null
+++ b/pkgs/os-specific/linux/pam/musl-fix-pam_exec.patch
@@ -0,0 +1,33 @@
+--- ./modules/pam_exec/pam_exec.c.orig
++++ ./modules/pam_exec/pam_exec.c
+@@ -103,11 +103,14 @@
+   int optargc;
+   const char *logfile = NULL;
+   const char *authtok = NULL;
++  char authtok_buf[PAM_MAX_RESP_SIZE+1];
++
+   pid_t pid;
+   int fds[2];
+   int stdout_fds[2];
+   FILE *stdout_file = NULL;
+ 
++  memset(authtok_buf, 0, sizeof(authtok_buf));
+   if (argc < 1) {
+     pam_syslog (pamh, LOG_ERR,
+ 		"This module needs at least one argument");
+@@ -180,12 +183,12 @@
+ 	      if (resp)
+ 		{
+ 		  pam_set_item (pamh, PAM_AUTHTOK, resp);
+-		  authtok = strndupa (resp, PAM_MAX_RESP_SIZE);
++		  authtok = strncpy(authtok_buf, resp, sizeof(authtok_buf));
+ 		  _pam_drop (resp);
+ 		}
+ 	    }
+ 	  else
+-	    authtok = strndupa (void_pass, PAM_MAX_RESP_SIZE);
++	    authtok = strncpy(authtok_buf, void_pass, sizeof(authtok_buf));
+ 
+ 	  if (pipe(fds) != 0)
+ 	    {
+
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index d54972c055b..bc071d21ce4 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -129,12 +129,12 @@ in stdenv.mkDerivation rec {
       test -e $i
       substituteInPlace $i \
         --replace /usr/bin/getent ${getent}/bin/getent \
-        --replace /sbin/swapon ${utillinux.bin}/sbin/swapon \
-        --replace /sbin/swapoff ${utillinux.bin}/sbin/swapoff \
-        --replace /sbin/fsck ${utillinux.bin}/sbin/fsck \
+        --replace /sbin/swapon ${lib.getBin utillinux}/sbin/swapon \
+        --replace /sbin/swapoff ${lib.getBin utillinux}/sbin/swapoff \
+        --replace /sbin/fsck ${lib.getBin utillinux}/sbin/fsck \
         --replace /bin/echo ${coreutils}/bin/echo \
         --replace /bin/cat ${coreutils}/bin/cat \
-        --replace /sbin/sulogin ${utillinux.bin}/sbin/sulogin \
+        --replace /sbin/sulogin ${lib.getBin utillinux}/sbin/sulogin \
         --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck \
         --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency
     done
diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix
index d48c21f6b52..03c48867b34 100644
--- a/pkgs/os-specific/linux/udisks/1-default.nix
+++ b/pkgs/os-specific/linux/udisks/1-default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
       substituteInPlace src/main.c --replace \
         "/sbin:/bin:/usr/sbin:/usr/bin" \
-        "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/bin"
+        "${utillinux}/bin:${mdadm}/sbin:/run/current-system/sw/bin:/run/current-system/sw/bin"
     '';
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index ec18c25ee66..3e94ba5c1ea 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
     "--enable-last"
     "--enable-mesg"
     "--disable-use-tty-group"
-    "--enable-fs-paths-default=/run/wrappers/bin:/var/run/current-system/sw/bin:/sbin"
+    "--enable-fs-paths-default=/run/wrappers/bin:/run/current-system/sw/bin:/sbin"
     "--disable-makeinstall-setuid" "--disable-makeinstall-chown"
     (lib.withFeature (ncurses != null) "ncursesw")
     (lib.withFeature (systemd != null) "systemd")
diff --git a/pkgs/servers/asterisk/runtime-vardirs.patch b/pkgs/servers/asterisk/runtime-vardirs.patch
index 17959bac9a0..498c62ee4d8 100644
--- a/pkgs/servers/asterisk/runtime-vardirs.patch
+++ b/pkgs/servers/asterisk/runtime-vardirs.patch
@@ -5,7 +5,7 @@ diff -rupN asterisk-14.1.2/build_tools/make_defaults_h asterisk-14.1.2-patched/b
  #!/bin/sh
 +
 +ASTLOGDIR=/var/log/asterisk
-+ASTVARRUNDIR=/var/run/asterisk
++ASTVARRUNDIR=/run/asterisk
 +ASTVARLIBDIR=/var/lib/asterisk
 +ASTDBDIR=${ASTVARLIBDIR}
 +ASTDATADIR=${ASTVARLIBDIR}
diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix
index 3c04a678def..f5c0cf230af 100644
--- a/pkgs/servers/dict/libmaa.nix
+++ b/pkgs/servers/dict/libmaa.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ libtool ];
-  # configureFlags = [ "--datadir=/var/run/current-system/share/dictd" ];
+  # configureFlags = [ "--datadir=/run/current-system/share/dictd" ];
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index d7ee0a0af0a..d2ec9aa6adf 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix (args // {
-  version = "1.15.10";
-  sha256 = "0g3wadbf9r730p0j5c0pnsmbmbrwvvnpyzhgbmsf9g2jplx78rdq";
+  version = "1.15.12";
+  sha256 = "1giavdph0jqhywdkj4650s5qhz6qfd6nrv74k9q005yy2ym90nrx";
 })
diff --git a/pkgs/servers/hylafaxplus/default.nix b/pkgs/servers/hylafaxplus/default.nix
index f5876687f8e..bbd5b80184f 100644
--- a/pkgs/servers/hylafaxplus/default.nix
+++ b/pkgs/servers/hylafaxplus/default.nix
@@ -30,8 +30,8 @@
 let
 
   name = "hylafaxplus-${version}";
-  version = "5.6.1";
-  sha256 = "100jcnkf44g659fh732a3ic2ik6l619cv0zhhp37n2kaydv876s1";
+  version = "7.0.0";
+  sha256 = "1ryqd8mcaj536pxykja3qzwgd985ad1nn5zfqr1wksf2mzqvwscy";
 
   configSite = substituteAll {
     name = "hylafaxplus-config.site";
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index 4b53cf5ae21..d429da78a32 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.2.2";
+  version = "10.3.0";
 
   # Impossible to build anything offline with dotnet
   src = fetchurl {
     url = "https://github.com/jellyfin/jellyfin/releases/download/v${version}/jellyfin_${version}_portable.tar.gz";
-    sha256 = "1q5wwjhlvykcad6jcizbr4yx5fiyzs97zl4qnkf79236xgvdyx53";
+    sha256 = "1q9rvyza5zi1kqg9301zrd0fnxzdwknyagpjc9r1cpqfx3yasnkc";
   };
 
   buildInputs = [
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
         sqlite
       ]}" \
-      --add-flags "$out/opt/jellyfin/jellyfin.dll -ffmpeg ${ffmpeg}/bin/ffmpeg -ffprobe ${ffmpeg}/bin/ffprobe"
+      --add-flags "$out/opt/jellyfin/jellyfin.dll --ffmpeg ${ffmpeg}/bin/ffmpeg"
   '';
 
   meta =  with stdenv.lib; {
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 802c6698df6..466cd5314e6 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -9,7 +9,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.5.1";
+  name = "dovecot-2.3.5.2";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "0gy3qzwbp6zsyn44pcfq8iiv9iy9q7z6py30h60alb1vkr3rv3yp";
+    sha256 = "1whvyg087sjhkd8r0xnk4ij105j135acnfxq6n58c6nqxwdf855s";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 756796d6201..f14d36f1efb 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DDEBIAN_BUILD=ON"
-    "-DRUNDIR=/var/run/rspamd"
+    "-DRUNDIR=/run/rspamd"
     "-DDBDIR=/var/lib/rspamd"
     "-DLOGDIR=/var/log/rspamd"
     "-DLOCAL_CONFDIR=/etc/rspamd"
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 73251bfd9e1..493bcde6a14 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  version = "1.5.12";
+  version = "1.5.13";
   name = "memcached-${version}";
 
   src = fetchurl {
     url = "https://memcached.org/files/${name}.tar.gz";
-    sha256 = "0aav15f0lh8k4i62aza2bdv4s8vv65j38pz2zc4v45snd3arfby0";
+    sha256 = "0qsdkjrns4f02lmabq8c7mzl5n4382q2p6a0dvmsjdcpjisagqb1";
   };
 
   configureFlags = [
diff --git a/pkgs/shells/bash/bash-5.0-patches.nix b/pkgs/shells/bash/bash-5.0-patches.nix
index a9877540988..560aef16644 100644
--- a/pkgs/shells/bash/bash-5.0-patches.nix
+++ b/pkgs/shells/bash/bash-5.0-patches.nix
@@ -3,4 +3,9 @@
 patch: [
 (patch "001" "12bjfdy6bg8nhyw27bdgxn7h4paylx8d927skfmi9pxd1wgrxzpj")
 (patch "002" "01w7yrzmz10mw06ys0546vhl7isv2v402ziyvfd7k67588spvs47")
+(patch "003" "0ny81ridp5n0j69hb8ixrc7dmxybby54jbsz5hikly8kgg1wvssf")
+(patch "004" "021gqqvgydixkrmqss64b6srfdlkvnx88lyfzpxfrn5d6bc7li0l")
+(patch "005" "0xl2kyzm84nlyklrqzkn73ixabhzfhn9x91lzcmis89cppclvxav")
+(patch "006" "0844749ixk1z60437nkznzms1f0nzh9an62kj7sny6r0zyk2k1fn")
+(patch "007" "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")
 ]
diff --git a/pkgs/shells/zsh/nix-zsh-completions/default.nix b/pkgs/shells/zsh/nix-zsh-completions/default.nix
index 122a44dcd17..0a5c3ef666e 100644
--- a/pkgs/shells/zsh/nix-zsh-completions/default.nix
+++ b/pkgs/shells/zsh/nix-zsh-completions/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub }:
 
 let
-  version = "0.4.2";
+  version = "0.4.3";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "spwhitt";
     repo = "nix-zsh-completions";
     rev = "${version}";
-    sha256 = "1pfyn8kd9fc9fyy77imzg6xj00nzddkjagwjs2594db8ynp6cfil";
+    sha256 = "0fq1zlnsj1bb7byli7mwlz7nm2yszwmyx43ccczcv51mjjfivyp3";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 6d6fa5d93e1..e2dbf46541e 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2019-04-04";
+  version = "2019-04-18";
   name = "oh-my-zsh-${version}";
-  rev = "4ddb2e384ab0840b1d8a6d4c95770ef8a6c25fcc";
+  rev = "9b2410fbcfa21d6115219fe626a6f422b578d3ac";
 
   src = fetchgit { inherit rev;
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    sha256 = "0hvpq24qh10x3ii3j16kwpzlgas6zw9bg0sspd9dlfqb7rcmvqy2";
+    sha256 = "17lach3kzhl0yjbzdrmg4456ms0w6n0kzzvxqmm977mfg5i2hcif";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix
index 4313a617f78..1f752f02152 100644
--- a/pkgs/stdenv/default.nix
+++ b/pkgs/stdenv/default.nix
@@ -43,8 +43,14 @@ in
     "x86_64-linux" = stagesLinux;
     "armv5tel-linux" = stagesLinux;
     "armv6l-linux" = stagesLinux;
+    "armv6m-linux" = stagesLinux;
     "armv7a-linux" = stagesLinux;
     "armv7l-linux" = stagesLinux;
+    "armv7r-linux" = stagesLinux;
+    "armv7m-linux" = stagesLinux;
+    "armv8a-linux" = stagesLinux;
+    "armv8r-linux" = stagesLinux;
+    "armv8m-linux" = stagesLinux;
     "aarch64-linux" = stagesLinux;
     "mipsel-linux" = stagesLinux;
     "powerpc-linux" = /* stagesLinux */ stagesNative;
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 457e1671e26..2bccd620436 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -13,7 +13,6 @@
       "x86_64-linux" = import ./bootstrap-files/x86_64.nix;
       "armv5tel-linux" = import ./bootstrap-files/armv5tel.nix;
       "armv6l-linux" = import ./bootstrap-files/armv6l.nix;
-      "armv7a-linux" = import ./bootstrap-files/armv7l.nix;
       "armv7l-linux" = import ./bootstrap-files/armv7l.nix;
       "aarch64-linux" = import ./bootstrap-files/aarch64.nix;
       "mipsel-linux" = import ./bootstrap-files/loongson2f.nix;
@@ -26,10 +25,19 @@
       "powerpc64le-linux" = import ./bootstrap-files/ppc64le-musl.nix;
     };
   };
+
+  # Try to find an architecture compatible with our current system. We
+  # just try every bootstrap we’ve got and test to see if it is
+  # compatible with or current architecture.
+  getCompatibleTools = lib.foldl (v: system:
+    if v != null then v
+    else if localSystem.isCompatible (lib.systems.elaborate { inherit system; }) then archLookupTable.${system}
+    else null) null (lib.attrNames archLookupTable);
+
   archLookupTable = table.${localSystem.libc}
     or (abort "unsupported libc for the pure Linux stdenv");
-  files = archLookupTable.${localSystem.system}
-    or (abort "unsupported platform for the pure Linux stdenv");
+  files = archLookupTable.${localSystem.system} or (if getCompatibleTools != null then getCompatibleTools
+    else (abort "unsupported platform for the pure Linux stdenv"));
   in files
 }:
 
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index c36b6d2fbd6..e09833869d6 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -21,6 +21,13 @@ let
           sha256 = "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1";
         };
       });
+      pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
+        version = "3.13";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf";
+        };
+      });
     };
   };
 
diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix
index 8ec34ce6730..b64696a3420 100644
--- a/pkgs/tools/archivers/gnutar/default.nix
+++ b/pkgs/tools/archivers/gnutar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnutar-${version}";
-  version = "1.31";
+  version = "1.32";
 
   src = fetchurl {
     url = "mirror://gnu/tar/tar-${version}.tar.xz";
-    sha256 = "1h9dxhjhz1jnyhmh6jfhqw1g1sxqbg3cd32vpwg7x2xxxqffzwrp";
+    sha256 = "1n7xy657ii0sa42zx6944v2m4v9qrh6sqgmw17l3nch3y43sxlyh";
   };
 
   # avoid retaining reference to CF during stdenv bootstrap
diff --git a/pkgs/tools/backup/automysqlbackup/default.nix b/pkgs/tools/backup/automysqlbackup/default.nix
new file mode 100644
index 00000000000..44c14f2dc32
--- /dev/null
+++ b/pkgs/tools/backup/automysqlbackup/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, makeWrapper, mysql, mailutils, pbzip2, pigz, bzip2, gzip }:
+
+stdenv.mkDerivation rec {
+  pname = "automysqlbackup";
+  version = "3.0_rc6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v${version}.tar.gz";
+    sha256 = "1h1wq86q6my1a682nr8pjagjhai4lxz967m17lhpw1vb116hd7l8";
+  };
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/etc
+
+    cp automysqlbackup $out/bin/
+    cp automysqlbackup.conf $out/etc/
+
+    wrapProgram $out/bin/automysqlbackup --prefix PATH : ${stdenv.lib.makeBinPath [ mysql mailutils pbzip2 pigz bzip2 gzip ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A script to run daily, weekly and monthly backups for your MySQL database";
+    homepage = https://sourceforge.net/projects/automysqlbackup/;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.aanderse ];
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix
index 5cf675a9af1..ad0001f22e1 100644
--- a/pkgs/tools/backup/bareos/default.nix
+++ b/pkgs/tools/backup/bareos/default.nix
@@ -42,8 +42,8 @@ stdenv.mkDerivation rec {
     "--with-working-dir=/var/lib/bareos"
     "--with-bsrdir=/var/lib/bareos"
     "--with-logdir=/var/log/bareos"
-    "--with-pid-dir=/var/run/bareos"
-    "--with-subsys-dir=/var/run/bareos"
+    "--with-pid-dir=/run/bareos"
+    "--with-subsys-dir=/run/bareos"
     "--enable-ndmp"
     "--enable-lmdb"
     "--enable-batch-insert"
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index 9c749bd7bdd..2df609384c1 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "btrbk-${version}";
-  version = "0.27.1";
+  version = "0.27.2";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${name}.tar.xz";
-    sha256 = "040f6qzv188yd38n11zdiin3gaavrlld36xf1ks4hxhq921bh0jc";
+    sha256 = "1xxpwlvijzgvn17sag9gx3vbmk82plmyp19wah714z3j07djczh2";
   };
 
   nativeBuildInputs = [ asciidoc makeWrapper ];
diff --git a/pkgs/tools/compression/dejsonlz4/default.nix b/pkgs/tools/compression/dejsonlz4/default.nix
new file mode 100644
index 00000000000..53b968c5134
--- /dev/null
+++ b/pkgs/tools/compression/dejsonlz4/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+stdenv.mkDerivation rec {
+    pname = "dejsonlz4";
+    version = "1.1";
+    src = fetchFromGitHub {
+      owner = "avih";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "0ggs69qamaama5mid07mhp95m1x42wljdb953lrwfr7p8p6f8czh";
+    };
+
+    buildPhase = ''
+      gcc -Wall -o dejsonlz4 src/dejsonlz4.c src/lz4.c
+    '';
+
+    installPhase = ''
+      mkdir -p $out/bin/
+      cp dejsonlz4 $out/bin/
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Decompress Mozilla Firefox bookmarks backup files";
+      homepage = https://github.com/avih/dejsonlz4;
+      license = licenses.bsd2;
+      maintainers = with maintainers; [ mt-caret ];
+      platforms = platforms.linux;
+    };
+  }
diff --git a/pkgs/tools/graphics/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix
index 0fbfae1b966..7d2323c6d48 100644
--- a/pkgs/tools/graphics/gifsicle/default.nix
+++ b/pkgs/tools/graphics/gifsicle/default.nix
@@ -3,12 +3,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "gifsicle-${version}";
-  version = "1.91";
+  pname = "gifsicle";
+  version = "1.92";
 
   src = fetchurl {
-    url = "https://www.lcdf.org/gifsicle/${name}.tar.gz";
-    sha256 = "00586z1yz86qcblgmf16yly39n4lkjrscl52hvfxqk14m81fckha";
+    url = "https://www.lcdf.org/gifsicle/${pname}-${version}.tar.gz";
+    sha256 = "0rffpzxcak19k6cngpxn73khvm3z1gswrqs90ycdzzb53p05ddas";
   };
 
   buildInputs = optional gifview [ xorgproto libXt libX11 ];
diff --git a/pkgs/tools/graphics/wallutils/default.nix b/pkgs/tools/graphics/wallutils/default.nix
new file mode 100644
index 00000000000..25ef433304c
--- /dev/null
+++ b/pkgs/tools/graphics/wallutils/default.nix
@@ -0,0 +1,34 @@
+{ buildGoModule, fetchFromGitHub, lib
+, wayland, libX11, xbitmaps, libXcursor, libXmu
+}:
+
+buildGoModule rec {
+  name = "wallutils-${version}";
+  version = "5.7.2";
+
+  src = fetchFromGitHub {
+    owner = "xyproto";
+    repo = "wallutils";
+    rev = version;
+    sha256 = "1q4487s83iwwgd40hkihpns84ya8mg54zp63ag519cdjizz38xyi";
+  };
+
+  modSha256 = "0kj9s9ymd99a5w9r1d997qysnzlgpnmh5dnki33h1jlwz47nwkld";
+
+  patches = [ ./lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch ];
+
+  postPatch = ''
+    # VersionString is sometimes not up-to-date:
+    sed -iE 's/VersionString = "[0-9].[0-9].[0-9]"/VersionString = "${version}"/' wallutils.go
+  '';
+
+  buildInputs = [ wayland libX11 xbitmaps libXcursor libXmu ];
+
+  meta = with lib; {
+    description = "Utilities for handling monitors, resolutions, and (timed) wallpapers";
+    inherit (src.meta) homepage;
+    license = licenses.mit;
+    maintainers = with maintainers; [ primeos ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch b/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
new file mode 100644
index 00000000000..00aeed6363e
--- /dev/null
+++ b/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
@@ -0,0 +1,25 @@
+From 9d064428cec970ced9be6753d6250b20a45a9fe2 Mon Sep 17 00:00:00 2001
+From: Michael Weiss <dev.primeos@gmail.com>
+Date: Fri, 19 Apr 2019 11:56:50 +0200
+Subject: [PATCH] lscollection: Add NixOS paths to DefaultWallpaperDirectories
+
+---
+ collections.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/collections.go b/collections.go
+index ef74ea6..9f9a608 100644
+--- a/collections.go
++++ b/collections.go
+@@ -21,7 +21,7 @@ const (
+ )
+ 
+ var (
+-	DefaultWallpaperDirectories = []string{"/usr/share/pixmaps", "/usr/share/wallpapers", "/usr/share/backgrounds", "/usr/local/share/pixmaps", "/usr/local/share/wallpapers", "/usr/local/share/backgrounds", "/usr/share/archlinux"}
++	DefaultWallpaperDirectories = []string{"/run/current-system/sw/share/pixmaps", "/run/current-system/sw/share/wallpapers", "/run/current-system/sw/share/backgrounds", "/usr/share/pixmaps", "/usr/share/wallpapers", "/usr/share/backgrounds", "/usr/local/share/pixmaps", "/usr/local/share/wallpapers", "/usr/local/share/backgrounds", "/usr/share/archlinux"}
+ )
+ 
+ type SearchResults struct {
+-- 
+2.19.2
+
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index c59ddd08498..9eaba1e8d3f 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -11,17 +11,17 @@ assert (x11Support && stdenv.isLinux) -> xclip != null || xsel != null;
 with rustPlatform;
 
 buildRustPackage rec {
-  name = "ffsend-${version}";
-  version = "0.2.42";
+  pname = "ffsend";
+  version = "0.2.45";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "0lsdn967rq6hf3fmkynznsvj8fcka5wi1mpcl3wfa7hf58r266yq";
+    sha256 = "1rhbpkalbbklbg0bq3xzbqw918ymqjnwhib3agzqd7477hrh1bkr";
   };
 
-  cargoSha256 = "1f1npdr8v9vlv3xdraq1qang4l0j0w9slbws4da5ylw195nb4qx5";
+  cargoSha256 = "1218v6rm1j545764g8rkpanwafjzk1c7f5x22v9ivzm0b6lmnm56";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ]
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index 04717974a8b..33a44dccc2d 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchFromGitHub, lib
+{ stdenv, fetchurl, lib
 , autoconf, automake, gnum4, libtool, perl, gnulib, uthash, pkgconfig, gettext
-, python, freetype, zlib, glib, libungif, libpng, libjpeg, libtiff, libxml2, pango
+, python, freetype, zlib, glib, libungif, libpng, libjpeg, libtiff, libxml2, cairo, pango
+, readline, woff2, zeromq
 , withSpiro ? false, libspiro
 , withGTK ? false, gtk2
 , withPython ? true
+, withExtras ? true
 , Carbon ? null, Cocoa ? null
 }:
 
 stdenv.mkDerivation rec {
-  name = "fontforge-${version}";
-  version = "20170730";
+  pname = "fontforge";
+  version = "20190317";
 
-  src = fetchFromGitHub {
-    owner = "fontforge";
-    repo = "fontforge";
-    rev = version;
-    sha256 = "15k6x97383p8l40jvcivalhwgbbcdg5vciyjz6m9r0lrlnjqkv99";
+  src = fetchurl {
+    url = "https://github.com/${pname}/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
+    sha256 = "1ddqbpc32cgbccdnv0lfw0qhj59hcqzb7616ph5lkvm91pnas4dp";
   };
 
   patches = [ ./fontforge-20140813-use-system-uthash.patch ];
 
-  # use $SOURCE_DATE_EPOCH instead of non-determenistic timestamps
+  # use $SOURCE_DATE_EPOCH instead of non-deterministic timestamps
   postPatch = ''
     find . -type f -name '*.c' -exec sed -r -i 's#\btime\(&(.+)\)#if (getenv("SOURCE_DATE_EPOCH")) \1=atol(getenv("SOURCE_DATE_EPOCH")); else &#g' {} \;
     sed -r -i 's#author\s*!=\s*NULL#& \&\& !getenv("SOURCE_DATE_EPOCH")#g'                            fontforge/cvexport.c fontforge/dumppfa.c fontforge/print.c fontforge/svg.c fontforge/splineutil2.c
@@ -32,19 +32,20 @@ stdenv.mkDerivation rec {
   # do not use x87's 80-bit arithmetic, rouding errors result in very different font binaries
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.isi686 [ "-msse2" "-mfpmath=sse" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoconf automake gnum4 libtool perl gettext ];
   buildInputs = [
-    autoconf automake gnum4 libtool perl gettext uthash
+    readline uthash woff2 zeromq
     python freetype zlib glib libungif libpng libjpeg libtiff libxml2
   ]
     ++ lib.optionals withSpiro [libspiro]
-    ++ lib.optionals withGTK [ gtk2 pango ]
+    ++ lib.optionals withGTK [ gtk2 cairo pango ]
     ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
 
-  configureFlags =
-    lib.optionals (!withPython) [ "--disable-python-scripting" "--disable-python-extension" ]
+    configureFlags = [ "--enable-woff2" ]
+    ++ lib.optionals (!withPython) [ "--disable-python-scripting" "--disable-python-extension" ]
     ++ lib.optional withGTK "--enable-gtk2-use"
-    ++ lib.optional (!withGTK) "--without-x";
+    ++ lib.optional (!withGTK) "--without-x"
+    ++ lib.optional withExtras "--enable-fontforge-extras";
 
   # work-around: git isn't really used, but configuration fails without it
   preConfigure = ''
@@ -54,7 +55,7 @@ stdenv.mkDerivation rec {
     export GIT="$(type -P true)"
     cp -r "${gnulib}" ./gnulib
     chmod +w -R ./gnulib
-    ./bootstrap --skip-git --gnulib-srcdir=./gnulib
+    ./bootstrap --skip-git --gnulib-srcdir=./gnulib --force
   '';
 
   doCheck = false; # tries to wget some fonts
diff --git a/pkgs/tools/misc/fontforge/fontforge-20140813-use-system-uthash.patch b/pkgs/tools/misc/fontforge/fontforge-20140813-use-system-uthash.patch
index 27c8274c1d2..fb53c619b2b 100644
--- a/pkgs/tools/misc/fontforge/fontforge-20140813-use-system-uthash.patch
+++ b/pkgs/tools/misc/fontforge/fontforge-20140813-use-system-uthash.patch
@@ -8,10 +8,11 @@
  EXTRA_DIST =
  CLEANFILES =
  MOSTLYCLEANFILES =
-@@ -113,7 +112,6 @@
+@@ -113,8 +112,7 @@
  	Packaging/FontForge-doc.spec \
  	Packaging/FontForge.spec \
  	Packaging/FontForge.static.spec \
+ 	README \
 -	uthash/src \
  	$(NULL)
  
diff --git a/pkgs/tools/misc/fontforge/fontforge-fonttools.nix b/pkgs/tools/misc/fontforge/fontforge-fonttools.nix
index 551fc71b7a7..ea4acfc5f0b 100644
--- a/pkgs/tools/misc/fontforge/fontforge-fonttools.nix
+++ b/pkgs/tools/misc/fontforge/fontforge-fonttools.nix
@@ -1,32 +1 @@
-{ stdenv, fetchFromGitHub, zlib }:
-
-stdenv.mkDerivation rec {
-  version = "20160404";
-  name = "fontforge-fonttools-${version}";
-
-  src = fetchFromGitHub {
-    owner = "fontforge";
-    repo = "fontforge";
-    rev = version;
-    sha256 = "15nacq84n9gvlzp3slpmfrrbh57kfb6lbdlc46i7aqgci4qv6fg0";
-  };
-
-  buildInputs = [ zlib ];
-
-  setSourceRoot = ''export sourceRoot="$(echo */contrib/fonttools)"'';
-
-  installPhase = ''
-    mkdir -p "$out"/{bin,share/doc/fontforge-fonttools}
-    for i in *.c; do
-      $CC "$i" -lz -lm --std=c99 -o "$out"/bin/$(basename "$i" .c)
-    done
-    cp README* "$out/share/doc/fontforge-fonttools"
-  '';
-
-  meta = with stdenv.lib; {
-    description = ''Small font tools shipped in FontForge contrib'';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ raskin ];
-    platforms = with platforms; unix;
-  };
-}
+{ fontforge }: fontforge.override { withExtras = true; }
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index 4a95563b2ec..f5b4e4052b4 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "fwup-${version}";
-  version = "1.2.7";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "0r48l5jcb4pxb72ykigmaissm4ikadi7f6lkfma4jnd037w15bnl";
+    sha256 = "1npxps5kg5z9f52k3p62sxf4cvdrdddrggfpip0n0whm1dx9rjrx";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index cd2b1b795f7..6b5e836b14d 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -1,29 +1,26 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ buildGoModule, fetchFromGitHub, lib }:
 
-buildGoPackage rec {
+buildGoModule rec {
   name = "lf-${version}";
-  version = "11";
+  version = "12";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
     rev = "r${version}";
-    sha256 = "13622sx6xmbm8gf38dn8y8mkfnlbpamg4hmzsy9jnzg4h8qbjm6b";
+    sha256 = "1pjydnwlc6mrnwz13s13c91nvjvb1ibwl944ppg8xq8dcy9b2cs4";
   };
 
-  goPackagePath = "github.com/gokcehan/lf";
-  goDeps = ./deps.nix;
+  modSha256 = "14fvn8yjm9cnpsmzgxw2dypr3h8h36mxrbk7zma42w8rsp46jpz7";
 
   # TODO: Setting buildFlags probably isn't working properly. I've tried a few
   # variants, e.g.:
   # - buildFlags = "-ldflags \"-s -w -X 'main.gVersion=${version}'\"";
   # - buildFlags = "-ldflags \\\"-X ${goPackagePath}/main.gVersion=${version}\\\"";
-
   # Override the build phase (to set buildFlags):
   buildPhase = ''
     runHook preBuild
     runHook renameImports
-    cd go/src/${goPackagePath}
     go install -ldflags="-s -w -X main.gVersion=r${version}"
     runHook postBuild
   '';
@@ -32,7 +29,7 @@ buildGoPackage rec {
     install -D --mode=444 lf.1 $out/share/man/man1/lf.1
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A terminal file manager written in Go and heavily inspired by ranger";
     longDescription = ''
       lf (as in "list files") is a terminal file manager written in Go. It is
diff --git a/pkgs/tools/misc/lf/deps.nix b/pkgs/tools/misc/lf/deps.nix
deleted file mode 100644
index 8f1e5c75c28..00000000000
--- a/pkgs/tools/misc/lf/deps.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/nsf/termbox-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nsf/termbox-go";
-      rev = "02980233997d87bbda048393d47b4d453f7a398d"; # master
-      sha256 = "1zxysi00bk7bv5ka6vn9dnzk5q9wjp0252cm3v6l2hbrcx7405zw";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "3ee7d812e62a0804a7d0a324e0249ca2db3476d3"; # v0.0.4
-      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
-    };
-  }
-]
diff --git a/pkgs/tools/misc/mandoc/default.nix b/pkgs/tools/misc/mandoc/default.nix
index f485cb95f5d..9ddd9218801 100644
--- a/pkgs/tools/misc/mandoc/default.nix
+++ b/pkgs/tools/misc/mandoc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mandoc-${version}";
-  version = "1.14.4";
+  version = "1.14.5";
 
   src = fetchurl {
     url = "https://mandoc.bsd.lv/snapshots/mandoc-${version}.tar.gz";
-    sha256 = "24eb72103768987dcc63b53d27fdc085796330782f44b3b40c4660b1e1ee9b9c";
+    sha256 = "1xyqllxpjj1kimlipx11pzyywf5c25i4wmv0lqm7ph3gnlnb86c2";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/tools/misc/mimeo/default.nix b/pkgs/tools/misc/mimeo/default.nix
index 02637e4ea8f..03f9354445b 100644
--- a/pkgs/tools/misc/mimeo/default.nix
+++ b/pkgs/tools/misc/mimeo/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   name = "mimeo-${version}";
-  version = "2018.12";
+  version = "2019.3";
 
   src = fetchurl {
     url = "https://xyne.archlinux.ca/projects/mimeo/src/${name}.tar.xz";
-    sha256 = "1bjhqwfi8rrf1m4fwwqvg0qzk035qcnxlmhh4kxrpm6rqhw48vk8";
+    sha256 = "1ry9f08584vngznbja76z53as12q2i06ncfnf52dxyidfgw5mx65";
   };
 
   buildInputs = [ file desktop-file-utils ];
diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix
index fcf67870e87..4e840957ce3 100644
--- a/pkgs/tools/misc/pubs/default.nix
+++ b/pkgs/tools/misc/pubs/default.nix
@@ -11,11 +11,18 @@ python3Packages.buildPythonApplication rec {
     sha256 = "16zwdqfbmlla6906g3a57a4nj8wnl11fq78r20qms717bzv211j0";
   };
 
-  # Fix for bibtexparser 1.1.0
-  patches = fetchpatch {
-    url = https://github.com/pubs/pubs/pull/185/commits/e58ae98b93b8364a07fd5f5f452ba88ad332c948.patch;
-    sha256 = "1n7zrk119v395jj8wqg8wlymc9l9pq3v752yy3kam9kflc0aashp";
-  };
+  patches = [
+    # Fix for bibtexparser 1.1.0
+    (fetchpatch {
+      url = https://github.com/pubs/pubs/pull/185/commits/e58ae98b93b8364a07fd5f5f452ba88ad332c948.patch;
+      sha256 = "1n7zrk119v395jj8wqg8wlymc9l9pq3v752yy3kam9kflc0aashp";
+    })
+    # Fix test broken by PyYAML 5.1
+    (fetchpatch {
+      url = https://github.com/pubs/pubs/pull/194/commits/c3cb713ae76528eeeaaeb948fe319a76ab3934d8.patch;
+      sha256 = "05as418m7wzs65839bb91b2jrs8l68z8ldcjcd9cn4b9fcgsf3rk";
+    })
+  ];
 
   propagatedBuildInputs = with python3Packages; [
     argcomplete dateutil configobj feedparser bibtexparser pyyaml requests six beautifulsoup4
diff --git a/pkgs/tools/misc/timidity/timidity.cfg b/pkgs/tools/misc/timidity/timidity.cfg
index fda915729ae..fa07eb43eee 100644
--- a/pkgs/tools/misc/timidity/timidity.cfg
+++ b/pkgs/tools/misc/timidity/timidity.cfg
@@ -41,8 +41,8 @@
 # point to the library directory: 
 #
 
-dir /var/run/current-system/sw/share/timidity/instruments
-dir /var/run/current-system/sw/share/timidity/patch
+dir /run/current-system/sw/share/timidity/instruments
+dir /run/current-system/sw/share/timidity/patch
 
 ##############################################################################
 # This sets up the default patches in the TiMidity support package
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 45ff2947c68..29e64205a2b 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -24,14 +24,14 @@ assert brotliSupport -> brotli != null;
 assert gssSupport -> libkrb5 != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.64.0";
+  name = "curl-7.64.1";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${name}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2"
     ];
-    sha256 = "1szj9ia1snbfqzfcsk6hx1j7jhbqsy0f9k5d7x9xiy8w5lfblwym";
+    sha256 = "0pd484nk4q4dxjilwla3bw1l1jy44043xs991xld0l2jncwcgisc";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 41074e3dad6..6987bc553a5 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, perl, file, nettools, iputils, iproute, makeWrapper
 , coreutils, gnused, openldap ? null
+, buildPackages, lib
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +20,11 @@ stdenv.mkDerivation rec {
       ./set-hostname.patch
     ];
 
-  buildInputs = [ perl makeWrapper openldap ];
+  nativeBuildInputs = [ perl ];
+
+  buildInputs = [ makeWrapper openldap ];
+
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   configureFlags = [
     "--enable-failover"
@@ -31,6 +36,7 @@ stdenv.mkDerivation rec {
     "--enable-early-chroot"
     "--sysconfdir=/etc"
     "--localstatedir=/var"
+    (lib.optional stdenv.isLinux "--with-randomdev=/dev/random")
   ] ++ stdenv.lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ];
 
   NIX_CFLAGS_COMPILE = [ "-Wno-error=pointer-compare" ];
@@ -57,6 +63,8 @@ stdenv.mkDerivation rec {
       substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
       sed -i "includes/dhcpd.h" \
 	-"es|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
+
+      export AR='${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar'
     '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 6efbec8a08f..7c62e82e26a 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -9,12 +9,12 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "1.9.3";
+  version = "1.9.6";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${name}.tar.gz";
-    sha256 = "1d0d0zdr3908wbmwqllq0l968iawykxyf6fd8vdf545pb0bc2b6j";
+    sha256 = "1vwvy6kgjv767c5bdv415c9ic6vbx237hj20axl0zm0l55gc6dq8";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index 81dc7558d79..d9f9e6570ac 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -33,9 +33,14 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobject-introspection python3 gtk-doc docbook_xsl docbook_xml_dtd_43 libxml2 ];
 
+  # Needed for wingpanel-indicator-network and switchboard-plug-network
+  patches = [ ./hardcode-gsettings.patch ];
+
   postPatch = ''
     chmod +x meson_post_install.py # patchShebangs requires executable file
     patchShebangs meson_post_install.py
+
+    substituteInPlace src/wireless-security/eap-method.c --subst-var-by NM_APPLET_GSETTINGS $lib/share/gsettings-schemas/${name}/glib-2.0/schemas
   '';
 
   passthru = {
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 1695e23514a..78aeb2a03ed 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -79,7 +79,7 @@ in stdenv.mkDerivation rec {
   installFlags = [
     "sysconfdir=${placeholder "out"}/etc"
     "localstatedir=${placeholder "out"}/var"
-    "runstatedir=${placeholder "out"}/var/run"
+    "runstatedir=${placeholder "out"}/run"
   ];
 
   postInstall = ''
diff --git a/pkgs/tools/networking/network-manager/hardcode-gsettings.patch b/pkgs/tools/networking/network-manager/hardcode-gsettings.patch
new file mode 100644
index 00000000000..a480fd6d91e
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/hardcode-gsettings.patch
@@ -0,0 +1,32 @@
+diff --git a/src/wireless-security/eap-method.c b/src/wireless-security/eap-method.c
+index 2e9daa23..6663b3ce 100644
+--- a/src/wireless-security/eap-method.c
++++ b/src/wireless-security/eap-method.c
+@@ -265,8 +265,11 @@ eap_method_ca_cert_ignore_get (EAPMethod *method, NMConnection *connection)
+ static GSettings *
+ _get_ca_ignore_settings (NMConnection *connection)
+ {
++	GSettingsSchemaSource *schema_source;
++	g_autoptr (GSettingsSchema) *schema;
+ 	GSettings *settings;
+-	char *path = NULL;
++
++	g_autofree char *path = NULL;
+ 	const char *uuid;
+ 
+ 	g_return_val_if_fail (connection, NULL);
+@@ -274,9 +277,12 @@ _get_ca_ignore_settings (NMConnection *connection)
+ 	uuid = nm_connection_get_uuid (connection);
+ 	g_return_val_if_fail (uuid && *uuid, NULL);
+ 
++	schema_source = g_settings_schema_source_new_from_directory ("@NM_APPLET_GSETTINGS@", g_settings_schema_source_get_default (), TRUE, NULL);
++	schema = g_settings_schema_source_lookup (schema_source, "org.gnome.nm-applet.eap", FALSE);
++	g_settings_schema_source_unref (schema_source);
++
+ 	path = g_strdup_printf ("/org/gnome/nm-applet/eap/%s/", uuid);
+-	settings = g_settings_new_with_path ("org.gnome.nm-applet.eap", path);
+-	g_free (path);
++	settings = g_settings_new_full (schema, NULL, path);
+ 
+ 	return settings;
+ }
diff --git a/pkgs/tools/networking/openfortivpn/default.nix b/pkgs/tools/networking/openfortivpn/default.nix
index d92984d3c9d..dcab89cc2b9 100644
--- a/pkgs/tools/networking/openfortivpn/default.nix
+++ b/pkgs/tools/networking/openfortivpn/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let repo = "openfortivpn";
-    version = "1.8.1";
+    version = "1.9.0";
 
 in stdenv.mkDerivation {
   name = "${repo}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "adrienverge";
     inherit repo;
     rev = "v${version}";
-    sha256 = "16k5sb7sz5blhm59rxhzhcq91pgivpbpdq6wbhcaa563nnk7pxys";
+    sha256 = "1nf992wjx5n2883b31hgxrb6y0n3p5yz7h42bwripwrfpdjaaqcv";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/shadowfox/default.nix b/pkgs/tools/networking/shadowfox/default.nix
index eb2fe70cf4b..4f9dba1d62f 100644
--- a/pkgs/tools/networking/shadowfox/default.nix
+++ b/pkgs/tools/networking/shadowfox/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, fetchFromGitHub, buildGoPackage }:
+{ stdenv, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
-  name = "shadowfox-${version}";
-  version = "1.5.2";
+buildGoModule rec {
+  pname = "shadowfox";
+  version = "1.7.20";
 
   src = fetchFromGitHub {
     owner = "SrKomodo";
     repo = "shadowfox-updater";
     rev = "v${version}";
-    sha256 = "07695hba72q722d18q75pwa45azg9jibj6vqnhwb7mnwz2i7hkkc";
+    sha256 = "14crips12l4n050b8hrqkfqbxl0l8s3y4y9lm8n0bjpxdpjbpr7q";
   };
 
   goPackagePath = "github.com/SrKomodo/shadowfox-updater";
-  goDeps = ./deps.nix;
+
+  modSha256 = "143ky1fj7xglhjyzh78qzgh1m4j53kqps25c9vnq9q4vdyzm93sr";
 
   buildFlags = "--tags release";
 
diff --git a/pkgs/tools/networking/shadowfox/deps.nix b/pkgs/tools/networking/shadowfox/deps.nix
deleted file mode 100644
index f3a824af686..00000000000
--- a/pkgs/tools/networking/shadowfox/deps.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/gdamore/encoding";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/encoding";
-      rev = "b23993cbb6353f0e6aa98d0ee318a34728f628b9";
-      sha256 = "0d7irqpx2fa9vkxgkhf04yiwazsm10fxh0yk86x5crflhph5fv8a";
-    };
-  }
-  {
-    goPackagePath = "github.com/gdamore/tcell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/tcell";
-      rev = "b3cebc399d6f98536af845ed8a5144ab586f6759";
-      sha256 = "1kbf08msh4bjbdwnj1cjmddl5jfiarswfim3q085x77bcb43l0qa";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-ini/ini";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-ini/ini";
-      rev = "cec2bdc49009247305a260b082a18e802d0fe292";
-      sha256 = "0d4ab6v83w5ya4rnnaymasmza4p2jl0lqf4xcgsmsk6lnnrwm5s8";
-    };
-  }
-  {
-    goPackagePath = "github.com/lucasb-eyer/go-colorful";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lucasb-eyer/go-colorful";
-      rev = "d9cec903b20cbeda6062366e460c2c1bdc717e4d";
-      sha256 = "1j8nxi71v0qplfx6alfdx8rm2dxrcfk2k27gjrh2aksa322cmryb";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb";
-      sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/go-homedir";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-homedir";
-      rev = "3864e76763d94a6df2f9960b16a20a33da9f9a66";
-      sha256 = "1n8vya16l60i5jms43yb8fzdgwvqa2q926p5wkg3lbrk8pxy1nv0";
-    };
-  }
-  {
-    goPackagePath = "github.com/rivo/tview";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rivo/tview";
-      rev = "306abd9cb98c97417ab6c58aa0400b2e5daac88b";
-      sha256 = "00q8hymxa36a178hbzylsw3ald6a7gyg8adnki3flyv1jg3dnahx";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "5cec4b58c438bd98288aeb248bab2c1840713d21";
-      sha256 = "19iyz2nppicvwap5lv796sbzd82glk2jn4yn5w6z6zymwnykfzds";
-    };
-  }
-]
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 25e03d80369..69464c69f75 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "05xrb8havr2vgjsdy7n85kgnvk1mg7qwhjp4a8n6pg4jhd5zjnj1";
+    sha256 = "1iarvk0i92asvrkpla9z55aan20k6pklzpck9yk4rfnchsdvzh63";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/networking/wicd/wpa2-ttls b/pkgs/tools/networking/wicd/wpa2-ttls
index c5ac798be5d..650375cbbaa 100644
--- a/pkgs/tools/networking/wicd/wpa2-ttls
+++ b/pkgs/tools/networking/wicd/wpa2-ttls
@@ -4,7 +4,7 @@ version = 1
 require identity *Identity anonymous_identity *Anonymous_identity password *Password ca_cert *Path_to_CA_Cert
 protected password *Password
 -----
-ctrl_interface=/var/run/wpa_supplicant
+ctrl_interface=/run/wpa_supplicant
 network={
         ssid="$_ESSID"
         scan_ssid=$_SCAN
diff --git a/pkgs/tools/package-management/appimage-run/default.nix b/pkgs/tools/package-management/appimage-run/default.nix
index 49fe307667a..54abfa89991 100644
--- a/pkgs/tools/package-management/appimage-run/default.nix
+++ b/pkgs/tools/package-management/appimage-run/default.nix
@@ -10,7 +10,15 @@ in buildFHSUserEnv (fhsArgs // {
 
   runScript = writeScript "appimage-exec" ''
     #!${runtimeShell}
+    if [ $# -eq 0 ]; then 
+      echo "Usage: $0 FILE [OPTION...]"
+      echo
+      echo 'Options are passed on to the appimage.'
+      echo "If you want to execute a custom command in the appimage's environment, set the APPIMAGE_DEBUG_EXEC environment variable."
+      exit 1
+    fi
     APPIMAGE="$(realpath "$1")"
+    shift
 
     if [ ! -x "$APPIMAGE" ]; then
       echo "fatal: $APPIMAGE is not executable"
@@ -43,6 +51,6 @@ in buildFHSUserEnv (fhsArgs // {
       exec "$APPIMAGE_DEBUG_EXEC"
     fi
 
-    exec ./AppRun
+    exec ./AppRun "$@"
   '';
 })
diff --git a/pkgs/tools/security/aws-okta/default.nix b/pkgs/tools/security/aws-okta/default.nix
index cdb35453d3d..36b6a5767a1 100644
--- a/pkgs/tools/security/aws-okta/default.nix
+++ b/pkgs/tools/security/aws-okta/default.nix
@@ -1,8 +1,8 @@
-{ buildGoPackage, fetchFromGitHub, stdenv }:
+{ buildGoPackage, fetchFromGitHub, libusb1, pkgconfig, stdenv }:
 
 buildGoPackage rec {
   name = "aws-okta-${version}";
-  version = "0.19.0";
+  version = "0.20.1";
 
   goPackagePath = "github.com/segmentio/aws-okta";
 
@@ -10,11 +10,16 @@ buildGoPackage rec {
     owner = "segmentio";
     repo = "aws-okta";
     rev = "v${version}";
-    sha256 = "1c9mn492yva7cdsx2b0n8g2fdl9660v3xma0v82jzb0c9y9rq0ms";
+    sha256 = "084lb9rp04vbpzmvsb2l92a4gp7c8g28x4xsagzwkqqpwi3fd15d";
   };
 
+  goDeps = ./deps.nix;
+
   buildFlags = "--tags release";
 
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libusb1 ];
+
   meta = with stdenv.lib; {
     inherit version;
     description = "aws-vault like tool for Okta authentication";
diff --git a/pkgs/tools/security/aws-okta/deps.nix b/pkgs/tools/security/aws-okta/deps.nix
new file mode 100644
index 00000000000..180aa69d56c
--- /dev/null
+++ b/pkgs/tools/security/aws-okta/deps.nix
@@ -0,0 +1,29 @@
+[
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus.git";
+      rev = "a437dfd2463eaedbec3dfe443e477d3b0a810b3f";
+      sha256 = "1904s2bbc7p88anzjp6fyj3jrbm5p6wbb8j4490674dq10kkcfbj";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys/unix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/sys.git";
+      rev = "b699b7032584f0953262cb2788a0ca19bb494703";
+      sha256 = "172sw1bm581qwal9pbf9qj1sgivr74nabbj8qq4q4fhgpzams9ix";
+    };
+  }
+  {
+    goPackagePath = "github.com/marshallbrekka/go-u2fhost";
+    fetch = {
+      type = "git";
+      url = "https://github.com/marshallbrekka/go-u2fhost";
+      rev = "72b0e7a3f583583996b3b382d2dfaa81fdc4b82c";
+      sha256 = "0apzmf0bjpr58ynw55agyjsl74zyg5qjk19nyyy4zhip3s9b1d0h";
+    };
+  }
+]
diff --git a/pkgs/tools/security/chipsec/default.nix b/pkgs/tools/security/chipsec/default.nix
new file mode 100644
index 00000000000..a32752f8b23
--- /dev/null
+++ b/pkgs/tools/security/chipsec/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitHub, python27Packages, nasm, libelf
+, kernel ? null, withDriver ? false }:
+python27Packages.buildPythonApplication rec {
+  name = "chipsec-${version}";
+  version = "1.3.7";
+
+  src = fetchFromGitHub {
+    owner = "chipsec";
+    repo = "chipsec";
+    rev = version;
+    sha256 = "00hwhi5f24y429zazhm77l1pp31q7fmx7ks3sfm6d16v89zbcp9a";
+  };
+
+  nativeBuildInputs = [
+    nasm libelf
+  ];
+
+  setupPyBuildFlags = lib.optional (!withDriver) "--skip-driver";
+
+  checkPhase = "python setup.py build "
+             + lib.optionalString (!withDriver) "--skip-driver "
+             + "test";
+
+  KERNEL_SRC_DIR = lib.optionalString withDriver "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+
+  meta = with stdenv.lib; {
+    description = "Platform Security Assessment Framework";
+    longDescription = ''
+      CHIPSEC is a framework for analyzing the security of PC platforms
+      including hardware, system firmware (BIOS/UEFI), and platform components.
+      It includes a security test suite, tools for accessing various low level
+      interfaces, and forensic capabilities. It can be run on Windows, Linux,
+      Mac OS X and UEFI shell.
+    '';
+    license = licenses.gpl2;
+    homepage = https://github.com/chipsec/chipsec;
+    maintainers = with maintainers; [ johnazoidberg ];
+    platforms = if withDriver then [ "x86_64-linux" ] else platforms.all;
+  };
+}
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index 66a5615ee13..5c40ccdef58 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "pcsclite-${version}";
-  version = "1.8.24";
+  version = "1.8.25";
 
   outputs = [ "bin" "out" "dev" "doc" "man" ];
 
   src = fetchurl {
     url = "https://pcsclite.apdu.fr/files/pcsc-lite-${version}.tar.bz2";
-    sha256 = "0s3mv6csbi9303vvis0hilm71xsmi6cqkbh2kiipdisydbx6865q";
+    sha256 = "14l7irs1nsh8b036ag4cfy8wryyysch78scz5dw6xxqwqgnpjvfp";
   };
 
   patches = [ ./no-dropdir-literals.patch ];
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 705338634f1..87df0ffd834 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0w35ypl960pczg5kp6km3dyr000m1hf0vpwwlh72jjkjza36c1v8";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libgpgerror libassuan libcap libsecret gtk2 gcr ncurses qt ];
 
   prePatch = ''
@@ -33,9 +34,10 @@ stdenv.mkDerivation rec {
     (stdenv.lib.enableFeature (gtk2 != null)      "pinentry-gtk2")
     (stdenv.lib.enableFeature (gcr != null)       "pinentry-gnome3")
     (stdenv.lib.enableFeature (qt != null)        "pinentry-qt")
-  ];
 
-  nativeBuildInputs = [ pkgconfig ];
+    "--with-libassuan-prefix=${libassuan.dev}"
+    "--with-libgpg-error-prefix=${libgpgerror.dev}"
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://gnupg.org/aegypten2/;
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
index 2db2fddd9a2..4940ce8372d 100644
--- a/pkgs/tools/security/sops/default.nix
+++ b/pkgs/tools/security/sops/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "sops-${version}";
-  version = "3.2.0";
+  pname = "sops";
+  version = "3.3.0";
 
   goPackagePath = "go.mozilla.org/sops";
 
   src = fetchFromGitHub {
     rev = version;
     owner = "mozilla";
-    repo = "sops";
-    sha256 = "0lzwql3f4n70gmw1d0vnsg7hd0ma6ys0a4x54g3jk10nrn2f7wxl";
+    repo = pname;
+    sha256 = "0h02iy1dfn4874gyj3k07gbw8byb7rngvsi9kjglnad2pkf0pq2d";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index dd180210f6d..e19d5fba99f 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "acpica-tools-${version}";
-  version = "20190215";
+  version = "20190405";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "0dqdkg7agzwb34p74dhvr79a6xqraxh1025mm5vg3qmjn6r3l4vi";
+    sha256 = "0d4hajb3d82laf74m2xa91kqkjwmym08r25jf0hly1jbbh7cl0fy";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f98ee30b72b..67265932e4a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -683,6 +683,11 @@ in
 
   chezmoi = callPackage ../tools/misc/chezmoi { };
 
+  chipsec = callPackage ../tools/security/chipsec {
+    kernel = null;
+    withDriver = false;
+  };
+
   clair = callPackage ../tools/admin/clair { };
 
   cloud-sql-proxy = callPackage ../tools/misc/cloud-sql-proxy { };
@@ -697,6 +702,8 @@ in
 
   cozy = callPackage ../applications/audio/cozy-audiobooks { };
 
+  crumbs = callPackage ../applications/misc/crumbs { };
+
   deskew = callPackage ../applications/graphics/deskew { };
 
   detect-secrets = python3Packages.callPackage ../development/tools/detect-secrets { };
@@ -877,6 +884,8 @@ in
 
   autojump = callPackage ../tools/misc/autojump { };
 
+  automysqlbackup = callPackage ../tools/backup/automysqlbackup { };
+
   autorandr = callPackage ../tools/misc/autorandr {};
 
   avahi = callPackage ../development/libraries/avahi (config.avahi or {});
@@ -915,6 +924,8 @@ in
 
   bar = callPackage ../tools/system/bar {};
 
+  base16-shell-preview = callPackage ../misc/base16-shell-preview { };
+
   base16-builder = callPackage ../misc/base16-builder { };
 
   basex = callPackage ../tools/text/xml/basex { };
@@ -1324,6 +1335,8 @@ in
 
   deja-dup = callPackage ../applications/backup/deja-dup { };
 
+  dejsonlz4 = callPackage ../tools/compression/dejsonlz4 { };
+
   desync = callPackage ../applications/networking/sync/desync { };
 
   devmem2 = callPackage ../os-specific/linux/devmem2 { };
@@ -2557,6 +2570,8 @@ in
     inherit (pythonPackages) sphinx;
   };
 
+  wallutils = callPackage ../tools/graphics/wallutils { };
+
   wl-clipboard = callPackage ../tools/misc/wl-clipboard { };
 
   zabbix-cli = callPackage ../tools/misc/zabbix-cli { };
@@ -2571,7 +2586,7 @@ in
 
   cholmod-extra = callPackage ../development/libraries/science/math/cholmod-extra { };
 
-  emscriptenVersion = "1.37.36";
+  emscriptenVersion = "1.38.28";
 
   emscripten = callPackage ../development/compilers/emscripten { };
 
@@ -2736,7 +2751,7 @@ in
     mozc = callPackage ../tools/inputmethods/fcitx-engines/fcitx-mozc rec {
       python = python2;
       inherit (python2Packages) gyp;
-      protobuf = pkgs.protobuf.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
+      protobuf = pkgs.protobuf3_6.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
     };
 
     table-extra = callPackage ../tools/inputmethods/fcitx-engines/fcitx-table-extra { };
@@ -5026,6 +5041,7 @@ in
 
   pinentry = callPackage ../tools/security/pinentry {
     libcap = if stdenv.isDarwin then null else libcap;
+    gcr = null;
   };
 
   pinentry_ncurses = res.pinentry.override {
@@ -7755,6 +7771,7 @@ in
   cargo-asm = callPackage ../development/tools/rust/cargo-asm {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
+  cargo-bloat = callPackage ../development/tools/rust/cargo-bloat { };
   cargo-expand = callPackage ../development/tools/rust/cargo-expand { };
   cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
   cargo-xbuild = callPackage ../development/tools/rust/cargo-xbuild { };
@@ -9009,6 +9026,8 @@ in
 
   grail = callPackage ../development/libraries/grail { };
 
+  graphene-hardened-malloc = callPackage ../development/libraries/graphene-hardened-malloc { };
+
   gtk-doc = callPackage ../development/tools/documentation/gtk-doc { };
 
   gtkdialog = callPackage ../development/tools/misc/gtkdialog { };
@@ -9560,6 +9579,8 @@ in
 
   aalib = callPackage ../development/libraries/aalib { };
 
+  abseil-cpp = callPackage ../development/libraries/abseil-cpp { };
+
   accountsservice = callPackage ../development/libraries/accountsservice { };
 
   acl = callPackage ../development/libraries/acl { };
@@ -9855,6 +9876,8 @@ in
 
   curlcpp = callPackage ../development/libraries/curlcpp { };
 
+  curlpp = callPackage ../development/libraries/curlpp { };
+
   cutee = callPackage ../development/libraries/cutee { };
 
   cutelyst = libsForQt5.callPackage ../development/libraries/cutelyst { };
@@ -11132,6 +11155,8 @@ in
 
   libiio = callPackage ../development/libraries/libiio { };
 
+  liburing = callPackage ../development/libraries/liburing { };
+
   libseccomp = callPackage ../development/libraries/libseccomp { };
 
   libsecret = callPackage ../development/libraries/libsecret { };
@@ -14872,6 +14897,8 @@ in
 
   openisns = callPackage ../os-specific/linux/open-isns { };
 
+  osxfuse = callPackage ../os-specific/darwin/osxfuse { };
+
   powerstat = callPackage ../os-specific/linux/powerstat { };
 
   smemstat = callPackage ../os-specific/linux/smemstat { };
@@ -15023,6 +15050,11 @@ in
 
     blcr = callPackage ../os-specific/linux/blcr { };
 
+    chipsec = callPackage ../tools/security/chipsec {
+      inherit kernel;
+      withDriver = true;
+    };
+
     cryptodev = callPackage ../os-specific/linux/cryptodev { };
 
     cpupower = callPackage ../os-specific/linux/cpupower { };
@@ -18882,6 +18914,8 @@ in
 
   shogun = callPackage ../applications/science/machine-learning/shogun { };
 
+  sky = callPackage ../applications/networking/instant-messengers/sky {};
+
   smplayer = libsForQt5.callPackage ../applications/video/smplayer { };
 
   smtube = libsForQt5.callPackage ../applications/video/smtube {};
@@ -21352,6 +21386,8 @@ in
     };
   };
 
+  riko4 = callPackage ../games/riko4 { };
+
   rili = callPackage ../games/rili { };
 
   rimshot = callPackage ../games/rimshot { love = love_0_7; };
@@ -21881,6 +21917,8 @@ in
 
   ezminc = callPackage ../applications/science/biology/EZminc { };
 
+  exonerate = callPackage ../applications/science/biology/exonerate { };
+
   hisat2 = callPackage ../applications/science/biology/hisat2 { };
 
   htslib = callPackage ../development/libraries/science/biology/htslib { };
@@ -21947,6 +21985,8 @@ in
 
   plink-ng = callPackage ../applications/science/biology/plink-ng { };
 
+  prodigal = callPackage ../applications/science/biology/prodigal { };
+
   raxml = callPackage ../applications/science/biology/raxml { };
 
   raxml-mpi = appendToName "mpi" (raxml.override {
@@ -22065,7 +22105,9 @@ in
 
   nauty = callPackage ../applications/science/math/nauty {};
 
-  or-tools = callPackage ../development/libraries/science/math/or-tools {};
+  or-tools = callPackage ../development/libraries/science/math/or-tools {
+    pythonProtobuf = pythonPackages.protobuf;
+  };
 
   rubiks = callPackage ../development/libraries/science/math/rubiks { };
 
@@ -22157,6 +22199,8 @@ in
 
   dafny = dotnetPackages.Dafny;
 
+  groove = callPackage ../applications/science/programming/groove { };
+
   plm = callPackage ../applications/science/programming/plm { };
 
   scyther = callPackage ../applications/science/programming/scyther { };
@@ -23334,6 +23378,8 @@ in
 
   terragrunt = callPackage ../applications/networking/cluster/terragrunt {};
 
+  tilt = callPackage ../applications/networking/cluster/tilt {};
+
   tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; };
 
   tetra-gtk-theme = callPackage ../misc/themes/tetra { };
diff --git a/pkgs/top-level/impure.nix b/pkgs/top-level/impure.nix
index b0532ceb5db..da288f15d2e 100644
--- a/pkgs/top-level/impure.nix
+++ b/pkgs/top-level/impure.nix
@@ -72,6 +72,8 @@ in
         else overlays homeOverlaysDir
       else []
 
+, crossOverlays ? []
+
 , ...
 } @ args:
 
@@ -80,7 +82,7 @@ in
 assert args ? localSystem -> !(args ? system || args ? platform);
 
 import ./. (builtins.removeAttrs args [ "system" "platform" ] // {
-  inherit config overlays crossSystem;
+  inherit config overlays crossSystem crossOverlays;
   # Fallback: Assume we are building packages on the current (build, in GNU
   # Autotools parlance) system.
   localSystem = (if args ? localSystem then {}
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index f79f6ea3c0c..c0089186275 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -67,7 +67,7 @@ let
           };
         };
       };
-      uri = uri.override {
+      uri = uri_1_9.override {
         inherit (janeStreet_0_9_0) ppx_sexp_conv sexplib;
       };
     };
@@ -152,9 +152,7 @@ let
 
     cohttp =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/cohttp {
-        base64 = base64_2;
-      }
+      then callPackage ../development/ocaml-modules/cohttp { }
       else cohttp_p4;
 
     cohttp-lwt = callPackage ../development/ocaml-modules/cohttp/lwt.nix { };
@@ -757,6 +755,10 @@ let
       then callPackage ../development/ocaml-modules/uri { }
       else callPackage ../development/ocaml-modules/uri/legacy.nix { };
 
+    uri_1_9 = callPackage ../development/ocaml-modules/uri {
+      legacy = true;
+    };
+
     uri_p4 = callPackage ../development/ocaml-modules/uri/legacy.nix {
       legacyVersion = true;
     };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 5c9e8f288a6..098b2652bf6 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -8187,7 +8187,7 @@ let
     };
     outputs = [ "out" ];
     buildInputs = [ pkgs.apacheHttpd pkgs.apr pkgs.aprutil ApacheTest ExtUtilsXSBuilder ];
-    propagatedBuildInputs = [ mod_perl2 ];
+    propagatedBuildInputs = [ (pkgs.apacheHttpdPackages.mod_perl.override { inherit perl; }) ];
     makeMakerFlags = "--with-apache2-src=${pkgs.apacheHttpd.dev} --with-apache2-apxs=${pkgs.apacheHttpd.dev}/bin/apxs --with-apache2-httpd=${pkgs.apacheHttpd.out}/bin/httpd --with-apr-config=${pkgs.apr.dev}/bin/apr-1-config --with-apu-config=${pkgs.aprutil.dev}/bin/apu-1-config";
     preConfigure = ''
       # override broken prereq check
@@ -8198,11 +8198,30 @@ let
       '';
     installPhase = ''
       mkdir $out
+
+      # install the library
       make install DESTDIR=$out
       cp -r $out/${pkgs.apacheHttpd.dev}/. $out/.
       cp -r $out/$out/. $out/.
+
+      # install the perl module
+      pushd glue/perl
+      perl Makefile.PL
+      make install DESTDIR=$out
+      cp -r $out/${perl}/lib/perl5 $out/lib/
+      popd
+
+      # install the apache module
+      # https://computergod.typepad.com/home/2007/06/webgui_and_suse.html
+      # NOTE: if using the apache module you must use "apreq" as the module name, not "apreq2"
+      # services.httpd.extraModules = [ { name = "apreq"; path = "''${pkgs.perlPackages.libapreq2}/modules/mod_apreq2.so"; } ];
+      pushd module
+      make install DESTDIR=$out
+      cp -r $out/${pkgs.apacheHttpd.out}/modules $out/
+      popd
+
       rm -r $out/nix
-      '';
+    '';
     doCheck = false; # test would need to start apache httpd
     meta = {
       license = stdenv.lib.licenses.asl20;
@@ -8461,6 +8480,20 @@ let
     };
   };
 
+  LinuxFD = buildPerlModule rec {
+    name = "Linux-FD-0.011";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
+      sha256 = "6bb579d47644cb0ed35626ff77e909ae69063073c6ac09aa0614fef00fa37356";
+    };
+    buildInputs = [ ModuleBuild TestException ];
+    propagatedBuildInputs = [ SubExporter ];
+    meta = {
+      description = "Linux specific special filehandles";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   LinuxInotify2 = buildPerlPackage rec {
     name = "Linux-Inotify2-2.1";
     src = fetchurl {
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index c2a268b8bfe..9afb7df820f 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -114,33 +114,14 @@ let
     buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
   };
 
-  memcached = if isPhp73 then memcached73 else memcached7;
-
-  memcached7 = assert !isPhp73; buildPecl rec {
-    name = "memcached-php7";
+  memcached = buildPecl rec {
+    version = "3.1.3";
+    name = "memcached-${version}";
 
     src = fetchgit {
       url = "https://github.com/php-memcached-dev/php-memcached";
-      rev = "e573a6e8fc815f12153d2afd561fc84f74811e2f";
-      sha256 = "0asfi6rsspbwbxhwmkxxnapd8w01xvfmwr1n9qsr2pryfk0w6y07";
-    };
-
-    configureFlags = [
-      "--with-zlib-dir=${pkgs.zlib.dev}"
-      "--with-libmemcached-dir=${pkgs.libmemcached}"
-    ];
-
-    nativeBuildInputs = [ pkgs.pkgconfig ];
-    buildInputs = with pkgs; [ cyrus_sasl zlib ];
-  };
-
-  memcached73 = assert isPhp73; buildPecl rec {
-    name = "memcached-php73";
-
-    src = fetchgit {
-      url = "https://github.com/php-memcached-dev/php-memcached";
-      rev = "6d8f5d524f35e72422b9e81319b96f23af02adcc";
-      sha256 = "1s1d5r3n2h9zys8sqvv52fld6jy21ki7cl0gbbvd9dixqc0lf1jh";
+      rev = "v${version}";
+      sha256 = "1w9g8k7bmq3nbzskskpsr5632gh9q75nqy7nkjdzgs17klq9khjk";
     };
 
     configureFlags = [
@@ -177,21 +158,11 @@ let
     buildInputs = [ pkgs.unixODBC ];
   };
 
-  xdebug =  if isPhp73 then xdebug73 else xdebug7;
-
-  xdebug7 = assert !isPhp73; buildPecl {
-    name = "xdebug-2.6.1";
-
-    sha256 = "0xxxy6n4lv7ghi9liqx133yskg07lw316vhcds43n1sjq3b93rns";
-
-    doCheck = true;
-    checkTarget = "test";
-  };
-
-  xdebug73 = assert isPhp73; buildPecl {
-    name = "xdebug-2.7.0beta1";
+  xdebug = buildPecl rec {
+    version = "2.7.1";
+    name = "xdebug-${version}";
 
-    sha256 = "1ghh14z55l4jklinkgjkfhkw53lp2r7lgmyh7q8kdnf7jnpwx84h";
+    sha256 = "1hr4gy87a3gp682ggwp831xk1fxasil9wan8cxv23q3m752x3sdp";
 
     doCheck = true;
     checkTarget = "test";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 1572eb7f654..592ff04178a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -555,6 +555,11 @@ in {
 
   ordered-set = callPackage ../development/python-modules/ordered-set { };
 
+  ortools = (toPythonModule (pkgs.or-tools.override {
+    inherit (self) python;
+    pythonProtobuf = self.protobuf;
+  })).python;
+
   osmnx = callPackage ../development/python-modules/osmnx { };
 
   outcome = callPackage ../development/python-modules/outcome {};
@@ -585,10 +590,14 @@ in {
 
   poetry = callPackage ../development/python-modules/poetry { };
 
+  pplpy = callPackage ../development/python-modules/pplpy { };
+
   pprintpp = callPackage ../development/python-modules/pprintpp { };
 
   progress = callPackage ../development/python-modules/progress { };
 
+  proglog = callPackage ../development/python-modules/proglog { };
+
   pure-python-adb-homeassistant = callPackage ../development/python-modules/pure-python-adb-homeassistant { };
 
   pymysql = callPackage ../development/python-modules/pymysql { };
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index f4210fcfc72..af400aee871 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -147,7 +147,6 @@ in
   aarch64-embedded = mapTestOnCross lib.systems.examples.aarch64-embedded embedded;
   i686-embedded = mapTestOnCross lib.systems.examples.i686-embedded embedded;
   x86_64-embedded = mapTestOnCross lib.systems.examples.x86_64-embedded embedded;
-  alpha-embedded = mapTestOnCross lib.systems.examples.alpha-embedded embedded;
 
   /* Cross-built bootstrap tools for every supported platform */
   bootstrapTools = let